В мире искусственного интеллекта существует устойчивое заблуждение, что для работы с большими языковыми моделями (LLM) необходим доступ к мощным серверным кластерам с тысячами GPU. Однако последние исследования от NVIDIA опровергают этот стереотип, демонстрируя, что даже десктопные решения способны справляться с задачами уровня enterprise. В своем последнем техническом блоге NVIDIA подробно разобрала процесс ускорения вывода (inference) для модели смешанной экспертности (Mixture-of-Experts, MoE) — Ling-3.0-flash — на аппаратной платформе DGX Spark. Это не просто тест производительности, а глубокое погружение в архитектуру оптимизации, которое может стать образцом для разработчиков, стремящихся максимизировать эффективность своих локальных или edge-решений.
Результаты впечатляют: при использовании трех ключевых оптимизаций пропускная способность декодирования (decode throughput) на наборе данных GSM8K выросла на 42,5%, при этом статистически значимых изменений в точности модели не произошло. Важно отметить, что DGX Spark — это не серверная нода в дата-центре, а компактная настольная система. Способность такой машины обслуживать запросы к 124-миллиардной модели быстрее, чем многие облачные аналоги, открывает новые горизонты для локального развертывания AI-агентов и сложных аналитических систем.
01Почему MoE-декодирование становится узким местом?
Чтобы понять суть оптимизаций, необходимо разобраться в архитектуре DGX Spark и природе вычислительных затрат при работе с моделями типа MoE. DGX Spark построен на базе суперчипа GB10 Grace Blackwell. Его ключевые характеристики — 128 ГБ унифицированной памяти и пропускная способность памяти на уровне 273 ГБ/с. Пиковая вычислительная мощность достигает 1 петафлопса для разреженных вычислений FP4. NVIDIA позиционирует эту систему для инференса моделей до 200 миллиардов параметров.
В ходе профилирования модели Ling-3.0-flash (версия FP4, 124 млрд параметров, из которых активны только 5,1 млрд на каждый токен) команда NVIDIA выявила, что процесс декодирования является memory-bound (ограниченным памятью). Это означает, что скорость работы системы определяется не вычислительной мощностью GPU, а скоростью чтения весов модели из памяти. Два основных процесса потребляли больше всего времени:
- Вычисления в слоях MoE, где необходимо активировать и загружать веса выбранных экспертов.
- Работа с LM-head (головой языковой модели), которая оценивает вероятности для всего словаря (157 184 x 2 560 матрица) для каждого сгенерированного токена.
Базовая конфигурация следовала официальному рецепту W4A8. Она использовала ядра FlashInfer MXFP4 для MoE, плотные GEMM-операции CUTLASS и путь FP32 для LM-head. На синтетическом тесте с входом 32K и выводом 2K базовая скорость составляла 36,09 токенов в секунду (27,71 мс на токен). Это отправная точка, которую предстояло улучшить.
02Три столпа оптимизации: от ядер до спекулятивного декодирования
NVIDIA не стала искать один «волшебный» параметр, а применила комплексный подход, объединив три независимые оптимизации. Каждая из них атакует проблему с разных сторон: снижение объема передаваемых данных, уменьшение вычислительных затрат на шаг и сокращение количества шагов.
1. Ядра Humming MXFP4 вместо FlashInfer
Первым шагом стало замена бэкенда MoE в FlashInfer на библиотеку Humming. Это независимая библиотека ядер, которая использует NVRTC для компиляции ядер «на лету» (runtime) под конкретные формы матриц, типы данных и конкретный GPU. Это особенно важно для узких слоев экспертов (шириной 768), которые часто не оптимизированы в универсальных библиотеках.
Ключевое преимущество Humming — скорость компиляции. В то время как путь CUTLASS в FlashInfer требует компиляции 97 целей через ninja (что занимает десятки минут), каждое ядро Humming компилируется за секунды. Это не только ускоряет запуск, но и обеспечивает лучшую адаптацию к конкретному железу. Результат: пропускная способность выросла на 9,3% до 39,45 токенов в секунду.
2. Онлайн LM-head в формате FP8
Второй оптимизации подверглась LM-head — матрица размером 157 184 x 2 560, которая хранилась в BF16. Поскольку каждый сгенерированный токен требует чтения всей этой матрицы, она создавала значительную нагрузку на пропускную способность памяти. NVIDIA предложила квантовать только этот слой до FP8 непосредственно во время загрузки.
Это решение позволяет сократить объем читаемых данных вдвое. Для активации этой функции в SGLANG необходимо установить флаг SGLANG_ENABLE_FP8_LM_HEAD=1. Важно отметить, что этот метод несовместим с опцией --enable-fp32-lm-head из базовой конфигурации. В сочетании с ядрами Humming пропускная способность достигла 43,94 токенов в секунду, что на 21,7% выше базового уровня и на 11,4% выше уровня только с Humming.
3. Спекулятивное декодирование MTP с NEXTN
Третья и, возможно, самая мощная оптимизация — использование встроенного механизма Multi-Token Prediction (MTP). Модель Ling-3.0-flash была обучена с использованием слоя NEXTN, который действует как модель-черновик (draft model). Это избавляет от необходимости загружать отдельную маленькую модель для предсказания следующих токенов.
Механизм работает следующим образом: NEXTN предсказывает три токена, а основная модель проверяет четыре позиции одновременно. Поскольку основная стоимость в MoE-моделях лежит в слоях MoE, а не в механизме внимания (attention), проверка четырех токенов стоит примерно в 2,26 раза больше, чем один шаг декодирования. Однако, если черновик успешен, мы получаем четыре токена за цену двух с половиной шагов.
На синтетическом тесте среднее количество принятых токенов за раунд составило 3,90. Это привело к взрывному росту скорости до 102,88 токенов в секунду — прирост на 185,1% по сравнению с базой. Однако, как мы увидим далее, на реальных данных этот эффект будет скромнее.
03Реальные нагрузки: GSM8K против синтетики
Синтетические тесты часто преувеличивают преимущества спекулятивного декодирования, так как сгенерированный текст там более повторяющимся и предсказуемым. Чтобы получить объективную картину, команда NVIDIA протестировала все 1 319 вопросов из набора данных GSM8K (математические задачи для школьников). Использовалось 5-шаговое промптирование с цепочкой рассуждений (chain-of-thought), температура 0.6, top_p 0.95 и top_k 29.
Результаты на реальных данных показали:
- Пропускная способность: выросла с 37,81 до 53,89 токенов в секунду (+42,5%).
- Средняя задержка (latency): снизилась с 15,21 до 11,49 секунд (-24,5%).
- Точность: изменилась с 96,89% до 96,82%. NVIDIA отмечает, что это изменение статистически незначимо.
При этом средняя длина принятия токенов (accept length) упала до 2,68 (против 3,90 на синтетике). Команда выделяет три причины этого разрыва:
- Синтетические выводы более повторяются, что облегчает работу черновика.
- Синтетический тест использовал жадное декодирование (greedy decoding), тогда как GSM8K использовало выборку (sampling), что вносит больше вариативности.
- Ответы в GSM8K короче (медиана около 310 токенов) по сравнению с фиксированным выводом в 2K токенов в синтетике.
04Что такое Ling-3.0-flash и почему он идеален для DGX Spark?
Ling-3.0-flash — часть семейства моделей от Ant Group inclusionAI, выпущенных под лицензией MIT. Помимо основной модели, есть легковесная версия Ling-3.0-tiny (7,9 млрд параметров). Ling-3.0-flash спроектирован с учетом специфики работы на ресурсоограниченных устройствах:
- Разреженная MoE-архитектура: Каждый токен маршрутизируется к 8 из 512 экспертов, плюс 1 общий эксперт. Активны лишь ~4,1% весов на токен. Это критически важно для DGX Spark с его ограниченной памятью.
- Гибридная линейная атаENTION: Модель чередует 35 слоев Kimi Delta Attention (KDA) и 7 слоев Gated MLA. KDA, разработанная Moonshot AI, поддерживает состояние фиксированного размера, избегая роста кэша KV. Это экономит память при длинных контекстах.
- Встроенный MTP: Как упоминалось выше, модель обучена с предсказанием нескольких токенов, что делает ее «из коробки» совместимой с оптимизациями NVIDIA.
- Фокус на агентах: Включено более 10 000 интерактивных обучающих сред для кодинга и глубоких исследований. Нативный контекст 256K токенов может быть расширен до 1 млн токенов.
05Сравнение эффективности и стоимости
Как же Ling-3.0-flash выглядит на фоне конкурентов? По данным модели inclusionAI, она набирает 56,6 баллов на SWE-Bench Pro и 72,4 на SWE-Bench Multilingual. На математических тестах MathArena AIME 2026 — 93,2 балла. Однако на самых сложных тестах рассуждений, таких как Humanity’s Last Exam, результаты скромнее (22,7–23,7%), что характерно для большинства современных моделей.
Интересен аспект стоимости. API InclusionAI оценивается в $0,075 за 1 млн входных токенов и $0,22 за 1 млн выходных. При типичном соотношении кэша, ввода и вывода (7:2:1) blended-цена составляет около $0,05 за 1 млн токенов. Для сравнения, у конкурентов цены выше: Step 3.7 Flash — $0,18, Gemini 3.5 Flash-Lite — $0,33, GPT-5 (medium) — $1,34. Важно отметить, что это сравнение только цен, а не качества.
Квантование также влияет на качество минимально. Таблица квантования inclusionAI показывает, что переход от BF16 к FP4 снижает балл на GPQA-diamond с 84,97 до 83,68. На SciCode падение более заметно (с 41,24 до 38,43), но для большинства задач это приемлемая цена за значительное сокращение требований к памяти и вычислениям. Именно FP4-чекпоинт использовался в тесте NVIDIA.
06Что это значит на практике
Для разработчиков и инженеров, работающих с AI, этот кейс несет несколько важных уроков. Во-первых, архитектура модели должна соответствовать аппаратным ограничениям. Использование MoE с малым числом активных параметров (5,1B из 124B) позволяет запускать огромные модели на устройствах с ограниченной памятью, таких как DGX Spark. Во-вторых, оптимизация памяти так же важна, как и вычислительная мощность. Переход на FP8 для LM-head и использование специализированных ядер Humming дали значительный прирост именно за счет снижения нагрузки на шину памяти.
В-третьих, спекулятивное декодирование работает, но требует тщательной настройки. Встроенные механизмы, такие как NEXTN в Ling-3.0-flash, упрощают интеграцию, но требуют понимания того, как черновик взаимодействует с основной моделью. Ошибка в совместимости типов данных (FP8 vs BF16) может полностью нивелировать преимущества.
Наконец, этот пример демонстрирует, что локальный инференс становится все более мощным инструментом. Возможность запустить 124-миллиардную модель на настольном ПК с приемлемой скоростью открывает возможности для приватных AI-ассистентов, локальных агентов и разработки, не зависящей от облачных провайдеров. Для тех, кто хочет повторить эти результаты, NVIDIA предоставляет полный анализ в техническом блоге, а веса модели и рецепты доступны на Hugging Face, в SGLang cookbook и Ling cookbook.
Таким образом, симбиоз аппаратных инноваций NVIDIA (DGX Spark, GB10) и архитектурных прорывов в моделях (Ling-3.0-flash, MoE, MTP) создает новую парадигму эффективного AI. Это не просто ускорение цифр, а демократизация доступа к мощным языковым моделям, делая их доступными для более широкого круга разработчиков и энтузиастов.
Источник: MarkTechPost ↗