Habr AI→ original

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 attention: self-attention, cross-attention e multi-head
Fonte: Habr AI. Colagem: Hamidun News.
◐ Ouvir artigo

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.

ZK
Hamidun News
Notícias de AI sem ruído. Seleção editorial diária de mais de 400 fontes. Produto de Zhemal Khamidun, Head of AI na Alpina Digital.

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 que você acha?
Carregando comentários…