Por que um modelo inunda sua primeira palavra com uma atenção que nunca lê.

SRC·46 Source
Ele inunda sua primeira palavra com uma atenção que nunca lê.

Ele inunda sua primeira palavra com uma atenção que nunca lê.

Observe para onde um modelo olha e você o flagrará despejando uma enxurrada de atenção sobre sua primeira palavra — uma palavra que quase nunca carrega nada. Não é uma falha. Como um para-raios: ele instala uma ponta inofensiva para receber o raio, e a tempestade passa sem destruir o resto. O modelo guarda um lugar para descartar a atenção de que não precisa.
O softmax precisa distribuir uma unidade inteira — mesmo para o nada.

O softmax precisa distribuir uma unidade inteira — mesmo para o nada.

αj=esjk=1tesk,j=1tαj=1,αj>0\alpha_j=\dfrac{e^{s_j}}{\sum_{k=1}^{t}e^{s_k}},\qquad \sum_{j=1}^{t}\alpha_j=1,\quad \alpha_j>0
A atenção passa pelo softmax, que transforma as pontuações brutas em pesos todos positivos que somam exatamente um. Então cada palavra precisa gastar uma unidade inteira de atenção nas palavras que enxerga — mesmo quando nenhuma importa. Como um regador que você precisa esvaziar por completo: até a última gota tem que cair em algum lugar, mesmo num solo já encharcado.
Então ele constrói um ralo para a atenção que não consegue usar.

Então ele constrói um ralo para a atenção que não consegue usar.

Se uma palavra precisa gastar uma unidade inteira mas não tem nada que valha a pena olhar, para onde vai o excedente? A saída do modelo: escolher um ponto e torná-lo um ralo. Como o ladrão de uma pia: ele escoa em silêncio o que a cuba não consegue conter, e nada transborda. Esse depósito é o sorvedouro de atenção — e é exatamente o que dá nome ao truque.
Qual palavra vira o ralo? Justamente a primeira.

Qual palavra vira o ralo? Justamente a primeira.

Vt={1,2,,t},t=1nVt={1}\mathcal{V}_t=\{1,2,\dots,t\},\qquad \bigcap_{t=1}^{n}\mathcal{V}_t=\{1\}
Por que a primeira palavra? Por causa de como um modelo lê — cada palavra só pode olhar para as palavras anteriores a ela. Isso faz do primeiro token a única chave que toda palavra seguinte sempre enxerga. Como o tronco único de uma árvore: siga qualquer galho para trás e você chega à mesma raiz. A primeira palavra é o único lugar que todas alcançam — o ralo natural.
Descartar ali é inofensivo — quase nada volta de lá.

Descartar ali é inofensivo — quase nada volta de lá.

ot=j=1tαtjvj,αt1 large,  v1 carries little  near no-opo_t=\sum_{j=1}^{t}\alpha_{tj}\,v_j,\qquad \alpha_{t1}\ \text{large},\ \ v_1\ \text{carries little}\ \Rightarrow\ \text{near no-op}
Por que toda essa atenção desperdiçada não corrompe a resposta? Porque a saída de uma palavra é uma mistura dos valores a que ela presta atenção — e o valor do sorvedouro quase não carrega sinal. Você despeja atenção e quase nada sai. Como uma parede de espuma de estúdio: grite para ela e nenhum eco retorna. O sorvedouro absorve o excedente e não muda nada.
Numa conversa longa, você nunca pode despejar o sorvedouro.

Numa conversa longa, você nunca pode despejar o sorvedouro.

{1,,k}sinks  {tw+1,,t}recent window(k4)\underbrace{\{1,\dots,k\}}_{\text{sinks}}\ \cup\ \underbrace{\{t-w+1,\dots,t\}}_{\text{recent window}}\qquad (k\approx 4)
Para manter a memória limitada, um modelo pode deslizar uma janela e esquecer suas palavras mais antigas. Mas esqueça o sorvedouro, e a saída desmorona em algo sem sentido. A cura é simples: sempre manter os primeiros tokens, mais a janela recente. Como a pedra angular de um arco: qualquer outra pedra pode ser trocada, mas tire aquela e o vão inteiro cai.
A correção mais limpa: deixar a atenção somar menos que um.

A correção mais limpa: deixar a atenção somar menos que um.

αj=esj1+kesk,jαj=kesk1+kesk<1\alpha_j=\dfrac{e^{s_j}}{1+\sum_{k}e^{s_k}},\qquad \sum_{j}\alpha_j=\dfrac{\sum_{k}e^{s_k}}{1+\sum_{k}e^{s_k}}<1
E se uma palavra pudesse simplesmente reter atenção? Adicione um único +1 ao denominador do softmax — uma vaga invisível com pontuação zero — e os pesos ficam livres para somar menos que um. Agora uma palavra pode não atender a nada sem inventar um ralo. Como um vertedouro ao lado de uma barragem: um canal feito de propósito para enviar o excedente, sem dano, a lugar nenhum.
Ele fez um lugar para o que não precisava. Isso era um defeito?

Ele fez um lugar para o que não precisava. Isso era um defeito?

Quase chamamos o sorvedouro de defeito — uma palavra afogada numa atenção que nunca lê. Mas era o modelo construindo, em silêncio, um lugar para pôr o nada, para que o resto continuasse limpo. 🌱 Quantos defeitos são, na verdade, uma mente abrindo espaço — deixando um vazio que significa apenas nenhum?
toque →deslize ↑ para maisdeslize ↓ para sair