File size: 12,456 Bytes
440bc91 4bfc7cb c6649cd fd40e51 440bc91 d1a0e38 440bc91 4bfc7cb 440bc91 d43fc69 440bc91 c8eb669 440bc91 4bfc7cb 440bc91 de2903f 4bfc7cb de2903f 440bc91 4bfc7cb 440bc91 d24cd91 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb c8eb669 4bfc7cb 440bc91 4bfc7cb c8eb669 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb 440bc91 4bfc7cb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
---
language:
- ru
datasets:
- IlyaGusev/saiga_scored
- IlyaGusev/saiga_preferences
license: other
license_name: yandexgpt-5-lite-8b-pretrain
license_link: LICENSE
---
# Saiga/YandexGPT 8B, fine-tune of YandexGPT 8b Pretrain
Based on [yandex/YandexGPT-5-Lite-8B-pretrain](https://huggingface.co/yandex/YandexGPT-5-Lite-8B-pretrain).
GGUF: [link](https://huggingface.co/IlyaGusev/saiga_yandexgpt_8b_gguf)
GPTQ 8-bit: [link](https://huggingface.co/IlyaGusev/saiga_yandexgpt_8b_gptq_8bit)
Colab: [link](https://colab.research.google.com/drive/10f2sPdQNgV_1znEXko9MLO69Mjudtpfl)
## Prompt format
v1: Llama-3 format, `<s>` should be automatically prepended:
```
<|start_header_id|>system<|end_header_id|>
Ты — Сайга, русскоязычный автоматический ассистент. Ты разговариваешь с людьми и помогаешь им.<|eot_id|><|start_header_id|>user<|end_header_id|>
Как дела?<|eot_id|><|start_header_id|>assistant<|end_header_id|>
Отлично, а у тебя?<|eot_id|><|start_header_id|>user<|end_header_id|>
Шикарно. Как пройти в библиотеку?<|eot_id|><|start_header_id|>assistant<|end_header_id|>
```
## Code example
```python
# Исключительно ознакомительный пример.
# НЕ НАДО ТАК ИНФЕРИТЬ МОДЕЛЬ В ПРОДЕ.
# См. https://github.com/vllm-project/vllm или https://github.com/huggingface/text-generation-inference
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
MODEL_NAME = "IlyaGusev/saiga_yandexgpt_8b"
model = AutoModelForCausalLM.from_pretrained(
MODEL_NAME,
load_in_8bit=True,
torch_dtype=torch.bfloat16,
device_map="auto"
)
model.eval()
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
generation_config = GenerationConfig.from_pretrained(MODEL_NAME)
print(generation_config)
inputs = ["Почему трава зеленая?", "Сочини длинный рассказ, обязательно упоминая следующие объекты. Дано: Таня, мяч"]
for query in inputs:
prompt = tokenizer.apply_chat_template([{
"role": "user",
"content": query
}], tokenize=False, add_generation_prompt=True)
data = tokenizer(prompt, return_tensors="pt", add_special_tokens=False)
data = {k: v.to(model.device) for k, v in data.items()}
data.pop("token_type_ids", None)
output_ids = model.generate(**data, generation_config=generation_config)[0]
output_ids = output_ids[len(data["input_ids"][0]):]
output = tokenizer.decode(output_ids, skip_special_tokens=True).strip()
print(query)
print(output)
print()
print("==============================")
print()
```
## Output examples
```
User: Почему трава зеленая?
Saiga: Трава зелёная благодаря процессу, известному как фотосинтез. Фотосинтез — это биохимический процесс, при котором зелёные растения преобразуют световую энергию солнца в химическую энергию, необходимую для их роста и жизнедеятельности. Этот процесс осуществляется с помощью хлорофилла, который содержится внутри клеток листьев растений (в специальных органеллах, называемых хлоропластами).
Хлорофилл является основным пигментом, ответственным за зелёный цвет растений. Он поглощает свет преимущественно в красной и синей частях спектра, отражая при этом зелёный свет. Это отражение зелёного света и делает траву, листья деревьев и другие зелёные части растений именно такого цвета для нашего глаза.
Зелёный цвет также играет важную роль в защите от ультрафиолетового излучения. Хлорофилл помогает защищать клетки растений от повреждений, вызванных слишком интенсивным солнечным светом. Таким образом, зелёный цвет не только указывает на способность растения к фотосинтезу, но и служит защитой для его организма.
```
```
User: Сочини длинный рассказ, обязательно упоминая следующие объекты. Дано: Таня, мяч
Saiga: В небольшом городке на берегу реки жила девочка по имени Таня. Её жизнь была наполнена яркими красками и бесконечными приключениями, ведь рядом всегда находился её верный спутник — обычный резиновый мяч. Этот мячик был не просто игрушкой; он словно хранил в себе частичку души Тани, связывая воедино все события её детства.
Утро начиналось с того, что Таня просыпалась под весёлый стук мяча о подоконник. Мяч скакал по комнате, словно приглашая свою хозяйку начать новый день. Девочка любила играть с ним, придумывала разнообразные игры, от простых пряток до сложных лабиринтов из мебели. Иногда она даже учила его выполнять команды – "вперёд", "назад" или "прыгай через препятствие".
Летом Таня проводила дни напролёт на пляже у реки. Река текла медленно, отражаясь в прозрачной воде солнце и облака. Рядом с собой Таня видела только песок, ракушки и своего верного спутника – мяч. Он казался ей живым существом, которое разделяло радость купания и плавания наперегонки с друзьями. Вечером же они вместе строили песчаные замки и устраивали фейерверки из цветных камней и песка.
Однажды, когда Таня играла со своим мячом около старого заброшенного дома, который местные жители называли "Домом призраков", ветер вдруг принёс странные звуки. Из-за угла выглянул старый мужчина в шляпе, украшенной перьями. Его звали Виктор, и он был бывшим учителем физкультуры в школе, где училась Таня.
— Здравствуй, маленькая искательница приключений! — улыбнулся старик, подходя ближе. — Я заметил тебя здесь уже несколько дней. Ты как будто нашла друга в этом старом доме.
Таня смущённо кивнула, а мяч мягко подкатился к ногам Виктора. Тот поднял его, осмотрел внимательно и спросил:
— Расскажи мне о своём друге. Почему ты так любишь эту простую игрушку?
Девочка начала рассказывать истории своих игр, смешных случаев и радостных моментов, которые происходили благодаря мячу. Старик слушал внимательно, иногда кивая головой. Когда Таня закончила свой рассказ, Виктор сказал:
— Знаешь, этот мяч тоже многое пережил. В детстве я играл им во дворе, потом подарил своему сыну, а теперь он стал частью твоей жизни. Видишь ли, игрушки могут быть больше, чем кажется на первый взгляд. Они хранят воспоминания, передают энергию и дружбу между поколениями. Давай сегодня устроим особый праздник для твоего мяча.
Виктор достал коробку конфет, букет полевых цветов и старые фотографии своей семьи. Вместе они устроили настоящую церемонию признания заслуг мяча перед Таней. Поставив свечи вокруг импровизированного алтаря, они зажгли их, произнося слова благодарности за поддержку и радость, которую игрушка принесла девочке.
После этого вечера всё изменилось. Таня стала относиться к игре ещё более ответственно. Теперь каждое утро начиналось с ритуала приветствия мяча, после которого она шла заниматься спортом или рисованием – тем самым, что могло бы развивать её талант и здоровье. А вечером, сидя на скамейке у речного берега, Таня смотрела, как закатное солнце играет на поверхности воды, держа в руках свой любимый мяч и зная, что эта связь останется навсегда.
Годы шли, но каждый раз, встречаясь взглядом с резиновым другом, Таня вспоминала тот особенный вечер у старого дома. Мяч стал символом постоянства среди перемен, напоминанием о том, что дружба может быть такой же простой, искренней и вечной, как детская игра. И хотя мир менялся вокруг неё, одно оставалось неизменным – любовь к этому маленькому предмету, который открыл ей двери в мир безграничных возможностей и настоящей дружбы.
```
## Versions
v1:
- [440bc91e1f765596efaef8099ffc7ec8d2dbb9c6](https://huggingface.co/IlyaGusev/saiga_nemo_12b/commit/440bc91e1f765596efaef8099ffc7ec8d2dbb9c6)
- Other names: saiga_yandexgpt_8b_sft_m4_d19_smpo_m3_d38
- SFT dataset config: [sft_d19.json](https://github.com/IlyaGusev/saiga/blob/main/configs/datasets/sft_d19.json)
- SFT model config: [saiga_yandexgpt_8b_sft_m4.json](https://github.com/IlyaGusev/saiga/blob/main/configs/models/saiga_yandexgpt_8b_sft_m4.json)
- SMPO dataset config: [pref_d38.json](https://github.com/IlyaGusev/saiga/blob/main/configs/datasets/pref_d38.json)
- SMPO model config: [saiga_yandexgpt_8b_smpo_m3.json](https://github.com/IlyaGusev/saiga/blob/main/configs/models/saiga_yandexgpt_8b_smpo_m3.json)
- SFT wandb: [link](https://wandb.ai/ilyagusev/rulm_self_instruct/runs/xq842j0d)
- SimPO wandb: [link](https://wandb.ai/ilyagusev/rulm_self_instruct/runs/y8kujd6y)
## Evaluation
### v1:
PingPong:

RuArenaHard vs gpt-4o:

|