Text Generation
Transformers
Safetensors
Russian
English
gpt_oss
reasoning
russian
gpt-oss
thinking
conversational
bethrezen's picture
Update README.md
b533603 verified
---
license: mit
datasets:
- NotEvilAI/ru-reasoning_effort-sft_dpo_think_gpt
- NotEvilAI/gpt-ru-reasoning_effort-sft
- NotEvilAI/gpt-oss-20b-ru-reasoning-dpo
language:
- ru
- en
base_model:
- openai/gpt-oss-20b
library_name: transformers
tags:
- reasoning
- russian
- gpt-oss
- thinking
---
# NotEvilAI/gpt-oss-20b-ru-reasoner
[NotEvilAI/gpt-oss-20b-ru-reasoner](https://huggingface.co/NotEvilAI/gpt-oss-20b-ru-reasoner) - экспериментальная модель с адаптивным русскоязычным ризонингом на основе [openai/gpt-oss-20b](https://huggingface.co/openai/gpt-oss-20b).
Модель думает на том языке, на котором требуется сгенерировать ответ(протестировано на английском и русском) без явного указания языка ризонинга.
Имеется 5 режимов ризонинга(`reasoning_effort`):
- `low`, `medium`, `high` - стандартные значения минимального, среднего и большого ризонинга для gpt-oss-20b/gpt-oss-120b
- `none` - отключить ризонинг, в thinking будет пустая строка
- `auto` - "автоматический" размер ризонинга
## Предпосылки
gpt-oss-20b и gpt-oss-120b по-умолчанию всегда думают только на английском языке.
[Официальный Cookbook OpenAI](https://cookbook.openai.com/articles/gpt-oss/fine-tune-transfomers) предлагает сделать файн-тюн gpt-oss-20b на основе датасета `HuggingFaceH4/Multilingual-Thinking`(синтетический датасет из 1к примеров, полученных путём перевода prompt-reasoning-answer на 4 языка с английского).
Этот подход позволяет задать 'Reasoning language' в системном промте и заставить модель думтаь на требуемом языке, что в теории должно повысить качество ответов.
Во время файнтюна модель выявляет новые закономерности и учится думать на запрашиваемом языке.
При разработке данной модели мы поставили цель исключить явное указание языка ризонинга, а также добавить два новых режима ризонинга: автоматический(auto) и без ризонинга(none).
## Обучение
Для обучения модели был составлен датасет [NotEvilAI/ru-reasoning_effort-sft_dpo_think_gpt](https://huggingface.co/datasets/NotEvilAI/ru-reasoning_effort-sft_dpo_think_gpt).
Модель обучалась на собственном сервере с 8x H200 в 2 стадии:
- Full fine-tuning SFT с помощью axolotl:
- `num_epochs: 5` (20b версия модели сходится медленнее, чем 120b, однако переобучения замечено не было)
- `learning_rate: 5e-5` подобран эмпирически
- `optimizer: adamw_torch_fused`
- Упаковка семплов через `sample_packing, multipack_real_batches, pad_to_sequence_len, group_by_length`
- Обучение длилось ~ 5 часов
- DPO с помощью transformers:
- Семплирование по 25 семплов на промт с целью поиска ризонинга не на нужном языке
- `learning_rate: 5e-6`
- `gradient_accumulation_steps: 4`
- Конвертация результатирующей модели из fp32 в bf16
- Обучение длилось ~ 3.5 часа
## Больше информации
Подписывайтесь на наш [Telegram-канал](https://t.me/ak_segfault). Там мы будем выкладывать новые модели и датасеты. Также там вы можете задать автору интересующие вас вопросы.