← Voltar para o Dia 1: LLMs de verdade
Attention
1. O que é?
Attention (atenção) é um mecanismo que permite ao modelo determinar quais partes de uma entrada são mais relevantes para interpretar cada parte do texto.
É um dos conceitos mais importantes da arquitetura Transformer.
A ideia intuitiva é:
Em vez de tratar todas as palavras igualmente, o modelo aprende onde prestar atenção.
2. Como funciona?
Considere:
"O cachorro perseguiu o gato porque ele estava assustado."
Para entender a palavra "ele", o modelo precisa considerar o restante da frase.
O mecanismo de attention permite que o modelo atribua diferentes "pesos" às palavras:
O cachorro perseguiu o gato porque ele estava assustado
↑ ↑
relevante relevante
O modelo pode aprender que "ele" tem uma relação mais forte com "cachorro" do que com outras palavras.
Matematicamente, o mecanismo calcula algo parecido com:
"ele"
↓
Quanto devo prestar atenção em cada token?
↓
cachorro → 0.65
gato → 0.12
porque → 0.05
estava → 0.08
...
Os números acima são apenas ilustrativos.
3. Um exemplo simples
Veja duas frases:
"O banco aprovou o empréstimo."
"Sentei no banco da praça."
A palavra "banco" tem significados diferentes.
O contexto ao redor ajuda o modelo a determinar qual significado faz sentido.
No Transformer, a attention permite que cada token considere outros tokens do contexto para construir uma representação mais adequada.
Por isso, podemos pensar:
TOKEN
↓
"banco"
↓
Attention
↓
olha para o contexto
↓
"empréstimo" → contexto financeiro
versus:
TOKEN
↓
"banco"
↓
Attention
↓
olha para o contexto
↓
"praça" → contexto de assento
4. Por que é importante?
Porque a attention é uma das principais razões pelas quais os Transformers conseguem lidar tão bem com contexto e relações entre tokens.
Ela é fundamental para entender como funcionam os LLMs modernos.
A relação entre os conceitos que você já viu começa a ficar assim:
Texto
↓
Tokenization
↓
Tokens
↓
Transformer
↓
Attention
↓
Representações contextuais
↓
Predição de próximos tokens
Uma observação importante
Você provavelmente vai encontrar daqui para frente os termos Self-Attention, Query (Q), Key (K) e Value (V).
Complemento: Query, Key e Value
Attention funciona como uma busca por relevância. Para isso, a informação é organizada em três papéis:
- Query (Q): a pergunta. O que este ponto da sequência precisa saber agora?
- Key (K): a etiqueta. O que cada elemento disponível oferece?
- Value (V): o conteúdo. A informação que de fato será entregue.
Uma analogia é a busca em uma biblioteca:
- A Query é o assunto que você procura ("receitas com chocolate").
- As Keys são os títulos e etiquetas dos livros na estante.
- Os Values são o conteúdo dos livros.
Você compara o seu assunto com as etiquetas, percebe quais livros combinam mais e lê principalmente esses, sem ignorar totalmente os outros.
O cálculo segue três passos:
- Comparar: a Query é comparada com cada Key, gerando uma pontuação de compatibilidade.
- Normalizar: as pontuações viram pesos que somam 100% (função softmax).
- Combinar: os Values são misturados de acordo com esses pesos. Quem pontuou mais contribui mais.
Na notação do artigo "Attention Is All You Need" (2017):
Attention(Q, K, V) = softmax(Q · Kᵀ / √d) · V
O "√d" só serve para manter os números em uma escala estável.
Um detalhe importante: Query, Key e Value não precisam vir da mesma sequência. Na tradução, por exemplo, a Query vem da frase que está sendo gerada e as Keys e Values vêm da frase original (isso se chama Cross-Attention). Quando os três vêm da mesma sequência, temos o Self-Attention.