Pressione Esc para fechar

Termos - Self-attention

← Voltar para o Dia 1: LLMs de verdade

Self-attention

1. O que é?

Self-Attention é um mecanismo pelo qual cada token de uma sequência pode analisar a relação com os outros tokens da própria sequência.

O termo self vem justamente daí. A atenção acontece dentro da própria sequência.

O conceito foi central na arquitetura Transformer apresentada no artigo Attention Is All You Need, de 2017. Google Pesquisa

2. Como funciona?

Imagine:

"O cachorro perseguiu o gato porque ele estava assustado."

Para interpretar "ele", o modelo precisa avaliar quais outros tokens da frase têm relação com ele.

O Self-Attention permite fazer isso:

"ele"
  ↓
analisa os demais tokens
  ↓
cachorro  → relação forte
gato      → relação menor
porque    → relação menor
estava    → relação menor

Os valores de atenção são calculados matematicamente. O resultado é uma nova representação do token que incorpora informações relevantes do restante da sequência.

Uma característica importante é que isso permite capturar relações entre tokens que estão distantes entre si. Attention Is All You Need

3. Um exemplo simples

Considere:

"O banco aprovou o empréstimo porque precisava avaliar o risco."

Quando o modelo processa "banco", ele pode estabelecer relações com palavras como:

banco
 ↓
empréstimo
 ↓
avaliar
 ↓
risco

Essas relações ajudam a construir uma representação contextual de "banco" associada ao contexto financeiro.

Se a frase fosse:

"Sentei no banco da praça."

as relações seriam diferentes:

banco
 ↓
sentei
 ↓
praça

Portanto, o significado representado pelo modelo depende do contexto.

4. Por que é importante?

O Self-Attention é uma das principais características que tornam o Transformer tão eficiente para trabalhar com linguagem. A arquitetura consegue relacionar diferentes posições de uma sequência diretamente, em vez de depender de um processamento necessariamente sequencial como nas arquiteturas recorrentes anteriores. Google Pesquisa

Uma forma boa de guardar:

Attention é o mecanismo de atenção. Self-Attention é quando essa atenção relaciona os elementos dentro da própria sequência.

E um detalhe que será útil quando chegarmos aos próximos conceitos: Self-Attention utiliza as chamadas Query, Key e Value para calcular essas relações.


Complemento: Query, Key e Value no Self-Attention

O que define o Self-Attention é que Query, Key e Value saem da mesma sequência. Cada token gera os três ao mesmo tempo:

  • Query (Q): o que este token precisa entender a partir do resto da frase.
  • Key (K): como este token se apresenta para os outros tokens.
  • Value (V): o que este token tem a contribuir se for considerado relevante.

Assim, cada token faz uma pergunta para todos os outros (e para si mesmo) da própria frase. Veja um exemplo:

"O gato subiu no telhado porque ele estava com medo."

Query de "ele"
"A quem eu me refiro?"

        ↓

Keys da mesma frase
"O" → artigo
"gato" → animal, sujeito
"telhado" → lugar
"medo" → sentimento

        ↓

Comparação
"gato" combina muito, "telhado" pouco

        ↓

Values
A nova representação de "ele" recebe principalmente a informação de "gato"

E isso acontece para todos os tokens ao mesmo tempo: "subiu" também consulta a frase e descobre que quem subiu foi o gato, "medo" se relaciona com "ele", e assim por diante. No final, cada token deixa de ter um significado isolado e passa a carregar o contexto da frase inteira.

Em modelos que geram texto, como o GPT, existe uma restrição extra: cada token só pode consultar os tokens anteriores a ele, nunca os futuros (isso se chama Masked ou Causal Self-Attention). Afinal, o modelo não pode "espiar" a palavra que ainda vai prever.

Você não precisa decorar as fórmulas agora. Para o seu material, basta guardar:

Self-Attention permite que cada token considere os outros tokens da sequência, enquanto Query, Key e Value são as representações usadas para calcular e aplicar essas relações.

link de compartilhamento