Спекулятивное декодирование: от волшебства к измеримым цифрам
Все говорят про спекулятивное декодирование как про серебряную пулю. Запускаешь маленькую draft-модель, она предсказывает токены, большая модель только проверяет — и вот уже инференс летит в 2-3 раза быстрее. Красиво звучит, правда? А потом ты пытаешься повторить это в продакшене, и все летит к чертям. Потому что никто не знает, как измерить реальный прирост для *вашей* модели на *вашем* железе.
До 2025 года это была игра в угадайку. В марте 2026 NVIDIA выкатила SPEED-Bench — первый бенчмарк, который пытается превратить шаманство в науку. Не очередную синтетику, а инструмент, который показывает, насколько ваша draft-модель действительно ускоряет конкретную LLM в реальных сценариях. Если вы устали от хвастовства в бумагах и хотите цифры — это ваш выбор.
Что внутри SPEED-Bench: разбираем на запчасти
Забудьте про простые замеры токенов в секунду. SPEED-Bench считает три вещи, которые на самом деле важны:
- Acceptance Rate — какой процент предсказанных токенов большая модель принимает. Если тут меньше 70%, вся затея бессмысленна.
- Real-world Speedup — ускорение с учетом всех накладных расходов на синхронизацию между моделями. Тот самый показатель, который вы увидите в продакшене.
- Quality Degradation — насколько падает качество ответов. Потому что если модель начинает генерировать бред, хоть в 10 раз быстрее — кому это нужно?
Инструмент поставляется с предзагруженными датасетами для разных доменов: код, научные тексты, диалоги. Можно добавить свои. Но главная фишка — интеграция с TensorRT-LLM 2.1 и vLLM 0.5.6. Не надо переписывать инференс-движок — просто указываешь пути к моделям и запускаешь.
Внимание: SPEED-Bench жрет видеопамять как не в себя. Для теста связки Llama 3.1 70B + TinyLlama 1.5B нужно минимум 48 GB VRAM. Если у вас не топовая RTX 5090 или H200 — готовьтесь к облачным счетам или вдумчивому выбору железа.
Чем SPEED-Bench не похож на других: сравнение с альтернативами
До него были только MLPerf Inference 4.0 и кустарные скрипты. MLPerf хорош для сравнения железа, но для спекулятивного декодирования там один тест на сотню страниц спецификации. Самописные скрипты? Они обычно меряют только идеальный случай и забывают про latency spikes.
| Инструмент | Специализация | Год | Проблема |
|---|---|---|---|
| MLPerf Inference 4.0 | Общая оценка инференса | 2025 | Один тест для спекулятивного декодирования, нет гибкости |
| Самописные скрипты | Любая | - | Нет стандартизации, результаты несопоставимы |
| SPEED-Bench v1.2 | Только спекулятивное декодирование | 2026 | Требует много ресурсов, зато дает реалистичную картину |
Если вы хотите сравнить эффективность разных draft-моделей для одной целевой LLM — альтернатив нет. Особенно когда дело касается квантованных версий. SPEED-Bench автоматически учитывает специфику разных типов квантования, чего не делает никто другой.
Запускаем бенчмарк: от установки до графиков
Теория — это хорошо, но давайте посмотрим, как это работает на практике. Установка простая, но требует точности.
1Ставим и настраиваем
Клонируем репозиторий и ставим зависимости. Важно: нужен Python 3.11+ и CUDA 12.4. Меньше — будут ошибки.
git clone https://github.com/nvidia/SPEED-Bench.git
cd SPEED-Bench
pip install -e .[all] # ставим все зависимости, включая torch 2.4.12Готовим модели
SPEED-Bench не тянет модели из интернета. Нужно заранее скачать и конвертировать их в нужный формат. Для TensorRT-LLM это отдельная история. Допустим, у нас есть Llama 3.2 13B как основная модель и Phi-3.5 Mini 4B как draft.
# Пример команды подготовки (упрощенно)
speed-prepare-models \
--target-model ./models/llama-3.2-13b \
--draft-model ./models/phi-3.5-mini-4b \
--quantization awq # или fp8, int4_sq3Запускаем и интерпретируем
Основная команда. Здесь мы задаем длину промпта, количество генерируемых токенов и температуру.
speed-run --target llama-3.2-13b --draft phi-3.5-mini-4b \
--dataset code-generation --max-tokens 512 \
--output-dir ./results --visualizeПосле получаса работы (или нескольких часов для больших моделей) в папке results будут JSON-файлы с метриками и графики. Самый важный график — "Speedup vs. Acceptance Rate". Если ваша кривая лежит выше линии y=x — вы молодец. Если ниже — пора менять draft-модель или ее размер. Помните, что сырая скорость в токенах в секунду часто врет.
Кому этот инструмент сломает мозг, а кому — сэкономит месяцы работы
SPEED-Bench — не для всех. Если вы просто запускаете готовые модели в Ollama или LM Studio, он вам не нужен. Это инструмент для тех, кто собирает инференс-системы с нуля.
- Инженеры MLOps в крупных компаниях: когда нужно выбрать draft-модель для продакшена и обосновать выбор перед менеджментом. SPEED-Bench дает конкретные цифры, которые нельзя оспорить.
- Разработчики edge-решений: особенно если работаете с компактными мультимодальными моделями на ограниченном железе. Бенчмарк покажет, какая комбинация даст максимальное ускорение без потери качества.
- Исследователи в области эффективности LLM: для публикаций нужны воспроизводимые результаты. SPEED-Bench становится де-факто стандартом, как когда-то GLUE для NLP.
А кому не подойдет? Тем, кто ждет волшебной кнопки "сделать быстро". Инструмент требует глубокого понимания архитектуры LLM, умения работать с командной строкой и терпения. Если у вас нет времени разбираться, лучше посмотреть на готовые оптимизированные решения вроде SEDAC v5.
Мой прогноз на конец 2026 года: SPEED-Bench станет обязательным пунктом в CI/CD для всех, кто развертывает LLM. Потому что эпоха, когда считали только качество, окончательно закончилась. Теперь каждый токен на счету, и этот бенчмарк — лучший способ понять, за что вы платите.