В 2023–2024 годах ускорение вывода LLM стало отдельной инженерной темой: стоимость ответа всё сильнее определялась не только качеством модели, но и числом дорогих autoregressive-проходов. В этом историческом окне появились три важные линии работ: базовый speculative decoding из ICML 2023, Medusa из ICML 2024 и EAGLE/EAGLE-2 из 2024 года. Все они пытаются сделать одну вещь: получить сразу несколько будущих токенов за один дорогой проход большой модели, но делают это по-разному.
Ниже — обзор именно этого слоя 2023–2024, без подмены его более поздними вариантами. Фокус — на механике методов, на том, когда ускорение остаётся lossless, и на том, какие компромиссы эти работы реально предлагают практику.
Коротко
- Классический speculative decoding ускоряет exact декодирование через схему draft-and-verify: малая модель предлагает токены, большая проверяет их за один проход и сохраняет то же распределение вывода.
- Medusa убирает необходимость в отдельной малой модели: вместо неё на целевую LLM добавляют несколько decoding heads и проверяют кандидатов через tree attention.
- EAGLE делает drafter ближе к самой LLM: он предсказывает не токены напрямую, а внутренние признаки второй сверху скрытой слойности, что повышает качество draft.
- EAGLE-2 добавляет динамическое дерево draft-кандидатов и в материалах 2024 года показывает самый сильный reported speedup среди рассматриваемых здесь lossless-подходов.
Контекст
Проблема, с которой борются все эти методы, проста: обычное autoregressive-декодирование производит один новый токен за один полный проход модели. В работе Fast Inference from Transformers via Speculative Decoding авторы прямо формулируют это как K serial runs для генерации K токенов. В Medusa та же проблема описана системно: вывод LLM часто упирается в пропускную способность памяти, потому что на каждом шаге приходится снова поднимать веса модели.
Отсюда и общая идея: если большая модель всё равно умеет быстро проверять несколько гипотез за один проход, нужно отделить дешёвое выдвижение гипотез от дорогой верификации. Ранние exact-варианты этого подхода оформили Leviathan, Kalman и Matias, а также Chen et al. в работе про speculative sampling.
Важно и другое: в этих работах слово ускорение не всегда означает одно и то же. Где-то речь о latency на одном запросе, где-то о throughput, где-то о greedy decoding, а где-то о sampling. Поэтому любые цифры ниже нужно читать вместе с режимом декодирования, моделью, температурой и бенчмарком.
Метод
1. Классический speculative decoding
Базовая схема устроена так. Есть большая целевая модель p и более дешёвая draft-модель q. Draft-модель быстро предлагает цепочку из нескольких следующих токенов, после чего большая модель одним проходом проверяет всю цепочку. Если часть токенов согласуется с распределением большой модели, они принимаются сразу; если нет, срабатывает rejection/acceptance-механика, сохраняющая корректное распределение вывода. Именно эта часть делает метод lossless в смысле распределения.
С инженерной точки зрения сильная сторона подхода — отсутствие изменений в backbone целевой модели. Слабая — нужно иметь хорошо согласованную малую модель, а это и отдельные веса, и отдельное обслуживание, и не всегда удачный компромисс между скоростью drafter и качеством его предложений.
2. Medusa
Medusa предлагает убрать отдельную малую модель вовсе. Вместо неё поверх целевой LLM добавляются несколько лёгких decoding heads, которые предсказывают не только следующий токен, но и несколько токенов вперёд. Затем эти кандидаты сворачиваются в дерево, а большая модель проверяет их параллельно через tree attention.
У Medusa в материалах 2024 года есть два режима. Medusa-1 обучает только новые heads поверх замороженного backbone и позиционируется как lossless-ускорение. Medusa-2 обучает heads вместе с backbone по специальному recipe, чтобы повысить качество предсказаний и скорость, но это уже более тяжёлый training path. Отдельный нюанс — typical acceptance: он ускоряет non-greedy generation, но не равен строгой exact-схеме классического speculative decoding.
3. EAGLE
EAGLE меняет сам объект draft-предсказания. Вместо прямого угадывания будущих токенов drafter работает на уровне признаков второй сверху скрытой прослойки целевой модели. Авторы исходят из предположения, что автрорегрессия по таким признакам проще, чем по токенам, а значит можно получить более точный draft при меньшем overhead.
Ключевая инженерная деталь EAGLE — в input drafter добавляется сдвинутая на шаг вперёд токенная последовательность, чтобы снять неоднозначность feature-level предсказания при sampling. В результате EAGLE остаётся в семействе speculative methods, но двигает drafter ближе к самой целевой модели: это уже не отдельная маленькая LM, а лёгкий модуль, использующий внутренние представления backbone.
4. EAGLE-2
EAGLE-2 не меняет идею feature-level drafting, а меняет форму дерева кандидатов. Базовый EAGLE использует статическую структуру draft-tree; EAGLE-2 делает её динамической и контекстно-зависимой. Для этого он использует confidence scores drafter как приближение вероятности того, что конкретный узел дерева будет принят целевой моделью.
Практический смысл этой модификации простой: не все ветви дерева одинаково полезны. Если расширять в первую очередь ветви с более высокой вероятностью принятия, можно выиграть в числе принятых токенов на один дорогой проход, не меняя lossless-характер схемы.
Результаты
Таблица ниже — не единый leaderboard, а аккуратное сопоставление репрезентативных reported-результатов из исходных материалов 2023–2024. Здесь разные модели, разные режимы декодирования и разные экспериментальные установки.
| Подход | Откуда берётся draft | Нужна ли отдельная малая модель | Форма проверки | Сохранение распределения | Репрезентативный reported-результат |
|---|---|---|---|---|---|
| Speculative decoding | Внешняя малая LM | Да | Линейная цепочка | Да | 2X–3X ускорение на T5-XXL относительно standard T5X implementation по PMLR-версии; тот же диапазон повторён в официальном посте Google Research. |
| Medusa-1 | Дополнительные heads на той же LLM | Нет | Tree attention | Да, в lossless-схеме Medusa-1 | Свыше 2.2× без ухудшения generation quality по PMLR-публикации и arXiv-версии. |
| EAGLE | Feature-level drafter по признакам второй сверху скрытой прослойки | Нет отдельной малой LM | Дерево кандидатов | Да | 2.7x–3.5x на LLaMA2-Chat 70B по paper PDF; тот же диапазон повторён на официальной project page. |
| EAGLE-2 | Тот же feature-level drafter, но с динамическим draft-tree | Нет новой отдельной модели сверх EAGLE-drafter | Контекстно-зависимое дерево | Да | 3.05x–4.26x и на 20%–40% быстрее EAGLE-1 по arXiv-версии и EMNLP 2024 paper. |
Ещё одна полезная деталь: внутри Medusa есть расхождение между материалами. В ICML/PMLR-версии для Medusa-2 фигурирует диапазон 2.3–2.8×, а в январском обновлении GitHub-репозитория говорится о 2.2–3.6×. Это хороший пример того, почему такие статьи лучше читать вместе с конкретной версией recipe и набора моделей, а не как «вечную» цифру метода.
Интерпретация
Наш комментарий
Если убрать детали, различие между тремя линиями работ сводится к вопросу: где именно живёт drafter. В классическом speculative decoding он внешен по отношению к целевой модели. В Medusa drafter превращается в набор голов внутри той же модели. В EAGLE drafter ещё ближе к backbone: он работает по внутренним признакам самой LLM.
Из этого следует и инженерная логика. Чем ближе drafter к целевой модели, тем проще согласовать его с её поведением, но тем выше зависимость от внутренней архитектуры и training recipe. Внешняя малая модель удобна своей модульностью, зато её нужно отдельно подбирать и обслуживать. Встроенные heads проще в обслуживании, но требуют дообучения. Feature-level drafter потенциально повышает acceptance rate, но уже сильнее завязан на внутренние представления модели.
Вторая ось — форма верификации. Исторически работы уходят от линейной цепочки к дереву кандидатов. Это важно, потому что выигрыш приходит не только от «умного угадывания», но и от того, насколько эффективно большая модель умеет параллельно проверить несколько продолжений за один дорогой проход.
Ограничения
Во-первых, paper numbers плохо сравниваются лоб в лоб. У базового speculative decoding — T5-XXL и своя T5X-среда; у Medusa и EAGLE — в основном Vicuna/LLaMA2-Chat и MT-Bench; у EAGLE-2 — ещё и несколько задач с temperature=0 и temperature=1. Поэтому таблицу выше лучше читать как сравнение идей, а не как общий рейтинг.
Во-вторых, lossless есть не у любого режима. В классическом speculative decoding и в EAGLE/EAGLE-2 авторы явно настаивают на сохранении распределения целевой модели. Но в EAGLE-2 сами авторы отдельно отмечают, что Medusa в non-greedy settings расслабляет acceptance conditions и потому не гарантирует lossless-ускорение в этом режиме. Для production-сценариев это не мелочь, а развилка между exact serving optimization и эвристикой.
В-третьих, часть reported-выигрыша завязана на low-batch setup. В Medusa авторы прямо пишут, что их эксперименты в первую очередь сфокусированы на batch size 1, а репозиторий называет именно такой сценарий основным для локального хостинга. Это не делает результаты неверными, но ограничивает переносимость цифр на высокобатчевый серверный inference.
В-четвёртых, у Medusa есть расхождение между версиями материалов. Для практики это значит, что смотреть нужно не только на название метода, но и на конкретную конфигурацию обучения, версию репозитория и тип модели. В этом обзоре по этой причине безопаснее опираться на консервативное утверждение про Medusa-1 «свыше 2.2×», чем на более широкие диапазоны из последующих обновлений.
Вывод
Исторически картина 2023–2024 выглядит так. Классический speculative decoding задал exact draft-and-verify схему. Medusa показала, что drafter можно встроить в саму LLM через дополнительные heads и tree attention. EAGLE сдвинула drafter на уровень внутренних признаков модели, а EAGLE-2 сделала ещё один шаг — к динамическому дереву кандидатов.
Для инженера главный вывод не в том, что один бренд метода «лучше» другого, а в том, какие компромиссы он выбирает: отдельная малая модель или встроенные heads, строгая lossless-гарантия или relaxed acceptance, статическое или динамическое дерево проверки. Именно эти различия и определяют, что из семейства speculative methods имеет смысл пробовать в вашем inference-стеке.
Источники
- Fast Inference from Transformers via Speculative Decoding.
- Looking back at speculative decoding.
- Accelerating Large Language Model Decoding with Speculative Sampling.
- Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads.
- Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads (arXiv).
- Medusa project page.
- FasterDecoding/Medusa GitHub repository.
- EAGLE: Speculative Sampling Requires Rethinking Feature Uncertainty.
- EAGLE project page.
- EAGLE-2: Faster Inference of Language Models with Dynamic Draft Trees.
- EAGLE-2: Faster Inference of Language Models with Dynamic Draft Trees (EMNLP 2024).
FAQ
Medusa и EAGLE — это speculative decoding или что-то другое?
В широком смысле — это варианты того же draft-and-verify семейства. Разница в том, откуда берётся draft: из отдельной малой модели, из добавленных heads или из feature-level drafter внутри целевой LLM.
Всегда ли ускорение сохраняет точно тот же ответ?
Нет. Сохранение распределения гарантируют lossless-схемы вроде базового speculative decoding и EAGLE/EAGLE-2. У Medusa это зависит от режима: Medusa-1 описана как lossless, а relaxed non-greedy acceptance не даёт той же строгой гарантии.
Почему tree-based методы вообще выигрывают?
Потому что большая модель дорога не столько на одну проверку токена, сколько на сам проход. Если за один проход можно проверить не одну цепочку, а несколько ветвей кандидатов, число дорогих шагов падает.
