Explicando a Multi-Head Attention (MHA)

Para entender o Multi-Head Attention (MHA) ou Atenção Multi-Cabeça, precisamos primeiro dar um passo atrás e ver a limitação de usar a equação da atenção (o Scaled Dot-Product Attention) apenas uma vez – ela foi explicada em https://www.anom.ia.br/explicando-o-mecanismo-de-autoatencao-das-llms/.

O Problema de Uma Única “Cabeça”

A linguagem humana é complexa e possui múltiplas camadas de significado que ocorrem simultaneamente. Na frase:

“O aluno entregou o livro na biblioteca ontem.”

Para entender o significado da palavra “entregou”, precisamos capturar várias relações sintáticas e semânticas ao mesmo tempo:

  1. Sujeito: Quem entregou? (O aluno)
  2. Objeto Direto: O que foi entregue? (O livro)
  3. Local: Onde foi entregue? (Na biblioteca)
  4. Tempo: Quando foi entregue? (Ontem)

Uma única operação de atenção tem uma limitação matemática fundamental: ela só consegue focar em uma única “direção” ou tipo de relação por vez. Se ela usar toda a sua probabilidade de atenção para conectar “entregou” a “aluno”, ela terá dificuldade em dar a devida atenção a “livro”, “biblioteca” e “ontem” na mesma etapa.

Diagrama gerado pelo Gemini

A Solução: Multi-Head Attention

O Multi-Head Attention resolve isso aplicando a “divisão e conquista”. Em vez de usar uma cabeça de atenção gigante para processar os vetores de Query, Key e Value (Q, K, V) originais, o modelo divide esses vetores em múltiplos pedaços menores e executa a operação de atenção várias vezes em paralelo.

Imagine que o modelo original tem uma dimensão total de dmodel=512d_{\text{model}} = 512. Se o modelo usar h=8 cabeças:

  1. Ele projeta Q, K, V em 8 versões menores (dimensão dk=512/8=64d_k = 512 / 8 = 64).
  2. Cada uma das 8 cabeças roda sua própria versão da equação da atenção de forma independente.
  3. Isso permite que cada cabeça se especialize em uma faceta diferente da linguagem:
    • Cabeça 1: Foca em concordância verbal (sujeito-verbo).
    • Cabeça 2: Foca em objetos da ação (verbo-objeto).
    • Cabeça 3: Foca em informações de tempo/local.
    • Cabeça 4: Foca em referências de pronomes (anáforas).

A Matemática do Multi-Head Attention

A matemática do MHA expande a equação da atenção original integrando as etapas de divisão, computação em paralelo e união dos resultados.

A. As Projeções Lineares

Antes de calcular a atenção, cada cabeça i recebe sua própria versão de Queries, Keys e Values através de matrizes de pesos treináveis (WiQ,WiK,WiVW_i^Q, W_i^K, W_i^V):

Qi=QWiQQ_i = Q \cdot W_i^Q
Ki=KWiKK_i = K \cdot W_i^K
Vi=VWiVV_i = V \cdot W_i^V

B. O Cálculo de Cada Cabeça (headi\text{head}_i)

Cada cabeça calcula sua própria atenção usando a equação do Scaled Dot-Product Attention (reveja em https://www.anom.ia.br/explicando-o-mecanismo-de-autoatencao-das-llms/) aplicada às suas projeções menores:

headi=Attention(Qi,Ki,Vi)=softmax(QiKiTdk)Vi\text{head}_i = \text{Attention}(Q_i, K_i, V_i) = \text{softmax}\left(\frac{Q_i K_i^T}{\sqrt{d_k}}\right)V_i

C. Concatenação e Projeção Final

No final, as saídas de todas as h cabeças são concatenadas (colocadas lado a lado) para formar um vetor grande novamente.

Por fim, esse vetor concatenado é projetado de volta para a dimensão original do modelo (dmodeld_{\text{model}}) usando uma última matriz de pesos treinável (WOW^O):

MultiHead(Q,K,V)=Concat(head1,head2,,headh)WO\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \text{head}_2, \dots, \text{head}_h) \cdot W^O

Resumo Visual do Processo

O diagrama abaixo ilustra o fluxo completo do MHA, mostrando as projeções lineares iniciais, o cálculo das atenções em paralelo em cada “cabeça”, a concatenação e a projeção linear final.

Diagrama gerado pelo Gemini

Em suma, o Multi-Head Attention dá às LLMs a sua profunda capacidade de interpretação ao permitir que elas processem múltiplas nuances da linguagem humana simultaneamente.

Deixe um comentário