La decodificación especulativa es una técnica de optimización en tiempo de inferencia para modelos de lenguaje grandes que acelera la generación de texto autorregresiva mediante el uso de un modelo borrador más pequeño y rápido que propone varios tokens candidatos por adelantado al modelo principal, que luego los verifica o rechaza en un solo paso paralelo. Dado que la verificación puede comprobar múltiples tokens a la vez, la técnica puede producir la misma distribución de salida que la decodificación estándar mientras requiere menos pasos secuenciales a través del modelo grande, reduciendo la latencia sin cambiar lo que el modelo habría generado.
El enfoque fue descrito en investigaciones de Google y DeepMind en 2022 y 2023 y adoptado en los principales sistemas de inferencia para 2024, convirtiéndose en una técnica estándar para reducir el costo y la latencia de servir modelos grandes en producción.
Cómo funciona
En la inferencia autorregresiva estándar, un modelo genera un token a la vez, y cada token requiere un pase completo hacia adelante antes de que se pueda producir el siguiente, un proceso inherentemente secuencial. La decodificación especulativa rompe este cuello de botella al hacer que un modelo borrador más pequeño, que es mucho más barato de ejecutar, genere una secuencia corta de tokens candidatos. El modelo objetivo grande luego evalúa todos estos candidatos en un solo pase hacia adelante por lotes, comprobando si habría asignado una probabilidad similar a cada token propuesto. Los tokens que pasan esta verificación se aceptan; el primer token que falla se corrige con la predicción del propio modelo objetivo, y cualquier token borrador restante después de ese punto se descarta. Dado que un pase completo hacia adelante sobre varios tokens cuesta poco más que un pase sobre un solo token, ya que el cálculo a menudo está dominado por el ancho de banda de memoria en lugar de la aritmética en GPUs modernas, los pasos de múltiples tokens aceptados producen una aceleración neta sustancial.
Variantes de diseño
Se han propuesto varias variantes de la idea central. Algunos sistemas usan un modelo pequeño destilado o de otro modo relacionado como modelo borrador; otros usan un subconjunto de las capas del propio modelo objetivo, o una búsqueda ligera basada en n-gramas del contexto reciente, evitando la necesidad de entrenar y mantener un modelo borrador separado. Medusa y enfoques similares adjuntan cabezas de predicción adicionales al modelo original para proponer múltiples tokens futuros sin un modelo separado en absoluto. La elección de la estrategia de borrador afecta tanto a la tasa de aceptación, es decir, con qué frecuencia los tokens borrador coinciden con lo que el modelo objetivo habría producido, como al costo adicional de ejecutar el paso de borrador.
Impacto
La decodificación especulativa es notable por ser casi una optimización gratuita, en el sentido de que, implementada correctamente, no cambia la distribución de salida de un modelo ni requiere reentrenamiento; solo cambia la rapidez con la que se calcula esa salida. Esto la distingue de técnicas de eficiencia con pérdida como la cuantización o la destilación de conocimiento, que pueden afectar la calidad de la salida. A mediados de la década de 2020, la decodificación especulativa estaba ampliamente implementada por los principales proveedores de modelos como parte de la infraestructura estándar de servicio, particularmente para aplicaciones sensibles a la latencia como interfaces de chat y asistentes de codificación como GitHub Copilot y Claude Code, y se combinaba frecuentemente con otras optimizaciones de servicio para reducir el costo de ejecutar modelos de frontera a escala.