# 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]]