Avançado
MQA, GQA e MLA
Variantes de attention reduzem bandwidth do KV cache compartilhando ou comprimindo keys e values, sem abrir mão de muitas query heads.
Atualizada em
1
Conceito
Em multi-head attention (MHA), cada head possui projeções próprias de query, key e value. Durante serving autorregressivo, cada posição anterior contribui com key e value para toda head. Cache e bandwidth viram custo importante. MQA, GQA e MLA alteram a representação K/V sem remover a multiplicidade de queries.
Considere query heads e key/value heads. Ignorando outras dimensões, o tamanho do KV cache é proporcional a . MHA usa . Multi-Query Attention (MQA) usa : todas as queries atendem às mesmas keys e values. Query heads ainda aprendem perguntas distintas, mas leem uma representação compartilhada de endereço e conteúdo.
Isso reduz tensores em cache e bytes lidos no decode. A troca é capacidade. K/V independentes representam subespaços diferentes; obrigar todas as queries a uma única visão pode degradar qualidade para certo modelo e receita. O efeito deve ser medido.
Grouped-Query Attention (GQA) escolhe . Query heads são divididas em grupos, e cada grupo compartilha uma K/V head. Se várias queries exprimem padrões de leitura relacionados, o compartilhamento preserva parte do benefício com cache menor. GQA pode ser treinada do zero; o paper de 2023 também estudou converter checkpoints multi-head agrupando heads K/V e executando treino adicional.
O mapeamento dos grupos é estrutural. Kernels precisam saber quais queries usam cada K/V; checkpoints codificam formatos das projeções. Trocar um campo de configuração sem converter pesos não é otimização, é modelo quebrado. Tensor parallelism também exige divisibilidade compatível ou regras explícitas.
Multi-head Latent Attention (MLA), descrita no DeepSeek-V2 em 2024, usa outra rota. Comprime informação de key/value em representações latentes menores e usa projeções aprendidas para recuperar componentes de attention. O tratamento da informação posicional, incluindo partes desacopladas associadas a RoPE, integra o design. MLA não é “GQA com mais compressão”; seu cache e sua álgebra diferem.
A questão de deploy é suporte ponta a ponta. Um cache teoricamente menor só ajuda quando kernels, quantização, paralelismo e loaders implementam a arquitetura com eficiência. Fallback genérico apaga ganhos. Converter pesos para uma variante sem suporte não é lossless sem um procedimento validado de conversão e adaptação.
Compare bytes de cache por token, bandwidth de decode, throughput na concorrência relevante, TTFT, qualidade e long context. Informe precisão e dtype do cache. Uma arquitetura compacta pode permitir batches maiores, gerando ganho sistêmico invisível num benchmark de uma requisição.
Também teste tarefas que exigem recuperar detalhes distantes e combinar relações diferentes no mesmo contexto. A média curta pode permanecer estável enquanto o compartilhamento perde sinais raros. Faça ablations com a mesma receita de treino sempre que possível; comparar checkpoints de famílias distintas não isola o efeito da arquitetura de attention.
O espectro é simples. MHA preserva uma visão K/V por query. MQA compartilha uma visão global. GQA compartilha dentro de grupos. MLA guarda uma visão latente comprimida e reconstrói o necessário conforme sua arquitetura. Cada uma reduz estado repetido impondo restrições mais fortes e exigindo implementação especializada.
2
Como explicar para uma criança de cinco anos
Uma conferência tem várias jornalistas com perguntas especializadas. Multi-head attention dá a cada uma intérprete e transcrição particulares. MQA faz todas compartilharem uma única intérprete e transcrição. GQA atribui uma intérprete a cada mesa. MLA guarda uma taquigrafia multilíngue compacta e reconstrói o conteúdo necessário. Compartilhar economiza transcrição, mas precisa preservar distinções suficientes para uma boa reportagem.
3
Ensine de volta
Explique como MHA, MQA, GQA e MLA diferem no armazenamento K/V e descreva a troca entre qualidade e eficiência sem reduzir MLA a GQA.
Mínimo: 80 caracteres e 15 palavras. Seu texto fica somente neste navegador.
Salvo somente neste dispositivo.
Ver uma resposta-modelo
MHA guarda keys e values separados para cada query head. MQA compartilha uma K/V head entre todas, minimizando cache com compartilhamento forte. GQA divide query heads em grupos, cada um com uma K/V head, oferecendo meio-termo. MLA, descrita no DeepSeek-V2, comprime informação K/V em representações latentes com projeções e componentes posicionais específicos; não é apenas outra quantidade de grupos. Menos tráfego ajuda serving, mas compressão excessiva reduz capacidade.
4
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
Fontes
- Joshua Ainslie et al. (2023). GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints.
- DeepSeek-AI (2024). DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model.