Zubnet AIAprenderWiki › Multi-Head Attention
Fundamentos

Multi-Head Attention

Também conhecido como: MHA, Atenção Multi-Cabeça
Executar múltiplas operações de atenção em paralelo, cada uma com sua própria projeção aprendida de queries, keys e values. Em vez de uma única função de atenção olhando para a dimensão completa do modelo, a multi-head attention divide a dimensão em múltiplas "cabeças" (ex.: 32 cabeças de 128 dimensões cada para um modelo de 4096 dimensões). Cada cabeça pode focar em diferentes tipos de relações simultaneamente.

Por que isso importa

Multi-head attention é o motivo pelo qual Transformers são tão expressivos. Uma cabeça pode focar em relações sintáticas (sujeito-verbo), outra em padrões posicionais (palavras próximas), outra em similaridade semântica. Essa especialização paralela permite que o modelo capture muitos tipos de dependências simultaneamente, o que uma única cabeça de atenção não consegue fazer tão efetivamente.

Em profundidade

O mecanismo: para cada cabeça i, o modelo aprende matrizes de projeção separadas W_Q^i, W_K^i, W_V^i que projetam a entrada em um espaço de menor dimensão (head_dim = model_dim / num_heads). Cada cabeça computa atenção independentemente: softmax(Q_i · K_i^T / √d) · V_i. As saídas de todas as cabeças são concatenadas e projetadas de volta à dimensão completa do modelo através de uma camada linear final W_O.

Especialização de Cabeças

Pesquisas mostram que diferentes cabeças aprendem diferentes funções. Algumas cabeças prestam atenção ao token anterior (posicional). Algumas prestam atenção a tokens sintaticamente relacionados (sujeito ao seu verbo). Algumas implementam "indução" (completação de padrões). Algumas prestam atenção amplamente (coletando contexto global). Nem todas as cabeças são igualmente importantes — podar 20–40% das cabeças frequentemente tem impacto mínimo no desempenho, sugerindo redundância significativa.

GQA e MQA

Multi-Query Attention (MQA) usa uma única cabeça key-value compartilhada entre todas as cabeças de query, reduzindo o tamanho do KV cache pelo número de cabeças. Grouped-Query Attention (GQA) é um meio-termo: grupos de cabeças de query compartilham uma cabeça key-value (ex.: 32 cabeças de query com 8 cabeças KV). GQA preserva a maior parte da qualidade do MHA enquanto reduz dramaticamente a memória para KV cache. Llama 2 70B, Mistral e a maioria dos LLMs modernos usam GQA.

Conceitos relacionados

← Todos os termos
← Moonshot AI Multimodal →