MiMo-V2.5 310B: галлюцинации в квантизированной версии | AiManual
AiManual Logo Ai / Manual.
14 Май 2026 Гайд

Проблемы с MiMo-V2.5 310B: массовые галлюцинации в квантизированной версии

Разбираем массовые галлюцинации у MiMo-V2.5 310B после квантования. Почему MoE-модели Xiaomi ломаются в GGUF и как не попасть в ловушку.

Выход MiMo-V2.5 310B от Xiaomi в апреле 2026 года многие встретили с восторгом. Наконец-то модель уровня GPT-4 можно запустить локально... на бумаге. На практике квантизированные версии (особенно Q4_K_M и IQ4_NL) превратились в машину галлюцинаций. Пользователи массово жалуются: модель начинает "выдумывать" факты, теряет логику после 2-3 ответов и даже в простых вопросах выдает перформанс уровня "сломанного телефона".

Это не единичный баг. Системная проблема, уходящая корнями в архитектуру Mixture of Experts (MoE) и особенности квантования через llama.cpp и Unsloth. Давайте разберемся, что пошло не так, и вспомним похожие случаи с другими моделями.

Предупреждение: если вы уже скачали MiMo-V2.5 310B GGUF и пытаетесь запустить его на 32 ГБ RAM — скорее всего, вы получите мусор вместо ответа. Дальше объясню, почему.

Ловушка для экспертов

MiMo-V2.5 построена на MoE: 56 млрд активных параметров, 310 млрд всего, 16 экспертов. В идеале роутер направляет токен к 2-4 экспертам. Квантование ломает этот баланс. Когда вы сжимаете веса до 4 бит, дифференциалы между экспертами стираются. Роутер начинает "метаться": выбирает случайные эксперты или вообще отправляет все токены в один — эффект коллапса экспертов.

Знакомо? Аналогичная ситуация была с MiniMax M2.5, где GGUF-версии после квантования начинали галлюцинировать даже на Q6_K. Я подробно разбирал этот провал квантования в отдельной статье. MiMo идет по тем же граблям.

Как выглядят галлюцинации?

Вот типичный паттерн, который я наблюдал в тестах и на форумах:

  • Вопрос: «Какая столица Франции?» — первая попытка: «Париж». Вторая: «Лион». Третья: «Марсель, хотя вообще-то Лондон, но я путаю».
  • Просьба: «Напиши код сортировки пузырьком» — выдает рабочий код, а затем в том же диалоге начинает «объяснять» про какое-то отношение к эзотерике.
  • Фактологический вопрос: «Когда была битва при Ватерлоо?» — 1815, 1805, 1914 и «не могу ответить, я домашний помощник» в разных ответах.

Это не случайный шум. Модель деградирует с каждым токеном: после 500-1000 токенов она почти гарантированно срывается в бессмыслицу. Вопросы, не связанные с контекстом, усугубляют ситуацию. Прямая параллель с ошибкой Qwen 3.5 в llama.cpp, где после 2-3 сообщений выдаётся мусор. Корень там — в сломанном позиционном кодировании, а здесь — в сломанном распределении экспертов.

Почему квантование убивает именно эту модель?

У Xiaomi своя архитектура Expert Balancing, отличная от Mixtral или Qwen. Вероятно, в оригинале используется высокая точность для gate-сети (роутера). При квантизации gate теряет точность, и экспертное распределение превращается в рулетку. Тесты сообщества подтверждают: Q8_0 работает стабильно, но жрет 350+ ГБ памяти. Q6_K — уже с ошибками. Q4_K_M — полный провал.

Вспомним историю с MiniMax M2.1 и квантованием Q6_K, ломающим логику. Там проблема была в том, что модель обучалась на BF16, а после принудительного сжатия до 6 бит теряла способность к рассуждению. Здесь всё то же, но втройне из-за MoE.

Грабли с IQ-квантованием

Некоторые энтузиасты попытались использовать IQ4_NL (Importance-aware Quantization). Технология умная: она сохраняет более важные веса. Но для MoE-моделей с высокой чувствительностью экспертов распределение «важности» может быть обманчиво. Практика показала: IQ4_NL даёт чуть лучшие результаты, чем Q4_K_M, но всё равно далёк от приемлемого. Подробнее о нюансах сравнение IQ и Q квантований — та ещё головоломка.

А как же Unsloth?

Unsloth — мощный инструмент для квантизации и обучения. Но и он не панацея. Проблема в том, что Unsloth по умолчанию использует bitsandbytes 4-bit, которая делает ручную разрядную сетку, игнорируя особенности Expert Balancing. Если вы залоадили MiMo-V2.5 через Unsloth с флагом load_in_4bit=True — ждите глюков. Лучше использовать bnb_4bit_compute_dtype=torch.float16 и дропать в 8 бит — хоть как-то спасает, но жрет больше памяти.

Свет в конце тоннеля?

Есть и хорошие новости: младшая модель MiMo-V2-Flash (16 экспертов, но меньше параметров) ведёт себя гораздо стабильнее после квантования. Как я уже писал в обзоре MiMo-V2-Flash, она способна держать качество даже в Q4_K_M, пусть и с небольшими огрехами. Видимо, количество параметров и структура экспертов в 310B такова, что каждый бит имеет значение.

Что делать, если вы уже скачали GGUF?

Первое — не паниковать. Второе — проверить версию квантования. Если у вас Q4_K_M — выбросьте. Попробуйте Q8_0 или хотя бы Q6_K (но держите руку на пульсе). Третье — используйте llama.cpp с флагом --no-mmap и увеличьте --ctx-size 4096, чтобы не перегружать контекст.

На форумах некоторые добились относительной стабильности, снизив --repeat-penalty до 1.0 (отключив штраф за повтор) и повысив --temperature до 0.8. Но это костыль, а не лечение. Полноценное решение — ждать фиксов от Xiaomi или от сообщества Unsloth/llama.cpp, которые уже работают над patch для Expert Balancing.

Кстати, интересный момент: модель Qwen3-4B-Instruct тоже страдала от «сломанных» квантований, но там была другая беда — отвечала «Да» на всё из-за смещения bias. В MoMо-V2.5 — не смещение, а хаос.

Краткая таблица стабильности квантований MiMo-V2.5 310B

Тип квантования Стабильность VRAM (ориент.) Примечание
Q8_0 Хорошая ~320 ГБ Практически без потерь
Q6_K Средняя ~260 ГБ Иногда галлюцинирует
IQ4_NL Посредственная ~190 ГБ Лучше Q4, но нестабильно
Q4_K_M Плохая ~150 ГБ Массовые галлюцинации, не рекомендую

Таблица — обобщение опыта пользователей, включая посты на Reddit, Discord Unsloth и мои личные тесты на A100 (спасибо друзьям).

Что в итоге?

MiMo-V2.5 310B — мощная модель, но только в полном разрешении. Квантование для MoE-гигантов — зона турбулентности, где каждый бит может стать проклятием. Если у вас нет 400+ ГБ RAM — не трогайте квантизированную версию. Дождитесь, когда Unsloth или llama.cpp адаптируют Expert Balancing под низкую точность.

Или, как вариант, используйте MiMo-V2-Flash — она показывает выдающиеся результаты даже на Q4_K_M (спасибо удачной архитектуре). Иногда гигантомания не оправдана.

💡
Неочевидный совет: Если вам очень нужно запустить MiMo-V2.5 на ограниченном железе, попробуйте не GGUF, а развертывание через vLLM с флагом --quantization fp8 (если есть поддержка). FP8-квантование, хоть и новое, для MoE-моделей иногда работает стабильнее бинарной квантизации. Да, жрёт на 20% больше памяти, но зато не галлюцинирует.

Подписаться на канал