Linear Attention
La atención lineal sustituye softmax por un mapa de características para que el coste crezca linealmente con la longitud y la decodificación mantenga un estado de tamaño fijo. Abarca DeltaNet y los modelos híbridos.
La atención lineal es una familia de mecanismos de atención cuyo coste crece de forma lineal con la longitud de la secuencia, en lugar del coste cuadrático de la autoatención softmax estándar. La atención softmax puntúa cada consulta frente a cada clave, por lo que N tokens producen una matriz de puntuaciones N × N por cabeza, y un Transformer que genera texto mantiene una caché KV que crece con cada token. La atención lineal sustituye la similitud softmax por un producto escalar de mapas de características, φ(q)·φ(k), lo que permite al modelo reagrupar los productos matriciales y resumir todas las claves y valores anteriores en un estado de tamaño fijo. Un artículo de 2020 de Katharopoulos et al., Transformers are RNNs, dio al método su forma habitual, y ahora hay variantes con compuertas en modelos de lenguaje grandes (LLM) de producción, junto con capas de atención estándar.
Cómo funciona la atención lineal#
La atención softmax calcula softmax(QKᵀ)V y, como exp(q·k) no se puede factorizar en una parte de consulta y otra de clave, hay que puntuar cada pareja de consulta y clave. Con un mapa de características φ, como elu(x) + 1, la salida pasa a ser φ(Q)(φ(K)ᵀV), normalizada por φ(Q) multiplicado por la suma de las filas de φ(K). La multiplicación de matrices es asociativa, por lo que φ(K)ᵀV se puede calcular primero y da una matriz d × d, donde d es la dimensión de la cabeza, sea cual sea el número de tokens. El tiempo pasa de O(N²d) a O(Nd²), lo que resulta ventajoso cuando las secuencias son mucho más largas que la dimensión de la cabeza.
En los modelos causales, la misma álgebra convierte la atención en una red neuronal recurrente (RNN) con un estado matricial. Cada token nuevo añade al estado el producto exterior φ(k)vᵀ, y su consulta lee de ese estado; así, la generación de texto requiere memoria constante y tiempo constante por token. El entrenamiento usa la forma paralela o kernels por fragmentos, como los de la biblioteca flash-linear-attention, de modo que una GPU sigue procesando secuencias completas a la vez. En PyTorch, las dos formas producen los mismos resultados:
import torch
import torch.nn.functional as F
torch.manual_seed(0)
n, d = 2048, 64
q, k, v = torch.randn(3, n, d).unbind(0)
phi_q, phi_k = F.elu(q) + 1, F.elu(k) + 1 # positive feature map in place of softmax
# Parallel form: an n x n causal score matrix, as in softmax attention
scores = torch.tril(phi_q @ phi_k.T)
parallel = (scores @ v) / scores.sum(dim=-1, keepdim=True)
# Recurrent form: a fixed d x d state that each new token updates
state, norm, outputs = torch.zeros(d, d), torch.zeros(d), []
for t in range(n):
state += torch.outer(phi_k[t], v[t])
norm += phi_k[t]
outputs.append(phi_q[t] @ state / (phi_q[t] @ norm))
recurrent = torch.stack(outputs)
print("Same outputs:", torch.allclose(parallel, recurrent, atol=1e-4))
print(f"Recurrent state: {state.numel():,} numbers; KV cache after {n:,} tokens: {2 * n * d:,} numbers")Imprime Same outputs: True. El estado de 64 × 64 contiene 4096 números, por larga que sea la secuencia, mientras que la caché KV de una cabeza tras 2048 tokens contiene 262 144 números y crece en 128 con cada token nuevo.
DeltaNet, compuertas y modelos híbridos#
Un estado de tamaño fijo es una memoria con pérdidas. La atención lineal simple solo añade información, así que las asociaciones antiguas se acumulan e interfieren, y la recuperación de datos concretos de una ventana de contexto larga queda por detrás de la atención softmax. Ahora predominan dos soluciones. Las compuertas multiplican el estado por un factor de decaimiento aprendido antes de cada actualización, de modo que el modelo puede olvidar; es un mecanismo que comparte con los modelos de espacio de estados (SSM), como Mamba-2, cuyos autores demostraron que ambas familias son formas duales entre sí. La regla delta, surgida de trabajos que relacionan los Transformers lineales con los programadores de pesos rápidos, lee el valor almacenado actualmente para una clave y escribe solo la diferencia entre el valor nuevo y la predicción almacenada. DeltaNet hizo posible en 2024 entrenar en paralelo con la regla delta a lo largo de la secuencia; Gated DeltaNet (ICLR 2025) añadió una compuerta de decaimiento, y Kimi Linear de Moonshot AI perfecciona esa compuerta para que actúe por separado en cada canal.
Los modelos de producción intercalan estas capas con atención completa para que unas pocas capas softmax mantengan una recuperación exacta. Qwen3-Next y la familia Qwen3.5 repiten un bloque de tres capas Gated DeltaNet seguido de una capa de atención softmax con compuerta, y Kimi Linear usa una combinación 3:1 similar de Kimi Delta Attention y atención latente multi-cabeza:
Atención lineal frente a métodos relacionados#
- Autoatención: la forma softmax exacta que puntúa todos los pares de tokens, con tiempo cuadrático y una caché KV que crece con la secuencia.
- Atención flash: un kernel de GPU que calcula la atención softmax exacta en bloques almacenados en la memoria del chip. Reduce el tráfico de memoria, pero el número de operaciones sigue siendo cuadrático.
- Atención dispersa: conserva softmax y puntúa solo los pares seleccionados, como una franja local de tokens recientes.
- Atención de consultas agrupadas (GQA): comparte claves y valores entre cabezas de consulta para reducir la caché KV por un factor constante, manteniendo la atención softmax completa.
Dónde se usa la atención lineal#
Los modelos de lenguaje con contexto largo son el principal uso, porque las capas lineales de un modelo híbrido mantienen un estado de tamaño constante durante la decodificación y solo las pocas capas softmax conservan una caché KV creciente. La visión ocupa el segundo lugar, ya que el número de tokens aumenta con la resolución de la imagen. EfficientViT usa atención lineal basada en ReLU para la segmentación semántica de alta resolución, y la SANA de NVIDIA crea un Transformer de difusión lineal que genera imágenes de hasta 4096 × 4096 píxeles. En la detección de objetos, la atención suele ejecutarse solo donde los mapas de características son más pequeños. YOLO26 conserva la atención softmax estándar y solo la ejecuta en su bloque C2PSA y en un bloque C3k2 con atención activada, ambos sobre el mapa de características de paso 32 y 20 × 20 de una imagen de 640 píxeles; así, cada capa de atención procesa 400 tokens y una matriz completa de puntuaciones de 160 000 entradas por cabeza.










