Text Generation
Transformers
Safetensors
Russian
English
gpt_oss
reasoning
russian
gpt-oss
thinking
conversational
bethrezen commited on
Commit
56670b4
·
verified ·
1 Parent(s): efbf76e

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +55 -0
README.md ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ datasets:
4
+ - NotEvilAI/ru-reasoning_effort-sft_dpo_think_gpt
5
+ - NotEvilAI/gpt-ru-reasoning_effort-sft
6
+ - NotEvilAI/gpt-oss-20b-ru-reasoning-dpo
7
+ language:
8
+ - ru
9
+ - en
10
+ base_model:
11
+ - openai/gpt-oss-20b
12
+ library_name: transformers
13
+ tags:
14
+ - reasoning
15
+ - russian
16
+ - gpt-oss
17
+ - thinking
18
+ ---
19
+
20
+ [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).
21
+
22
+ Модель думает на том языке, на котором требуется сгенерировать ответ(протестировано на английском и русском) без явного указания языка ризонинга.
23
+
24
+ Имеется 5 режимов ризонинга(`reasoning_effort`):
25
+ - `low`, `medium`, `high` - стандартные значения минимального, среднего и большого ризонинга для gpt-oss-20b/gpt-oss-120b
26
+ - `none` - отключить ризонинг, в thinking будет пустая строка
27
+ - `auto` - "автоматический" размер ризонинга
28
+
29
+ ## Предпосылки
30
+
31
+ gpt-oss-20b и gpt-oss-120b по-умолчанию всегда думают только на английском языке.
32
+ [Официальный Cookbook OpenAI](https://cookbook.openai.com/articles/gpt-oss/fine-tune-transfomers) предлагает сделать файн-тюн gpt-oss-20b на основе датасета `HuggingFaceH4/Multilingual-Thinking`(синтетический датасет из 1к примеров, полученных путём перевода prompt-reasoning-answer на 4 языка с английского).
33
+ Этот подход позволяет задать 'Reasoning language' в системном промте и заставить модель думтаь на требуемом языке, что в теории должно повысить качество ответов.
34
+ Во время файнтюна модель выявляет новые закономерности и учится думать на запрашиваемом языке.
35
+
36
+ При разработке данной модели мы поставили цель исключить явное указание языка ризонинга, а также добавить два новых режима ризонинга: автоматический(auto) и без ризонинга(none).
37
+
38
+ ## Обучение
39
+
40
+ Для обучения модели был составлен датасет [NotEvilAI/ru-reasoning_effort-sft_dpo_think_gpt](https://huggingface.co/datasets/NotEvilAI/ru-reasoning_effort-sft_dpo_think_gpt).
41
+
42
+ Модель обучалась на собственном сервере с 8x H200 в 2 стадии:
43
+ - Full fine-tuning SFT с помощью axolotl:
44
+ - `num_epochs: 5` (20b версия модели сходится медленнее, чем 120b, однако переобучения замечено не было)
45
+ - `learning_rate: 5e-5` подобран эмпирически
46
+ - `optimizer: adamw_torch_fused`
47
+ - Упаковка семплов через `sample_packing, multipack_real_batches, pad_to_sequence_len, group_by_length`
48
+ - Обучение длилось ~ 5 часов
49
+ - DPO с помощью transformers:
50
+ - Семплирование по 25 семплов на промт с целью поиска ризонинга не на нужном языке
51
+ - `learning_rate: 5e-6`
52
+ - `gradient_accumulation_steps: 4`
53
+ - Конвертация результатирующей модели из fp32 в bf16
54
+ - Обучение длилось ~ 3.5 часа
55
+