Nemotron 3 Super: разное качество в llama.cpp vs vLLM | Исследование 2026 | AiManual
AiManual Logo Ai / Manual.
28 Мар 2026 Гайд

Почему Nemotron 3 Super показывает разное качество в llama.cpp и vLLM: техническое расследование

Техническое расследование различий в качестве Nemotron 3 Super в llama.cpp (55.4%) и vLLM (40.2%). Причины, бенчмарки, рекомендации на 28.03.2026.

Когда одна модель живёт двумя разными жизнями

Вы качаете одну и ту же модель — свежайший Nemotron 3 Super 120B, выпущенный NVIDIA в начале 2026. Запускаете её в llama.cpp с квантованием Q4_K_XL. Результат на вашем любимом бенчмарке — 55.4%. Потом, для скорости, разворачиваете ту же модель во vLLM с NVFP4. И получаете 40.2%. Разрыв в 15 процентных пунктов. Это не погрешность. Это системная ошибка. Или нет?

Это не баг. Это фундаментальное различие в том, как два самых популярных инференс-движка интерпретируют и выполняют одну и ту же математику. Если вы выбираете бэкенд, глядя только на токены в секунду, вы рискуете потерять львиную долю интеллекта модели.

Цифры, которые заставляют чесать затылок

Сообщество уже несколько недель ломает голову. На форумах и в чатах тестировщики делятся результатами. Паттерн один: llama.cpp, особенно с «тяжёлыми» квантованиями вроде Q4_K_XL или Q5_K_M, стабильно показывает лучшее качество на задачах рассуждения (reasoning). VLLM выигрывает в пропускной способности, иногда в разы, но проигрывает в точности. Разрыв особенно заметен на новых мультимодальных и агентных бенчмарках, где важна последовательность мыслей.

Бэкенд Квантование / Формат Скор на AIME 2026 (A) Токенов/с (A100-80GB)
llama.cpp (v0.4.1) Q4_K_XL 55.4% 14-18
vLLM (v0.6.2) NVFP4 (нативный) 40.2% 120-150
vLLM (v0.6.2) FP16 53.1% 35-40

Первый вопрос: а не в квантовании ли дело? Отчасти да. Но не полностью. Обрати внимание на последнюю строку. Даже в FP16 vLLM отстаёт от квантованного llama.cpp. Значит, дело глубже, чем просто потеря точности в 4 битах.

Копаем в ядро: что делают по-разному

Здесь начинается самое интересное. Оба движка преследуют разные цели. Llama.cpp рождён для работы на чём угодно — от MacBook на Apple Silicon до CPU-сервера. Его ДНК — точность и гибкость. VLLM — это дитя облачных инференс-ферм, его божество — это throughput, максимальная утилизация дорогого GPU.

  • Порядок вычислений и аккумуляция. В llama.cpp, особенно для сложных квантований типа K-quants, используется каскадная деквантация с высокой точностью аккумуляторов (часто FP32). VLLM, оптимизируя для скорости, агрессивно использует tensor cores и смешанную точность (FP16/BF16 для аккумуляторов даже в INT4), что может накапливать ошибку в длинных последовательностях.
  • Кэш ключей-значений (KV Cache). Это главный подозреваемый. VLLM использует PagedAttention — гениальную систему для эффективного использования памяти. Но её текущая реализация (v0.6.2) для 4-битных весов вынуждена делать дополнительные преобразования и загрузки данных, которые могут нарушать тонкую временную согласованность в attention-слоях. Llama.cpp использует более простой, но детерминированный подход к кэшу.
  • Обработка ротационных позиционных эмбеддингов (RoPE). Nemotron 3 Super использует усовершенствованный вариант RoPE с длинным контекстом. Есть намёки, что vLLM применяет к этим вычислениям более агрессивные оптимизации, что может «смазывать» позиционную информацию для дальних токенов в контексте.
💡
Проще говоря, vLLM торопится. Он объединяет операции, чтобы загрузить tensor cores до предела, но иногда «проглатывает» математические нюансы, которые для модели критичны. Llama.cpp вычисляет всё более методично, даже если это медленнее.

Полевой тест: как проверить самому

Не верь на слово. Проверь. Если ты уже умеешь запускать Nemotron 3 Super в llama.cpp, сделай следующее.

  1. Возьми одну и ту же тестовую промпт-последовательность. Лучше всего сложную цепочку рассуждений или математическую задачу.
  2. В llama.cpp используй флаги -c 4096 -ngl 99 --temp 0 и убедись, что используешь последнюю версию (0.4.1 на 28.03.2026). Квантование — Q4_K_XL или Q5_K_M.
  3. Во vLLM запусти сервер с флагами, указывающими на ту же модель в формате NVFP4. Используй официальный Docker-образ v0.6.2. Важно: отключи оптимизацию --enforce-eager для чистоты эксперимента.
  4. Сравни не только конечный ответ, но и лог вероятностей (logprobs) для ключевых токенов решения. Именно здесь часто видна разница.

Ты заметишь, что для llama.cpp логи вероятности для правильных шагов рассуждения часто выше и увереннее. VLLM может «дрожать» между вариантами. Это и есть та самая накопленная ошибка.

Что делать? Выбор без компромиссов

Итак, у тебя есть дилемма: качество или скорость. Но есть и третий путь — знание.

  • Для разработки, тестирования и исследований используй llama.cpp. Его результаты — эталонные. Особенно если ты работаешь с анализом внутренней работы моделей. Качество важнее.
  • Для продакшена с высоким RPS (запросов в секунду) — vLLM. Но будь готов к потенциальному падению качества на сложных промптах. Мониторь метрики внимательно. Рассмотри использование FP16, если пропускная способность позволяет.
  • Экспериментируй с гибридными подходами. Некоторые начинают использовать vLLM для простых классификаций и рерайта, а для сложных reasoning-запросов перенаправляют запросы на отдельный сервер с llama.cpp. Архитектурно сложнее, но даёт лучшее из двух миров.

Главная ошибка — слепо переносить гиперпараметры (температуру, top_p) с одного бэкенда на другой. Они начинают работать по-разному из-за различий в распределении вероятностей. Настраивай заново под каждый движок.

А что в будущем? Война движков

Разработчики vLLM уже в курсе проблемы. В roadmap на 2026 год есть пункт «улучшение точности для low-bit квантований». Ожидай, что в версии 0.7.0 появятся новые режимы вычислений, возможно, заимствованные из llama.cpp. С другой стороны, llama.cpp не стоит на месте — команда активно работает над своей реализацией PagedAttention и батчингом, чтобы догнать vLLM по скорости.

Мой прогноз: к концу 2026 года разрыв в качестве сократится до 3-5%, но полностью не исчезнет. Потому что философия разная. Один движок — для мысли, другой — для масштаба. Выбирай, что важнее для твоего проекта прямо сейчас. А если сомневаешься, посмотри глубокое сравнение бэкендов для VLM, там та же история, но с пикселями.

P.S. Если ты всё ещё запускаешь гигантов вроде 120B на домашнем железе, тебе пригодится наш гид про слоевый стриминг против ограничений VRAM. Без него никак.

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