Como um modelo lê o todo sem pesar cada palavra contra todas as outras.

SRC·32 Source
Ele pesa cada palavra contra todas as outras. Quase tudo se desperdiça.

Ele pesa cada palavra contra todas as outras. Quase tudo se desperdiça.

Todo o truque da atenção é que cada palavra pode olhar para todas as outras. Lindo — e brutal. A conta cresce como o quadrado do comprimento: dobre o texto e quadruplica o trabalho. Como cabear uma cidade casa a casa: uma linha separada entre cada par, um céu cheio de cabos cruzados — e quase nenhum jamais usado. A grade está quase vazia. Então por que pagar por tudo?
Quase toda essa grade gigante não carrega nada.

Quase toda essa grade gigante não carrega 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)
Veja onde a atenção de uma palavra realmente cai: alguns vizinhos próximos e um punhado de âncoras distantes. O resto da linha é quase zero. Como as trilhas gastas num gramado: de todos os jeitos de atravessar, a multidão só desgasta alguns — os cantos ficam intocados. Dos vínculos possíveis, o peso real cabe numa faixa fina — e essa faixa, k⁄n, só encolhe conforme o texto cresce. Então quais pares dá para pular com segurança?
Primeira saída: olhe só para os seus vizinhos.

Primeira saída: olhe só para os seus vizinhos.

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
O corte mais simples: deixe cada palavra atender só a uma janela de palavras próximas — as últimas w, não todas as n. O custo cai de um quadrado para uma reta. Como a ola num estádio: cada pessoa olha só para as duas ao lado, e mesmo assim a onda varre a arquibancada inteira. Empilhe algumas camadas e o alcance se espalha — depois de L delas, a visão de uma palavra cresce para cerca de L·w.
Mas palavras distantes ainda precisam se encontrar.

Mas palavras distantes ainda precisam se encontrar.

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}
Só-vizinhos cortaria todo fio longo. O conserto: manter algumas âncoras globais — tokens que veem todo mundo e que todo mundo vê. Agora duas palavras distantes se ligam por uma âncora em dois saltos curtos. Como um aeroporto de conexão: cidadezinhas não voam para todas as outras — passe-as por um par de hubs e qualquer lugar alcança qualquer lugar. A grade segue quase vazia; o todo continua conversando.
A saída mais ousada: nunca construir a grade.

A saída mais ousada: nunca construir a grade.

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)
A atenção esparsa ainda desenha uma grade fina. A atenção linear se recusa a desenhar uma. Troque a exponencial do softmax por um mapa de características simples, e a ordem da multiplicação se solta: em vez de consultas-vezes-chaves primeiro, dobre todas as chaves e valores num pequeno resumo acumulado, e deixe cada consulta lê-lo. Como a confluência de um rio: em vez de cada cidade canalizar para cada nascente, todas as nascentes alimentam um rio e cada cidade apenas bebe dele. O quadrado vira reta.
Mas aqui está a pegadinha honesta.

Mas aqui está a pegadinha 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 disso é de graça. A atenção esparsa aposta que os pares que descartou não importavam; a atenção linear troca o holofote nítido do softmax por um borrão mais suave. Ambas devolvem uma resposta um pouco diferente da versão completa — uma aproximação, não uma cópia. Como estimar um rebanho de relance: uma varredura do olho dá uma contagem rápida e próxima — mas é uma estimativa, não a conta cabeça por cabeça. O pico da exponencial não cabe exato num mapa pequeno e fixo; já as acelerações exatas só movem menos memória e nunca mudam a resposta.
A recompensa: o comprimento deixa de ser um muro.

A recompensa: o comprimento deixa de ser um 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
Faça a conta. A fatura cheia crescia como o quadrado; agora cresce como uma reta. Dobre o texto e você dobra o trabalho — não quadruplica. Como postes ao longo de uma estrada: acrescente um quilômetro, acrescente mais alguns postes — o custo sobe um passo regular de cada vez, então a estrada pode seguir até o horizonte. Essa reta é o que finalmente torna viável um contexto muito longo — livros inteiros, horas de conversa.
🌱 O que uma mente poderia ignorar com segurança — e ainda assim entender?

🌱 O que uma mente poderia ignorar com segurança — e ainda assim entender?

Você não pesa cada palavra desta frase contra todas as outras. Você se apoia nas poucas que importam e deixa o resto borrar — e ainda assim apreende o todo. Como uma janela ao amanhecer: só a serra mais próxima está nítida, as cordilheiras distantes se dissolvem na bruma, e ainda assim você abarca o vale inteiro. Talvez a grade completa nunca tenha sido o ponto. Talvez entender sempre tenha sido, sobretudo, local — com alguns fios longos lançados pela escuridão.
toque →deslize ↑ para maisdeslize ↓ para sair