Исследователи нашли способ ускорить большие языковые модели в 8.5 раза? 🤓
Спекулятивное декодирование — довольно эффективный способ решить проблему узкого места одного токена в традиционном инференсе больших языковых моделей.
Сначала маленькая черновая модель генерирует несколько следующих токенов, затем большая модель проверяет их все сразу за один прямой проход.
Если токен на любой позиции оказывается неверным, сохраняется всё до него, после чего генерация продолжается с этой точки. Такой подход никогда не работает хуже обычного декодирования.
Но текущие черновые модели в спекулятивном декодировании всё ещё предсказывают токены по одному. Из-за этого сам этап черновой генерации становится узким местом, ограничивая ускорение в реальных сценариях примерно 2–3 разами.
DFlash — новая техника, которая заменяет авторегрессионную черновую модель на облегчённую блочную диффузионную модель, предсказывающую все токены параллельно за один проход.
Стоимость черновой генерации остаётся постоянной независимо от количества спекулятивно предсказываемых токенов.
Дополнительно черновая модель получает скрытые признаки из нескольких слоёв целевой модели, которые внедряются в каждый слой генерации черновика. Благодаря этому она делает заметно более точные предсказания по сравнению с моделью, работающей без такого контекста.
В демонстрации выше обычное декодирование работает со скоростью 48.5 токена в секунду. DFlash достигает 415 токенов в секунду на той же модели без какой-либо потери качества.
Техника уже интегрирована в vLLM, SGLang и Transformers, а модели для черновой генерации доступны на HuggingFace для Qwen3, Qwen3.5, Llama 3.1, Kimi-K2.5, gpt-oss и многих других моделей.
- репозиторий на GitHub
KV-кэширование — ещё одна обязательная техника для ускорения инференса больших языковых моделей. Вот об этом статья.
Post #3124
22.1K