AI・機械学習
上級

マルチヘッドアテンション(マルチヘッドアテンション)

マルチヘッドアテンション(Multi-Head Attention, MHA)とは、アテンション計算を複数の独立したヘッド(部分空間)で並行実行し、各ヘッドが異なる種類の関係性パターン(構文的依存、意味的類似、位置関係など)を学習できるようにした機構である。Transformer原論文では8ヘッド構成だったが、GPT-4oでは推定128ヘッド、Llama 3.1 405Bでも128ヘッドに拡大している。

0 回閲覧
0 いいね

マルチヘッドアテンション(Multi-Head Attention)とは

マルチヘッドアテンション(MHA)は、1つのアテンション演算を複数の独立した「ヘッド」に分割して並列実行し、それぞれが入力の異なる特徴的パターンを捕捉するTransformerの中核手法である。2017年のTransformer原論文でd_model=512を8ヘッドに分割(各ヘッド64次元)する構成が提案された。

概要と動作原理

MHAの動作は以下のステップで構成される:

  1. 入力の埋め込みベクトル(次元d_model)に対し、ヘッド数hの個別の射影行列Wq_i、Wk_i、Wv_iを適用
  2. 各ヘッドでScaled Dot-Product Attentionを独立に計算
  3. 全ヘッドの出力を連結(concatenation)
  4. 連結結果に出力射影行列Woを適用して最終出力を得る

各ヘッドの次元はd_k = d_model / hとなるため、総パラメータ数は単一ヘッドのアテンションとほぼ同等である。

主要モデルのヘッド構成比較

モデルパラメータd_modelヘッド数d_kKV方式最大文脈長
Transformer Base65M512864MHA512
GPT-21.5B1,6002564MHA1,024
GPT-3 175B175B12,28896128MHA4,096
Llama 2 70B70B8,19264128GQA (8 KV)4,096
Llama 3.1 405B405B16,384128128GQA (8 KV)128K
Mistral 7B7.3B4,09632128GQA (8 KV)32K
GPT-4o (推定)~200B MoE12,28812896GQA128K
Gemini 2.5 Pro~1.8T MoE不明不明不明MQA/GQA1M

ヘッドごとの学習パターン

研究により、MHAの各ヘッドが異なる言語的パターンを自然に学習することが判明している:

  • 構文ヘッド: 主語-動詞、修飾語-被修飾語の係り受け関係を捕捉
  • 位置ヘッド: 直前・直後のトークンに強く注目する近接パターン
  • コピーヘッド: 入力中の特定トークンを出力にコピーする動作(In-Context Learning)
  • インダクションヘッド: [A][B]...[A]のパターンを認識し次に[B]を予測(ICLの基盤機構)
  • 抑制ヘッド: 特定のパターンを抑制し出力の多様性を確保
  • BERTの例: 12層x12ヘッド=144ヘッドのうち、約30%が構文関係、20%が位置関係に特化

MHAの派生手法

MHAのKVキャッシュが推論コストの主因となるため、多数の効率化変種が開発された:

手法QueryヘッドKVヘッドKVキャッシュ比品質影響代表モデル
MHAhh1.0x基準GPT-3, BERT
MQAh11/hやや劣化PaLM, Falcon-40B
GQAhg (1<g<h)g/hほぼ同等Llama 3.1, Gemma 2
MLAh圧縮表現可変同等以上DeepSeek-V2/V3

実装上の注意点

  • ヘッド数はd_modelの約数: d_model=4096ならh=32(d_k=128)が一般的
  • Tensor並列化: 複数GPUに分散する際、ヘッド単位で分割可能(Megatron-LM方式)
  • ドロップアウト: アテンション重みにドロップアウト(通常0.1)を適用して過学習を抑制
  • 相対位置エンコーディング: RoPE(Rotary Position Embedding)をQ・Kに適用して位置情報を付与

よくある質問(FAQ)

Q1: ヘッド数を増やせば性能は向上しますか? A: d_modelを固定したままヘッド数を増やすと各ヘッドの次元d_kが小さくなり、ヘッドあたりの表現力が低下する。経験的にはd_k=64〜128が最適で、ヘッド数はd_model/d_kで自動決定される。405Bクラスではd_model=16,384、128ヘッド(d_k=128)が標準構成。

Q2: MHAとMQAではどちらが推論性能が良いですか? A: MQAはKVキャッシュを1/hに削減できるため推論速度が大幅に向上するが、品質がわずかに劣化する。GQAはその中間で、Llama 3.1(64Q/8KV)では品質劣化なしにKVキャッシュを1/8に圧縮している。2026年の標準はGQAである。

Q3: インダクションヘッドとは何ですか? A: インダクションヘッドは「前に[A]の後に[B]が来たパターンを記憶し、再び[A]が出現したら[B]を予測する」2層回路で、In-Context Learning(文脈内学習)の機械的基盤とされる。Anthropicの「A Mathematical Framework for Transformer Circuits」で詳細に解析された。

まとめ

  • MHAはアテンションを複数ヘッドに分割し、各ヘッドが構文・意味・位置など異なるパターンを学習する
  • 最新モデルは128ヘッド構成が標準で、GQAによるKVキャッシュ効率化が必須
  • d_k=64〜128が最適範囲で、d_model/d_kでヘッド数が決まる
  • MQA→GQA→MLAと効率化が進み、推論コスト削減とモデル品質の両立が実現