Arquitetura Transformer Intermediario ~120 min

Self-Attention

Topico 7 de 9
transformer atenção nlp
AÇÕES
Progresso do Topico 0%

Atenção como Conceito

Teoria: Softmax como operação, normas (L2), o conceito de "prestar atenção" em partes relevantes, mascaramento causal

Prática: Implementar self-attention em matrizes pequenas (3x4, 4x4)

Com as bases dos tópicos anteriores, Q x K^T é "só" um dot product que você já domina, e softmax é "só" uma função que você já implementou.


Vídeos Fundamentais#


Papers e Leituras Densas#


Tutoriais Step-by-Step#


Visualizadores de Attention#


Mascaramento Causal#

Em modelos decoder-only como o GPT, cada posição só pode "prestar atenção" em posições anteriores (e em si mesma). Isso é implementado com uma máscara triangular que seta scores de posições futuras para -inf antes do softmax, fazendo-os virar 0.

Máscara (sequência de 4 tokens):
[  0, -inf, -inf, -inf ]
[  0,    0, -inf, -inf ]
[  0,    0,    0, -inf ]
[  0,    0,    0,    0 ]

Sem essa máscara, o modelo "veria o futuro" durante o treino - como fazer uma prova já sabendo as respostas. A diferença fundamental: BERT usa attention bidirecional (sem máscara), GPT usa attention causal (com máscara). Você vai implementar a versão causal em seu-gpt.


Insight Chave#

O scaling por sqrt(d_k) importa: sem ele, dot products grandes causam saturação do softmax e gradientes quase zero.

É como um parâmetro de "temperatura" - sem scaling, a attention vira hard (one-hot) ao invés de soft.


Entregável#

Self-attention implementada em NumPy com uma frase curta (ex: 4 palavras). Crie embeddings simples de dimensão 4 para cada palavra.

Inclua máscara causal. Explique o que acontece com os scores de posições futuras.

Visualize a matriz de atenção como heatmap (matplotlib ou print formatado). Identifique qual token presta mais atenção em qual.

Você deve conseguir apontar para um attention score e explicar: "Esse token está prestando atenção naquele porque..."


Checklist#


Conexões#

Fundamento: Este tópico usa conceitos de embeddings-texto

Próximo passo: Monte o transformer completo em transformer

10 recursos

Este topico tambem pode ser acessado em /topicos/self-attention