4.5 KiB
license, base_model, datasets, language, library_name, pipeline_tag, tags
| license | base_model | datasets | language | library_name | pipeline_tag | tags | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| apache-2.0 | GnLOLot/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking |
|
|
transformers | text-generation |
|
MiniCPM5-1B-Fable5-Thinking-T-Wix-ru
⚠️ Экспериментальная модель. Метрики не снимались (только ручной смоук-квиз). Не для продакшена.
Русскоязычная 1B-модель с работающим <think>-режимом. Получена в два этапа:
- Merge: T-Wix LoRA (r=32, обучена на базовой
openbmb/MiniCPM5-1Bна ~461k русских диалогов t-tech/T-Wix) применена к дистилляту GnLOLot/MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking черезPeftModel+merge_and_unload(). - Reasoning-SFT (v2, текущая версия): merge дообучен LoRA (r=16, LR 2e-5, 1 эпоха) на reasoning-сабсете T-Wix — 31k примеров с русскими
<think>-трейсами; управляющие суффиксы/thinkиз данных убраны, чтобы thinking стал поведением по умолчанию.
Наблюдаемое поведение (ручной смоук-тест, не бенчмарк)
Что работает:
<think>включается сам на задачах, где уместен (математика, рассуждения), думает на языке вопроса (RU-вопрос → русский трейс, EN → английский), закрывает блок и даёт ответ- Пошаговая математика с самопроверкой внутри think
- Tool calling: корректно выбирает функцию и аргументы
- Беглый русский с хорошей структурой
Известные дефекты:
- На длинных выкладках think может не уложиться в маленький
max_new_tokens— ставьте ≥1000–2000 - Фактология на русском слабая (модель 1B): для фактов используйте RAG
- Перевод EN→RU нестабилен
- Рекомендуется
repetition_penalty=1.1(без него возможны циклы)
Структура репозитория
| Путь | Содержимое |
|---|---|
/ |
модель после reasoning-SFT, bf16 safetensors |
/gguf |
GGUF: F16, Q8_0 |
/lora |
reasoning-LoRA (r=16) отдельно — применима к merge-версии из истории коммитов |
Запуск
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "kaufkino/MiniCPM5-1B-Fable5-Thinking-T-Wix-ru"
model = AutoModelForCausalLM.from_pretrained(repo, dtype="bfloat16", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(repo)
messages = [{"role": "user", "content": "Реши: 17 * 23 = ?"}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True,
return_tensors="pt", return_dict=True).to(model.device)
out = model.generate(**inputs, max_new_tokens=1500, temperature=0.5, top_p=0.95,
do_sample=True, repetition_penalty=1.1)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))
Chat template (включая tools-формат и enable_thinking) унаследован от дистиллята.
Принудительно выключить размышления: enable_thinking=False в apply_chat_template.
Инфраструктура
Собрано на облачном GPU-сервере Selectel (реферальная ссылка).
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.