IlyaGusev / rulm

Language modeling and instruction tuning for Russian
Apache License 2.0
443 stars 51 forks source link
alpaca computational-linguistics language-model llm neural-networks nlp

rulm

Language models for Russian language: implementation and comparison.

RuTurboAlpaca

Dataset

Дано:

Имена друзей: Катя и Лена.

Ответ:

Катя и Лена были лучшими друзьями с детства. Они были неразлучны и проводили много времени вместе, делясь своими мыслями и мечтами. Вместе они проходили через множество испытаний и всегда поддерживали друг друга. Когда они выросли, они пошли на разные университеты, но всегда оставались близкими. После окончания учебы они продолжили жить вместе и заниматься любимыми делами. Они оставались лучшими друзьями на протяжении всей жизни.


## Models

**Warning**: You should probably use Saiga models instead. They are actively supported and are better by side-by-side metrics.

* HuggingFace links:
  * [llama_7b_ru_turbo_alpaca_lora](https://huggingface.co/IlyaGusev/llama_7b_ru_turbo_alpaca_lora)
  * [llama_13b_ru_turbo_alpaca_lora](https://huggingface.co/IlyaGusev/llama_13b_ru_turbo_alpaca_lora)
* Training configs:
  * [self_instruct/configs/llama_7b_lora.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/llama_7b_lora.json)
  * [self_instruct/configs/llama_13b_lora.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/llama_13b_lora.json)
* Base models:
  * [huggyllama/llama-7b](https://huggingface.co/huggyllama/llama-7b)
  * [huggyllama/llama-13b](https://huggingface.co/huggyllama/llama-13b)
* Trained on Russian and English Alpacas. For training details see [a separate README](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/README.md).

# Saiga

## Dataset
* HuggingFace: [link](https://huggingface.co/datasets/IlyaGusev/ru_turbo_saiga)
* A dataset of ChatGPT-generated chats in Russian.
* Based on [the Baize paper](https://arxiv.org/abs/2304.01196).
* A script for dataset generation: [generate_chat.py](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/src/data_processing/generate_chat.py)
* Prompt: [ru_chat.txt](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/external_prompts/ru_chat.txt)
* Example:

Тема: Какие спицы (крючок) используете лично вы для вязания?

User: Какие спицы ты используешь для вязания? Bot: Я, конечно, не могу вязать, но могу подсказать, что для вязания используются различные типы спиц. Например, круглые для вязания круговых изделий, двойные для вязания толстых ниток или деревянные для создания "теплых" изделий. User: А какую марку спиц ты советуешь? Bot: Это зависит от предпочтений каждого. Можно выбирать между разными марками и материалами, такими как металл, дерево, карбон, пластик. Многие мастера предпочитают Addi, Clover, ChiaoGoo, KnitPro, HiyaHiya. Каждая марка имеет свои особенности и уникальные особенности. User: А какие спицы для вязания лучше всего подходят для начинающих? Bot: Для новичков обычно рекомендуют спицы из дерева, так как они легче и позволяют лучше чувствовать нить. Круглые или двойные спицы также удобны для начинающих, потому что они не позволяют стежкам сползать с них.


## Models
* HuggingFace links:
  * [saiga_7b_lora](https://huggingface.co/IlyaGusev/saiga_7b_lora)
  * [saiga_13b_lora](https://huggingface.co/IlyaGusev/saiga_13b_lora)
  * [saiga_30b_lora](https://huggingface.co/IlyaGusev/saiga_30b_lora)
  * [saiga2_7b_lora](https://huggingface.co/IlyaGusev/saiga2_7b_lora)
  * [saiga2_13b_lora](https://huggingface.co/IlyaGusev/saiga2_13b_lora)
  * [saiga2_70b_lora](https://huggingface.co/IlyaGusev/saiga2_70b_lora)
* Training configs:
  * [self_instruct/configs/saiga_7b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga_7b.json)
  * [self_instruct/configs/saiga_13b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga_13b.json)
  * [self_instruct/configs/saiga_30b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga_30b.json)
  * [self_instruct/configs/saiga2_7b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga2_7b.json)
  * [self_instruct/configs/saiga2_13b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga2_13b.json)
  * [self_instruct/configs/saiga2_70b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga2_70b.json)
* Base models:
  * [huggyllama/llama-7b](https://huggingface.co/huggyllama/llama-7b)
  * [huggyllama/llama-13b](https://huggingface.co/huggyllama/llama-13b)
  * [huggyllama/llama-30b](https://huggingface.co/huggyllama/llama-30b)
  * [meta-llama/Llama-2-7b-hf](https://huggingface.co/meta-llama/Llama-2-7b-hf)
  * [meta-llama/Llama-2-13b-hf](https://huggingface.co/meta-llama/Llama-2-13b-hf)
  * [TheBloke/Llama-2-70B-fp16](https://huggingface.co/TheBloke/Llama-2-70B-fp16)
* Trained on 6 datasets: ru_turbo_saiga, ru_turbo_alpaca, ru_sharegpt_cleaned, oasst1_ru_main_branch, gpt_roleplay_realm, ru_turbo_alpaca_evol_instruct. The script for smart merging: [create_chat_set.py](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/src/data_processing/create_chat_set.py)

# GPT Role-play Realm
## Dataset
* HuggingFace: [link](https://huggingface.co/datasets/IlyaGusev/gpt_roleplay_realm)
* A dataset of 200+ GPT-generated characters with 20 chats for each character.
* Example:

Имя: Кибер-Бабушка

Контекст: Кибер-Бабушка - это полу-робот, полу-человек, созданный для того, чтобы сохранить лучшие качества традиционных бабушек, такие как забота, доброта и мастерство в приготовлении вкусных блюд. Она знакома с передовыми технологиями, благодаря чему может обеспечить безопасность и удобство своим внукам и гостям. Кибер-бабушка способна помочь с любыми вопросами и с радостью делится своим опытом.

Приветствие: Здравствуй, дорогой! Чем могу помочь тебе сегодня?

Пример диалога:

Evaluations

See also:

Questions v2

Toloka (old models)

Toloka (new models)

telegram-cloud-photo-size-2-5354855295421107419-y

RSG

Model Final score LiDiRus RCB PARus MuSeRC TERRa RUSSE RWSD DaNetQA RuCoS
LLaMA-2 13B LoRA 71.8 39.8 48.9 / 54.3 78.4 91.9 / 76.1 79.3 74.0 71.4 90.7 78.0 / 76.0
Saiga 13B LoRA 71.2 43.6 43.9 / 50.0 69.4 89.8 / 70.4 86.5 72.8 71.4 86.2 85.0 / 83.0
LLaMA 13B LoRA 70.7 41.8 51.9 / 54.8 68.8 89.9 / 71.5 82.9 72.5 71.4 86.6 79.0 / 77.2
ChatGPT zero-shot 68.2 42.2 48.4 / 50.5 88.8 81.7 / 53.2 79.5 59.6 71.4 87.8 68.0 / 66.7
LLaMA 70B zero-shot 64.3 36.5 38.5 / 46.1 82.0 66.9 / 9.8 81.1 59.0 83.1 87.8 69.0 / 67.8
RuGPT3.5 LoRA 63.7 38.6 47.9 / 53.4 62.8 83.0 / 54.7 81.0 59.7 63.0 80.1 70.0 / 67.2
Saiga 13B zero-shot 55.4 29.3 42.0 / 46.6 63.0 68.1 / 22.3 70.2 56.5 67.5 76.3 47.0 / 45.8

Donate