La decodificación especulativa reduce la latencia de inferencia de los LLM hasta 3x sin pérdida de precisión

Los modelos de lenguaje grandes generan texto un token a la vez, y cada token requiere un pase completo hacia adelante a través de miles de millones de parámetros. Esta dependencia serial es la razón principal por la que la inferencia resulta costosa. La decodificación especulativa rompe ese cuello de botella, no modificando el modelo, sino cambiando la estrategia de generación. La técnica puede reducir la latencia real entre 2x y 3x en tareas como la finalización de código y el chat, sin degradación en la calidad del resultado.
El mecanismo central
La decodificación especulativa utiliza dos modelos: un modelo pequeño "borrador" y el modelo grande "objetivo". El modelo borrador genera rápidamente varios tokens candidatos. El modelo objetivo evalúa entonces todos esos candidatos en un único pase hacia adelante en paralelo, aceptando los tokens que él mismo habría predicho y rechazando el resto. Cuando un token es rechazado, la generación recurre a la distribución del modelo objetivo para esa posición, y el proceso se reinicia.
Dado que el pase hacia adelante del modelo objetivo sobre un lote de tokens candidatos es solo marginalmente más costoso que un pase de un solo token (gracias al paralelismo de la GPU), el resultado neto es más tokens generados por unidad de cómputo. La matemática funciona cuando el modelo borrador tiene una concordancia razonable con el objetivo, típicamente tasas de aceptación de tokens del 70–85% en tareas factuales y estructuradas como la generación de código.
Por qué la tasa de aceptación lo es todo
La aceleración de la decodificación especulativa escala directamente con el número promedio de tokens borrador aceptados antes de un rechazo. En benchmarks comunes de programación como HumanEval, las tasas de aceptación con un modelo borrador bien emparejado rondan el 75–80%, lo que produce una reducción de latencia de 2,5–3x. En tareas creativas abiertas, las tasas de aceptación caen al 55–65%, y la aceleración se reduce a 1,5–2x.
Esto significa que la elección del modelo borrador importa enormemente. La investigación de DeepMind en 2023 (el artículo original sobre decodificación especulativa de Leviathan et al.) demostró que incluso una diferencia de tamaño de tres órdenes de magnitud —un borrador de 7B frente a un objetivo de 70B— logra una aceleración significativa porque las predicciones del modelo más pequeño están sorprendentemente alineadas con las del modelo más grande en tareas estructuradas.
Decodificación especulativa propia: sin necesidad de un modelo borrador
Una barrera práctica para la decodificación especulativa en producción es la sobrecarga de ejecutar y mantener un modelo borrador separado. La decodificación especulativa propia, introducida en 2024 por investigadores de CMU y Microsoft, elimina este requisito. El enfoque utiliza la salida temprana de capas intermedias del propio modelo objetivo como mecanismo borrador. Concretamente, enruta los tokens a través de un subconjunto de las capas del modelo para producir un borrador rápido y luego valida con el modelo completo.
El método EAGLE-2 (de investigadores de la Universidad de Pekín, también en 2024) adopta un enfoque diferente: entrena una "cabeza borrador" ligera de una sola capa que se acopla al modelo objetivo y predice tokens futuros basándose en estados ocultos internos. EAGLE-2 alcanzó tasas de aceptación superiores al 80% en MT-Bench y superó a los métodos especulativos anteriores entre un 20% y un 40% en rendimiento en GPUs A100. La cabeza borrador añade menos del 1% al recuento de parámetros del modelo.
Despliegues en producción
La decodificación especulativa ya no es solo una curiosidad de investigación. La infraestructura de servicio en producción de Google para Gemini la utiliza. Anthropic ha descrito el uso de enfoques especulativos en el servicio de Claude. El framework de inferencia vLLM (la biblioteca de servicio de LLM de código abierto más utilizada, con más de 30.000 estrellas en GitHub) incorporó soporte para decodificación especulativa en la versión 0.3 a principios de 2024.
Para las organizaciones que ejecutan sus propias pilas de inferencia, las implicaciones prácticas son directas: el mismo hardware que sirve un modelo de 70B a 20 tokens por segundo puede servir entre 50 y 60 tokens por segundo con una decodificación especulativa correctamente ajustada. Eso supone una reducción de 2,5–3x en el coste por token sin ningún cambio en el modelo, sin cuantización ni compromisos de precisión.
Limitaciones y cuándo no ayuda
La decodificación especulativa mejora la latencia —el tiempo para generar una respuesta—, pero no reduce el cómputo total. De hecho, incrementa ligeramente los FLOPs totales debido a los tokens borrador rechazados. Esto significa que no reduce los costes energéticos por solicitud; reduce el tiempo de finalización, lo cual importa para la latencia de cara al usuario pero no para el rendimiento del procesamiento por lotes.
También funciona peor en tareas de alta entropía: escritura creativa, lluvia de ideas o cualquier resultado donde el modelo tiene alta incertidumbre en cada paso. En estos casos, las tasas de aceptación del borrador caen por debajo del 60% y la sobrecarga de ejecutar el modelo borrador empieza a consumir las ganancias.
Conclusiones prácticas
- Si estás ejecutando Llama 3.1 70B o modelos similares con vLLM: habilita la decodificación especulativa con un modelo pequeño compatible (por ejemplo, Llama 3.2 3B como borrador). Espera una mejora de latencia de 2–2,5x en tareas de chat y código con una configuración mínima.
- Si estás construyendo sobre APIs alojadas: es probable que la decodificación especulativa ya se esté ejecutando en el backend. Enfoca tu esfuerzo de optimización en la estructura de los prompts y la eficiencia de tokens.
- Si la latencia es tu cuello de botella pero no el coste: la decodificación especulativa es tu mejor palanca — supera a la cuantización en tareas sensibles a la calidad y no requiere reentrenamiento del modelo.
- Si estás haciendo inferencia por lotes (resumen, clasificación a escala): la decodificación especulativa no te ayudará. Considera en su lugar el procesamiento por lotes continuo y la cuantización.