19  Taxonomía de mecanismos de atención

Dónde estamos. Hasta ahora hemos hablado de la atención densa (cada token con todos). Pero su coste O(n²) ha generado toda una familia de variantes para abaratar el cómputo o la memoria. Este capítulo es el mapa comparativo —clásicos y lo más reciente de 2024-2026— con algo que casi nadie dice claro: qué ganó de verdad y qué se quedó en el intento. Es la referencia para no perderte entre siglas.

19.1 La idea en una frase

Casi todas las variantes de atención atacan uno de dos costes —el cómputo O(n²) o la memoria del KV-cache O(n)—, y conviene saber cuál ataca cada una y a qué precio.

19.2 Conceptos clave y su papel en el transformer

Antes de entrar en el mapa, definimos las siglas y familias de este capítulo y para qué sirve cada una dentro de un transformer:

  • Atención densa (full attention). Definición: cada token se compara con todos los demás, coste O(n²). En el transformer: es la atención original; el patrón de referencia que todas las variantes intentan abaratar sin perder calidad.
  • Atención dispersa (sparse). Definición: cada token atiende solo a un subconjunto de los demás (ventana local, posiciones espaciadas, unos globales). En el transformer: recorta el cómputo, pero puede perder dependencias fuera del patrón; puede ser fija (a mano) o entrenable (NSA).
  • Atención lineal / kernelizada. Definición: reescribe softmax(QKᵀ)V como φ(Q)(φ(K)ᵀV) para evitar la matriz n×n → coste O(n). En el transformer: cambia exactitud por velocidad; a escala no ha destronado a la densa.
  • GQA / MQA / MLA. Definición: esquemas que almacenan menos claves/valores distintos (grupos comparten K/V, una sola K/V, o una caché latente comprimida). En el transformer: atacan la memoria del KV-cache, no el cómputo; siguen siendo atención completa y exacta.
  • FlashAttention. Definición: algoritmo que calcula la atención exacta sin materializar nunca la matriz n×n (la trocea y recomputa). En el transformer: misma atención, mejor calculada; es el motor que entrena hoy casi todo.
  • KV-cache. Definición: la memoria que guarda las claves y valores ya calculados para no recomputarlos al generar. En el transformer: crece O(n) con el contexto y es el cuello de botella que GQA/MLA buscan aliviar (Cap. 20).
  • SSM / Mamba. Definición: modelos de espacio de estados con recurrencia en tiempo lineal, sin matriz de atención. En el transformer: no son “atención barata” sino otra familia; ganan terreno sobre todo como híbridos (Jamba).
  • Exacta vs. aproximada. Definición: una variante exacta da el mismo resultado que la densa; una aproximada sacrifica algo de fidelidad. En el transformer: es el eje que decide si una técnica “regala” calidad o no —el matiz que más se confunde—.

Con el vocabulario fijado, vamos al problema que todas atacan y luego al mapa comparativo.

19.3 El problema de fondo

La atención densa compara cada token con todos: O(n²) en tiempo y memoria. Y en generación, la caché KV crece O(n) (Cap. 12). Doblar el contexto cuadruplica el cómputo de atención y duplica la memoria de caché. Todo lo que sigue ataca uno de esos dos frentes.

19.4 Las familias

1. Dispersa con patrón fijo (aproximada). Cada token atiende solo a un subconjunto predefinido: ventana local, posiciones espaciadas, unos pocos tokens globales. Barata, pero puede perder dependencias fuera del patrón. Ejemplos: Sparse Transformer (Child et al. 2019), Longformer (ventana + global, Beltagy et al. 2020), BigBird (Zaheer et al. 2020), y la ventana deslizante de Mistral (el receptivo crece con la profundidad).

2. Lineal / kernelizada — O(n) (aproximada). Reescriben softmax(QKᵀ)V como φ(Q)(φ(K)ᵀV), evitando la matriz n×n → coste lineal. Linear Transformers (Katharopoulos et al. 2020), Performer (Choromanski et al. 2021). Cambian exactitud por velocidad.

3. Bajo rango (aproximada). Linformer (Wang et al. 2020) proyecta K y V a una dimensión baja, asumiendo que la matriz de atención es de bajo rango → ≈O(n).

4. Compartición de cabezas — reduce la KV, no el cómputo (EXACTA). Mantienen atención completa, pero almacenan menos K/V distintos: MQA (una sola K/V, Shazeer 2019), GQA (grupos comparten K/V; estándar en Llama-2/3), y MLA (DeepSeek-AI 2024) que comprime la caché KV en un vector latente (~93% menos memoria).

5. Exacta pero eficiente — FlashAttention. Aquí va el matiz más importante del capítulo. FlashAttention (Dao et al. 2022; Dao 2023; Shah et al. 2024) calcula la atención exacta —idéntica bit a bit a la densa, sin aproximar— pero nunca materializa la matriz n×n en memoria: la trocea (tiling) y la recomputa, aprovechando la jerarquía de memoria de la GPU. Es el motor que usa hoy casi todo el entrenamiento.

6. Reciente (2025): dispersión entrenable. Native Sparse Attention (NSA) (Yuan y (DeepSeek) 2025): en vez de un patrón fijo a mano, la dispersión se aprende de extremo a extremo y se alinea al hardware. Promete igualar a full attention con gran aceleración en contexto largo.

7. Más allá de la atención. Mamba (Gu y Dao 2023): un modelo de espacio de estados con recurrencia en tiempo lineal, sin atención. Jamba (Lieber y (AI21) 2024): híbrido que intercala capas Transformer y Mamba. RetNet, RWKV: alternativas tipo RNN-lineal.

19.5 La tabla

Tabla 19.1: Mecanismos de atención y alternativas
Mecanismo Idea Coste vs O(n²) Exacta/Aprox. Usado en
Full attention todos con todos O(n²) Exacta Transformer original
Sparse Transformer patrón fijo/strided O(n√n) Aprox. GPT-3 (capas)
Longformer ventana + global O(n·w) Aprox. documentos largos
BigBird random+ventana+global O(n) Aprox. QA largo
Sliding-Window ventana local por capa O(n·w) Aprox. Mistral
Linear / Performer kernel φ(Q)(φ(K)ᵀV) O(n) Aprox. investigación
Linformer proyección bajo rango O(n·k) Aprox. investigación
MQA 1 cabeza K/V O(n²), ↓KV Exacta PaLM
GQA grupos K/V O(n²), ↓KV Exacta Llama-2/3
MLA KV latente comprimida O(n²), ↓↓KV (~93%) Exacta DeepSeek-V2
FlashAttention tiling, sin matriz n×n O(n²) cómputo, O(n) memoria Exacta casi todo el entrenamiento
NSA (2025) sparse jerárquica entrenable sub-O(n²) Aprox. (entrenada) DeepSeek
Mamba SSM recurrente O(n) sin atención Mamba, híbridos
Jamba Transformer+Mamba+MoE mixto mixto Jamba

(Notación de la tabla: n = longitud de la secuencia; w = tamaño de la ventana local; k = dimensión reducida de la proyección; φ = la “función de kernel” que reescribe la atención.)

19.6 El veredicto honesto: qué ganó de verdad

Tras años de variantes, lo que realmente domina sorprende por lo poco exótico:

  • FlashAttention (exacta, eficiente) domina el entrenamiento. No sacrifica nada de calidad: es la misma atención, mejor calculada.
  • GQA y MLA dominan la reducción de KV en inferencia —atacan la memoria, no el cómputo—.
  • La ventana deslizante sobrevive en algunos modelos de producción (Mistral).
  • Las aproximaciones lineales y dispersas clásicas (Performer, Linformer…) NO destronaron a la atención completa en la frontera, pese a años de intentos: la pérdida de calidad no compensa a escala.
  • El retador más serio son los SSM/Mamba, y casi siempre ganan terreno como híbridos (Jamba), no como reemplazo puro.
  • NSA (2025) es la apuesta por dispersión entrenable; prometedora, pero la evidencia es del propio equipo y falta validación independiente amplia (honesto).
Advertencia⚠ Cinco confusiones a evitar
  1. FlashAttention es EXACTA, no aproximada — solo reorganiza el cómputo en memoria. (El error más común del capítulo.)
  2. GQA/MQA/MLA reducen la caché KV, NO el cómputo O(n²) — siguen siendo atención completa.
  3. “Lineal” no implica “mejor”: cambia exactitud por coste; a escala no ha ganado.
  4. Mamba no tiene matriz de atención — no es “atención barata”, es otra familia (recurrencia con estado).
  5. Dispersión fija (patrón a mano) ≠ dispersión entrenable (NSA, la tendencia de 2025).

19.7 Conexión con nuestra Parte II

Todo esto es la respuesta de ingeniería al problema que estudiamos: el coste de la atención a lo largo de la distancia. La reducción de KV (GQA/MLA) es justo donde nuestra ventana D_f (el número de tokens de KV que de verdad hace falta conservar, calculado a partir de γ) entra a jugar (Cap. 20): en vez de elegir el presupuesto de KV a ojo o por heurística, derivarlo del exponente de decaimiento.

Nota🧪 Pruébalo — tafagent

tafagent detecta si un modelo usa ventana deslizante (su η-régimen marca el caso SWA) y te calcula la memoria de KV a la longitud objetivo. Útil para anticipar el coste real antes de servir un modelo.

19.8 Resumen

  • Dos costes a atacar: cómputo O(n²) y memoria KV O(n).
  • Aproximadas (sparse fija, lineal, bajo rango): abaratan, pero pierden algo de calidad → no han ganado a escala.
  • Exactas que ahorran memoria: FlashAttention (cómputo, training) y GQA/MQA/MLA (KV, inferencia) — esto es lo que domina hoy.
  • Mamba/SSM es el retador serio, sobre todo como híbrido (Jamba); NSA (2025) apuesta por dispersión entrenable (con validación aún pendiente).
  • Ojo: FlashAttention es exacta; GQA reduce KV, no cómputo; “lineal” ≠ mejor; Mamba es otra familia.

Siguiente (Capítulo 19): uno de los usos estrella de toda esta teoría — extender el contexto de un modelo más allá de su longitud de entrenamiento (NTK/YaRN y la regla basada en γ).

19.9 Ejercicios

  1. Exacta vs aproximada. ¿Por qué FlashAttention no aparece como “aproximada” en la tabla, si es “eficiente”? ¿Qué reorganiza exactamente?
  2. KV vs cómputo. Un compañero dice “usamos GQA para bajar el coste O(n²)”. Corrígele: ¿qué reduce GQA en realidad?
  3. Qué ganó. ¿Por qué crees que las atenciones lineales, más baratas en teoría, no sustituyeron a la atención completa a escala?
  4. Otra familia. ¿En qué se diferencia Mamba de una “atención más barata”?

Referencias

Beltagy, Iz, Matthew E. Peters, y Arman Cohan. 2020. Longformer: The Long-Document Transformer. https://arxiv.org/abs/2004.05150.
Child, Rewon, Scott Gray, Alec Radford, y Ilya Sutskever. 2019. Generating Long Sequences with Sparse Transformers. https://arxiv.org/abs/1904.10509.
Choromanski, Krzysztof et al. 2021. «Rethinking Attention with Performers». ICLR. https://arxiv.org/abs/2009.14794.
Dao, Tri. 2023. FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning. https://arxiv.org/abs/2307.08691.
Dao, Tri, Daniel Y. Fu, Stefano Ermon, Atri Rudra, y Christopher Ré. 2022. «FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness». NeurIPS. https://arxiv.org/abs/2205.14135.
DeepSeek-AI. 2024. DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model. https://arxiv.org/abs/2405.04434.
Gu, Albert, y Tri Dao. 2023. Mamba: Linear-Time Sequence Modeling with Selective State Spaces. https://arxiv.org/abs/2312.00752.
Katharopoulos, Angelos, Apoorv Vyas, Nikolaos Pappas, y François Fleuret. 2020. «Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention». ICML. https://arxiv.org/abs/2006.16236.
Lieber, Opher, y others (AI21). 2024. Jamba: A Hybrid Transformer-Mamba Language Model. https://arxiv.org/abs/2403.19887.
Shah, Jay et al. 2024. FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision. https://arxiv.org/abs/2407.08608.
Shazeer, Noam. 2019. Fast Transformer Decoding: One Write-Head is All You Need. https://arxiv.org/abs/1911.02150.
Wang, Sinong, Belinda Z. Li, Madian Khabsa, Han Fang, y Hao Ma. 2020. Linformer: Self-Attention with Linear Complexity. https://arxiv.org/abs/2006.04768.
Yuan, Jingyang, y others (DeepSeek). 2025. Native Sparse Attention: Hardware-Aligned and Natively Trainable Sparse Attention. https://arxiv.org/abs/2502.11089.
Zaheer, Manzil et al. 2020. «Big Bird: Transformers for Longer Sequences». NeurIPS. https://arxiv.org/abs/2007.14062.