La atención original ("Attention is all you need") fue revolucionaria, pero arrastra dos límites serios. Casi toda la investigación reciente gira en torno a resolverlos.
En la atención, cada token se compara con todos los demás. Con N tokens, eso son N × N comparaciones: si doblas el texto, el coste se cuadruplica.
N = 4 → comparaciones ≈ 16
Por eso un contexto de 1 millón de tokens se vuelve carísimo: el cuello de botella es la atención.
Para generar cada palabra, el modelo guarda en memoria las claves y valores de todos los tokens anteriores — la caché KV.
Cuanto más largo el contexto, más crece esa caché. En conversaciones muy largas puede ocupar más memoria que el propio modelo.
Aunque quepa todo, el modelo no atiende por igual: se fija mucho en el principio y el final del contexto, y "pierde" lo que está en el medio (una curva en forma de U).
Coloca un dato clave en el contexto y mira cómo varía cuánto lo recuerda:
Recuerdo del dato: 96% · Al principio: lo recuerda casi perfecto.
La gran familia de trucos: en vez de que cada "cabeza" de atención guarde su propia clave/valor, compartirlas o comprimirlas. Pulsa cada modo:
Caché KV (relativa): 100%
MHA · cada cabeza tiene su propia clave/valor. Máxima calidad, máxima memoria.
No cambia las matemáticas (es exacta, no una aproximación). Cambia cómo usa la memoria de la GPU: calcula por bloques en la memoria rápida y evita ir y volver mil veces a la lenta.
Si cada token solo atiende a una ventana de vecinos (sliding window) o a un subconjunto elegido (atención dispersa), el coste deja de ser cuadrático.
El riesgo: si recortas mal, pierdes información relevante que estaba lejos. La investigación actual (p. ej. DeepSeek Sparse Attention) elige qué mirar de forma inteligente.
Otra vía: reformular la atención matemáticamente para que el coste crezca en línea recta con la longitud, no al cuadrado.
Familias como RWKV o Gated DeltaNet persiguen esto: rendimiento parecido al Transformer, pero escalando mucho mejor en textos largos.
Los modelos de espacio de estados (Mamba, Gu & Dao, 2023) no guardan todos los tokens: mantienen un estado fijo que se va actualizando, como un resumen vivo. Coste lineal y memoria constante.
Guarda cada token → la caché crece y crece.
Un resumen de tamaño fijo que se actualiza.
El truco tiene precio: al comprimir todo en un estado, puede perder algo de recall exacto que la atención sí conserva.
La apuesta actual son los híbridos: muchas capas Mamba (baratas, para el grueso) intercaladas con unas pocas capas de atención (para el recall preciso), a menudo con MoE encima.