GQA
Eine Attention-Variante, bei der mehrere Query-Heads sich ein Key-Value-Paar teilen, um KV-Cache-Größe und Speicherverbrauch zu reduzieren.
GQA teilt KV-Heads zwischen Query-Gruppen – drastisch kleinerer KV-Cache bei minimalem Qualitätsverlust.
Erklärung
Standard Multi-Head Attention: Jeder Head hat eigene Q, K, V. Multi-Query Attention (MQA): Alle Heads teilen K, V. GQA ist der Kompromiss: Gruppen von Heads teilen K, V. Beispiel: 32 Query-Heads, 8 KV-Heads (Gruppe von 4). Reduziert KV-Cache um 4x bei minimalem Qualitätsverlust.
Relevanz für Marketing
GQA ist Standard in Llama 2/3, Mistral, Gemma. Ermöglicht längere Kontexte und größere Batch-Sizes bei gleicher GPU.
Beispiel
Llama 2 70B mit GQA (8 KV-Heads) braucht ~5x weniger KV-Cache als mit Standard-Attention (32 KV-Heads), ermöglicht 128K Kontext.
Häufige Fallstricke
Zu wenige KV-Heads können Qualität reduzieren. Optimales Verhältnis Query:KV variiert nach Modellgröße.
Entstehung & Geschichte
GQA wurde 2023 von Ainslie et al. (Google) als Kompromiss zwischen MHA und MQA eingeführt. Wurde schnell von Llama 2, Mistral und anderen Open-Source-Modellen übernommen.
Abgrenzung & Vergleiche
GQA vs. Multi-Head Attention
MHA hat separate KV pro Head; GQA teilt KV zwischen Gruppen, spart Speicher.
GQA vs. Multi-Query Attention
MQA teilt ein KV für alle Heads (aggressiver); GQA teilt pro Gruppe (besser Qualität-Speicher-Tradeoff).