Ouroboros: Decodificação Especulativa com Elaboração Aprimorada por Modelos de Grande Escala
Ouroboros: Speculative Decoding with Large Model Enhanced Drafting
February 21, 2024
Autores: Weilin Zhao, Yuxiang Huang, Xu Han, Chaojun Xiao, Zhiyuan Liu, Maosong Sun
cs.AI
Resumo
Métodos de decodificação do tipo "rascunhar-depois-verificar", como a decodificação especulativa, são amplamente adotados como métodos livres de treinamento para acelerar a inferência de modelos de linguagem de grande escala (LLMs, na sigla em inglês). Em vez de empregar um processo autoregressivo para decodificar tokens sequencialmente, a decodificação especulativa inicialmente cria rascunhos com um modelo pequeno e eficiente. Em seguida, os LLMs são necessários para realizar a verificação e correção de forma não autoregressiva, a fim de minimizar o tempo adicional. Gerar rascunhos mais longos pode levar a acelerações ainda mais significativas uma vez verificados, mas também incorre em custos substanciais de tentativa e erro caso falhe. Sofrendo com a alta probabilidade de falha na verificação, os métodos de decodificação existentes não podem rascunhar muito conteúdo para verificação de uma só vez, alcançando uma aceleração de inferência subótima. Neste artigo, apresentamos o Ouroboros, que constrói um pool de candidatos de frases a partir do processo de verificação dos LLMs para fornecer candidatos à geração de rascunhos do modelo pequeno. Assim, o Ouroboros pode melhorar ainda mais a eficiência e a eficácia dos rascunhos iniciais. Os resultados experimentais em tarefas típicas de geração de texto mostram que o Ouroboros alcança acelerações de até 1,9x e 2,8x em comparação com a decodificação antecipada e a decodificação especulativa, respectivamente. O código-fonte do Ouroboros está disponível em 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.