マルチヘッドアテンション まるちへっどあてんしょん
Multi-Head AttentionTransformer自己注意機構アテンションヘッド並列処理
マルチヘッドアテンションについて教えて
簡単に言うとこんな感じ!
「複数の視点で同時に文章を読む」仕組みだよ!1人の読者が1つの観点で読むより、「文法担当」「意味担当」「文脈担当」と複数の専門家が並列で読んだほうが深く理解できるよね。それをAIでやってるんだ!
マルチヘッドアテンションとは
マルチヘッドアテンション(Multi-Head Attention) とは、Transformerの中核をなす機構で、入力データを複数の「ヘッド」と呼ばれる並列なアテンション計算に分けて処理することで、多様な関係性を同時に学習できるようにしたものです。
単一のアテンション(シングルヘッドアテンション)では1種類の関係性しか捉えられませんが、マルチヘッドにすることで「単語の意味」「文法的な役割」「文脈のつながり」 など複数の側面を並列に学習できます。最終的に各ヘッドの出力を結合し、線形変換を通じて次の層へ渡します。
GPT、BERT、Claude、Geminiなどほぼすべての現代的なLLMで採用されており、LLMの性能を大きく左右する重要な構成要素です。
仕組みとアーキテクチャ
| 要素 | 説明 |
|---|---|
| Query(Q) | 「何を探しているか」を表すベクトル |
| Key(K) | 「自分はどんな情報か」を表すベクトル |
| Value(V) | 実際に渡す情報のベクトル |
| ヘッド数 | GPT-3では96ヘッド、小型モデルでは8〜12ヘッド程度 |
| 次元分割 | 埋め込み次元をヘッド数で割り振って並列処理 |
処理の流れ:
- 入力をQ・K・Vの3つに線形変換
- 各ヘッドでスケールドドット積アテンションを計算
- 全ヘッドの出力を結合(Concat)
- 最終の線形変換で出力次元を整える
歴史と背景
- 2017年:Google「Attention Is All You Need」論文でTransformerとともに提案
- 2018年:BERTがマルチヘッドアテンションを双方向に適用し高精度を達成
- 2020年以降:GPT-3など超大規模モデルでヘッド数・次元数を大幅に拡大
- 現在:GPUの並列処理との相性が良く、スケールアップの主役として定着
ヘッド数と性能の関係
| モデル | ヘッド数 | 埋め込み次元 |
|---|---|---|
| BERT-base | 12 | 768 |
| GPT-3 | 96 | 12,288 |
| LLaMA 2 (70B) | 64 | 8,192 |
| Claude 3系 | 非公開 | 非公開 |
関連用語
- スケールドドット積アテンション — マルチヘッドの各ヘッドで使われる基本計算
- エンコーダー / デコーダー — マルチヘッドアテンションが組み込まれるTransformerの骨格
- クロスアテンション — エンコーダーとデコーダー間で使われる変形版
- Flash Attention — マルチヘッドアテンションを高速化する実装技術
- フィードフォワード層 — アテンション層と交互に並ぶTransformerの構成要素