Русский опенсорс на своём Blackwell — и где ломается NVFP4
Взял на неделю RTX PRO 6000 (96 ГБ, Blackwell) на Selectel, ~314₽/час, и прогнал лестницу открытых моделей через два русских бенчмарка: ruAIME-2025 (30 олимпиадных задач) и ruMMLU из MERA (14 012 вопросов на знание).
Вопрос был не «какая модель умнее вообще» — закрытые облачные и так впереди по сырому баллу. Вопрос практичный: что из открытого реально ставится на свою карту в РФ и с каким качеством.
Спойлер: замер опять оказался умнее интуиции. А NVFP4, формат, ради которого эту карту и берут, завёлся не для всех.
Грабли: где ломается NVFP4 на Blackwell
С них и начну, честно. NVFP4 — 4-битный формат, на Blackwell даёт почти fp8-качество при половине памяти. На нём модель 26–35B влезает в 24-гигабайтную карту клиента. Ради этого всё и затевалось.
Из трёх моделей, которые я хотел в NVFP4, завелась одна.
Qwen3.6-35B-A3B (MoE) прошла чисто: 0.800 на AIME, ~22 ГБ весов. Это база, которую мы и так планировали в бой.
Gemma-4-26B-A4B упала на инициализации. Баг в самом vLLM: после недавнего рефакторинга привязку весов эмбеддинга к голове модели забыли реализовать для квантованных методов. Любая модель с привязанными эмбеддингами из NVFP4-чекпоинта падает на старте, а Gemma ровно такая.
Дальше моя вина, не модели. Я подумал «отключу привязку флагом» — tie_word_embeddings: false. Падать перестало, модель начала выдавать мусор. Отключив привязку, я оставил голову модели неинициализированной: не починил, а сломал тише. Ответ, прочитанный глазами, поправил меня за минуту. Правильный путь тут другой: переэкспорт чекпоинта с материализованной, «развязанной» головой. Либо TensorRT-LLM, где этого класса багов нет по устройству движка.
Qwen3.6-27B (плотная) упала иначе: FlashInfer requires GPUs with sm75 or higher. Сообщение абсурдное на вид, ведь SM120 старше SM75. Это баг сравнения версий во FlashInfer на Blackwell, причём именно на пути плотного внимания: MoE-путь (та самая 35B) на этой же карте прошёл. Обход — сменить attention-бэкенд, корневая починка — FlashInfer со сборкой под SM120.
Вывод по грабли честный: NVFP4 на Blackwell через vLLM сегодня сырой ровно для двух самых нужных классов — плотных моделей и моделей с привязанными эмбеддингами. MoE завезли первым. Дело не в железе: софт догоняет SM120 реактивно.
Лидерборд
32B ещё в очереди. Что есть на сейчас, сверху вниз по знанию:
| Модель | Квант | ruAIME | ruMMLU |
|---|---|---|---|
| Qwen3.6-27B | bf16 | 0.833 | 0.8156 |
| Gemma-4-12B | fp8 | 0.700 | 0.8103 |
| T-pro-2.0 (опубл.) | — | 0.646 | 0.790 |
| Qwen3-14B | bf16 | 0.467 | 0.7765 |
| Gemma-4-E4B | bf16 | 0.467 | 0.7688 |
| Qwen3.6-35B-A3B | NVFP4 | 0.800 | 0.7355 |
| Qwen3-8B | bf16 | 0.667 | 0.7180 |
| Gemma-4-26B-A4B | QAT-GGUF | 0.567 | 0.7006 |
| Qwen3-4B | bf16 | 0.400 | 0.6566 |
Замер умнее интуиции: 12B в полушаге от 27B
Самое интересное оказалось не на верхней строчке. Плотная Qwen3.6-27B забрала верх по обоим бенчам — ruMMLU 0.8156, ruAIME 0.833. Ожидаемо: она крупнее.
Важнее размера другое. Gemma-4-12B встала по знанию в полушаге — 0.8103 против 0.8156, разница 0.005 — при том что она меньше 27B вдвое с лишним. И обошла опубликованный T-pro-2.0 (0.790), и нашу же флагманскую 35B (0.7355). Интуиция говорила «бери 27B». Замер уточнил: по знанию между 27B и 12B — пять тысячных балла, а по железу и цене — пропасть. Для знаниевых задач на дешёвой карте 12B берёт своё.
И ещё один поворот, уже не про размер: плотная 27B уверенно обошла MoE-35B (0.8156 против 0.7355). На знании плотная модель этого класса берёт верх над «разреженной» — при том что 35B крупнее по общему числу параметров.
Оговорюсь по Gemma-26B: её QAT-GGUF-версия (0.567/0.7006) проиграла младшей 12B-fp8. Не потому что модель слабая. Тут наложились две вещи: 4-битный QAT против ~8-битного fp8, и NVFP4 — который развёл бы точность и архитектуру — как раз заблокирован (см. выше). Пока не изолирую, не сужу.
Честная оговорка
Это наш собственный харнес на названных датасетах T-Bank, направленно, не байт-в-байт против их чисел. Кванты в таблице разные, отмечено построчно, и сравнивается точность, а не скорость: tok/s зависит от бэкенда и в одну колонку не сводится. Закрытый облачный инкумбент назван по категории, этого требует его API. Цифры не универсальный приговор, а ответ на один вопрос: что конкретно мне поставить на свою карту.
Что дальше
→ Дособрать лестницу: 32B добегает в очереди. → Развязать NVFP4 для Gemma-26B и плотной 27B: переэкспорт чекпоинта и FlashInfer под SM120, либо TensorRT-LLM. → Вывод по цене и качеству под 24 ГБ на сегодня: Gemma-4-12B в fp8. По знанию — в полушаге от 27B, влезает с запасом, без хрупкости NVFP4. Флагман 35B-A3B-NVFP4 — на карту 32–48 ГБ.
Интерактивная версия лестницы, которая обновляется по мере прогонов, — на bench.csylabs.com/ru.
NVFP4 либо развяжется на плотной 27B и Gemma-26B — будет видно. Либо придётся жить на TensorRT-LLM — тоже будет видно. Поэтому бенч выходит раньше, чем «мы всё починили».