Запуск NVFP4 MoE на RTX 5090: Фикс сломанных ядер CUTLASS через vLLM Marlin | AiManual
AiManual Logo Ai / Manual.
08 Мар 2026 Инструмент

Как запустить NVFP4 MoE модели на RTX 5090/Pro 6000 (Blackwell): фикс сломанных ядер через --moe-backend marlin в vLLM

Подробный гайд по запуску больших MoE-моделей (Qwen3.5 397B) в NVFP4 на Blackwell (SM120) через vLLM с флагом --moe-backend marlin. Решение проблемы генерации м

Купили RTX 5090 или RTX Pro 6000 (Blackwell), скачали свежую NVFP4-версию Qwen3.5 397B, запустили через vLLM и... получили на выходе идеальный словесный салат? Поздравляю, вы столкнулись с классической проблемой сломанных ядер CUTLASS на новой архитектуре SM120. Хорошая новость: фикс проще, чем кажется. Плохая: об этом почти нигде не пишут.

На 08.03.2026 проблема актуальна для vLLM версий 0.5.0–0.5.3 при использовании NVFP4-квантованных Mixture of Experts моделей на графических процессорах Blackwell. Стандартный бэкенд CUTLASS выдает некорректные вычисления для FP4 формата в экспертных слоях.

Почему ваша дорогая видеокарта генерирует мусор?

Корень зла — в оптимизированных ядрах CUTLASS (NVIDIA's CUDA Templates for Linear Algebra Subroutines). Они не были должным образом адаптированы для комбинации FP4-квантования и sparse MoE-архитектуры на новых SM120 блоках Blackwell. В теории vLLM автоматически выбирает лучший бэкенд. На практике для вашего кейса он выбирает сломанный.

💡
NVFP4 (NVIDIA FP4) — это новый формат 4-битного квантования, представленный вместе с архитектурой Blackwell. Он дает прирост скорости в 1.5-2 раза по сравнению с INT4 при равном качестве, но требует специфичной поддержки на уровне ядер. Подробнее в нашем обзоре NVFP4 против INT4.

Решение? Принудительно переключить бэкенд для MoE-слоев с CUTLASS на Marlin. Это специализированное ядро для 4-битных весов, которое в vLLM 0.5.3 стабильно работает с NVFP4.

Пошаговый фикс: от ошибки к работающей модели

Забудьте про полную переустановку CUDA или откат драйверов. Все решается одним флагом в командной строке.

1 Проверка окружения (08.03.2026)

Убедитесь, что у вас стоит актуальное ПО. На момент написания это критично.

  • GPU: NVIDIA RTX 5090 или RTX Pro 6000 (архитектура Blackwell, SM120).
  • Драйвер NVIDIA: версия 560.xx или новее.
  • CUDA Toolkit: 12.5 или 12.6.
  • Python: 3.10–3.12.
  • vLLM: версия 0.5.3. Установите или обновите: pip install vllm==0.5.3. Более ранние версии могут не иметь полноценной поддержки Marlin для NVFP4.

2 Магический флаг: --moe-backend marlin

Вот как выглядит рабочая команда запуска для модели Qwen3.5 397B в NVFP4 на двух GPU (Tensor Parallelism).

python -m vllm.entrypoints.openai.api_server \
 --model Qwen/Qwen3.5-397B-Instruct-NVFP4 \
 --tensor-parallel-size 2 \
 --moe-backend marlin \
 --served-model-name qwen-397b \
 --api-key your-key \
 --port 8000

Ключевой параметр здесь — --moe-backend marlin. Он заставляет vLLM использовать ядра Marlin для обработки экспертных слоев. Без этого флага используется дефолтный (и сломанный для вашего железа) бэкенд.

Флаг --tensor-parallel-size должен соответствовать количеству физических GPU. Для RTX 5090 (24 ГБ) потребуется минимум 2 карты для модели 397B. Если у вас 3 или 4 карты, как в сборках на Threadripper, укажите соответствующее число.

3 Что делать, если Marlin не сработал?

Такое бывает, если модель использует нестандартную конфигурацию экспертов. Тогда можно попробовать fallback-опцию:

--moe-backend "marlin,cutlass"

Это предпишет vLLM сначала пробовать Marlin, а в случае ошибки — откатываться на CUTLASS (но тогда возможен мусор на выходе). Альтернатива — использовать кастомные ядра AdaLLM, но для Blackwell их нужно пересобирать.

Сравнение с альтернативами: почему не llama.cpp или LM Studio?

Вы могли слышать, что для MoE-моделей советуют llama.cpp. Но для NVFP4 это пока не вариант. На 08.03.2026 llama.cpp имеет экспериментальную поддержку FP4, но не оптимизирована для MoE на Blackwell. LM Studio еще медленнее из-за накладных расходов.

Инструмент Поддержка NVFP4 MoE Скорость на Blackwell Сложность настройки
vLLM с --moe-backend marlin ✅ Полная (v0.5.3+) Высокая Низкая
llama.cpp ⚠️ Экспериментальная Средняя Высокая
Hugging Face Transformers ❌ Нет Низкая Средняя
TensorRT-LLM ✅ Есть Очень высокая Очень высокая

TensorRT-LLM быстрее, но его настройка — это отдельный квест на несколько часов. vLLM с флагом marlin — золотая середина.

Кому этот фикс критически необходим?

  • Владельцам RTX 5090/Pro 6000, которые хотят запускать модели типа Qwen3.5 397B, DeepSeek-V3 или Mixtral 2 47B в NVFP4. Без фикса вы просто сожжете электричество.
  • Разработчикам, тестирующим большие MoE на Blackwell. Это ваш bypass для бага в CUTLASS.
  • Энтузиастам с многопроцессорными стендами, где каждая карта — Blackwell. Если собрали систему для 120GB VRAM, этот флаг разблокирует ее потенциал для самых тяжелых моделей.

Если же у вас старая карта (например, RTX 4090) или вы запускаете небольшие MoE-модели вроде Granite 4 Small, проблема может не проявляться. Вам повезло.

Что в будущем? Прогноз на 2026-2027

NVIDIA уже знает о баге. В следующих драйверах (после 560.xx) или в vLLM 0.6.0 дефолтный бэкенд CUTLASS, скорее всего, починят. Но до тех пор --moe-backend marlin — ваш мантра.

Совет на перспективу: когда будете обновлять vLLM, всегда проверяйте, не сломался ли снова бэкенд для MoE. История с оверфлоу VRAM на RTX 5070 Ti учит, что новые архитектуры и софт — всегда лотерея.

А пока — запускайте. Только не забудьте про охлаждение: Blackwell греется нешуточно.

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