O espectro: Multi-Head Attention (MHA) tem números iguais de cabeças Q, K, V — máxima qualidade, máxima memória. Multi-Query Attention (MQA) tem muitas cabeças Q mas apenas uma cabeça K e uma V — mínima memória, alguma perda de qualidade. GQA é o meio-termo: divida as cabeças Q em grupos, cada grupo compartilhando uma cabeça K e uma V. Um modelo com 32 cabeças Q e 8 grupos KV tem cada cabeça KV servindo 4 cabeças Q.
Pesquisas mostram que GQA com 8 cabeças KV iguala a qualidade do MHA para a maioria das tarefas enquanto usa 4–8x menos memória de KV cache. A preservação de qualidade é um tanto surpreendente: sugere que muitas cabeças de atenção estão aprendendo padrões key-value similares, então compartilhá-los é eficiente em vez de limitante. Converter um modelo MHA existente para GQA através de "uptraining" (uma fase curta de fine-tuning) também é eficaz, evitando a necessidade de retreinar do zero.
As economias de memória de KV cache do GQA se traduzem diretamente em: janelas de contexto mais longas na mesma GPU, mais requisições simultâneas (maior throughput) e computação de atenção mais rápida (menos tensores K e V para ler). Para um modelo 70B com contexto de 128K, a diferença entre MHA e GQA pode ser centenas de gigabytes de KV cache — a diferença entre precisar de 8 GPUs e precisar de 4.