Como o vetor final de um modelo vira uma palavra — e como lemos a mente dele.

SRC·48 Source
A última jogada do modelo é aquela que nunca observamos.

A última jogada do modelo é aquela que nunca observamos.

Percorra uma rede inteira e cada palavra termina como um único vetor — um só ponto. A jogada final transforma esse ponto num palpite confiante sobre cada palavra que ele conhece. Raramente olhamos. Mas essa jogada pode ser lida não só no topo, mas em cada andar da subida — e é aí que o pensamento de um modelo vira algo que você consegue de fato ver.
Um vetor, aberto em leque numa pontuação para cada palavra.

Um vetor, aberto em leque numa pontuação para cada palavra.

z=WUx,WURV×dzi=wi,x=wixcosθiz = W_U\,x,\quad W_U \in \mathbb{R}^{V\times d}\qquad z_i = \langle w_i,\, x\rangle = \lVert w_i\rVert\,\lVert x\rVert\cos\theta_i
Pegue esse vetor final e multiplique pela unembedding — uma tabela enorme com uma linha por palavra. Cai um número, um logit, para cada palavra. Cada linha é, ela mesma, uma direção no mesmo espaço, então a pontuação de uma palavra é o quanto o vetor aponta para ela. Como uma bússola num círculo de placas: vence a placa para a qual a agulha aponta em cheio. Depois o softmax, como sempre, transforma as pontuações em probabilidades.
Muitas vezes a mesma tabela lê palavras na entrada e as nomeia na saída.

Muitas vezes a mesma tabela lê palavras na entrada e as nomeia na saída.

WU=Ezi=ei,xW_U = E^{\top}\quad\Rightarrow\quad z_i = \langle e_i,\, x\rangle
De onde vem essa tabela? Muitos modelos simplesmente reaproveitam o dicionário de entrada — a mesma matriz que transformou cada palavra num vetor, agora usada ao contrário para pontuar uma. Assim, o logit de uma palavra é o quanto o vetor final se parece com o embedding daquela palavra. Uma tabela, os dois sentidos. Como uma chave que tranca e destranca: faz o sentido entrar e o escreve de volta. (Nem todo modelo as amarra — alguns mantêm duas.)
Aponte esse leitor para cada andar, não só para o topo.

Aponte esse leitor para cada andar, não só para o topo.

p()=softmax ⁣(WULN ⁣(x()))p^{(\ell)} = \mathrm{softmax}\!\left(W_U\,\mathrm{LN}\!\left(x^{(\ell)}\right)\right)
Aqui está o truque. Cada camada escreve no mesmo vetor compartilhado, na mesma língua — então o leitor feito para o topo funciona em qualquer andar. Aplique a unembedding ao vetor no meio do caminho e você obtém o palpite provisório do modelo naquela profundidade. Como um elevador de vidro: leia cada andar pela parede enquanto sobe. Essa espiada em cada camada é a logit lens.
Passe a lente e a resposta aparece cedo.

Passe a lente e a resposta aparece cedo.

Observe os rascunhos e algo impressionante aparece: a palavra final muitas vezes se fixa bem antes do topo. Os andares do meio se decidem por ela; os de cima sobretudo a deixam mais segura, não diferente. O pensamento termina cedo; o resto é polimento. Como uma foto instantânea se revelando: a imagem já dá para ler muito antes de ficar totalmente nítida. (É o padrão comum, não uma lei — tokens difíceis brigam até o fim.)
A lente trapaceia um pouco. Então lapidamos uma mais nítida.

A lente trapaceia um pouco. Então lapidamos uma mais nítida.

p()=softmax ⁣(WU(Ax()+b))p^{(\ell)} = \mathrm{softmax}\!\left(W_U\left(A_\ell\,x^{(\ell)} + b_\ell\right)\right)
Um porém: o truque presume que cada andar já fala a língua do topo. Os primeiros andares não falam, então seus rascunhos podem soar como bobagem. A correção aprende um minúsculo tradutor por andar — um pequeno girar-e-deslocar que reescreve cada vetor na língua final antes de lê-lo. Como os óculos errados e depois o grau certo: a mesma página, de repente em foco. Isto é a tuned lens.
O último passo não é uma nota de rodapé. É uma janela.

O último passo não é uma nota de rodapé. É uma janela.

=min{:maxipi()τ}\ell^{*} = \min\left\{\ell : \max_i\, p^{(\ell)}_i \ge \tau\right\}
Então a projeção de saída é mais que encanamento. Aponte-a para dentro e o estado oculto de um modelo fica legível: você vê um fato aflorar, uma escolha endurecer, um passo em falso surgir. Dá até para descer antes — assim que um andar está seguro o bastante, pare de subir. Como um barco de fundo de vidro: leia as profundezas sem mergulhar. O mapa de saída era uma janela desde o começo.
Ele já sabia a palavra andares atrás. Então o que veio depois?

Ele já sabia a palavra andares atrás. Então o que veio depois?

Se a resposta já dá para ler na metade da subida, para que servem os andares de cima? Talvez não estejam achando a palavra — talvez estejam pesando as que ele não vai dizer, ponderando, conferindo, se contendo. Uma mente que decide cedo e mesmo assim continua subindo. 🌱 O resto da subida é o pensamento — ou a hesitação?
toque →deslize ↑ para maisdeslize ↓ para sair