Skip to content

English · Español

Lab 03 — Survey de la familia de speculative decoding + veredicto del tutor de gramática

Objetivo: leer un paper o blog de cada una de la familia de speculative decoding (vainilla, Medusa, EAGLE, Lookahead). Escribir una comparación de una página + veredicto para el tutor de gramática.

Tiempo estimado: 2–3 horas.

Prerrequisito: theory/04-speculative-and-reasoning.md leído. Fase 21 (sampling) entendida — speculative decoding modifica el sampling, así que la baseline debe ser sólida.


Lo que produces

Un directorio experiments/36-speculative-survey/ que contenga:

  • summary.md — matriz de comparación de una página de vainilla / Medusa / EAGLE / Lookahead.
  • decision-tree.md — pequeño flowchart mermaid: "si tu cuello de botella es X, usa Y".
  • grammar-tutor-verdict.md — informe corto: cuál (si alguno) de estos ayudaría al tutor de gramática a la escala de serving de la Fase 33.

TODOs

Bloque A — leer las referencias

Skim, no lectura profunda. Cada una de las cuatro referencias debería llevar ~30 min:

  • Speculative decoding vainilla — Leviathan et al., "Fast Inference from Transformers via Speculative Decoding" (2023). Céntrate en el Algoritmo 1 (la regla de aceptar/rechazar).
  • Medusa — Cai et al., "Medusa: Simple LLM Inference Acceleration Framework with Multiple Decoding Heads" (2024). Céntrate en la arquitectura multi-head.
  • EAGLE / EAGLE-2 — Li et al. (2024). Céntrate en cómo usa los hidden states del modelo target para informar al draft.
  • Lookahead decoding — Fu et al., "Break the Sequential Dependency of LLM Inference Using Lookahead Decoding" (2024). Céntrate en el mecanismo del pool de n-grams.

Captura los SHAs / fechas / autores de cada cita en summary.md.

Bloque B — la matriz de comparación

En summary.md, rellena esta tabla:

Familia Quién hace el draft Quién verifica Tasa de aceptación (típica) Complejidad de implementación Mejor cuando...
Vainilla Modelo draft pequeño separado Modelo target Speedup 2-5× Media El draft está cerca de la distribución del target
Medusa Múltiples draft heads sobre el target El propio target Speedup 2-3× Media-alta (entrenamiento) Margen de cómputo limitado, sin draft separado
EAGLE Draft informado por hidden states Target Speedup 3-4× Alta Target de máxima ganancia
Lookahead N-gram de la propia historia Target Speedup 1.5-2× Baja Sin draft separado, retrofit fácil

(Los números son típicos publicados; verifica contra las referencias.)

Luego escribe 2-3 frases por familia explicando el mecanismo en lenguaje llano (no "su algoritmo X hace Y" — el mecanismo real).

Bloque C — el árbol de decisión

decision-tree.md — un flowchart mermaid para elegir una estrategia de speculative decoding:

flowchart TD
    start[I want faster decode]
    start --> q1{Do I have a smaller model<br/>close to the target?}
    q1 -->|yes| vanilla[Vanilla speculative decoding]
    q1 -->|no| q2{Can I afford to retrain<br/>or fine-tune the target?}
    q2 -->|yes| q3{Medusa or EAGLE?}
    q3 -->|low overhead| medusa[Medusa]
    q3 -->|max gain| eagle[EAGLE]
    q2 -->|no| lookahead[Lookahead decoding]

Luego añade una rama "para el tutor de gramática":

flowchart TD
    gt[Grammar tutor decoding]
    gt --> q1{Is decode the bottleneck?}
    q1 -->|no, batch=1 CPU is fast enough| nochange[No change needed]
    q1 -->|yes, hypothetically| q2{What's the draft model?}
    q2 -->|n-gram from Phase 14| vanilla_gt[Vanilla spec. dec. with n-gram draft]
    vanilla_gt -.but.-> noop[Cost / benefit at single-user low-batch:<br/>likely net-negative.]

Bloque D — el veredicto del tutor de gramática

grammar-tutor-verdict.md (~200 palabras):

  • ¿Es la latencia de decode un cuello de botella para el tutor de gramática en modo mono-usuario? (Respuesta: 3 ms por token en CPU, ~12 tokens de salida para una corrección típica = 36 ms en total. Por debajo del umbral de retraso perceptible para humanos.)
  • ¿Podría cualquier variante de speculative decoding ayudar a la escala de serving de la Fase 33 (batching continuo, multiusuario)? (Respuesta: marginal — el modelo target es tan pequeño que el batching domina las ganancias; spec. dec. compondría pero no es necesario.)
  • De los cuatro, ¿cuál es el más fácil de retrofitear sobre el tutor de gramática existente sin reentrenamiento? (Respuesta: Lookahead. Sin draft model, sin reentrenamiento.)
  • ¿Cuál sería la recomendación honesta? (Respuesta: no añadas speculative decoding. El tutor de gramática no lo necesita. Si la latencia de decode alguna vez se vuelve un problema real, Lookahead primero; vainilla con draft n-gram como backup.)

Termina con la meta-lección: "speculative decoding es una técnica real con ganancias reales a la escala apropiada. El tutor de gramática está por debajo de esa escala. Aplazar".

Restricciones

  • Sin implementación. Pura lectura + análisis. El objetivo es interiorizar la familia, no construirla.
  • Cita explícitamente. Cada afirmación en summary.md cita una sección o tabla de uno de los cuatro papers / blogs.
  • Veredictos honestos. Si te encuentras queriendo añadir speculative decoding para "parecer moderno", caza el impulso. El veredicto para el tutor de gramática a la escala actual es "aplazar".

Condiciones de parada

Has terminado cuando:

  1. experiments/36-speculative-survey/{summary.md, decision-tree.md, grammar-tutor-verdict.md} existen todos.
  2. La matriz de comparación en summary.md está rellena con números citados.
  3. El árbol de decisión mermaid renderiza.
  4. El veredicto del tutor de gramática responde a las cuatro preguntas.
  5. Puedes recitar, de memoria, "speculative decoding funciona porque el decode es memory-bound; obtener varios tokens por forward mejora la intensidad aritmética".

Pista de último recurso

Si encuentras la notación de los papers impenetrable (cada uno usa símbolos distintos para las mismas cosas), usa una notación unificadora en tu summary.md. Define \(p_T\) (probabilidad del target), \(p_D\) (probabilidad del draft), \(k\) (longitud propuesta por ronda), \(\alpha\) (tasa de aceptación). Convierte la notación de cada paper a la tuya.

Si no consigues decidir entre EAGLE y Medusa para la rama de "max-gain": ojea la tabla de comparación del paper de EAGLE-2 — hacen benchmark directamente contra Medusa con el mismo modelo target.

Cuándo consultar solutions/

Tras commitear. La solución vive en solutions/03-speculative-ref.md — escrita al abrir la fase. La referencia incluye los rangos de números publicados para la matriz de comparación y el veredicto "aplazar" para el tutor de gramática con el mismo razonamiento.


Siguiente fase: docs/phase-37-security-safety/.