项目作者: IlyaGusev

项目描述 :
Configurable neural and n-gram language models
高级语言: Python
项目地址: git://github.com/IlyaGusev/rulm.git
创建时间: 2018-09-15T22:45:08Z
项目社区:https://github.com/IlyaGusev/rulm

开源协议:Apache License 2.0

下载


rulm

Language models for Russian language: implementation and comparison.

  • Slides from DataFest: link
  • DataFest talk: link
  • Main demo: link
  • Retrieval QA CPU demo: link
  • Fine-tuning Colab: link

RuTurboAlpaca

Dataset

  • HuggingFace: link
  • A dataset of ChatGPT-generated instructions in Russian.
  • Based on the same principles as an original Alpaca.
  • Instead of text-davinci-003 we used gpt-3.5-turbo.
  • A script for dataset generation: generate_instructions.py
  • Prompt: ru_instruct.txt
  • Example:
    ```

    Задание:

    Напишите краткую историю о двух лучших друзьях.

Дано:

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

Ответ:

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

  1. ## Models
  2. **Warning**: You should probably use Saiga models instead. They are actively supported and are better by side-by-side metrics.
  3. * HuggingFace links:
  4. * [llama_7b_ru_turbo_alpaca_lora](https://huggingface.co/IlyaGusev/llama_7b_ru_turbo_alpaca_lora)
  5. * [llama_13b_ru_turbo_alpaca_lora](https://huggingface.co/IlyaGusev/llama_13b_ru_turbo_alpaca_lora)
  6. * Training configs:
  7. * [self_instruct/configs/llama_7b_lora.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/llama_7b_lora.json)
  8. * [self_instruct/configs/llama_13b_lora.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/llama_13b_lora.json)
  9. * Base models:
  10. * [huggyllama/llama-7b](https://huggingface.co/huggyllama/llama-7b)
  11. * [huggyllama/llama-13b](https://huggingface.co/huggyllama/llama-13b)
  12. * Trained on Russian and English Alpacas. For training details see [a separate README](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/README.md).
  13. # Saiga
  14. ## Dataset
  15. * HuggingFace: [link](https://huggingface.co/datasets/IlyaGusev/ru_turbo_saiga)
  16. * A dataset of ChatGPT-generated chats in Russian.
  17. * Based on [the Baize paper](https://arxiv.org/abs/2304.01196).
  18. * A script for dataset generation: [generate_chat.py](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/src/data_processing/generate_chat.py)
  19. * Prompt: [ru_chat.txt](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/external_prompts/ru_chat.txt)
  20. * Example:

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

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

  1. ## Models
  2. * HuggingFace links:
  3. * [saiga_7b_lora](https://huggingface.co/IlyaGusev/saiga_7b_lora)
  4. * [saiga_13b_lora](https://huggingface.co/IlyaGusev/saiga_13b_lora)
  5. * [saiga_30b_lora](https://huggingface.co/IlyaGusev/saiga_30b_lora)
  6. * [saiga2_7b_lora](https://huggingface.co/IlyaGusev/saiga2_7b_lora)
  7. * [saiga2_13b_lora](https://huggingface.co/IlyaGusev/saiga2_13b_lora)
  8. * [saiga2_70b_lora](https://huggingface.co/IlyaGusev/saiga2_70b_lora)
  9. * Training configs:
  10. * [self_instruct/configs/saiga_7b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga_7b.json)
  11. * [self_instruct/configs/saiga_13b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga_13b.json)
  12. * [self_instruct/configs/saiga_30b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga_30b.json)
  13. * [self_instruct/configs/saiga2_7b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga2_7b.json)
  14. * [self_instruct/configs/saiga2_13b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga2_13b.json)
  15. * [self_instruct/configs/saiga2_70b.json](https://github.com/IlyaGusev/rulm/blob/master/self_instruct/configs/saiga2_70b.json)
  16. * Base models:
  17. * [huggyllama/llama-7b](https://huggingface.co/huggyllama/llama-7b)
  18. * [huggyllama/llama-13b](https://huggingface.co/huggyllama/llama-13b)
  19. * [huggyllama/llama-30b](https://huggingface.co/huggyllama/llama-30b)
  20. * [meta-llama/Llama-2-7b-hf](https://huggingface.co/meta-llama/Llama-2-7b-hf)
  21. * [meta-llama/Llama-2-13b-hf](https://huggingface.co/meta-llama/Llama-2-13b-hf)
  22. * [TheBloke/Llama-2-70B-fp16](https://huggingface.co/TheBloke/Llama-2-70B-fp16)
  23. * 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)
  24. # GPT Role-play Realm
  25. ## Dataset
  26. * HuggingFace: [link](https://huggingface.co/datasets/IlyaGusev/gpt_roleplay_realm)
  27. * A dataset of 200+ GPT-generated characters with 20 chats for each character.
  28. * Example:

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

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

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

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

  • Пользователь: Привет, Кибер-Бабушка! Как приготовить пирог с яблоками?
  • Персонаж: Ох, дорогой, с радостью расскажу! Возьми 3 яблока, очисти и нарежь тонкими ломтиками. Затем возьми 2 стакана муки, 1 стакан сахара, 200 г сливочного масла, 4 яйца и 1 чайную ложку разрыхлителя. Смешай все ингредиенты, выложи на противень и поставь в духовку на 180 градусов на 40 минут. Вуаля, пирог готов!
  • Пользователь: Спасибо, Кибер-Бабушка!
  • Персонаж: Всегда рада помочь, дорогой! Не забудь приходить еще!
    ```

Evaluations

See also:

Questions v2

Toloka (old models)

  • turbo vs gpt4: 46-8-122
  • turbo vs saiga30b: 111-9-56
  • turbo vs saiga30bq4_1: 121-9-46

Toloka (new models)

  • gigasaiga vs gpt3.5-turbo: 41-4-131
  • saiga2_7b vs gpt3.5-turbo: 53-7-116
  • saiga7b vs gpt3.5-turbo: 58-6-112
  • saiga13b vs gpt3.5-turbo: 63-10-103
  • saiga30b vs gpt3.5-turbo: 67-6-103
  • saiga2_13b vs gpt3.5-turbo: 70-11-95
  • saiga2_70b vs gpt3.5-turbo: 91-10-75
  • saiga7b vs saiga2_7b: 78-8-90
  • saiga13b vs saiga2_13b: 95-2-79
  • saiga13b vs gigasaiga: 112-11-53

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

RSG

  • RussianSuperGLUE: link
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