kaufkino commited on
Commit
56324c6
·
verified ·
1 Parent(s): 588da1a

v2: reasoning-SFT model card

Browse files
Files changed (1) hide show
  1. README.md +18 -16
README.md CHANGED
@@ -19,33 +19,34 @@ tags:
19
 
20
  # MiniCPM5-1B-Fable5-Thinking-T-Wix-ru
21
 
22
- > ⚠️ **Экспериментальный merge.** Не обучалась как единое целое: это LoRA-адаптер, обученный на другой модели, применённый к дистилляту. Известные дефекты описаны ниже. Метрики не снимались. Не для продакшена.
23
 
24
- Экспериментальное объединение двух моделей:
25
- - **[GnLOLot/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking](https://huggingface.co/GnLOLot/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking)** — дистиллят Claude Opus/Fable5 (thinking, tool calling) на базе MiniCPM5-1B
26
- - **T-Wix LoRA (r=32)** из [kaufkino/MiniCPM5-1B-T-Wix-ru](https://huggingface.co/kaufkino/MiniCPM5-1B-T-Wix-ru) — русификация на ~461k диалогов [t-tech/T-Wix](https://huggingface.co/datasets/t-tech/T-Wix)
27
 
28
- Метод: LoRA-адаптер, обученный на базовой `openbmb/MiniCPM5-1B`, применён к дистилляту через `PeftModel.from_pretrained` + `merge_and_unload()` (адаптер и дистиллят имеют общую базу и архитектуру `LlamaForCausalLM`).
 
29
 
30
  ## Наблюдаемое поведение (ручной смоук-тест, не бенчмарк)
31
 
32
- **Что перенеслось:**
33
- - Беглый русский с хорошей структурой аследие T-Wix LoRA)
34
- - Простая математика с пошаговым решением — заметно лучше, чем у чистой T-Wix-версии (наследие дистиллята)
35
  - Tool calling: корректно выбирает функцию и аргументы
 
36
 
37
  **Известные дефекты:**
38
- - Склонность к зацикливанию **обязательно используйте `repetition_penalty=1.11.3`**
39
- - `<think>`-режим дистиллята после merge в явном виде почти не проявляется
40
- - Фактология на русском слабая (модель 1B + языковой перенос): для фактов используйте RAG
41
  - Перевод EN→RU нестабилен
 
42
 
43
  ## Структура репозитория
44
 
45
  | Путь | Содержимое |
46
  |---|---|
47
- | `/` | merged-модель, bf16 safetensors |
48
  | `/gguf` | GGUF: F16, Q8_0 |
 
49
 
50
  ## Запуск
51
 
@@ -59,12 +60,13 @@ tokenizer = AutoTokenizer.from_pretrained(repo)
59
  messages = [{"role": "user", "content": "Реши: 17 * 23 = ?"}]
60
  inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True,
61
  return_tensors="pt", return_dict=True).to(model.device)
62
- out = model.generate(**inputs, max_new_tokens=512, temperature=0.7, top_p=0.95,
63
- do_sample=True, repetition_penalty=1.15)
64
  print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
65
  ```
66
 
67
- Chat template (включая tools-формат) унаследован от дистиллята.
 
68
 
69
  ## Инфраструктура
70
 
@@ -72,4 +74,4 @@ Chat template (включая tools-формат) унаследован от д
72
 
73
  ---
74
 
75
- **EN:** Experimental merge: T-Wix Russian LoRA (r=32, trained on base MiniCPM5-1B) applied onto a Claude Opus/Fable5 distill of the same base. Russian fluency + improved math/tool-calling vs the plain T-Wix tune; known issues: repetition loops (use repetition_penalty≥1.1), suppressed think-mode, weak Russian factual recall. Research artifact.
 
19
 
20
  # MiniCPM5-1B-Fable5-Thinking-T-Wix-ru
21
 
22
+ > ⚠️ **Экспериментальная модель.** Метрики не снимались (только ручной смоук-квиз). Не для продакшена.
23
 
24
+ Русскоязычная 1B-модель с работающим `<think>`-режимом. Получена в два этапа:
 
 
25
 
26
+ 1. **Merge**: T-Wix LoRA (r=32, обучена на базовой `openbmb/MiniCPM5-1B` на ~461k русских диалогов [t-tech/T-Wix](https://huggingface.co/datasets/t-tech/T-Wix)) применена к дистилляту [GnLOLot/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking](https://huggingface.co/GnLOLot/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking) через `PeftModel` + `merge_and_unload()`.
27
+ 2. **Reasoning-SFT (v2, текущая версия)**: merge дообучен LoRA (r=16, LR 2e-5, 1 эпоха) на reasoning-сабсете T-Wix — 31k примеров с русскими `<think>`-трейсами; управляющие суффиксы ` /think` из данных убраны, чтобы thinking стал поведением по умолчанию.
28
 
29
  ## Наблюдаемое поведение (ручной смоук-тест, не бенчмарк)
30
 
31
+ **Что работает:**
32
+ - `<think>` включается сам на задачах, где уместен (математика, рассуждения), думает на языке вопроса (RU-вопросрусский трейс, EN → английский), закрывает блок и даёт ответ
33
+ - Пошаговая математика с самопроверкой внутри think
34
  - Tool calling: корректно выбирает функцию и аргументы
35
+ - Беглый русский с хорошей структурой
36
 
37
  **Известные дефекты:**
38
+ - На длинных выкладках think может не уложиться в маленький `max_new_tokens` — ставьте ≥10002000
39
+ - Фактология на русском слабая (модель 1B): для фактов используйте RAG
 
40
  - Перевод EN→RU нестабилен
41
+ - Рекомендуется `repetition_penalty=1.1` (без него возможны циклы)
42
 
43
  ## Структура репозитория
44
 
45
  | Путь | Содержимое |
46
  |---|---|
47
+ | `/` | модель после reasoning-SFT, bf16 safetensors |
48
  | `/gguf` | GGUF: F16, Q8_0 |
49
+ | `/lora` | reasoning-LoRA (r=16) отдельно — применима к merge-версии из истории коммитов |
50
 
51
  ## Запуск
52
 
 
60
  messages = [{"role": "user", "content": "Реши: 17 * 23 = ?"}]
61
  inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True,
62
  return_tensors="pt", return_dict=True).to(model.device)
63
+ out = model.generate(**inputs, max_new_tokens=1500, temperature=0.5, top_p=0.95,
64
+ do_sample=True, repetition_penalty=1.1)
65
  print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
66
  ```
67
 
68
+ Chat template (включая tools-формат и `enable_thinking`) унаследован от дистиллята.
69
+ Принудительно выключить размышления: `enable_thinking=False` в `apply_chat_template`.
70
 
71
  ## Инфраструктура
72
 
 
74
 
75
  ---
76
 
77
+ **EN:** Russian 1B model with working think-mode: T-Wix Russian LoRA merged onto a Claude Opus/Fable5 distill, then SFT'd on the T-Wix reasoning subset (31k Russian think-traces, r=16, 1 epoch). Think auto-triggers on reasoning tasks in the question's language and closes properly; tool calling preserved. Known issues: weak Russian factual recall (use RAG), unstable EN→RU translation, use repetition_penalty=1.1 and max_new_tokens≥1000. Research artifact, no formal evals.