AI・機械学習
上級

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

Self-Attentionを複数の独立したヘッド(サブ空間)で並列実行し、それぞれ異なる観点から文脈を捉えた後に結合する機構。単一ヘッドでは捉えきれない多様な関係性(構文的・意味的・位置的)を同時に学習できる。

0 回閲覧
0 いいね

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

Multi-Head Attention(MHA)は、Self-Attentionを複数の「ヘッド」に分割して並列実行し、異なる表現部分空間から情報を集約する機構です。Transformerの原論文で提案され、「Attention Is All You Need」の中核的な設計要素です。各ヘッドが独立した重み行列を持つことで、1つのヘッドは構文関係を、別のヘッドは意味的類似性を、さらに別のヘッドは位置的近接性を学習するといった分業が自然に発生します。

仕組み

計算フロー

  1. 入力ベクトル(d_model次元)を h 個のヘッドに分割(各ヘッドは d_k = d_model / h 次元)
  2. 各ヘッドで独立にSelf-Attentionを計算
  3. h 個のヘッドの出力を連結(Concatenate)
  4. 連結結果に出力射影行列 W_O を乗算して d_model 次元に戻す

数式: MultiHead(Q, K, V) = Concat(head_1, ..., head_h) W_O ただし head_i = Attention(Q W_Qi, K W_Ki, V W_Vi)

代表的なヘッド数

モデルパラメータ数ヘッド数d_modeld_k(ヘッドあたり)
BERT-base110M1276864
GPT-21.5B25160064
GPT-3175B9612288128
LLaMA 2 70B70B648192128
GPT-4(推定)~1.8T12816384128

ヘッド数はモデルサイズに比例して増加する傾向がありますが、d_k は64〜128で安定しています。

各ヘッドが学習する役割

研究(Clark et al., 2019; Voita et al., 2019)により、Transformerの各ヘッドが異なる言語的特徴を自律的に学習することが判明しています。

ヘッドの種類学習する関係例
位置ヘッド直前・直後のトークンへの注目「東京の天気」→「東京」と「天気」の隣接関係
構文ヘッド主語-述語、修飾関係「猫が魚を食べた」→「猫」と「食べた」の主述関係
意味ヘッド意味的に関連するトークン「犬と猫」→ 動物カテゴリの共起
コピーヘッド同一トークンの繰り返し検出「AはBでBはC」→ 2つの「B」を紐付け
区切りヘッド文末・句読点への集中文全体の要約表現を生成

この分業はモデルが明示的に指示されるのではなく、学習過程で自然に発生する「創発的」な現象です。

Multi-Head Attentionの派生

Multi-Query Attention (MQA)

Google が提案。Key と Value を全ヘッドで共有し、Query のみヘッドごとに独立させる方式。KVキャッシュのメモリ使用量を h 分の1に削減。PaLM、Falcon で採用。

Grouped-Query Attention (GQA)

MHAとMQAの中間。ヘッドをグループに分け、グループ内でKey/Valueを共有。LLaMA 2 70B、Mistral 7B で採用。MHAの品質を維持しつつMQAに近いメモリ効率を実現。

Multi-Latent Attention (MLA)

DeepSeek-V2/V3 で採用。KVを低ランク圧縮して潜在空間に射影し、必要時に復元。KVキャッシュを93%以上削減しつつMHAと同等の品質を達成。

メモリと推論速度への影響

推論時のKVキャッシュサイズは「バッチサイズ × シーケンス長 × レイヤー数 × ヘッド数 × d_k × 2(K+V)× データ型サイズ」で決まります。

方式KVキャッシュ倍率品質採用例
MHA1.0x(基準)最高GPT-3, BERT
GQA (8グループ)0.125xMHAとほぼ同等LLaMA 2 70B, Mistral
MQA1/h xやや劣化PaLM, Falcon
MLA~0.07xMHA同等DeepSeek-V2/V3

よくある質問

Q1: ヘッド数を増やすほど性能は上がりますか?

A1: 一定の範囲では改善しますが、d_k が小さくなりすぎると各ヘッドの表現力が低下します。実用的には d_k = 64〜128 を維持する範囲でヘッド数を設定するのが一般的です。

Q2: MHAからGQAに変更すると再学習が必要ですか?

A2: はい。Attention機構はモデルの重み構造に直結するため、アーキテクチャ変更時は再学習(またはファインチューニング)が必要です。LLaMA 2では70Bモデルのみ学習初期からGQAを採用しています。

Q3: Multi-Head Attentionは画像処理にも使えますか?

A3: はい。Vision Transformer(ViT)やSwin Transformerなどで画像パッチ間のMHAが広く使われています。各ヘッドがエッジ・テクスチャ・形状など異なる視覚特徴を学習します。