48 R5 · Manual de tafagent
Qué es. El manual de tafagent, la herramienta de diagnóstico del navegador que acompaña a este libro. Aquí están sus modos, qué métricas calcula, las recetas y cómo leer sus veredictos. Lo importante de entrada, sin malentendidos: tafagent NO dibuja mapas de atención —es un diagnóstico que PREDICE métricas desde la config del modelo—. Para ver mapas, usa BertViz o Transformer Explainer; para medir/predecir γ, horizonte, régimen y KV, usa tafagent.
48.1 Qué es y qué no es
- Es: una herramienta en el navegador (cero instalación, cero GPU, sin telemetría) que predice la viabilidad práctica de un LLM antes de gastar GPU/€: contexto largo real, degradación por cuantización, plantilla de chat, errores de config.
- No es: un visor de mapas de atención, ni un servicio que ejecute el modelo. Lo que ves son predicciones deterministas (calculadas con Pyodide) más una capa de lenguaje natural.
- Entrada: un HF model id o un
config.json(lee θ, T_train, cabezas…); tú fijas T_eval (la longitud objetivo) y si el modelo usa ventana deslizante (SWA).
48.2 Las métricas que calcula
| Métrica | Qué dice | Cap. |
|---|---|---|
| γ_Padé | γ predicho desde la geometría (θ, T) | 15 |
| γ_observado | γ medido de pesos reales | 15 |
| d_horizon | horizonte de atención efectivo (hasta dónde atiende de verdad) | 15, 19 |
| η (θ_eff_obs/θ_eff_Padé) | régimen: Normal / Fraude / Comprimido / Over-Padé / SWA | R1 |
| KV memory | memoria de caché a la longitud L | 20, 36 |
| L_NIAH | techo estimado needle-in-haystack | 19 |
| Δγ | sonda de fase de cabezas de inducción | 24, 30 |
| ΔPPL | shift de perplejidad por cuantización | 35 |
| Fase A / Fase B | γ<1 (global) vs γ>1 (colapso local) | 21 |
48.3 Cómo se organiza: cinco preguntas, no una lista de modos
La portada agrupa las herramientas por lo que quieres hacer (los modos crecen con cada versión; la lista siempre actual está en el manual 📘 de la propia app):
- 🔬 “¿Me sirve este modelo?” — Profile (pega un id → la TAF Card completa, el modo de partida), Fit Check, Unmask, Memory Reality, NIAH→Reason, LongScore, Quant, YaRN Planner, GGUF Bridge, Launch Flags, Inspect config…
- ✓ “¿Me creo este número?” — Contamination, Drift, Arena CI, Saturation.
- ⚙️ “Montar bien una eval” — Chat-template Sniffer, Diagnose CLI, JSON CoT, PEFT Lint, Cache Diff, Spec-Decode, Token Tax.
- 🆚 “Comparar modelos” — Compare (2-3 modelos, misma receta) y el diagrama de fases interactivo (el atlas en vivo).
- 📋 “Manual / a mi aire” — Pick recipe (una X-* concreta) y Ask (pregunta en lenguaje natural; la resuelve un LLM pequeño in-browser).
Destacado reciente — 💾 Fit Check (“¿me cabe?”): modelo + precisión + GPU + contexto → el presupuesto completo de VRAM (pesos + caché KV + scratch), por qué no cabe si no cabe (¿pesos o KV?), el contexto máximo que sí cabe, y el rescate más barato. Responde la pregunta más repetida de los foros antes de descargar nada — y enseña de paso la lección del Cap. 21: a contexto largo, la caché KV puede pesar tanto como el modelo.
48.4 Demos guiadas y tu idioma
- Cada modo lleva un botón 🎬 Demo: una simulación guiada que teclea, pulsa y narra paso a paso, y termina con una tarjeta de “qué acabas de aprender”. Enlazables:
?demo=fitcheck,?demo=profile,?demo=yarn… — útiles para compartir o enseñar. - Cuatro idiomas de punta a punta (EN/ES/FR/ZH): desde la v0.12 no solo los menús — también las demos, los veredictos de las recetas y sus explicaciones siguen el idioma del navegador.
48.5 El Anti-Bullshit Pack
Diagnósticos que atacan el “humo” de las fichas de modelo: Context Unmasker (contexto largo real vs anunciado), Chat-template Sniffer, Quant-regime Classifier, Multilingual Tokenizer Tax (tokeniza texto real en 6 tokenizadores → cuánto “cuesta” tu idioma), Contamination Prior, LongScore (RULER+HELMET), PEFT Anti-Pattern, Spec-Decode, y extensión: planificador YaRN/RoPE, GGUF Bridge, Launch-Flag Generator.
48.6 Las recetas (8 core)
| Receta | Para qué | Cap. |
|---|---|---|
| X-1 | custom vs API | 25, 36 |
| X-2 | viabilidad de contexto largo | 19 |
| X-3 | pre-flight de presupuesto | 25 |
| X-5 | hardware | 36 |
| X-19 | compresión de KV (soft-decay/cutoff) | 20 |
| X-21 | huella de entrenamiento en γ (γ_train) — ⚠ descriptiva; no la identidad ν, refutada en datos (Cap. 38) | 15 |
| X-22 | invariante cómputo-contexto | 34 |
| X-23 | detector de fase de cabezas de inducción | 24, 30 |
48.7 Cómo leer la salida: la TAF Card
El resultado se resume en una TAF Card con veredictos ✅ / ⚠ / ❌ por dimensión (contexto, cuantización, plantilla, régimen). Y hay un dashboard de falsación (F1-F23): no solo te da números, sino que somete las afirmaciones a prueba —la misma filosofía del Cap. 38—.
Un flujo típico: Profile (pega el id) → lee el veredicto de la TAF Card → si algo sale ⚠/❌, abre el diagnóstico concreto (p. ej. Context Unmasker o Quant-regime) → usa la receta correspondiente (X-2 contexto, X-19 KV) para decidir.
48.8 Verificación (los recibos)
- Pyodide para las matemáticas (deterministas), WebLLM para el lenguaje natural, transformers.js para el tokenizador.
- Verificación Lean+Mathlib: 15 identidades probadas formalmente (
github.com/karlesmarin/lean-taf). - Panel de 23 modelos abierto (
github.com/karlesmarin/tafagent-registry). Es el registro de la herramienta (config + predicciones contrastadas), no el atlas γ del Cap. 16 —ese son 42 modelos y 79 medidas de atención real—.
Muchas salidas (γ_Padé, horizonte estimado, KV a longitud L) son predicciones desde la config —rápidas y útiles para decidir antes de gastar GPU—, no medidas sobre la atención real. Cuando tengas el modelo, contrasta con γ_observado (medido) y con tu propia medición (R4). Y recuerda los límites del libro: D_f y el headroom de contexto son 🟡 reglas no validadas del todo (R1).
Siguiente referencia (R6): las soluciones orientativas de los ejercicios de cada capítulo.