Спекулятивное декодирование: от чего на самом деле зависит ускорение
Языковая модель пишет ответ по одному токену за шаг, и на каждом шаге прочитывает все свои веса от начала до конца. Спекулятивное декодирование пытается это обойти: маленькая черновая модель набрасывает несколько токенов вперёд, причём сразу деревом вариантов, а большая проверяет всё это дерево за один свой проход и принимает ту ветку, которая совпала с её собственным выбором. Текст на выходе получается тот же самый, быстрее становится только его получение. Так устроен метод из статьи EAGLE-3 с NeurIPS 2025, и авторы приводят для него ускорение до 6.5 раза.
Нейронные сети нетрадиционного ускорения
Главным бутылочным горлышком инференса современных языковых моделей является пропускная способность памяти, ведь из-за использования авторегрессионной генерации ради получения всего одного токена модели вынуждены прогонять через видеопамять все гигабайты весов.Решением этой проблемы стало спекулятивное декодирование: лёгкая модель-черновик (drafter) быстро генерирует последовательность токенов, а большая целевая модель проверяет весь блок за один параллельный проход.
DeepSeek 0731 на DGX Spark: разгоняю до 68 tok-s и разбираюсь, почему у автора карточки 57
TL;DRЖелезо: 2× NVIDIA DGX Spark (GB10, SM121), 128 GB unified номинально и около 122 GiB видимых системе на ноду, QSFP 200G / RoCEv2, TP=2, драйвер 580.159.03.Основную часть расхождения объяснила смена runtime‑образа. Переход со сборки на базе vLLM 0.21.1 на образ с 0.25.2 дал около +22% на том же чекпоинте. Конкретный коммит или компонент я не изолировал: поменялся весь пакет.Механика неочевидная: новый образ снизил расчётную частоту verification‑шагов примерно на 17%, но поднял число выходных токенов за шаг с 3.27 до 4.80.Главная находка в конфиге: --moe-backend flashinfer_b12x не выбирается режимом auto

