A atenção é o coração dos transformers (BERT, GPT…). Cada token calcula, para todos os outros, o quanto deve «olhar» para eles ao construir a sua representação. Aqui vês isso: a matriz é token a token (cada linha soma 1) e os arcos mostram para onde olha o token que escolheres. Escreve a tua própria frase.
key
Query, Key e Value (Q/K/V)
Para decidir para quem olhar, de cada token saem três vetores: Query (Q, «o que procuro»), Key (K, «o que ofereço») e Value (V, «o que dou se olharem para mim»).
• O peso do token i sobre o j é o produto escalar da Query de i pela Key de j. • Divide-se por √dk (escalonamento, para que os números não disparem) e passa-se por softmax, que converte os pesos de cada linha em percentagens que somam 1. • Em resumo: A = softmax(Q·Kᵀ / √dk). Esta ferramenta desenha essa matriz A; um modelo real usaria esses pesos para misturar os Value.
diversity_2
Múltiplas cabeças
Um transformer não tem UMA atenção, mas sim várias cabeças em paralelo, cada uma com projeções distintas → cada uma foca-se em relações diferentes (uma na palavra anterior, outra no sujeito…). Muda de cabeça e observa como o padrão muda.
arrow_forward
Máscara causal (GPT)
Os modelos que geram texto (GPT) não podem olhar para o futuro: cada token atende apenas aos anteriores. Ativa a máscara causal e verás a metade superior da matriz apagar-se — é assim que é treinado para prever o token seguinte. Sem máscara (BERT) cada token vê a frase inteira.
grid_on
Como ler o mapa de calor
A matriz de atenção é um mapa de calor de token × token: a linha é o token que olha (a partir de) e a coluna o token observado (para).
• Quanto mais azul intensa a célula, maior o peso; o branco é quase zero. • Cada linha soma 100% (é uma distribuição). • Passe o rato sobre uma célula para ler o valor exato (p. ex. gato → gato: 40%). • A diagonal costuma acender-se: quase sempre um token atende bastante a si próprio.
timeline
Os arcos: para onde olha um token
Sobre a tira da frase, clique numa palavra e aparecem arcos para as palavras que olha, retirados dessa linha da matriz. A espessura e a opacidade de cada arco são proporcionais ao peso (ocultam-se os pesos abaixo de 2%). Clique novamente para desselecionar. É a mesma informação de uma linha do heatmap, mas desenhada sobre o texto para a ler de relance.
play_circle
Como se usa (passo a passo)
1. Escreva uma frase no campo de cima (é tokenizada por palavras e sinais, até 40 tokens). 2. Escolha uma Cabeça (1–4) para ver padrões diferentes. 3. Marque ou desmarque a Máscara causal para comparar GPT vs. BERT. 4. Faça clique numa palavra (na tira ou na sua etiqueta de linha) para desenhar os seus arcos. 5. Passe o rato pelo heatmap para ler pesos exatos. Tudo é recalculado ao instante, no seu navegador.
smart_toy
Este demo vs. um modelo real
Este visualizador é didático e determinista (offline): os vetores de cada token são gerados por hash (tokens iguais → mesmo vetor) mais uma codificação posicional sinusoidal, e as projeções Q/K são fixadas com uma semente, pelo que o resultado é reprodutível. O cálculo de atenção (produto escalar escalonado + softmax, com máscara causal opcional) é o real. Um modelo verdadeiro aprende Q/K/V a partir de dados e empilha dezenas de camadas e cabeças. Relacionadas: Tokenizador, Mini-LLM e Redutor de dimensionalidade.
hubVisualizador de atençãoPara o que olha cada palavra num transformer
hub
Visualizador de atençãoVê para que palavras «olha» cada token — o mecanismo dentro de um transformer
Cabeça
Clica numa palavra para ver para onde olha:
Matriz de atenção (linha = de, coluna = para)
smart_toyIsto é o mecanismo de atenção (produto escalar escalado + softmax). Um modelo real aprende as projeções Q/K/V e empilha dezenas de camadas e cabeças, mas a ideia é esta. Relacionado: Tokenizador, Mini-LLM e Redutor de dimensionalidade.