O que é a atenção num transformer?
Atenção é a parte de um transformer que deixa cada token decidir quais tokens anteriores importam para ele. Ela dá uma nota a cada token anterior, transforma as notas em pesos que somam 100% e absorve uma mistura ponderada das informações deles. É assim que “ele” encontra “o gato” e que “manga” sabe se é fruta ou parte da camisa.
▶ PratiquePor que isso importa
Uma palavra sozinha muitas vezes é ambígua. A atenção é como um modelo de linguagem descobre a que “ele”, “manga” ou “muito grande” se referem, deixando cada palavra pegar significado emprestado das anteriores.
Em 6 minutos você vai conseguir
- A atenção deixa cada palavra olhar para trás e pegar significado emprestado das palavras que importam para ela.
- Os pesos sempre somam 100%, então mais foco numa palavra significa menos nas outras.
- Troque uma palavra e a atenção muda, e é por isso que o contexto muda o que um modelo entende.
O que você vai praticar
Seja a cabeça de atenção
Toque nas palavras anteriores para despejar atenção nelas. Gaste as 10 gotas e compare com uma cabeça treinada. Os pesos são ilustrativos.
O gato mia porque ele
Quem é “ele”?
Cabeça treinada: gato 64% · mia 18% · porque 12%
Entende como: ele = o gato “Ele” precisa achar a coisa que representa. A cabeça treinada põe a maior parte do peso em “gato”, o único candidato que pode miar.
Derramei café e manchei a camisa na manga
Qual “manga”: fruta ou roupa?
Cabeça treinada: camisa 66% · manchei 18% · na 6%
Entende como: manga = parte da camisa Sozinha, “manga” poderia ser a fruta. Apoiar-se em “camisa”, com uma ajudinha de “manchei”, puxa o significado para a roupa.
O vaso não cabe na caixa . É muito grande
O que é muito grande?
Cabeça treinada: vaso 56% · cabe 14% · caixa 13%
Entende como: muito grande = o vaso Algo grande demais não entra. Para entender “grande”, a cabeça olha para o vaso, a coisa que precisa caber.
O vaso não cabe na caixa . É muito pequena
E agora: o que é muito pequena?
Cabeça treinada: caixa 54% · cabe 14% · vaso 13%
Entende como: muito pequena = a caixa Uma palavra virou o significado, e os pesos viraram junto. Em português, até o gênero ajuda: “pequena” combina com “caixa”. A atenção é calculada de novo para cada texto, não é uma tabela fixa.
Dentro de uma cabeça de atenção
Toque em cada cartão. Cada token carrega três listinhas de números.
- 🔦 Consulta (query): o que eu procuro?
- O token que está olhando manda uma consulta, como “sou um pronome, preciso de um substantivo que possa miar”.
- 🏷️ Chave (key): o que eu ofereço?
- Cada token anterior levanta uma chave, uma etiqueta do que ele é. Quanto mais a chave combina com a consulta, maior a nota.
- 📦 Valor (value): o que eu passo adiante?
- As notas viram pesos que somam 100%. A consulta então absorve uma mistura ponderada dos valores dos tokens anteriores: muito de “gato”, um pouco do resto.
- 🧠 Por que muitas cabeças?
- Cada camada roda muitas cabeças lado a lado. Uma pode ligar pronomes a substantivos, outra acompanhar a palavra logo antes, outra casar parênteses.
O que uma cabeça pode procurar?
Pesquisadores espiam dentro de modelos treinados. Quais destes padrões uma cabeça de atenção poderia captar? Escolha todos que se aplicam.
- A qual substantivo um pronome como “ela” se refere
- A palavra logo antes da atual
- O parêntese de abertura que um “)” fecha
- O sujeito a que um verbo pertence
- Palavras que ainda vão aparecer na resposta
- Se a frase é verdadeira no mundo real
Lembre-se
Cada token distribui 100% da atenção pelos tokens anteriores e absorve uma mistura do que eles significam. O contexto muda a mistura.
Cada palavra distribui 100% da sua atenção pelas palavras anteriores e absorve uma mistura do que elas significam.
Fatos principais
- O transformer, a arquitetura por trás dos grandes modelos de linguagem de hoje, foi apresentado em 2017 num artigo chamado “Attention Is All You Need”. · Fonte: Vaswani et al., Google, 2017
- O transformer original rodava 8 cabeças de atenção lado a lado em cada camada. · Fonte: Vaswani et al., Attention Is All You Need, 2017
- O GPT-3 tem 96 camadas, com 96 cabeças de atenção em cada uma. · Fonte: Brown et al., Language Models are Few-Shot Learners, OpenAI, 2020
- Ao inspecionar um modelo de linguagem treinado, pesquisadores encontraram cabeças que ligam pronomes aos substantivos a que se referem e verbos aos seus objetos, sem que ninguém tivesse ensinado gramática. · Fonte: Clark et al., What Does BERT Look At?, 2019
Atualizado:
Perguntas frequentes
O que é autoatenção (self-attention), em palavras simples?
A autoatenção deixa cada palavra de um texto olhar para as outras palavras do mesmo texto e decidir o quanto cada uma importa para ela. A palavra então absorve uma mistura ponderada do significado delas.
O que são query, key e value?
Três listinhas de números que cada token carrega. A query (consulta) diz o que o token procura, a key (chave) diz o que ele oferece e o value (valor) é o que ele passa adiante quando é escolhido.
O que é atenção multi-cabeça (multi-head attention)?
É rodar várias cabeças de atenção em paralelo na mesma camada. Cada cabeça aprende a procurar um tipo diferente de relação, e os resultados são combinados.
A atenção pode olhar para palavras futuras?
Não num modelo que escreve da esquerda para a direita. Cada token só pode prestar atenção em si mesmo e nos tokens anteriores, porque os seguintes ainda não foram escritos.
Termos relacionados
