ChatPaper.aiChatPaper

Kangaroo: Decodifica Autospeculativa Senza Perdite tramite Doppio Early Exiting

Kangaroo: Lossless Self-Speculative Decoding via Double Early Exiting

April 29, 2024
Autori: Fangcheng Liu, Yehui Tang, Zhenhua Liu, Yunsheng Ni, Kai Han, Yunhe Wang
cs.AI

Abstract

La decodifica speculativa ha dimostrato la sua efficacia nell'accelerare l'inferenza dei modelli linguistici di grandi dimensioni mantenendo una distribuzione di campionamento coerente. Tuttavia, l'approccio convenzionale di addestrare un modello di bozza separato per ottenere un tasso di accettazione dei token soddisfacente può risultare costoso. Traendo ispirazione dall'early exiting, proponiamo un nuovo framework di decodifica auto-speculativa chiamato Kangaroo, che utilizza una sottorete fissa e poco profonda come modello di bozza auto-generato, con i rimanenti strati che fungono da modello target più grande. Addestriamo un modulo adattatore leggero ed efficiente sulla sottorete per colmare il divario tra la capacità rappresentativa della sottorete e quella del modello completo. È importante notare che la latenza di inferenza del modello di bozza auto-generato potrebbe non essere più trascurabile rispetto al modello grande, rendendo necessarie strategie per aumentare il tasso di accettazione dei token riducendo al minimo i passaggi di bozza del modello piccolo. Per affrontare questa sfida, introduciamo un ulteriore meccanismo di early exit per generare i token di bozza. Nello specifico, interrompiamo la previsione successiva del modello piccolo durante la fase di bozza una volta che il livello di confidenza per il token corrente scende al di sotto di una certa soglia. Esperimenti estensivi su Spec-Bench dimostrano l'efficacia di Kangaroo. Sotto verifica a sequenza singola, Kangaroo raggiunge accelerazioni fino a 1,68 volte su Spec-Bench, superando Medusa-1 con l'88,7% in meno di parametri aggiuntivi (67M rispetto a 591M). Il codice di Kangaroo è disponibile all'indirizzo https://github.com/Equationliu/Kangaroo.
English
Speculative decoding has demonstrated its effectiveness in accelerating the inference of large language models while maintaining a consistent sampling distribution. However, the conventional approach of training a separate draft model to achieve a satisfactory token acceptance rate can be costly. Drawing inspiration from early exiting, we propose a novel self-speculative decoding framework Kangaroo, which uses a fixed shallow sub-network as a self-draft model, with the remaining layers serving as the larger target model. We train a lightweight and efficient adapter module on top of the sub-network to bridge the gap between the sub-network and the full model's representation ability. It is noteworthy that the inference latency of the self-draft model may no longer be negligible compared to the large model, necessitating strategies to increase the token acceptance rate while minimizing the drafting steps of the small model. To address this challenge, we introduce an additional early exiting mechanism for generating draft tokens. Specifically, we halt the small model's subsequent prediction during the drafting phase once the confidence level for the current token falls below a certain threshold. Extensive experiments on the Spec-Bench demonstrate the effectiveness of Kangaroo. Under single-sequence verification, Kangaroo achieves speedups up to 1.68times on Spec-Bench, outperforming Medusa-1 with 88.7\% fewer additional parameters (67M compared to 591M). The code for Kangaroo is available at https://github.com/Equationliu/Kangaroo.
PDF302December 15, 2024