Clover: Decodificación Especulativa Ligera Regresiva con Conocimiento Secuencial
Clover: Regressive Lightweight Speculative Decoding with Sequential Knowledge
May 1, 2024
Autores: Bin Xiao, Chunan Shi, Xiaonan Nie, Fan Yang, Xiangwei Deng, Lei Su, Weipeng Chen, Bin Cui
cs.AI
Resumen
Los modelos de lenguaje de gran escala (LLMs) presentan una baja eficiencia debido a la discrepancia entre los requisitos de decodificación auto-regresiva y el diseño de la mayoría de las GPU contemporáneas. Específicamente, miles de millones a billones de parámetros deben cargarse en la caché de la GPU a través de su limitado ancho de banda de memoria para su cálculo, pero solo se computa un pequeño lote de tokens. Como consecuencia, la GPU dedica la mayor parte de su tiempo a la transferencia de memoria en lugar de al cálculo. Recientemente, la decodificación paralela, un tipo de algoritmo de decodificación especulativa, está ganando popularidad y ha demostrado una mejora impresionante en la eficiencia de la generación. Este enfoque introduce cabezales de decodificación adicionales en los modelos grandes, permitiéndoles predecir múltiples tokens subsiguientes simultáneamente y verificar estas continuaciones candidatas en un solo paso de decodificación. Sin embargo, este método se desvía del objetivo de entrenamiento de predicción del siguiente token utilizado durante el pre-entrenamiento, lo que resulta en una baja tasa de acierto para los tokens candidatos. En este artículo, proponemos un nuevo algoritmo de decodificación especulativa, Clover, que integra conocimiento secuencial en el proceso de decodificación paralela. Esta mejora aumenta la tasa de acierto de los especuladores y, por lo tanto, incrementa la eficiencia general. Clover transmite el conocimiento secuencial de los tokens pre-especulados a través de la Conexión Regresiva, luego emplea un Decodificador de Atención para integrar estos tokens especulados. Además, Clover incorpora un Bloque de Aumento que modifica los estados ocultos para alinearse mejor con el propósito de la generación especulativa en lugar de la predicción del siguiente token. Los resultados experimentales demuestran que Clover supera la línea base hasta en un 91% en Baichuan-Small y un 146% en Baichuan-Large, respectivamente, y supera el rendimiento del método anteriormente más destacado, Medusa, hasta en un 37% en Baichuan-Small y un 57% en Baichuan-Large, respectivamente.
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.