Self-attention, ou autoatenção, é uma operação em que elementos de uma sequência consultam outros elementos dessa mesma sequência para calcular uma representação contextual. Em um texto, cada token pode considerar outros tokens presentes na entrada, não apenas o que está imediatamente ao lado.
A técnica é central em Transformers, arquitetura usada em muitos modelos de linguagem. “Self” indica que a fonte de informação consultada pertence à própria sequência. Isso a diferencia de formas de atenção cruzada, nas quais uma sequência pode consultar outra, como texto consultando representações de imagem.
Como funciona
Cada posição é transformada em consulta, chave e valor. A consulta de um token é comparada às chaves dos demais tokens. As pontuações de compatibilidade são normalizadas para formar pesos, e esses pesos combinam os valores correspondentes. O resultado é uma representação que incorpora informação de outras posições.
Por exemplo, ao processar uma palavra ambígua, o modelo pode usar substantivos e verbos próximos para formar uma representação contextual. Em muitas arquiteturas, existem várias cabeças de atenção, que calculam relações em espaços diferentes. O sistema ainda usa camadas adicionais, normalizações e operações de rede neural para produzir suas representações finais.
A máscara de atenção define quais posições podem ser consultadas. Em geração causal, um token normalmente não deve usar tokens futuros que ainda não foram gerados. Em outras tarefas, o modelo pode ter acesso a toda a sequência. O comportamento exato depende da arquitetura e da configuração.
Exemplo prático
Considere “A chave ficou dentro da caixa, mas ela estava trancada”. Para interpretar “ela”, o modelo pode relacionar o pronome a “caixa” e aos sinais gramaticais da frase. A autoatenção oferece um caminho para combinar esses elementos, mesmo que não sejam vizinhos imediatos.
Em código, uma variável pode aparecer longe de sua declaração. Self-attention permite considerar ocorrências distribuídas no contexto. Ainda assim, o modelo pode interpretar errado o escopo, ignorar parte do arquivo ou sugerir uma alteração inválida; testes continuam necessários.
Para que serve
Self-attention permite modelar dependências entre posições e formar representações condicionadas ao contexto. É aplicada em tarefas de texto e também em sistemas que processam imagem, áudio ou combinações de modalidades.
Para quem usa modelos, o conceito ajuda a entender como contexto e sequência participam da geração. Também explica por que mais contexto não significa automaticamente melhor resposta: o modelo precisa selecionar e combinar os elementos relevantes.
Autoatenção é um cálculo, não uma capacidade humana de prestar atenção. Seus pesos não são, por si só, uma justificativa completa da resposta. O resultado depende do modelo inteiro, dos dados e da tarefa que está sendo executada.