/ Модель

Характеристики

Контекст
768 токенов
Параметры
38,7 млн
Архитектура
llama · dense
Базовая модель
Llama-2-7b-hf
Библиотека
transformers
Опубликована
28 апр 2024

RuBit-LLama-63M

Генерация текстаТекст → текст3 профессии

Дообученная компактная модель Llama для генерации русско- и англоязычных текстов, включая литературные фрагменты и афоризмы.

381скачиваний за 30 дней1лайквеса обновлены18 дек 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

RuBit-Llama-63M — дообученная модель генерации текста на базе NousResearch/Llama-2-7b-hf, разработанная igorktech. Она использует архитектуру LlamaForCausalLM с плотной сетью и содержит 38,7 млн параметров. Модель обучалась на датасете dichspace/darulm: из него отбирались афоризмы и материалы по драматургии, истории, юмору и литературе; в обучении использовано около 2,13 млрд токенов.

Модель предназначена для генерации текста на русском и английском языках, в том числе коротких литературных фрагментов, афоризмов и текстов на близкие к обучающим темам. Максимальный контекст составляет 768 токенов. Для работы используются Transformers и веса в формате safetensors. Условия лицензии в предоставленных материалах не описаны.

Сценарии применения

  • генерация афоризмов на русском языке
  • создание коротких литературных фрагментов
  • генерация текстов на исторические темы
  • написание юмористических текстов
  • продолжение русскоязычного текста

Ограничения

Контекст ограничен 768 токенами. В README не приведены сведения об оценке качества и конкретных ограничениях применения; лицензия также не указана в предоставленных материалах.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

RuBit-Llama-63M

This model is a fine-tuned version of NousResearch/Llama-2-7b-hf on the darulm dataset. From darulm aphorisms, dramaturgy, history, humor, literature domains were sampled

Training on 2_125_871_104 tokens.

Inspired by abideen/Bitnet-Llama-70M

Model description

Sample inference code

from transformers import AutoModelForCausalLM, AutoTokenizer

# Load a pretrained BitNet model
model = "igorktech/RuBit-LLama-63M"
tokenizer = AutoTokenizer.from_pretrained(model)
model = AutoModelForCausalLM.from_pretrained(model)

def convert_to_bitnet(model, copy_weights):
    for name, module in model.named_modules():
        # Replace linear layers with BitNet
        if isinstance(module, LlamaSdpaAttention) or isinstance(module, LlamaMLP):
            for child_name, child_module in module.named_children():
                if isinstance(child_module, nn.Linear):
                    bitlinear = BitLinear(child_module.in_features, child_module.out_features, child_module.bias is not None).to(device="cuda:0")
                    if copy_weights:
                        bitlinear.weight = child_module.weight
                        if child_module.bias is not None:
                            bitlinear.bias = child_module.bias
                    setattr(module, child_name, bitlinear)
        # Remove redundant input_layernorms
        elif isinstance(module, LlamaDecoderLayer):
            for child_name, child_module in module.named_children():
                if isinstance(child_module, LlamaRMSNorm) and child_name == "input_layernorm":
                    setattr(module, child_name, nn.Identity().to(device="cuda:0"))
              

convert_to_bitnet(model, copy_weights=True)
model.to(device="cuda:0")

prompt = "Привет"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
generate_ids = model.generate(inputs.input_ids, max_length=100)
tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]

Intended uses & limitations

More information needed

Training and evaluation data

More information needed

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 0.0015
  • train_batch_size: 64
  • eval_batch_size: 8
  • seed: 42
  • gradient_accumulation_steps: 2
  • total_train_batch_size: 128
  • optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
  • lr_scheduler_type: cosine
  • lr_scheduler_warmup_steps: 0.1
  • num_epochs: 2
  • mixed_precision_training: Native AMP

Training results

Framework versions

  • Transformers 4.40.0
  • Pytorch 2.2.1+cu121
  • Datasets 2.19.0
  • Tokenizers 0.19.1

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
LlamaForCausalLM
Ревизия весов
9eb6b38

0 моделей