Ouroboros: Спекулятивное декодирование с улучшенным созданием черновиков с использованием крупных моделей
Ouroboros: Speculative Decoding with Large Model Enhanced Drafting
February 21, 2024
Авторы: Weilin Zhao, Yuxiang Huang, Xu Han, Chaojun Xiao, Zhiyuan Liu, Maosong Sun
cs.AI
Аннотация
Методы декодирования с предварительным составлением и последующей проверкой, такие как спекулятивное декодирование, широко применяются как методы, не требующие обучения, для ускорения вывода больших языковых моделей (LLM). Вместо использования авторегрессивного процесса для последовательного декодирования токенов, спекулятивное декодирование сначала создает черновики с помощью эффективной небольшой модели. Затем LLM требуется провести проверку и исправление в неавторегрессивном режиме, чтобы минимизировать временные затраты. Генерация более длинных черновиков может привести к еще более значительному ускорению после проверки, но также влечет за собой существенные затраты на пробы и ошибки в случае неудачи. Из-за высокой вероятности неудачной проверки существующие методы декодирования не могут создавать слишком много контента для проверки за один раз, что приводит к субоптимальному ускорению вывода. В данной статье мы представляем Ouroboros, который создает пул кандидатов из фраз на основе процесса проверки LLM, чтобы предоставить кандидатов для генерации черновиков небольшой модели. Таким образом, Ouroboros может дополнительно повысить эффективность и результативность начальных черновиков. Результаты экспериментов на типичных задачах генерации текста показывают, что Ouroboros достигает ускорения до 1.9x и 2.8x по сравнению с опережающим декодированием и спекулятивным декодированием соответственно. Исходный код Ouroboros доступен по адресу https://github.com/thunlp/Ouroboros.
English
Drafting-then-verifying decoding methods such as speculative decoding are
widely adopted training-free methods to accelerate the inference of large
language models (LLMs). Instead of employing an autoregressive process to
decode tokens sequentially, speculative decoding initially creates drafts with
an efficient small model. Then LLMs are required to conduct verification and
correction in a non-autoregressive fashion to minimize time overhead.
Generating longer drafts can lead to even more significant speedups once
verified, but also incurs substantial trial and error costs if it fails.
Suffering from the high verification failure probability, existing decoding
methods cannot draft too much content for verification at one time, achieving
sub-optimal inference acceleration. In this paper, we introduce Ouroboros,
which constructs a phrase candidate pool from the verification process of LLMs
to provide candidates for draft generation of the small model. Thereby,
Ouroboros can further improve the efficiency and effectiveness of the initial
drafts. The experimental results on typical text generation tasks show that
Ouroboros achieves speedups of up to 1.9x and 2.8x compared to lookahead
decoding and speculative decoding, respectively. The source code of Ouroboros
is available at https://github.com/thunlp/Ouroboros.