45 R4 · Medir tu propio γ (y reproducir el atlas)
Qué es. El procedimiento reproducible para medir el exponente de decaimiento \(\gamma\) de cualquier modelo, los controles de calidad que lo hacen fiable, y dónde están los datos abiertos para que reproduzcas (o refutes) nuestro atlas. La idea del libro: no te pedimos que nos creas; te damos cómo comprobarlo.
45.1 El procedimiento, paso a paso
- Recoge la atención real. Pasa un lote representativo de textos por el modelo y guarda los pesos de atención \(A_{ij}\) por cabeza y capa. (En 🤗 Transformers:
output_attentions=True.) - Colapsa por distancia. Para cada distancia \(d=|i-j|\), promedia el peso sobre todos los pares a esa distancia (y sobre el lote) → la curva \(A(d)\).
- Ajusta la ley de potencia. En ejes log-log, \(\log A(d)=c-\gamma\,\log d\) es una recta; ajústala por mínimos cuadrados. La pendiente con signo cambiado es γ.
- Guarda el R². Es tu medida de confianza (ver abajo). Repite por cabeza (no mezcles cabezas de distinto comportamiento) y, si quieres el γ del modelo, agrega después.
# Esquema (no es código de producción): de atención real a γ por ajuste log-log.
import numpy as np
# A: matriz de atención media (de output_attentions), por cabeza
dists, weights = [], []
n = A.shape[-1]
for i in range(n):
for j in range(i):
dists.append(i - j); weights.append(A[i, j])
d = np.array(dists); w = np.array(weights)
mask = (d > 0) & (w > 0) # log-log necesita positivos
slope, c = np.polyfit(np.log(d[mask]), np.log(w[mask]), 1)
gamma = -slope # A(d) ∝ d^(−γ)
# R² del ajuste = tu recibo de fiabilidad45.2 Los controles que lo hacen fiable (no te engañes)
- R² antes que γ. Con R² > 0,95 el γ es un buen resumen; con R² ≈ 0,85 es más grueso —dilo, no lo escondas—. Un γ con R² bajo no es comparable con uno de R² alto.
- No compares γ crudo entre modelos distintos. Mezcla θ + datos + arquitectura (la descomposición del Cap. 15). El control limpio es within-model: cambiar solo θ en el mismo modelo (Cap. 16-17).
- Promedia con cabeza. El γ varía por cabeza y por profundidad (γ-field, Cap. 16); un único número por modelo es un resumen, no toda la historia.
- Separa el sumidero. La masa de concentración (sumidero) es un eje aparte de γ (Cap. 17); no la metas en el ajuste de la cola.
45.3 Compara con la predicción geométrica
Una vez medido γ, compáralo con γ_Padé (Cap. 15, Receta 2 del R2): si difieren, la brecha es señal de los términos γ_train + γ_arch de la descomposición, no un fallo de la medida. Honesto: la predicción acierta el centro (error mediano ~22% en Fase A), no el valor exacto.
45.4 Datos abiertos para reproducir (o refutar)
- El atlas γ (γ medido en 42 modelos de 4 familias) y los experimentos within-model (θ-rescale, γ⊥sumidero) están publicados como datos abiertos junto al Paper I (Zenodo 20314038) — descargables, reproducibles, criticables.
- El panel de modelos y el aparato de la herramienta están en abierto en
github.com/karlesmarin/tafagent-registryygithub.com/karlesmarin/lean-taf(pruebas formales). (Los conjuntos en Hugging Face existen para reproducción; comprueba el handle exacto del repositorio antes de enlazarlos.)
Medir γ y su R² valida la forma \(A(d)\propto d^{-\gamma}\) como descripción (sólida: R²>0,95 en 30+ modelos). No valida por sí solo las afirmaciones derivadas de γ que aún están abiertas —la ventana D_f (🟡 sin benchmark) o el headroom de contexto (🟡, avenue-2 crasheó)—. Reproduce la medida; trata lo derivado con su etiqueta (R1, Cap. 38).
Si no quieres montar el pipeline, tafagent hace los pasos 1-4 por ti desde un model id o config.json: te da γ_observado (de pesos reales), γ_Padé (predicho), el R², el régimen y el horizonte. Es la versión “un clic” de esta receta; el manual completo está en R9.
Siguiente referencia (R9): el manual de tafagent —los 7 modos, el Anti-Bullshit Pack, las recetas y la TAF Card—.