# Grouped-Query Attention (GQA)
## 定義
Grouped-Query Attention(GQA)は Multi-Head Attention(MHA)の推論効率改善版。複数のクエリヘッドが一組の K/V を共有することで KV キャッシュのメモリ使用量と帯域幅を削減する。
```
MHA: Q1 K1 V1, Q2 K2 V2, Q3 K3 V3, Q4 K4 V4 (ヘッドごとに独立の K/V)
GQA: Q1 Q2 → K1 V1, Q3 Q4 → K2 V2 (グループごとに K/V を共有)
MQA: Q1 Q2 Q3 Q4 → K1 V1 (全ヘッドで共有: GQA の特殊ケース)
```
グループ数 = ヘッド数のとき MHA、グループ数 = 1 のとき MQA(Multi-Query Attention)。
## なぜ GQA が標準になったか
GQA はオリジナル GQA 論文(2023)と Llama 2 論文のアブレーション研究で MHA と同等の性能を示した一方、KV キャッシュを大幅に削減する。特に長コンテキストでの推論メモリ効率が向上し、MQA ほどの性能劣化もない。この実用上のバランスが GQA をデファクトスタンダードにした。
## 採用モデル(2025–2026 主要モデル)
| モデル | グループ数/ヘッド数 | 備考 |
|--------|---------------------|------|
| Llama 4 | 8/32 等 | Llama 系標準 |
| Gemma 3/4 | — | 全アテンション層で採用 |
| Qwen3 | — | Dense/MoE 両系列 |
| Mistral Small 3.1 | — | SWA 廃止後も GQA 維持 |
| Mistral 3 Large | — | DeepSeek V3 同構造 |
| GPT-OSS | — | SWA と組み合わせ |
| Grok 2.5 | — | 標準 GQA |
| Olmo 3 32B | — | 7B は MHA |
## GQA と MLA の比較
- **GQA の利点**: 実装が単純、FlashAttention 等の最適化カーネルをそのまま利用できる。
- **MLA の利点**: K/V を低次元圧縮することで GQA より小さい KV キャッシュを実現しつつ、モデリング性能は MHA を上回る(DeepSeek-V2 アブレーション)。
- **実装コスト**: GQA は既存 MHA コードの軽微な変更で対応できるが、MLA は圧縮/展開の追加線形変換が必要。
## 横断的知見
- **SWA との組み合わせ**: GQA はスライディングウィンドウアテンション([[スライディングウィンドウアテンション]])と組み合わせ可能。Gemma 3/4 は 5:1 比率の SWA + GQA でさらなる KV キャッシュ削減。
- **QK-Norm との組み合わせ**: [[QK-Norm]] は GQA の Q・K に RoPE 前に RMSNorm を適用する拡張。Qwen3 など多くのモデルが採用。
- **OLMo 2 の特殊ケース**: OLMo 2 は GQA ではなく従来の MHA を採用していたが、32B バリアントで後から GQA を採用。
## 関連
- 概念: [[Multi-Head Latent Attention]] / [[KVキャッシュ管理]] / [[QK-Norm]] / [[スライディングウィンドウアテンション]] / [[Transformer]]
- ソース: [[The Big LLM Architecture Comparison]]