Zubnet AIAprenderWiki › Self-Attention
Fundamentos

Self-Attention

Também conhecido como: Autoatenção, Atenção de Produto Escalar Escalado
Um mecanismo de atenção onde uma sequência presta atenção a si mesma — cada token computa sua relevância para cada outro token na mesma sequência. As queries, keys e values todas vêm da mesma entrada. Isso permite que cada token colete informações de todos os outros tokens, ponderadas pela relevância. Self-attention é a operação central em toda camada de Transformer.

Por que isso importa

Self-attention é o que faz os Transformers funcionarem. Ela substituiu o processamento sequencial dos RNNs por conexões paralelas e diretas entre todas as posições. A palavra "banco" em "margem do banco" presta atenção a "margem" para resolver seu significado, independentemente de quão distantes estão. Essa capacidade de conectar diretamente quaisquer duas posições é o motivo pelo qual Transformers lidam tão bem com dependências de longo alcance.

Em profundidade

A computação: para entrada X, calcule Q = X·W_Q, K = X·W_K, V = X·W_V. Então: Attention(Q,K,V) = softmax(Q·K^T / √d_k) · V. O softmax(Q·K^T) produz uma matriz de atenção N×N onde a entrada (i,j) representa quanto o token i presta atenção ao token j. A escala √d_k impede que os produtos escalares cresçam demais em altas dimensões, o que empurraria o softmax para regiões saturadas com gradientes próximos de zero.

Causal vs. Bidirecional

Em LLMs decoder-only (GPT, Claude, Llama), self-attention é causal: cada token só pode prestar atenção a tokens anteriores (incluindo a si mesmo). Isso é imposto por uma máscara causal que define posições futuras como −∞ antes do softmax. Em modelos encoder (BERT), self-attention é bidirecional: cada token presta atenção a todos os outros tokens. A restrição causal é o que torna a geração autorregressiva possível — o modelo não pode "espiar" tokens futuros.

O Custo Quadrático

Self-attention computa uma matriz de atenção N×N, tornando-a O(N²) tanto em tempo quanto em memória. Para um contexto de 128K tokens, são ~16 bilhões de entradas por camada por cabeça. Essa escala quadrática é a limitação fundamental que impulsiona pesquisas em atenção esparsa, atenção linear, Flash Attention (que reduz memória mas não computação) e SSMs (que evitam a matriz N×N inteiramente). Toda abordagem para modelagem de contexto longo é, em última análise, sobre gerenciar esse custo quadrático.

Conceitos relacionados

← Todos os termos
← Segurança da IA Serving de Modelo →