Mitchell Stern et al. 2018 introduziu o conceito protótipo de decodificação especulativa. Este método foi posteriormente desenvolvido e refinado por várias abordagens, incluindo Lookahead Decoding, REST, Medusa e EAGLE, acelerando significativamente o processo de inferência de grandes modelos de linguagem (LLMs).
Alguém pode se perguntar: a decodificação especulativa em LLMs prejudicará a precisão do modelo original? A resposta simples é não.
O algoritmo ortodoxo de decodificação especulativa é sem perdas, e vamos provar isso através de análise matemática e experimentos.
Prova Matemática
A fórmula de amostragem especulativa pode ser definida da seguinte forma:

Enquanto:


Abaixo está uma prova da natureza sem perdas desta fórmula do artigo da DeepMind:

Se você acha entediante ler equações matemáticas, a seguir ilustrarei a prova com alguns diagramas intuitivos.




Experimentos
Embora tenhamos provado matematicamente que a decodificação especulativa é sem perdas em princípio, erros de implementação ainda podem ocorrer. Portanto, a validação experimental também é necessária. Realizamos experimentos em dois casos: o método determinístico de decodificação gulosa e o método aleatório de amostragem multinomial.
Decodificação Gulosa
Pedimos ao LLM para gerar uma história curta duas vezes, primeiro usando inferência vanilla e depois usando decodificação especulativa. Utilizamos a implementação de decodificação especulativa da Medusa. O peso do modelo é medusa-1.0-vicuna-7b-v1.5 e seu modelo base vicuna-7b-v1.5. Após a execução dos testes, obtivemos dois resultados idênticos. O texto gerado é o seguinte:

Amostragem Multinomial
No caso da amostragem aleatória, a situação é mais complexa. A maioria dos métodos para reproduzir resultados em programas aleatórios usa uma semente aleatória fixa para aproveitar a determinismo dos geradores pseudo-aleatórios. No entanto, essa abordagem não se encaixa no nosso cenário. Nosso experimento depende da lei dos grandes números: com amostras suficientes, o erro entre as distribuições prática e teórica convergirá para zero.
Realizamos 1.000.000 iterações de amostragem para o primeiro token gerado para cada um dos quatro prompts. Os pesos dos modelos usados foram Llama3 8B Instruct e EAGLE-LLaMA3-Instruct-8B. Os resultados estatísticos são mostrados abaixo:


- Azul: softmax dos logits do modelo base
- Verde: softmax dos logits do modelo rascunho
- Laranja: frequência de tokens da amostragem especulativa (1.000.000 vezes)
O desvio padrão da distribuição de amostragem do modelo base é 9,694e-5. Isso está de acordo com as expectativas.
Conclusão
A decodificação especulativa não compromete a precisão da inferência de grandes modelos de linguagem. Através de rigorosa análise matemática e experimentos práticos, demonstramos a natureza sem perdas dos algoritmos padrão de decodificação especulativa. A prova matemática ilustra como a fórmula de amostragem especulativa preserva a distribuição original do modelo base. Nossos experimentos, incluindo tanto a decodificação gulosa determinística quanto a amostragem multinomial probabilística, validam ainda mais essas descobertas teóricas. O experimento de decodificação gulosa produziu resultados idênticos com e sem decodificação especulativa, enquanto o experimento de amostragem multinomial mostrou diferenças insignificantes na distribuição de tokens ao longo de um grande número de amostras.
Esses resultados afirmam coletivamente que a decodificação especulativa pode acelerar significativamente a inferência de LLM sem sacrificar a precisão, abrindo caminho para sistemas de IA mais eficientes e acessíveis no futuro.
Você pode visitar Novita AI para mais detalhes!
