Мигом (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
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for smolnikov/migom-2b

Finetuned
(5)
this model

Dataset used to train smolnikov/migom-2b

Collection including smolnikov/migom-2b