Skip to main content
PromptQuorumPromptQuorum

O que é decodificação especulativa?

Resposta rápida

A decodificação especulativa combina um modelo rascunho pequeno com um modelo alvo maior. O modelo rascunho propõe vários tokens à frente, e o modelo alvo verifica todos eles em uma única passagem paralela em vez de uma passagem sequencial por token, o que acelera a geração quando as propostas do rascunho são aceitas.

  • Um modelo rascunho pequeno propõe vários tokens antes do modelo principal.
  • O modelo alvo maior verifica os tokens propostos em uma única passagem paralela.
  • A qualidade da saída corresponde exatamente à do modelo alvo — a decodificação especulativa não muda o que é gerado, apenas a velocidade.

Atualizado: 14 de julho de 2026

Technique & Concept ExplainersIntermediário

Pontos principais

  • Um modelo rascunho pequeno propõe tokens à frente; o modelo alvo maior os verifica em uma única passagem paralela
  • A qualidade da saída é idêntica à de rodar o modelo alvo sozinho — só a velocidade muda
  • O ganho de velocidade é maior em texto previsível (código, estrutura repetitiva), onde o modelo rascunho acerta com mais frequência
  • O modelo rascunho precisa compartilhar o mesmo tokenizador e vocabulário do modelo alvo

Como funciona

Um modelo rascunho, muito menor e mais rápido que o modelo alvo, gera uma sequência curta de tokens candidatos. O modelo alvo então avalia toda essa sequência em uma única passagem, aceitando os tokens que coincidem com o que ele teria gerado sozinho e descartando o restante, junto com tudo o que foi gerado após a primeira divergência.

Como verificar vários tokens em paralelo custa aproximadamente o mesmo que gerar um único token sequencialmente no modelo alvo, as propostas aceitas se traduzem diretamente em ganho de velocidade sem alterar a saída final. O modelo alvo sempre tem a palavra final — um chute errado do modelo rascunho custa apenas o (curto) tempo gasto para gerá-lo, nunca é aceito na saída.

Quando a decodificação especulativa ajuda mais

Use decodificação especulativa ao gerar código, dados estruturados ou outro texto previsível, onde os chutes do modelo rascunho são aceitos com alta frequência e o ganho de velocidade é maior. Use-a quando você já estiver limitado pela velocidade de geração, e não pelo processamento do prompt, já que a decodificação especulativa acelera especificamente a etapa de geração token a token.

Evite a decodificação especulativa ao gerar texto muito criativo e imprevisível (ficção aberta, brainstorming), onde os chutes do modelo rascunho são aceitos com menos frequência e o ganho de velocidade diminui — a sobrecarga extra do modelo rascunho pode, no pior caso, anular o ganho. Evite também se você não tiver um modelo menor compatível da mesma família disponível para usar como modelo rascunho.

Configurando um modelo rascunho

O modelo rascunho precisa compartilhar o mesmo tokenizador e vocabulário do modelo alvo — combinar modelos de famílias diferentes (ou até tamanhos diferentes de um modelo cujo vocabulário mudou entre versões) não vai funcionar. A configuração mais comum usa um modelo menor da mesma família do alvo (por exemplo, um modelo de classe 1B como rascunho para um modelo de classe 13B da mesma família).

Várias ferramentas de inferência local (incluindo o llama.cpp) suportam decodificação especulativa nativamente — a configuração normalmente exige apenas especificar o modelo alvo e o modelo rascunho na inicialização, sem mudanças em como você escreve os prompts.

Perguntas frequentes

A decodificação especulativa reduz a qualidade da saída?
Não — o modelo alvo ainda determina cada token aceito. A decodificação especulativa muda apenas a velocidade com que os tokens são produzidos, não quais tokens são produzidos.
A decodificação especulativa exige VRAM extra?
Sim — você precisa carregar o modelo rascunho e o modelo alvo simultaneamente, então o uso total de VRAM é maior do que rodar só o modelo alvo. O modelo rascunho é escolhido pequeno de propósito para manter essa sobrecarga administrável.
Posso usar qualquer modelo pequeno como modelo rascunho?
Não — o modelo rascunho precisa compartilhar o tokenizador e o vocabulário do modelo alvo para que a verificação em nível de token funcione. Na prática, isso geralmente significa usar um modelo menor da mesma família do modelo alvo.
Quanto mais rápida a decodificação especulativa é na prática?
O ganho depende muito da frequência com que os chutes do modelo rascunho são aceitos, o que varia conforme o tipo de conteúdo — texto previsível (código, saída estruturada) tem um ganho maior do que texto criativo aberto. Não existe um multiplicador fixo único; teste com sua própria carga de trabalho para ver o ganho real.