Clover: Decodifica Speculativa Leggera Regressiva con Conoscenza Sequenziale
Clover: Regressive Lightweight Speculative Decoding with Sequential Knowledge
May 1, 2024
Autori: Bin Xiao, Chunan Shi, Xiaonan Nie, Fan Yang, Xiangwei Deng, Lei Su, Weipeng Chen, Bin Cui
cs.AI
Abstract
I grandi modelli linguistici (LLM) soffrono di bassa efficienza a causa dello scostamento tra i requisiti della decodifica auto-regressiva e il design della maggior parte delle GPU contemporanee. Nello specifico, miliardi o trilioni di parametri devono essere caricati nella cache della GPU attraverso la sua limitata larghezza di banda di memoria per il calcolo, ma solo un piccolo batch di token viene effettivamente elaborato. Di conseguenza, la GPU trascorre la maggior parte del tempo nel trasferimento di memoria piuttosto che nel calcolo. Recentemente, la decodifica parallela, un tipo di algoritmo di decodifica speculativa, sta diventando sempre più popolare e ha dimostrato un notevole miglioramento dell'efficienza nella generazione. Introduce ulteriori testine di decodifica ai grandi modelli, consentendo loro di prevedere più token successivi simultaneamente e di verificare queste continuazioni candidate in un singolo passaggio di decodifica. Tuttavia, questo approccio si discosta dall'obiettivo di addestramento della previsione del token successivo utilizzato durante il pre-training, risultando in un basso tasso di successo per i token candidati. In questo articolo, proponiamo un nuovo algoritmo di decodifica speculativa, Clover, che integra la conoscenza sequenziale nel processo di decodifica parallela. Questo miglioramento aumenta il tasso di successo degli speculatori e quindi incrementa l'efficienza complessiva. Clover trasmette la conoscenza sequenziale dai token pre-speculati attraverso la Connessione Regressiva, quindi utilizza un Decodificatore di Attenzione per integrare questi token speculati. Inoltre, Clover incorpora un Blocco di Aumento che modifica gli stati nascosti per allinearli meglio allo scopo della generazione speculativa piuttosto che alla previsione del token successivo. I risultati degli esperimenti dimostrano che Clover supera la baseline fino al 91% su Baichuan-Small e al 146% su Baichuan-Large, rispettivamente, e supera le prestazioni del metodo precedentemente più performante, Medusa, fino al 37% su Baichuan-Small e al 57% su Baichuan-Large, rispettivamente.
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.