Decodificación especulativa: cómo dos LLM pueden ser más rápidos que uno
Table of Contents
- Introducción
- El problema: la decodificación autorregresiva es fundamentalmente lenta
- Cómo funciona la decodificación especulativa
- Variantes de técnica: EAGLE, Medusa, Draft Model
- Las matemáticas de la tasa de aceptación: ¿Cuándo se alcanza el punto de equilibrio
- Implementación de producción: EAGLE-3, vLLM, nube
- Comparación: decodificación especulativa frente a otras técnicas de aceleración de la inferencia
- Primeros pasos: tres formas de habilitar la decodificación especulativa hoy
- Conclusión y próximos pasos
Introducción
!Speculative decoding architecture: draft model + target model parallel inference flow
En 2023, Google DeepMind publicó un artículo que desafiaba silenciosamente una de las suposiciones más fundamentales de la IA basada en transformadores: que generar texto, un token a la vez, es la única forma de hacerlo. Llamaron a la técnica muestreo especulativo, y la comunidad de investigadores descubrió rápidamente su potencial a escala industrial bajo el lema más amplio de decodificación especulativa.
Hoy en día, la decodificación especulativa es una tecnología de código abierto lista para producción que todo equipo serio que se dedique al servicio de inferencias debería comprender. Logra algo que antes parecía contradictorio: aceleraciones de 2 a 3 veces en la inferencia LLM sin sacrificar ni un ápice de calidad de salida. vLLM, TensorRT-LLM, Hugging Face text-generation-inference y los proveedores de nube han enviado implementaciones de nivel de producción. NVIDIA demostró mejoras de rendimiento 3,6 veces mayores con su propia variante (Arctic Inference) en diciembre de 2025.
La idea contraintuitiva es simple: ejecutar dos modelos es más rápido que ejecutar uno. Pero la ejecución es elegante: una versión condensada de lo que hacen los científicos jefe cuando preparan a un asistente para que haga el trabajo obvio mientras ellos toman las decisiones difíciles.
Este artículo rastrea la técnica desde sus orígenes matemáticos a través de las tres principales familias de implementación (draft-target, EAGLE, Medusa), las matemáticas de tasa de aceptación que gobiernan las aceleraciones, datos de evaluación comparativa de producción y una guía concreta para implementarla en su propia pila de inferencia.
El problema: la decodificación autorregresiva es fundamentalmente lenta
Para comprender por qué funciona la decodificación especulativa, primero hay que apreciar cuán complicada es realmente la inferencia LLM estándar.
El cuello de botella autorregresivo
La generación LLM estándar es secuencial por diseño. Para producir el siguiente token, el modelo realiza un paso completo hacia adelante: carga los pesos de cada capa desde VRAM, calcula la atención sobre todos los tokens anteriores, proyecta el estado oculto final a través del cabezal del modelo de lenguaje y muestrea el siguiente token. Luego repite.
Esto significa que cada token requiere un ciclo completo de peso y carga. En las GPU modernas, la capacidad aritmética es enorme, pero alimentar esos núcleos tensoriales requiere pasar pesos a través de un bus de memoria finito. El resultado: La inferencia LLM está ligada a la memoria y las unidades aritméticas pasan la mayor parte del tiempo inactivas, esperando lecturas de VRAM.
Esto no es un error de hardware, es una consecuencia arquitectónica de la generación autorregresiva. Arreglarlo requiere un enfoque diferente del ciclo de generación.
Por qué la cuantificación posterior al entrenamiento no es suficiente
Las técnicas de aceleración como la cuantificación INT4/INT8, GPTQ y AWQ reducen la huella de peso por paso hacia adelante, lo que introduce más pesos en la caché por ciclo. Pero son fundamentalmente limitados: reducen el costo de cada paso secuencial, pero no cambian el número de pasos secuenciales. Para generar 100 tokens, aún necesitas 100 pases hacia adelante, incluso si cada pase es más rápido.
Lo que realmente necesitas es producir múltiples tokens por pase directo a partir del modelo grande y de alta calidad. La decodificación especulativa hace esto sin comprometer las garantías estadísticas del resultado.
Cómo funciona la decodificación especulativa
La decodificación especulativa (SD) opera según un paradigma simple pero poderoso de borrador y luego verificación.
El algoritmo central
Paso 1: el borrador del mecanismo propone K tokens por adelantado
Paso 2: El modelo objetivo verifica TODAS las K fichas de draft en un ÚNICO pase paralelo hacia adelante
Paso 3: el prefijo aceptado más largo de tokens de borrador se agrega al resultado
Paso 4: el ciclo se repite desde el último token aceptadoLa garantía matemática es: la distribución de la producción final es exactamente idéntica a la que el modelo objetivo generaría por sí solo. No hay aproximación ni pérdida de fidelidad.
Aquí está el ejemplo trabajado de la implementación de NVIDIA:
Prefijo de entrada:
"El rápido"El borrador del modelo propone:marrón→zorro→saltado→sobreEl modelo de destino verifica los 4 tokens en paralelo:
marrón= ✅ (P_objetivo ≥ P_borrador)zorro= ✅ (P_objetivo ≥ P_borrador)saltado= ❌ (P_objetivo << P_borrador)over= ❌ (descartado - primer rechazo)El modelo objetivo genera la continuación corregida de
"El veloz zorro marrón"→saltó→el→perezoso→perro
Resultado: 2 tokens aceptados de 3 rondas especulativas para una aceleración de ~1 + α × γ, donde α es la tasa de aceptación y γ es el número de tokens especulativos propuestos por ronda.Dakota del Norte.
La intuición clave
Aceleración = 1 / (1 - α × γ) donde:
- α (alfa) = fracción de tokens de borrador aceptados por el modelo objetivo, de 0,0 a 1,0
- γ (gamma) = número de tokens especulativos propuestos por ronda de draft
Esta fórmula revela por qué la calidad del modelo preliminar es tan importante:
- En α = 0,8, γ = 5: aceleración ≈
1 / (1 - 0,8 × 5) = 1 / 0 = ∞→ efectivamente infinita (cada ronda acepta los 5 = hecho) - Más realistamente α = 0,5, γ = 4: aceleración ≈
1 / (1 - 2,0) = −1 / 1 = 1,0×→ sin aceleración (modelo mal calibrado)
El nombre del juego es acercar α lo más posible a 1,0. Es por eso que el diseño del modelo preliminar, no solo la implementación, es la palanca crítica.
Variantes de técnica: EAGLE, Medusa, Draft Model
No existe una única forma de implementar la decodificación especulativa. Cada enfoque plantea diferentes compromisos entre la complejidad de la implementación, el límite de velocidad y la precisión.
1. Modelo borrador (clásico)
La formulación original: un modelo borrador más pequeño y más rápido (por ejemplo, una variante destilada o cuantificada del objetivo, a menudo entre 4 y 10 veces menos parámetros) se ejecuta de forma autorregresiva para proponer tokens γ. Luego, el modelo objetivo lo verifica.
- Pros: Fácil de configurar, bien estudiado, funciona con cualquier familia de modelos
- Contras: Las distribuciones borrador y objetivo inevitablemente divergen, limitando α entre 0,5 y 0,7 en muchos escenarios del mundo real.
- Mejor para: inferencia de propósito general, tareas de alta diversidad (escritura creativa, chat abierto)
2. EAGLE (Algoritmo de extrapolación para una mayor eficiencia del modelo de lenguaje)
EAGLE reemplaza el modelo borrador separado con un cabezal de predicción liviano conectado directamente a las representaciones internas del modelo objetivo. Toma las salidas de estado oculto de las capas internas del modelo objetivo (antes del cabezal LM) y las proyecta, en un solo paso hacia adelante, a un árbol completo de tokens próximos candidatos simultáneamente.
- EAGLE-3 agrega representaciones de características fusionadas de múltiples capas (incrustaciones de nivel bajo, medio y alto)
- Utiliza verificación paralela basada en árboles: múltiples hipótesis simbólicas se exploran simultáneamente en un borrador de árbol y luego se verifican en un lote
- No se requiere un borrador de modelo separado: utiliza el caché KV y los estados internos propios del modelo de destino
Resultados: EAGLE-3 logra una aceleración de 3,0 a 6,5 veces respecto a la decodificación autorregresiva estándar y una mejora de entre un 20 y un 40 % respecto a EAGLE-2 (arXiv 2503.01840).
: Arquitectura principal de EAGLE
┌───────────────────── ─────────────────────┐
│ Modelo objetivo (pesos congelados) │
│... Capa 28: estado_oculto extraído │
│... Capa 24: estado_oculto extraído │
│... Capa 20: estado_oculto extraído │
└──────────────┬────── ─────────────────────┘
│ concat de funciones multicapa
┌────────▼─────────┐
│ Cabeza de ÁGUILA │ ← pequeña, entrenable (~poco % de
│ (lineal + norma │ parámetros del modelo objetivo)
│ + softmax LM) │
└────────┬──────────┘
│
Borrador de árbol de tokens K
│
┌────────▼──────────┐
│ Target LM Head │ ← convierte estados ocultos → probabilidades de token
└──────────────────┘
Pase único hacia adelante = árbol completo verificado- Pros: α más alto en la práctica (0,7–0,9+), no hay un modelo separado para servir, cero desajuste en la distribución
- Contras: Requiere colocar una cabeza por modelo objetivo y entrenarla; El cabezal debe ajustarse según la familia de modelos.
- Mejor para: servicios de inferencia de producción donde la tasa de aceptación es el cuello de botella
3. Medusa (decodificación de múltiples cabezas)
Medusa adopta un enfoque estructuralmente diferente: en lugar de un mecanismo de borrador separado, agrega cabezas de predicción adicionales directamente encima de un LLM congelado. Cada cabeza predice una posición futura diferente del token:
: Configuración de múltiples cabezales de Medusa
┌──────────────────────────┐
│ Base LLM (congelada) │
└──────────┬───────────────┘
│ estado oculto en la posición t
┌──────▼──────┐
│ LM Head 0 │ → predice el token t+1
│ LM Head 1 │ → predice el token t+2
│ LM Head 2 │ → predice el token t+3
│ LM Head 3 │ → predice el token t+4
└──────┬───────┘
│
Fichas de borrador [t+1, t+2, t+3, t+4]
│
┌──────▼────────────-┐
│ Target LM verifica │
│ todo en una sola pasada │
└─────────────────────┘- Pros: el modelo original permanece completamente congelado, cero tiempo de inferencia para el mecanismo de dibujo, las cabezas de Medusa son fáciles de entrenar
- Contras: La tasa de aceptación tiende a retrasarse con respecto a EAGLE en tareas a largo plazo.Kansas; Las cabezas de Medusa tienen un rendimiento inferior en cadenas de razonamiento complejas
- Mejor para: los equipos que pueden ajustar su modelo objetivo quieren cero gastos generales de inferencia en la generación de borradores.
Nota: Medusa es anterior a EAGLE, pero sigue siendo una opción práctica, especialmente para la arquitectura de cuello de botella de código abierto Medusa-2 y la extensión Hydra para dependencia de cabeza secuencial.
Las matemáticas de la tasa de aceptación: ¿Cuándo se alcanza el punto de equilibrio?
La decodificación especulativa no es gratuita: cada ronda especulativa tiene un costo de cómputo que debe recuperarse evitando pases secuenciales hacia adelante. El punto de equilibrio es:
Aceleración neta > 1,0 cuando: γ × α > 1Donde γ es el número de tokens especulativos y α es la tasa de aceptación.
Puntos de referencia empíricos de implementaciones reales
Usando Llama-3.1-8B-Instruct como modelo de destino con una latencia E2E inicial de 4065 ms (de la prueba vLLM parcheada de BentoML):
La conclusión práctica: un mecanismo de tiro bien diseñado que alcance α ≥ 0,6 con γ ≥ 5 es el umbral mínimo para una aceleración significativa. Con α ≥ 0,8, se pueden lograr aceleraciones espectaculares de 3×+. Esta es exactamente la razón por la que el borrador a nivel de características de EAGLE converge de manera tan efectiva: evita el desajuste de distribución que mantiene el modelo de borrador α limitado entre 0,5 y 0,65.
Implementación de producción: EAGLE-3, vLLM, nube
vLLM: producción predeterminada
vLLM v0.8.4+ viene con 7 métodos de especulación integrados:
vllm servir meta-llama/Llama-3-8B-Instruct \
--especulativo-config '{
"método": "águila3",
"num_especulativos_tokens": 7
}'El indicador incorporado --speculative-config maneja internamente toda la contabilidad del caché KV, la atención del árbol y el muestreo de rechazo. La extensión a otros marcos (HuggingFace TGI, SGLang) sigue el mismo patrón: un solo cambio de configuración brinda una aceleración de 2 a 3 veces.
Inferencia ártica de NVIDIA
Impulsando a EAGLE aún más, Arctic Inference de NVIDIA ofrece el rendimiento de decodificación especulativa medido más alto en las GPU de NVIDIA, optimizado específicamente bajo el mecanismo de aplazamiento de TensorRT-LLM y vLLM. Los puntos de referencia en Llama-3.1-70B muestran que Arctic Inference logra una ganancia de rendimiento de 3,6 veces sobre la decodificación autorregresiva estándar (función vLLM v0.8.5+).
Capacitación en AWS
AWS publicó resultados ejecutando decodificación especulativa en sus aceleradores Trainium personalizados con vLLM. Hallazgo clave: para cargas de trabajo con mucha decodificación (típicas de generación de estilo chatbot con ventanas de contexto moderadas), la decodificación especulativa redujo la latencia total por solicitud en un factor de 1,4 a 1,8 en toda la familia de modelos probados, manteniendo al mismo tiempo una precisión de aproximadamente el 100% del modelo objetivo.
Capacitación en borrador del modelo
Para la decodificación especulativa al estilo del modelo borrador, lo ideal es que el modelo borrador comparta la misma arquitectura y tokenizador que el objetivo. El equipo de BentoML descubrió que entrenar un modelo de borrador personalizado específicamente adaptado a la distribución de la carga de trabajo de inferencia produjo tasas de aceptación dramáticamente más altas en comparación con los modelos de borrador genéricos listos para usar: hasta una aceleración de 3 veces frente a líneas de base secuenciales versus solo 1,8 a 2,0 veces con redactores genéricos.
Comparación: decodificación especulativa frente a otras técnicas de aceleración de la inferencia
: Comparación de técnicas de aceleración
┌──────────────────────────────── ──┬──────────────┬──────────────┐
│ Técnica │ Aceleración │ Costo │
├──────────────────────────────── ──┼──────────────┼──────────────┤
│ Cuantización INT4/INT8 │ 1,2–1,5× │ ✓ Gratis │
│ GPTQ / AWQ (4 bits) │ 1,5–2,0 × │ ✓ Gratis │
│ Cuantización de caché KV (KVCache) │ 1,1–1,3 × │ ✓ Gratis │
│ Procesamiento por lotes continuo (vLLM) │ 1,5–5,0 × │ ✓ Gratis │
│ Decodificación especulativa (EAGLE) │ 1,5–6,5 × │ 1–2% parámetros │
│ Decodificación especulativa (EAGLE-3) │ 2,0–6,5 × │ 1–2% parámetros │
│ **BitNet b1.58 (1,58 bits)** │ 2–5× │ ⚠ Reentrenar │
│ Destilación (TinyLlama, etc.) │ 1,0–1,3× │ Alto coste │
└──────────────────────────────── ──┴──────────────┴──────────────┘Nota: BitNet b1.58 logra un rendimiento bruto similar a partir de un mecanismo completamente diferente: pasando de pesos FP16 a ternario {-1, 0, +1}. Cubre completamente la dimensión de eficiencia, mientras que la decodificación especulativa cubre la dimensión de velocidad por token. No son alternativas; se complementan.
Primeros pasos: tres formas de habilitar la decodificación especulativa hoy
Opción 1: vLLM (EAGLE, configuración cero más allá del indicador)
## El vLLM estándar selecciona automáticamente EAGLE-3 si está disponible para el modelo
vllm sirve meta-llama/Llama-3.1-8B-Instruct\
--speculative-config '{"método": "eagle3", "num_speculative_tokens": 5}'Punto de referencia con el script incorporado:
ejemplos/características/decodificación_especulativa/spec_decode_offline.py \
--modelo meta-llama/Llama-3.1-8B-InstructOpción 2: TensorRT-LLM (EAGLE + Inferencia Ártica)
de tensorrt_llm importar LLM, SamplingParams
llm = LLM(
modelo="meta-llama/Llama-3.1-8B-Instruct",
especulativo_config={
"modelo": "sg2018/EAGLE-llama3.1-8B",
"método": "águila",
"num_speculative_tokens": 5,
}
)Opción 3: Inferencia de generación de texto de HuggingFace (Medusa mediante descarga)
TGI admite la decodificación especulativa lista para usar a través del parámetro draft_model:
servidor de generación de texto --model-id meta-llama/Llama-3-8B-Instruct \
--especular borrador-modelo:meta-llama/Llama-3-8B-Instruct \
--especular-max 5Conclusión y próximos pasos
La decodificación especulativa es una de esas raras técnicas en las que la teoría es elegante y la recompensa de la ingeniería es real e inmediata. A estas alturas de 2025, tiene:
- ✅ Garantía teórica: la salida es matemáticamente idéntica a la generación autorregresiva básica
- ✅ Múltiples implementaciones de producción: vLLM, TensorRT-LLM, TGI y pilas nativas de la nube
- ✅ Aceleraciones de 3,0 a 6,5 veces en el mundo real en implementaciones de producción comparadas
- ✅ Costo de calidad cero: acepta solo tokens verificados por el modelo objetivo; Se garantiza que la salida es correcta.
- ✅ Combinabilidad: pilas con cuantificación, optimización de caché KV y procesamiento por lotes continuo para aceleraciones compuestas
El consejo práctico para cualquier equipo que trabaje en LLM hoy en día es: desacoplar el dibujo de la generación, elegir una vía rápida (EAGLE-3 o Medusa para familias de modelos de primera clase, N-grama o sufijo para casos sin gastos generales) y comparar su propio α en su propia carga de trabajo, porque los números de aceleración teórica son tan buenos como su tasa de aceptación real.
Qué puedes hacer hoy:
- 🚀 Habilite la decodificación especulativa vLLM: una marca, cero cambios de código, aceleración de 2 a 3 veces en cualquier modelo compatible en minutos
- 📊 Compárese usted mismo:
python3 ejemplos/características/speculative_decoding/spec_decode_offline.py: mida la latencia α, TPS y E2E en su carga de trabajo - 📚 Lea los artículos fundamentales: Speculative Sampling (DeepMind, 2023) · EAGLE (2024) · EAGLE-3 (2025) · Medusa (2024)
- 🔧 Afina una cabeza de Medusa: si eres dueño de tu modelo objetivo y puedes ejecutar algunas épocas de entrenamiento, Medusa te ofrece un mecanismo de borrador sin gastos generales y sin costo de servicio por separado.
La decodificación especulativa no es una tecnología del futuro. Está aquí, en su pila de inferencia, listo para estar a una sola bandera de convertir 100 tokens por segundo en 300. Los ingenieros que lo habiliten primero lo implementarán de manera más económica, funcionarán en menor temperatura y brindarán servicios a usuarios más felices, sin comprometer un solo punto de precisión.