EAGLE-3 Descodage especulativo en producción
Type: Learn
Languages: Python (stdlib, toy acceptance-rate simulator)
Prerequisites: Phase 17 · 04 (Serving Engine Internals), Phase 10 · 18 (Multi-Token Prediction)
Time: ~60 minutes
Objetivos de aprendizaje
- Nombre de las tres generaciones de descifrado especulativo y explicar qué cambios EAGLE-3 de EAGLE-2 y de un modelo clásico de proyecto.
- Definir la tasa de aceptación alfa, calcular la velocidad esperada de alfa y K (duración del borrador), e identificar el alfa de equilibrio para su concurrencia objetivo.
- Explica por qué la descodificación especulativa es opt-in (no por defecto) en vLLM 2026 y por qué activarla sin medir alfa es un antipatrón de producción.
- Escriba un plan de medición: qué índice de referencia, qué distribución de datos, qué punto de concurrencia, qué métrica para entrar.
El problema
El decodificación es de memoria. En un H100 que ejecuta Llama 3.3 70B FP8, cada token decodificado lee ~140 GB / s de pesos y emite un token. El cálculo de la GPU es casi ocioso durante el decodificación.
La descifrado especulativo explota la brecha. Generar tokens candidatos K con un modelo de borrador barato, luego pedir al modelo objetivo para verificar todos K en un solo pase hacia adelante. Cada token verificado es efectivamente libre (amortizado en un lote de K hacia adelante el objetivo habría tenido que hacer de todos modos).
El enfoque clásico del modelo de proyecto utiliza un modelo más pequeño de la misma familia (Llama 3.2 1B redacción para Llama 3.3 70B). Funciona pero la tasa de aceptación es mediocre la distribución del modelo más pequeña difiere del objetivo. EAGLE, luego EAGLE-2, luego EAGLE-3 entrenan una cabeza de proyección ligera directamente en los estados internos del modelo objetivo, por lo que la distribución del proyección rastrea el objetivo mucho más de cerca. Por eso el alfa pasa de 0.4 con el modelo de proyecto a 0.6-0.8 con EAGLE-3.
El objetivo: EAGLE-3 se ha optado por el VLLM 2026. speculative_configLos equipos que lo encienden sin medir el tráfico real a menudo ven que la latencia de cola empeora, no mejora.
El concepto
¿Qué es la descifrado especulativo realmente compra
Sin el decodificación de especificaciones, el costo por token es un objetivo hacia adelante.1 + K alphaEl acelerador es(1 + K alpha) / (1 + epsilon)donde epsilon es el costo general de la verificación de proyectos. para K=5, alfa=0.7: (1 + 5*0.7) / (1 + 0.1) = 4.5 / 1.1 = 4.1xLos números del mundo real se agrupan alrededor de 2-3 veces porque el alfa rara vez es tan alto en el tráfico de producción y el epsilon crece en grandes cantidades de lote.
¿Por qué alfa es la única métrica que importa?
Los tokens rechazados no desaparecen obligan a un segundo objetivo a avanzar para el primer token rechazado. En una carga de trabajo donde el alfa baja a 0,4, pagas gastos generales de proyecto más verificación más re-roll. En alta concurrencia (digamos 256 concurrencias), el lote de decodificación ya es lo suficientemente grande como para que la brecha de ancho de banda de memoria entre "target solo" y "target con verificar" se reduzca. Por debajo de alfa 0.55 en la mayoría de los equipos de 2026, el código de especificaciones es negativo neto.
En el chat general de estilo ShareGPT, EAGLE-3 entrenado en ShareGPT alcanza 0.6-0.8. En el tráfico específico del dominio (código, médico, legal) el jefe de redacción entrenado en datos generales cae a 0.4-0.6.
Las generaciones de águila en un vistazo
- Classic draft modelAlfabeto 0.3-0.5 Infraestructura simple dos modelos cargados, proyecto de ejecuciones K hacia adelante por objetivo hacia adelante.
- EAGLE-1 (2024)Alfa ~ 0,5-0,6 . Un pequeño parámetro sobre la parte superior del objetivo.
- EAGLE-2 (2025)Alfabeto de la línea de referencia: longitud de borrador adaptativa y borradores basados en árboles (verifique múltiples ramas en un solo paso objetivo).
- EAGLE-3 (2025-2026)Allí se puede encontrar un equipo de entrenamiento de la cabeza de proyecto en múltiples capas de objetivo (no sólo las últimas), mejor alineación.
La receta de producción para 2026
- Modelo de navegación objetivo claro. Medir el TTFT de referencia, ITL, rendimiento en la concurrencia objetivo.
- Habilitar el borrador EAGLE-3 a través de vLLM
speculative_config- Re-examinar el índice de referencia. - Taxa de aceptación de registros alfa. vLLM V1 informa esto como
spec_decode_metrics.accepted_tokens_per_requestDividir por la longitud del borrador solicitado para obtener el alfa. - Si el alfa < 0,55 en la distribución del tráfico de producción, deshabilitar la descifrado de especificaciones o entrenar un borrador EAGLE-3 específico de dominio.
- Con la producción simultánea, vuelva a ejecutarse.
El punto de pérdida de producción: cola P99
El P99 puede empeorar si no se sintoniza. Los proyectos rechazados desencadenan una secuencia de dos pases (proyecto + verificación-fallo + re-rollo).
Cuando EAGLE-3 ya esté desplegado
Google desplegó la descodificación especulativa en AI Overviews en 2025 (la misma calidad, respuesta más rápida). vLLM V1 barcos speculative_configSGLang admite EAGLE-3 como la ruta de proyecto recomendada para cargas de trabajo pesadas de prefijos.
Matemáticas de equilibrio en una línea
Aceleración esperada: S(alpha, K) = (1 + K*alpha) / (1 + verify_overhead)- Configuración .S = 1soluciones para alfa: alpha_breakeven = verify_overhead / K. Para los gastos de verificación típicos ~0.15 y K=5: alpha_breakeven = 0.03Pero eso es la matemática de decodificación crudo. A alta concurrencia el overhead de verificación aumenta y el lote de decodificación ya amortiza las lecturas de memoria a través de las secuencias, por lo que el alfa_breakeven efectivo sube a ~0.45-0.55 en la práctica.
Cuando no utilizar la descifrado especulativo
- Generación de batch-1 sin conexión donde la latencia no importa.
- Los resultados son muy cortos (menos de 50 tokens).
- Dominio especializado sin un jefe de reclutamiento entrenado.
- Suponiendo que cada par de características compone. Compruebe la matriz de compatibilidad vLLM para su versión: v0.18.0 marca la descifrado especulativo compatible con preempleo en pedazos.
Usalo
code/main.pysimula un bucle de decodificación con y sin decodificación especulativa en una gama de valores alfa y longitudes de borrador K. Imprime el break-even alfa, la velocidad medida y el comportamiento de cola.
Envío
Esta lección produceoutputs/skill-eagle3-rollout.md. Dado un modelo objetivo, una descripción de la distribución del tráfico y un objetivo de concurrencia, produce un plan de implementación EAGLE-3 en etapas referencia de referencia, habilita la configuración, la medida alfa, la puerta en alfa >= 0.55, ver P99 ITL.
Los ejercicios
- - ¿ Qué ?
code/main.py¿Qué alfa necesitas para un 2x de aceleración? ¿Para un 3x de aceleración? ¿Qué tan sensible es eso para verificar_overhead? - Imagínese que el tráfico de producción divide el 70% de chat general, el 30% de código. El chat general alcanza el alfa 0.7 con EAGLE-3 entrenado en ShareGPT; el código alcanza el alfa 0.4. ¿Qué es alfa mezclado y es el código de descodación de especificaciones net-positivo?
- Lea el VLLM
speculative_configNombrar los tres modos (modelo de borrador, EAGLE, N-gram) y comprobar cuáles son las características de cada uno de ellos en su versión vLLM. - Vemos que la media ITL cayó un 25% después de habilitar EAGLE-3 pero P99 ITL subió un 15%.
- Calcule el costo de memoria de la cabeza de proyección EAGLE-3 para Llama 3.3 70B. ¿Cómo se compara con ejecutar Llama 3.2 1B como un proyecto clásico?
Términos clave
| Term | What people say | What it actually means |
|---|---|---|
| Speculative decoding | "draft plus verify" | Propose K tokens with a cheap model, verify all K in one target forward |
| Acceptance rate alpha | "spec accept rate" | Fraction of draft tokens accepted by the target; the only metric that matters |
| Draft length K | "spec k" | How many tokens the draft proposes per target forward; typical 4-8 |
| Verify overhead epsilon | "spec overhead" | Extra cost to verify-and-reroll vs a plain target forward; grows with batch |
| EAGLE-3 | "latest EAGLE" | 2025-2026 variant; trains draft head on multiple target layers; alpha 0.6-0.8 on general chat |
speculative_config | "vLLM spec config" | The explicit opt-in in vLLM V1; no default means no acceleration |
| N-gram spec decode | "N-gram draft" | GPU-side draft using N-gram lookups in the prompt; chunked-prefill-compatible |
| Break-even alpha | "no-op alpha" | Alpha at which spec decode gives zero speedup; watch this at production concurrency |
| Rejected-draft two-pass | "reroll cost" | Two target forwards when drafts reject; drives P99 tail |
Leer más
- vLLM — Speculative Decoding docs fuente autorizada en
speculative_configy compatibilidad de preempleo en V1. - vLLM Speculative Config API el conjunto exacto de campos.
- EAGLE paper (arXiv:2401.15077) formulación original de la cabeza de proyecto de EAGLE.
- EAGLE-2 paper (arXiv:2406.16858) proyectos y árboles adaptativos.
- UC Berkeley EECS-2025-224 Sistema de LLM eficiente con decodificación especulativa.
- BentoML — Speculative Decoding Lista de control de la implementación de la producción.
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.