Decodificação especulativa é uma técnica de otimização em tempo de inferência para modelos de linguagem de grande porte que acelera a geração de texto autorregressiva usando um modelo de rascunho menor e mais rápido para propor vários tokens candidatos à frente do modelo principal, que então os verifica ou rejeita em uma única passagem paralela. Como a verificação pode checar vários tokens de uma vez, a técnica pode produzir a mesma distribuição de saída que a decodificação padrão, exigindo menos passagens sequenciais pelo modelo grande, reduzindo a latência sem alterar o que o modelo teria gerado.
A abordagem foi descrita em pesquisas do Google e da DeepMind em 2022 e 2023 e adotada em grandes sistemas de inferência até 2024, tornando-se uma técnica padrão para reduzir o custo e a latência de servir modelos grandes em produção.
Como funciona
Na inferência autorregressiva padrão, um modelo gera um token por vez, e cada token exige uma passagem completa antes que o próximo possa ser produzido, um processo inerentemente sequencial. A decodificação especulativa quebra esse gargalo ao fazer um modelo de rascunho menor, que é muito mais barato de executar, gerar uma sequência curta de tokens candidatos. O modelo alvo grande então avalia todos esses candidatos em uma única passagem em lote, verificando se teria atribuído probabilidade semelhante a cada token proposto. Tokens que passam nessa verificação são aceitos; o primeiro token que falha é corrigido pela própria previsão do modelo alvo, e quaisquer tokens de rascunho restantes após esse ponto são descartados. Como uma passagem completa sobre vários tokens custa pouco mais do que uma passagem sobre um único token, já que o cálculo é frequentemente dominado pela largura de banda da memória em vez de aritmética em GPUs modernas, etapas de múltiplos tokens aceitas geram uma aceleração líquida substancial.
Variantes de design
Várias variantes da ideia central foram propostas. Alguns sistemas usam um modelo pequeno destilado ou de outra forma relacionado como modelo de rascunho; outros usam um subconjunto das próprias camadas do modelo alvo, ou uma busca leve baseada em n-gramas do contexto recente, evitando a necessidade de treinar e manter um modelo de rascunho separado. Medusa e abordagens semelhantes anexam cabeças de previsão extras ao próprio modelo original para propor múltiplos tokens futuros sem um modelo separado. A escolha da estratégia de rascunho afeta tanto a taxa de aceitação, ou seja, com que frequência os tokens de rascunho correspondem ao que o modelo alvo teria produzido, quanto o custo adicional de executar a etapa de rascunho.
Impacto
A decodificação especulativa é notável por ser quase uma otimização gratuita, no sentido de que, implementada corretamente, não altera a distribuição de saída de um modelo nem exige retreinamento; ela apenas muda a rapidez com que essa saída é calculada. Isso a distingue de técnicas de eficiência com perdas, como quantização ou destilação de conhecimento, que podem afetar a qualidade da saída. Em meados da década de 2020, a decodificação especulativa foi amplamente implantada por grandes provedores de modelos como parte da infraestrutura padrão de serviço, particularmente para aplicações sensíveis à latência, como interfaces de chat e assistentes de codificação como GitHub Copilot e Claude Code, e foi frequentemente combinada com outras otimizações de serviço para reduzir o custo de executar modelos de fronteira em escala.