AIKraft Agents
Инструменты27 октября 2026 г., 18:01 МСК🤖 Auto

NVIDIA DGX Spark: ускорение MoE-инференса на 185% с помощью 3 техник

NVIDIA и Inclusion AI показали, как оптимизировать модель Ling-3.0-flash на DGX Spark: замена бэкенда MoE, квантование LM-головы и спекулятивный декодинг дали прирост скорости до 102.88 токенов/с.

Баннер новости 10634

Проблема: память, а не вычисления

Профилирование модели Ling-3.0-flash (124 млрд параметров, 5.1 млрд активных) на NVIDIA DGX Spark выявило узкое место: на этапе декодирования (batch-size=1) производительность ограничена пропускной способностью памяти. Основные затраты идут на чтение весов модели, особенно в операциях Mixture-of-Experts (MoE) и проекции выходного слоя (LM head). Для решения этой задачи разработчики внедрили три оптимизации.

1. Humming MXFP4 MoE kernels

Стандартный бэкенд FlashInfer заменен на библиотеку Humming. В отличие от статической компиляции, Humming использует NVRTC для генерации CUBIN-бинарей под конкретные размеры матриц (M/N/K) и архитектуру GPU в рантайме. Это критично для узких слоев MoE (intermediate_size=768). Компиляция занимает секунды, а не минуты, обеспечивая специализированные ядра.

2. Онлайн-квантование LM head в FP8

Выходной слой (LM head) хранится в BF16, что создает огромный трафик данных (вектор 157,184 × 2,560). Включение флага SGLANG_ENABLE_FP8_LM_HEAD=1 переводит веса в FP8, сокращая объем чтения вдвое. Это решение взаимно исключает использование --enable-fp32-lm-head.

3. Speculative Decoding с NEXTN

Модель содержит встроенный слой предсказания NEXTN (1 слой), который работает как draft-модель без дообучения. Конфигурация: 3 шага черновика, проверка 4 токенов. Ключевой момент — при совместном использовании с FP8 LM head требуется общий доступ к модулю LM head, иначе система молча падает в BF16, снижая эффективность. Коэффициент стоимости верификации составил ~2.26 из-за активации до 32 экспертов одновременно.

Результаты оптимизаций

Синтетическая нагрузка: 32K входных токенов, 2K выходных, batch size 1. Ниже приведена динамика ускорения (TPOT — время на токен, Decode throughput — скорость генерации):

Конфигурация TPOT (мс) Пропускная способность (ток/с) Прирост к базовому уровню
Baseline (W4A8, FlashInfer) 27.71 36.09 —
+ Humming MoE backend 25.35 39.45 +9.3%
+ Online FP8 LM head 22.76 43.94 +21.7%
+ MTP (NEXTN, steps=3) 9.72 102.88 +185.1%

На реальном датасете GSM8K (1,319 вопросов, chain-of-thought, temp 0.6) комбинация техник также показала стабильное преимущество, хотя синтетические тесты могут завышать выгоду спекулятивного декодирования из-за простоты сэмплов.

Источник: NVIDIA dev blog ↗