Grouped Query Attention(GQA)GQA
GQA は、複数の Query ヘッドが Key・Value ヘッドのグループを共有する Attention 変種です。MHA の品質と MQA のメモリ効率の中間を取り、Llama 2 以降の主要 LLM の標準となりました。
詳細解説
GQA(Grouped Query Attention、グループドクエリアテンション)は、Ainslie ら(Google Research)が2023年5月に発表した Multi-Head Attention の変種で、Multi-Head Attention(MHA: 各ヘッドが独立した K・V を持つ)と Multi-Query Attention(MQA: 全ヘッドが K・V を共有)の中間に位置する設計です。例えば Query ヘッドが32個ある場合、GQA-8(group 8)では32 Query を8グループに分け、各グループ内の4つの Query ヘッドが1つの K・V ヘッドを共有します。これにより、(1) KV キャッシュサイズが MHA の H_kv/H_q 倍(GQA-8 なら8分の1)に圧縮され推論時メモリと帯域が大幅削減、(2) MQA で発生しがちな品質低下を抑えて MHA とほぼ同等のスコアを維持、という両立を実現しました。Ainslie らの実験では、既存 MHA モデルから5%の追加学習(uptraining)で MQA・GQA に変換可能なことも示されました。Llama 2 70B(group 8、Q=64・KV=8)、Llama 3 全サイズ、Mistral・Mixtral、Qwen 2、DeepSeek V2/V3、Gemma などほぼ全ての2023年後半以降の主要 LLM が GQA を採用しており、長コンテキスト推論サービングの実現可能性を支える重要技術となっています。Flash Attention 2/3、PagedAttention(vLLM)、TensorRT-LLM など主要推論エンジンが GQA 専用カーネルで最適化対応します。
実装例 / 使い方
- 01Llama 2 70B は64 Query に対し8 KV ヘッドのグループ8 GQA を採用します
- 02KV キャッシュメモリを MHA 比で約8分の1に削減できます
- 03Llama 3、Mistral、Qwen 2、DeepSeek など主要新規モデルがほぼ全て採用しています
関連する用語
Multi-Head Attention(マルチヘッド注意)
MHAMulti-Head Attention は、Self-Attention を複数の「ヘッド」に分割して並列計算し結果を結合する仕組みです。各ヘッドが異なる文法...
Multi-Query Attention(MQA)
MQAMQA は、すべての Query ヘッドが単一の Key・Value ヘッドを共有する Attention 変種です。KV キャッシュを劇的に削減して推論を高速...
KV Cache(KVキャッシュ)
KV CacheKV Cache は、自己回帰生成中に過去トークンの Key・Value を保存して再利用する仕組みです。1トークン生成あたりの計算量が O(N^2) から O...
Self-Attention(自己注意機構)
SASelf-Attention は、入力系列の各トークンが同じ系列内の他のトークンとの関連度を計算する仕組みです。Query・Key・Value の3行列に射影し...
Flash Attention(高速アテンション)
FAFlash Attention は、GPU の SRAM とタイリングを活用してアテンション行列をメモリに具体化せず計算する I/O 最適化アルゴリズムです。メ...
Grouped Query Attention(GQA)を、実際に活用する
用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。
営業時間 平日10-18時 / 通常24時間以内に返信
