Habr publicou um guia breve sobre attention: self-attention, cross-attention e multi-head
O Habr publicou um mini-guia claro sobre attention em transformers. O texto explica brevemente como Q, K e V são obtidos a partir de embeddings, por que o…
Processado por IA de Habr AI; editado por Hamidun News
Habr publicou um guia breve sobre atenção: self-attention, cross-attention e multi-head
O Habr publicou uma análise breve do mecanismo de atenção — a ideia básica na qual transformers e LLMs modernos são construídos. O material mostra, sem enchimento desnecessário, como um modelo escolhe em quais tokens confiar mais e então o explica com um exemplo numérico simples e código em PyTorch.
Como funciona a atenção
O autor começa com uma definição básica: atenção permite que uma rede neural não processe todas as partes da entrada igualmente, mas decida dinamicamente o que é mais importante para a tarefa atual. Para isso, a sequência de entrada é transformada em três conjuntos de representações — Query, Key e Value. Em seguida, o modelo compara a query de cada token com as keys de todos os outros tokens, obtém pesos de importância e, com base neles, monta um novo vetor contextual. Este é o truque principal: o valor de uma palavra ou elemento não depende apenas dela mesma, mas de todo o ambiente. O material passa por toda a cadeia de computação passo a passo:
- a partir de embeddings, constroem-se as matrizes Q, K e V
- depois a similaridade de tokens é calculada através do produto escalar
- o resultado é dimensionado dividindo-se pela raiz quadrada da dimensionalidade
- após softmax, obtêm-se os pesos de atenção
- a saída final é a soma ponderada da matriz V
É explicado separadamente por que a divisão por sqrt(d_k) é necessária. Conforme a dimensionalidade dos vetores cresce, os produtos escalares ficam muito grandes, softmax satura rapidamente e os gradientes começam a desaparecer. O dimensionamento mantém as computações em um intervalo mais estável e torna o treinamento mais previsível. Para iniciantes, este é um ênfase útil: na maioria das explicações, a fórmula é apresentada como dada, mas aqui é mostrado qual problema ela realmente resolve.
Exemplo com tokens
A parte mais compreensível do texto é um exemplo trivial com a frase "Karina vai à loja". O autor simplifica o problema para quatro tokens e embeddings bidimensionais para não se perder em matrizes e depois passa manualmente por todos os passos: tokenização, adição de informação posicional, construção da matriz X, cálculo de QK^T, dimensionamento, softmax e a multiplicação final por V. Por causa disso, atenção deixa de parecer mágica de uma fórmula e se torna uma sequência ordinária de operações com vetores.
Após a normalização, é possível ver como a atenção se distribui. Para o token "Karina", o modelo no exemplo tira cerca de 31% da informação da palavra em si, 15% da palavra "vai" e o resto de outros tokens da frase. Na saída, os embeddings originais se transformam em novas representações, agora contextuais.
Este é um momento importante para compreender transformers: o modelo não armazena um valor fixo de uma palavra uma vez por todas, mas a reconstrói de novo em cada contexto.
"Cada vetor depois de self-attention não descreve mais a palavra por si só."
Outros tipos de atenção
Na segunda metade do artigo, o autor passa para duas extensões do esquema básico. Cross-attention é descrita como um modo em que Query é tirada de uma sequência, enquanto Key e Value são tiradas de outra. Na prática, é conveniente pensar nisso como um mecanismo que permite a um decoder acessar o contexto do encoder.
A fórmula quase não muda, mas muda a fonte dos dados: o modelo compara a query atual não com a si mesma, mas com um contexto externo. Este é um bloco-chave para tradutores, sistemas multimodais e muitas arquiteturas encoder-decoder. Em seguida, a atenção multi-head é discutida.
Em vez de uma atenção, o modelo executa várias "cabeças" em paralelo, e cada uma aprende a olhar para a sequência sob seu próprio ângulo: uma pode captar melhor conexões locais, outra — dependências distantes, a terceira — sintaxe ou papéis semânticos. Depois, os resultados das cabeças são concatenados e passam por outra transformação linear. O artigo também inclui implementações mínimas de todas as três variantes em PyTorch: self-attention, cross-attention e multi-head self-attention, então o texto funciona não apenas como teoria, mas também como uma cola inicial para a prática.
O que isso significa
Para quem está apenas entrando no tópico de transformers, este é um material introdutório bem-sucedido: não sobrecarrega com provas, mas honestamente o guia através da matemática, exemplos e código. E para profissionais, é um lembrete de que por trás da "mágica" dos LLMs há operações bem concretas com pesos, matrizes e contexto — e compreendê-las é útil se você trabalha com modelos não apenas como usuário.
Precisa de IA funcionando dentro da sua empresa — não só no feed de notícias?
Eu construo IA em produção para empresas — CRM sob medida, ferramentas internas, agentes autônomos, automação de processos. Pertence a você, moldada ao seu processo, sem taxa por usuário. Feito por Zhemal Khamidun, CPO da AlpinaGPT (plataforma de IA, 6.000+ usuários).
O essencial da IA — uma vez por semana
Sete histórias que realmente importaram, escolhidas a dedo. Sem ruído nem releases.
Pronto! Verifique seu e-mail para a confirmação.