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.

  1. Pasa un lote de textos por el modelo y registra los pesos de atención de cada cabeza/capa.
  2. Para cada distancia \(d\), promedia el peso de atención → curva \(A(d)\).
  3. Ajusta una recta en ejes log-log: \(\log A(d) = c - \gamma\,\log d\). La pendiente (con signo cambiado) es \(\gamma\).
  4. Recibo: mira el 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\).

  1. Toma θ (hiperparámetro del modelo, p. ej. 10000) y la longitud \(T\) que evalúas.
  2. Calcula \(\displaystyle \gamma_{\text{Padé}}=\frac{2\theta-T\sqrt2}{2\theta+T\sqrt2}\).
  3. 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.

  1. Mide dos señales distintas: la masa de sumidero (cuánta atención cae en los primeros tokens) y el γ (Receta 1).
  2. Trátalas como ejes independientes: un modelo puede tener γ alto y poco sumidero, o al revés.
  3. 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.

  1. Mide γ (Receta 1). Si γ > 1 (Fase B, concentra cerca), la caché es comprimible.
  2. Estima la ventana \(D_f \sim \varepsilon^{-1/(\gamma-1)}\), donde \(\varepsilon\) es la tolerancia de masa de atención que aceptas perder.
  3. Calcula la memoria: KV bytes ≈ lote × D_f × 2 × capas × d_model × bytes_por_número.
  4. 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.

  1. Recuerda: las longitudes de onda de RoPE dependen de θ; reescalar θ las estira.
  2. Usa NTK-aware / YaRN para reescalar y, si puedes, un fine-tuning corto a la nueva longitud.
  3. 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.

  1. ¿Tarea cerrada (código, factual, traducción)? → greedy/beam (precisión).
  2. ¿Tarea abierta/creativa? → muestreo: temp ≈ 0,7–1,0, top-p ≈ 0,9 (o min-p si subes la temperatura).
  3. ¿Necesitas formato garantizado (JSON)? → decodificación restringida —pero recuerda: garantiza forma, no verdad (Cap. 29).
  4. 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.

  1. 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).
  2. ¿Puedes entrenar? → destilación (alumno pequeño imita al maestro).
  3. ¿Cambio de forma? → podaestructurada si quieres velocidad real en GPU normal—.
  4. 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.

  1. Identifica el cuello de botella: el decode (bandwidth-bound), no el prefill.
  2. La caché KV limita cuántas peticiones caben → usa la Receta 4 para el presupuesto.
  3. Palancas: batching continuo (throughput), PagedAttention (memoria), especulativa (latencia), cuantización (capacidad).
  4. Recibo honesto: los “X× más rápido” de los papers son específicos de la cargamide 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—:

  1. Pide el recibo: ¿hay prueba (📐), dato (📊) o solo afirmación? Sin recibo → folclore (Cap. 38).
  2. R² antes que γ: un γ con R² bajo es un resumen pobre; dilo.
  3. No compares γ crudo entre modelos distintos: mezcla θ + datos + arquitectura; el control limpio es within-model (Cap. 16).
  4. Forma ≠ verdad; fluidez ≠ corrección; Lean ≠ realidad: cada afirmación necesita su tipo de recibo.
Nota🧪 Pruébalo — tafagent

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—.