43 R2 · Cookbook
Qué es. Recetas paso a paso para aplicar los métodos del libro a tu modelo: medir y predecir γ, separar sumidero de decaimiento, dimensionar el KV, extender el contexto, elegir decodificación y comprimir. Cada receta dice qué necesitas, los pasos, el recibo (cómo saber que el resultado es fiable) y dónde se explica a fondo. (El manual completo de la herramienta está en R9.)
43.1 Receta 1 — Medir el γ de un modelo
Objetivo: obtener el exponente de decaimiento \(\gamma\) que resume cómo cae la atención con la distancia.
- Pasa un lote de textos por el modelo y registra los pesos de atención de cada cabeza/capa.
- Para cada distancia \(d\), promedia el peso de atención → curva \(A(d)\).
- Ajusta una recta en ejes log-log: \(\log A(d) = c - \gamma\,\log d\). La pendiente (con signo cambiado) es \(\gamma\).
- Recibo: mira el R² del ajuste. Con R² > 0,95 el γ es fiable; con R² ≈ 0,85 es un resumen más grueso (anótalo). Promedia por cabeza, no mezcles cabezas dispares.
Dónde: Cap. 13 (leer mapas) y Cap. 15 (la ley). Atajo: modo Profile de tafagent.
43.2 Receta 2 — Predecir γ desde la geometría (sin entrenar)
Objetivo: estimar γ antes de medir, solo con la base θ de RoPE y la longitud \(T\).
- Toma θ (hiperparámetro del modelo, p. ej. 10000) y la longitud \(T\) que evalúas.
- Calcula \(\displaystyle \gamma_{\text{Padé}}=\frac{2\theta-T\sqrt2}{2\theta+T\sqrt2}\).
- Recibo honesto: es el centro, no el valor exacto —error de mediana ~22% en Fase A—. Si el γ medido (Receta 1) se aleja, la descomposición (γ_train + γ_arch) explica el resto.
Dónde: Cap. 15. Recibo formal: la identidad γ_Padé=Cayley está probada en Lean (📐, R1).
43.3 Receta 3 — Separar concentración (sumidero) de decaimiento (γ)
Objetivo: no confundir dos cosas que la literatura mezcla.
- Mide dos señales distintas: la masa de sumidero (cuánta atención cae en los primeros tokens) y el γ (Receta 1).
- Trátalas como ejes independientes: un modelo puede tener γ alto y poco sumidero, o al revés.
- Recibo: nuestro experimento within-model (reescalar θ 256×) mueve γ (0,75→1,0) y deja el sumidero plano (~0,38) → son ortogonales (📊).
Dónde: Cap. 17. Atajo: tafagent reporta
peak_max_share(sumidero) y γ por separado.
43.4 Receta 4 — Dimensionar el presupuesto de KV-cache
Objetivo: estimar cuánta caché KV necesitas de verdad a la longitud objetivo.
- Mide γ (Receta 1). Si γ > 1 (Fase B, concentra cerca), la caché es comprimible.
- Estima la ventana \(D_f \sim \varepsilon^{-1/(\gamma-1)}\), donde \(\varepsilon\) es la tolerancia de masa de atención que aceptas perder.
- Calcula la memoria:
KV bytes ≈ lote × D_f × 2 × capas × d_model × bytes_por_número. - Recibo honesto: \(D_f\) es una regla derivada, 🟡 no validada aún en benchmarks (RULER/LongBench). Úsala como estimación de partida, no como garantía.
Dónde: Cap. 20 (D_f) y Cap. 36 (servir). Atajo: tafagent calcula la memoria de KV.
43.5 Receta 5 — Extender el contexto de un modelo
Objetivo: hacer que un modelo funcione más allá de su longitud de entrenamiento.
- Recuerda: las longitudes de onda de RoPE dependen de θ; reescalar θ las estira.
- Usa NTK-aware / YaRN para reescalar y, si puedes, un fine-tuning corto a la nueva longitud.
- Recibo / caveat: más contexto no se aprovecha uniformemente (“lost in the middle”, Cap. 31): coloca lo relevante en los extremos. Y nuestra propia regla de headroom por γ está 🟡 sin validar (avenue-2 crasheó) — no la presentes como establecida.
Dónde: Cap. 14 (escalas), Cap. 19 (contexto largo).
43.6 Receta 6 — Elegir estrategia de decodificación
Objetivo: acertar con greedy/muestreo según la tarea.
- ¿Tarea cerrada (código, factual, traducción)? → greedy/beam (precisión).
- ¿Tarea abierta/creativa? → muestreo:
temp ≈ 0,7–1,0,top-p ≈ 0,9(o min-p si subes la temperatura). - ¿Necesitas formato garantizado (JSON)? → decodificación restringida —pero recuerda: garantiza forma, no verdad (Cap. 29).
- Recibo: evalúa la fidelidad, no solo la fluidez; cuidado con los sesgos del LLM-juez.
Dónde: Cap. 12 (básico) y Cap. 29 (en profundidad).
43.7 Receta 7 — Decidir cómo comprimir un modelo
Objetivo: encogerlo sin perder (mucha) calidad.
- Primera mano: cuantización. 8 bits ≈ sin pérdida; 4 bits casi (GPTQ/AWQ). Por debajo de ~3-4 bits, precipicio (mates/código sufren).
- ¿Puedes entrenar? → destilación (alumno pequeño imita al maestro).
- ¿Cambio de forma? → poda —estructurada si quieres velocidad real en GPU normal—.
- Recibo: no evalúes solo con perplejidad —la compresión daña lo raro (cola larga); mide tareas downstream—.
Dónde: Cap. 35.
43.8 Receta 8 — Estimar el coste de servir
Objetivo: anticipar throughput/latencia/memoria antes de desplegar.
- Identifica el cuello de botella: el decode (bandwidth-bound), no el prefill.
- La caché KV limita cuántas peticiones caben → usa la Receta 4 para el presupuesto.
- Palancas: batching continuo (throughput), PagedAttention (memoria), especulativa (latencia), cuantización (capacidad).
- Recibo honesto: los “X× más rápido” de los papers son específicos de la carga — mide en la tuya—.
Dónde: Cap. 34 y Cap. 36.
43.9 Receta 0 — Cómo NO engañarte (la metarreceta)
Antes de creer cualquier número —tuyo o de un paper—:
- Pide el recibo: ¿hay prueba (📐), dato (📊) o solo afirmación? Sin recibo → folclore (Cap. 38).
- R² antes que γ: un γ con R² bajo es un resumen pobre; dilo.
- No compares γ crudo entre modelos distintos: mezcla θ + datos + arquitectura; el control limpio es within-model (Cap. 16).
- Forma ≠ verdad; fluidez ≠ corrección; Lean ≠ realidad: cada afirmación necesita su tipo de recibo.
Casi todas estas recetas tienen un atajo en tafagent (modo Profile para γ y régimen, cálculo de KV, planificador YaRN, panel de falsación). El manual completo de la herramienta —todos los modos y recetas X-1..X-23— está en R9.
Siguiente referencia (R3): el glosario —cada término del libro, definido de un vistazo—.