El espectro: Multi-Head Attention (MHA) tiene igual número de cabezas Q, K, V — máxima calidad, máxima memoria. Multi-Query Attention (MQA) tiene muchas cabezas Q pero solo una cabeza K y una V — mínima memoria, algo de pérdida de calidad. GQA es el término medio: divide las cabezas Q en grupos, cada grupo compartiendo una cabeza K y una V. Un modelo con 32 cabezas Q y 8 grupos KV tiene cada cabeza KV sirviendo a 4 cabezas Q.
La investigación muestra que GQA con 8 cabezas KV iguala la calidad de MHA para la mayoría de las tareas mientras usa 4–8x menos memoria de KV cache. La preservación de calidad es algo sorprendente: sugiere que muchas cabezas de atención están aprendiendo patrones key-value similares, así que compartirlas es eficiente en lugar de limitante. Convertir un modelo MHA existente a GQA mediante "uptraining" (una fase corta de fine-tuning) también es efectivo, evitando la necesidad de reentrenar desde cero.
Los ahorros de memoria del KV cache de GQA se traducen directamente en: ventanas de contexto más largas en la misma GPU, más solicitudes concurrentes (mayor rendimiento), y cálculo de atención más rápido (menos tensores K y V para leer). Para un modelo de 70B en contexto de 128K, la diferencia entre MHA y GQA puede ser de cientos de gigabytes de KV cache — la diferencia entre necesitar 8 GPUs y necesitar 4.