Clover: Регрессивное легкое спекулятивное декодирование с последовательным знанием
Clover: Regressive Lightweight Speculative Decoding with Sequential Knowledge
May 1, 2024
Авторы: Bin Xiao, Chunan Shi, Xiaonan Nie, Fan Yang, Xiangwei Deng, Lei Su, Weipeng Chen, Bin Cui
cs.AI
Аннотация
Большие языковые модели (LLM) страдают от низкой эффективности из-за несоответствия между требованиями авторегрессивного декодирования и конструкцией большинства современных графических процессоров. Конкретно, для вычислений на графическом процессоре необходимо загрузить от миллиардов до триллионов параметров через ограниченную пропускную способность памяти для вычислений, хотя фактически вычисляется лишь небольшая партия токенов. В результате графический процессор тратит большую часть времени на передачу данных в память вместо вычислений. Недавно параллельное декодирование, вид спекулятивных алгоритмов декодирования, становится все более популярным и продемонстрировало впечатляющее улучшение эффективности в генерации. Оно вводит дополнительные головы декодирования в большие модели, позволяя им предсказывать несколько последующих токенов одновременно и проверять эти кандидаты на продолжение в одном шаге декодирования. Однако этот подход отклоняется от цели обучения предсказанию следующего токена, используемой во время предварительного обучения, что приводит к низкой точности предсказания кандидатов. В данной статье мы предлагаем новый спекулятивный алгоритм декодирования, Clover, который интегрирует последовательные знания в процесс параллельного декодирования. Это улучшение повышает точность спекуляторов и, следовательно, увеличивает общую эффективность. Clover передает последовательные знания от предварительно спекулированных токенов через Регрессивное Соединение, затем использует Декодер Внимания для интеграции этих спекулированных токенов. Кроме того, Clover включает Дополняющий Блок, который модифицирует скрытые состояния для лучшего соответствия цели спекулятивной генерации, а не предсказанию следующего токена. Результаты экспериментов показывают, что Clover превосходит базовую модель на 91% на Baichuan-Small и на 146% на Baichuan-Large соответственно, и превосходит производительность ранее лучшего метода, Medusa, на 37% на Baichuan-Small и на 57% на Baichuan-Large соответственно.
English
Large language models (LLMs) suffer from low efficiency as the mismatch
between the requirement of auto-regressive decoding and the design of most
contemporary GPUs. Specifically, billions to trillions of parameters must be
loaded to the GPU cache through its limited memory bandwidth for computation,
but only a small batch of tokens is actually computed. Consequently, the GPU
spends most of its time on memory transfer instead of computation. Recently,
parallel decoding, a type of speculative decoding algorithms, is becoming more
popular and has demonstrated impressive efficiency improvement in generation.
It introduces extra decoding heads to large models, enabling them to predict
multiple subsequent tokens simultaneously and verify these candidate
continuations in a single decoding step. However, this approach deviates from
the training objective of next token prediction used during pre-training,
resulting in a low hit rate for candidate tokens. In this paper, we propose a
new speculative decoding algorithm, Clover, which integrates sequential
knowledge into the parallel decoding process. This enhancement improves the hit
rate of speculators and thus boosts the overall efficiency. Clover transmits
the sequential knowledge from pre-speculated tokens via the Regressive
Connection, then employs an Attention Decoder to integrate these speculated
tokens. Additionally, Clover incorporates an Augmenting Block that modifies the
hidden states to better align with the purpose of speculative generation rather
than next token prediction. The experiment results demonstrate that Clover
outperforms the baseline by up to 91% on Baichuan-Small and 146% on
Baichuan-Large, respectively, and exceeds the performance of the previously
top-performing method, Medusa, by up to 37% on Baichuan-Small and 57% on
Baichuan-Large, respectively.