Cómo un modelo lee el todo sin sopesar cada palabra contra todas las demás.

SRC·32 Source
Sopesa cada palabra contra todas las demás. Casi todo se desperdicia.

Sopesa cada palabra contra todas las demás. Casi todo se desperdicia.

Todo el truco de la atención es que cada palabra puede mirar a todas las demás. Hermoso — y brutal. La cuenta crece como el cuadrado de la longitud: duplica el texto y cuadruplicas el trabajo. Como cablear un pueblo casa por casa: una línea aparte entre cada par, un cielo lleno de cables cruzados — y casi ninguno se usa jamás. La cuadrícula está casi vacía. ¿Por qué pagar por toda ella?
Casi toda esa enorme cuadrícula no lleva nada.

Casi toda esa enorme cuadrícula no lleva nada.

cells=n2,usefulnk,nkn2=kn0  (kn)\text{cells}=n^2,\quad \text{useful}\approx n\,k,\quad \frac{n\,k}{n^2}=\frac{k}{n}\to 0\ \ (k\ll n)
Mira dónde aterriza de verdad la atención de una palabra: unos pocos vecinos cercanos y un puñado de anclas lejanas. El resto de la fila es casi cero. Como los senderos gastados sobre el césped: de todas las formas de cruzar, la gente solo desgasta unas pocas — las esquinas quedan intactas. De los enlaces posibles, el peso real cabe en una franja delgada — y esa franja, k⁄n, solo se encoge a medida que el texto crece. ¿Qué pares podemos saltarnos sin riesgo?
Primera salida: mira solo a tus vecinos.

Primera salida: mira solo a tus vecinos.

Attn(qi)=softmax ⁣(qiKiw:id)Viw:i  (cost O(nw)),reach after L layersLw\text{Attn}(q_i)=\operatorname{softmax}\!\Big(\tfrac{q_i K_{i-w:i}^{\top}}{\sqrt d}\Big)V_{i-w:i}\ \ (\text{cost }O(nw)),\qquad \text{reach after }L\text{ layers}\approx L\,w
El recorte más simple: que cada palabra atienda solo a una ventana de palabras cercanas — las últimas w, no las n enteras. El coste baja de un cuadrado a una recta. Como la ola en un estadio: cada persona mira solo a las dos de al lado, y aun así la ola recorre toda la grada. Apila unas capas y el alcance se extiende — tras L de ellas, la vista de una palabra crece hasta unos L·w.
Pero las palabras lejanas todavía deben encontrarse.

Pero las palabras lejanas todavía deben encontrarse.

cost=O ⁣(n(w+g)),gn;any pair connects in 2 hops via a global token\text{cost}=O\!\big(n(w+g)\big),\quad g\ll n;\qquad \text{any pair connects in }\le 2\text{ hops via a global token}
Solo-vecinos cortaría todo hilo largo. El arreglo: conserva unas pocas anclas globales — tokens que ven a todos y a los que todos ven. Ahora dos palabras lejanas se conectan a través de un ancla en dos saltos cortos. Como un aeropuerto de conexión: los pueblos pequeños no vuelan a todos los demás — pásalos por un par de centros y cualquier sitio llega a cualquier sitio. La cuadrícula sigue casi vacía; el todo sigue hablando.
La salida más audaz: no construir nunca la cuadrícula.

La salida más audaz: no construir nunca la cuadrícula.

Attn(qi)=ϕ(qi)jϕ(kj)vjϕ(qi)jϕ(kj),(QK)V: O(n2d)  Q(KV): O(nd2)\operatorname{Attn}(q_i)=\dfrac{\phi(q_i)^{\top}\sum_j \phi(k_j)\,v_j^{\top}}{\phi(q_i)^{\top}\sum_j \phi(k_j)}\,,\qquad (QK^{\top})V:\ O(n^2d)\ \to\ Q(K^{\top}V):\ O(nd^2)
La atención dispersa aún dibuja una cuadrícula delgada. La atención lineal se niega a dibujarla. Cambia la exponencial de softmax por un mapa de características sencillo, y el orden de la multiplicación se libera: en vez de consultas-por-claves primero, pliega todas las claves y valores en un pequeño resumen acumulado, y deja que cada consulta lo lea. Como la confluencia de un río: en lugar de que cada pueblo canalice hacia cada manantial, todos los manantiales alimentan un río y cada pueblo simplemente bebe de él. El cuadrado se vuelve recta.
Pero aquí está la trampa honesta.

Pero aquí está la trampa honesta.

exp ⁣(qk/d)    ϕ(q)ϕ(k)olinosoftmax(exact: o=oexact)\exp\!\big(q^{\top}k/\sqrt d\big)\;\approx\;\phi(q)^{\top}\phi(k)\quad\Rightarrow\quad o_{\text{lin}}\neq o_{\text{softmax}}\quad(\text{exact: }o=o_{\text{exact}})
Nada de esto es gratis. La atención dispersa apuesta a que los pares que descartó no importaban; la atención lineal cambia el foco nítido de softmax por un desenfoque más suave. Ambas devuelven una respuesta algo distinta de la versión completa — una aproximación, no una copia exacta. Como contar un rebaño de un vistazo: un barrido del ojo da un conteo rápido y cercano — pero es una estimación, no el recuento cabeza por cabeza. El pico de la exponencial no cabe exacto en un mapa pequeño y fijo; las aceleraciones exactas, en cambio, solo mueven menos memoria y nunca cambian la respuesta.
La recompensa: la longitud deja de ser un muro.

La recompensa: la longitud deja de ser un muro.

O(n2d)  O(nwd)sparse or O(nd2)linear,cost(2n)cost(n)=2O(n^2d)\ \longrightarrow\ \underbrace{O(nwd)}_{\text{sparse}}\ \text{or}\ \underbrace{O(nd^2)}_{\text{linear}},\qquad \frac{\text{cost}(2n)}{\text{cost}(n)}=2
Haz la cuenta. La factura completa crecía como el cuadrado; ahora crece como una recta. Duplica el texto y duplicas el trabajo — no lo cuadruplicas. Como farolas a lo largo de una carretera: añade un kilómetro, añade unas pocas farolas — el coste sube de un paso parejo cada vez, así la carretera puede llegar al horizonte. Esa recta es lo que por fin hace asequible un contexto larguísimo — libros enteros, horas de charla.
🌱 ¿Qué podría ignorar una mente sin riesgo — y aun así entender?

🌱 ¿Qué podría ignorar una mente sin riesgo — y aun así entender?

No sopesas cada palabra de esta frase contra todas las demás. Te apoyas en las pocas que importan y dejas que el resto se difumine — y aun así captas el todo. Como una ventana al amanecer: solo la cresta más cercana está nítida, las cordilleras lejanas se disuelven en bruma, y aun así abarcas el valle entero. Quizá la cuadrícula completa nunca fue el punto. Quizá entender siempre fue, sobre todo, local — con unos pocos hilos largos lanzados a través de la oscuridad.
toca →desliza ↑ para másdesliza ↓ para salir