メインコンテンツへスキップ
EXBANK
Draft / 編集レビュー前この用語はAI補助で初稿生成中です。事実確認・編集監修が完了するまで検索エンジンには公開されません。誤りを見つけたらこちらから連絡してください。
用語集一覧へ
— Glossary

Multi-Query Attention(MQA)MQA

読み: マルチクエリアテンション
TL;DR — 短い定義

MQA は、すべての Query ヘッドが単一の Key・Value ヘッドを共有する Attention 変種です。KV キャッシュを劇的に削減して推論を高速化しますが、品質劣化が課題で GQA に置き換わる流れです。

詳細解説

MQA(Multi-Query Attention、マルチクエリアテンション)は、Noam Shazeer(Google Brain)が2019年に発表した Attention の変種で、Multi-Head Attention のすべての Query ヘッド(典型的には数十個)が単一の Key ヘッドと単一の Value ヘッドを共有するという、極端な KV 共有設計を取ります。これにより、KV キャッシュのサイズが MHA 比でヘッド数分の1(例: 32ヘッドなら32分の1)に縮小し、推論時のメモリ帯域が劇的に減るため、特に長コンテキスト・大バッチ推論でスループットが5-10倍に向上します。提案当初はあまり注目されませんでしたが、Google PaLM(540B)、Falcon 7B/40B(TII)、StarCoder(BigCode)、ChatGLM など、2022-23年の大規模モデルの推論コスト最適化のために広く採用されました。一方で、MHA からの完全な MQA 化は ppl(perplexity)・下流タスクで品質低下が観測されることが多く、対症療法として「中間設計」である GQA(Grouped Query Attention)が2023年に提案され、ほぼ MHA と同等の品質を保ちつつ MQA 並みの推論効率を実現したため、Llama 2 以降の主要新規モデルは GQA に移行しました。MQA 自体は GQA の特殊ケース(group 数=1)と見なせます。歴史的に重要な発明であり、KV Cache 最適化の発端となる概念として知っておくべき用語です。

実装例 / 使い方

  • 01Falcon 7B/40B、PaLM、StarCoder などが MQA を採用しました
  • 02長コンテキスト推論で MHA 比で5-10倍のスループット向上を実現しました
  • 03近年は GQA への移行が進み新規モデルでの採用は減少しています
IMPLEMENT

Multi-Query Attention(MQA)を、実際に活用する

用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。

営業時間 平日10-18時 / 通常24時間以内に返信