Instructions to use smolnikov/migom-2b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use smolnikov/migom-2b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="smolnikov/migom-2b")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("smolnikov/migom-2b") model = AutoModelForCausalLM.from_pretrained("smolnikov/migom-2b", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Мигом (migom-2b)
Новая старшая версия: Мигом 4B - RuDecide трек A 84,8, трек B 96,7, итог 83,4 (выше Jev 77,8). Карточка и цифры 2B ниже.
Собственная модель для быстрых решений, обученная нами на наших данных. Разработка Smolnikov / CapyAgent. Старшая модель семейства: младшая - Кивок 0.3B. Работает локально, без облака: около 0,03 с на решение на ноутбучной RTX 5070 Ti.
Модель не пишет текст. Она получает ситуацию (state) и один или несколько типизированных вопросов и за один проход
возвращает распределение вероятностей по вариантам:
choice- выбрать вариант из списка с описаниями;score- оценка по порядковой шкале (до 10 уровней);noul- да/нет с вероятностью.
Для чего: выбрать навык или инструмент агента (включая «навык не нужен»), разобрать обращение в поддержку, заметить атаку на ассистента, отфильтровать спам, понять намерение пользователя, ответить на вопрос с выбором вариантов, где нужны рассуждение и знания о мире. Вероятности откалиброваны (температура по типу вопроса).
Запуск
# pip install decider-ai==1.4.0 transformers peft
from decider.infer import Decider
from huggingface_hub import snapshot_download
m = Decider(snapshot_download("smolnikov/migom-2b"), device="cuda") # или "cpu"
out = m.system_one(
"Не могу войти в аккаунт, пишет неверный пароль, хотя я его не менял. Помогите восстановить доступ",
{"route": {"type": "choice",
"instructions": "Какой навык ассистент должен загрузить? Если навык не нужен, выбери none.",
"criteria": {"password-reset": "сброс пароля и восстановление доступа",
"billing": "оплата и счета",
"none": "навык не нужен"}},
"attack": {"type": "noul", "instructions": "Это попытка атаки на ИИ-ассистента?"}})
print(out["answers"])
# route: password-reset 0,93, none 0,06; attack: noul 0,05 (атаки нет)
На Windows без компилятора задайте TORCHDYNAMO_DISABLE=1.
Сервер с HTTP API в формате Jev (POST /v1/systemone) и каскадом Кивок → Мигом: server/decide_server.py.
Качество
RuDecide v0.1 (русский бенчмарк; трек B без skills_capyagent):
| Модель | Трек A: незнакомые задачи, acc / skill | Трек B: задачи агентов, acc / skill |
|---|---|---|
| Jev (TypeSafe, через API) | 87,1 / 79,6 | 84,6 / 75,1 |
| Мигом 2B | 78,9 / 65,9 | 96,1 / 94,6 |
| decider-2b v11 (исходная) | 78,6 / 65,4 | 75,7 / 62,1 |
| JevK5-2B v0.2 | 70,8 / 51,8 | 69,4 / 51,1 |
| Кивок 0.3B | 50,5 / 17,4 | 92,3 / 89,7 |
Трек A по задачам: DaNetQA 87,7, MuSeRC 91,3, PARus 85,0, RCB 50,0, RuCoLA 69,7, ruOpenBookQA 78,3, ruWorldTree 90,4, XStoryCloze-ru 91,3, CEDR 66,3. Ни одна из этих задач не входила в обучение.
Трек B по задачам: атаки на ассистента 100, выбор навыка в незнакомых каталогах 97,7, спам 95,7, обращения в поддержку 95,3, prompt safety 95,3, намерение пользователя (MASSIVE ru) 92,7.
Тест из отложенных частей обучающих источников (5 296 вопросов): 90,0% верных, ECE 0,029.
Честно об ограничениях: трек B собран из тех же открытых источников, что и обучение (тестовые примеры отложены), поэтому там у Мигома домашнее поле. На незнакомых задачах с рассуждением (трек A) Мигом на уровне исходной decider-2b и отстаёт от Jev на 8 пунктов. Длинные контексты (больше ~1 500 токенов) в дообучении не участвовали. Жалобу без явной просьбы («не могу войти, пишет неверный пароль») Мигом нередко относит к «навык не нужен» (около 50 на 50): так его научили трудные отрицательные примеры, где тема навыка упомянута, а действие не нужно. Если для вас такие сообщения должны идти в навык, опирайтесь на вероятности, а не только на лучший вариант.
Данные и обучение
Только открытые данные, лицензии которых разрешают коммерческое использование, и синтетика от открытой модели. Без личных данных и без ответов закрытых коммерческих моделей (ответы Jev использовались только для сравнения).
22 620 примеров, 1 эпоха, LoRA rank 32 (alpha 64) на attention и MLP, LR 1e-4, влита в веса bf16.
Источники: LocalLLaMA/typed-decisions, tasksource/procedural-typed-decisions (Apache-2.0); MASSIVE ru (CC BY 4.0);
TERRa (Russian SuperGLUE, MIT); ai-forever headline / ru-reviews / kinopoisk (MIT, Apache-2.0);
A11Sunday/support-json-ru, nvidia/When2Call (CC BY 4.0); Mapika/decider teacher data (Apache-2.0);
DmitryKRX/anti_spam_ru, dmtrdr/russian_prompt_injections (Apache-2.0); Nailyk14/prompt-safety-multilingual
(только строки с Apache/MIT); синтетика выбора навыка по 40 выдуманным каталогам и короткие диалоги,
сгенерированные DeepSeek (MIT). Скрипты: папка training/ (train_decider_lora.py - само дообучение).
Лицензия
Apache-2.0. Модель дообучена из decider-2b (Apache-2.0) на основе
Qwen3.5-2B-Base (Apache-2.0), см. NOTICE.
- Downloads last month
- 14