Attention Mechanism(アテンション機構)
Bahdanau additive 注意から scaled dot-product・MHA/MQA/GQA・FlashAttention・Longformer/BigBird・Performer・DeepSeek MLA まで attention 機構の系譜と効率化変種を整理する。
article technology ja Bahdanau additive 注意から scaled dot-product・MHA/MQA/GQA・FlashAttention・Longformer/BigBird・Performer・DeepSeek MLA まで attention 機構の系譜と効率化変種を整理する。Attention Mechanism(アテンション機構)
アテンション機構はクエリ と一連のキー の類似度を softmax で確率分布化し、対応する値 の加重和を返す微分可能な「ソフトな辞書参照」である。Bahdanau 2015 (arXiv:1409.0473) が encoder-decoder の固定長ボトルネック解消として導入し、Vaswani 2017 (arXiv:1706.03762) の scaled dot-product 化で再帰を捨て、現代 LLM の中核演算となった。本稿は加法注意から MLA・FlashAttention まで attention 自体の系譜と効率化変種を整理する。Transformer 全体構造は tech-35、位置注入は tech-34 を参照。
アテンション以前 — encoder-decoder と Bahdanau 注意
2014 年の Sutskever seq2seq は入力系列を encoder LSTM の最終隠れ状態 1 本に圧縮し decoder へ渡したため、長文で情報が潰れた。Bahdanau 2015 はこのボトルネックを解消すべく、decoder の各ステップ で encoder の全ての隠れ状態 を参照する加法注意 (additive / Bahdanau attention) を導入した:
が context vector で decoder へ追加入力する。Luong 2015 (arXiv:1508.04025) は加法を捨て内積・bilinear (general)・concat の 3 スコアを比較し dot-product を推奨。注意 = 学習可能なソフト辞書参照という抽象化が固まり、再帰 + 注意のハイブリッドが NMT で支配的になる。
数式と形式 — additive, dot-product, scaled dot-product
クエリ次元 のもとで主要な 3 形式は
加法は MLP 1 層分の演算で高品質だが GEMM に乗らず GPU で遅い。素の内積は速いが が大きいと で softmax 飽和し勾配がほぼ消える。Vaswani 2017 は で割り分散を に戻す scaled dot-product を採用、 という単一行列積に統一した。これが GPU GEMM に乗ることが Transformer 並列性の鍵である。
自己注意 vs cross-attention vs 因果マスク
自己注意 (self-attention) は を同一系列 から と射影し の注意行列を作る。cross-attention は を decoder 側・ を encoder 出力から作り、機械翻訳や T5 系・拡散モデルのテキスト条件付けに使う。形状は で非対称。
マスキングはソフトマックス前に を加算して特定セルを参照禁止にする操作で 2 種類ある:
- 因果マスク (look-ahead / causal mask): 上三角 で未来トークン参照禁止。decoder-only LLM の自己回帰生成に必須。
- パディングマスク: バッチ内可変長を埋めた
[PAD]トークンの列を にして KV 側から排除。
両者は同時適用可能で、 または の加算行列として実装する。
マルチヘッド・MQA・GQA・MLA
Multi-Head Attention (MHA) は を 個の 次元部分空間に並行射影し独立に attention 計算後に連結 + 出力射影。総 FLOP は単一ヘッドと同等で各ヘッドが構文依存・共参照・近接を別々に担う。
Multi-Query Attention (MQA) (Shazeer 2019, arXiv:1911.02150) は KV を 1 ヘッド共有し に KV キャッシュを縮める。HBM 帯域律速を緩和し約 10× スループットだが品質劣化事例あり。
Grouped-Query Attention (GQA) (Ainslie 2023, arXiv:2305.13245) は中庸案で KV グループを クエリで共有 ( なら MQA・ なら MHA)。LLaMA 2 70B が で MHA 同等品質を示し以後標準。
Multi-head Latent Attention (MLA) (DeepSeek-V2, arXiv:2405.04434) は KV を低ランク joint 圧縮し () のみキャッシュ、 で復元する。GQA より小容量で MHA 級品質を達成、RoPE は別チャネル化が必要。
効率化系譜 — FlashAttention・Sliding Window・Sparse・低ランク・カーネル
素の自己注意は FLOP と メモリで、長文脈の律速。系統別に 5 アプローチがある。
FlashAttention (Dao 2022, arXiv:2205.14135) は近似なしのIO-aware 厳密注意。 行列を HBM に書かず Q/K/V をブロック分割し SRAM へロード、online-softmax で正規化定数 を逐次更新して出力を直接合成する。HBM I/O を から ( は SRAM 容量) に削減、2〜4× wall-clock・5〜20× メモリ削減。FA-2 (arXiv:2307.08691) で A100 50〜73%、FA-3 で H100 約 75% 理論ピーク。
Sliding Window Attention (SWA) は各トークンが直近 個のみ参照、メモリ 。Longformer (Beltagy 2020, arXiv:2004.05150) はこれに少数のグローバルトークンを全結合し 4K → 32K を実現。BigBird (Zaheer 2020, arXiv:2007.14062) は local + global + ランダムで Turing-completeness を保証。Mistral 7B が SWA + rolling KV cache で商用化。
低ランク系: Linformer (Wang 2020, arXiv:2006.04768) は を学習射影で に圧縮し 。注意行列が経験的に低ランクである観察に基づく。
カーネル/線形系: Performer (Choromanski 2021, arXiv:2009.14794) は softmax カーネルを FAVOR+ で正のランダム特徴 に非バイアス近似し の積順序入替で 化。Linear Transformer (Katharopoulos 2020, arXiv:2006.16236) は で同目的。
ハッシュ系: Reformer (Kitaev 2020, arXiv:2001.04451) は LSH で近傍のみ計算 。
理論的視点 — set function / kernel / graph attention
自己注意は置換同変な集合関数 (permutation-equivariant set function) で、入力順序を変えると出力も同じ置換が掛かる。これが位置符号化を別経路で注入する必然性を生む。
Tsai 2019 (arXiv:1908.11775) は注意をカーネル法として再解釈し 、 は指数カーネル 、と定式化。Performer の FAVOR+ 設計の理論基盤である。
Graph Attention Network (GAT) (Veličković 2018, arXiv:1710.10903) は注意をグラフ隣接ノードに限定し で集約に学習可能重みを与える。自己注意の全結合グラフ特殊化と見做せ、GNN と Transformer の橋渡しになる。
位置情報の注入
自己注意は順序を区別しないため正弦波絶対・T5 相対バイアス・RoPE・ALiBi・YaRN/LongRoPE などで位置を別チャネル注入する。詳細は Positional Encoding — tech-34 を参照。本稿の比較表は「位置 = RoPE 等で別経路」を前提とする。
代替・補完技術 — SSM・Mamba・Hyena
依存を回避する非注意アーキテクチャも 2023 年以降復権した。Mamba/S6 (Gu & Dao 2023, arXiv:2312.00752) は状態空間モデル (SSM) を選択的ゲート化し で 1M トークンまでスケール。Hyena (Poli 2023, arXiv:2302.10866) は long convolution + gating で 領域を狙う。ただし連想想起 (associative recall) タスクで attention が依然優位 (Arora 2024, arXiv:2402.18668)、ハイブリッド (Jamba, Zamba) や attention 主軸 + Mamba 補助が現実解。
2026 年の選択指針
| 変種 | メモリ | 計算量 | 主用途 |
|---|---|---|---|
| MHA (素) | 短文・基準実装 | ||
| MQA / GQA | KV 〜 | LLM デコード高速化 | |
| MLA | KV 低ランク | 長文脈 KV 圧縮 | |
| FlashAttention | ワーキング | 厳密 | 学習・推論の万能高速化 |
| Sliding Window | 長文脈 (局所優位) | ||
| Longformer / BigBird | 文書 QA・長文分類 | ||
| Linformer | 学習効率重視 | ||
| Performer | 超長系列・厳密性緩和可 | ||
| Reformer | 単一 GPU 長文脈 |
実装は PyTorch 2.x の scaled_dot_product_attention (FA2/FA3 自動選択)、xformers、FlashAttention 公式 CUDA、Triton が主流。長文脈学習では FA + RoPE + GQA + (SWA or 全結合) が事実上の標準。
二言語用語対照表
| 日本語 | English |
|---|---|
| 加法注意 / 乗法注意 | Additive / Multiplicative attention |
| スケールド・ドット積注意 | Scaled dot-product attention (SDPA) |
| 自己注意 / クロス注意 | Self-attention / Cross-attention |
| 因果マスク / パディングマスク | Causal mask / Padding mask |
| マルチヘッド注意 | Multi-head attention (MHA) |
| マルチクエリ / グループドクエリ注意 | Multi-query / Grouped-query attention |
| マルチヘッド潜在注意 | Multi-head Latent Attention (MLA) |
| スパース注意 / 線形注意 | Sparse attention / Linear attention |
| スライディングウィンドウ注意 | Sliding window attention (SWA) |
| カーネル法 / ランダム特徴 | Kernel method / Random features |
| 置換同変 / 集合関数 | Permutation-equivariant / Set function |
参考文献
- Bahdanau 2015 (additive attention). https://arxiv.org/abs/1409.0473
- Luong 2015 (dot/general/concat). https://arxiv.org/abs/1508.04025
- Vaswani 2017 (Transformer / SDPA). https://arxiv.org/abs/1706.03762
- Shazeer 2019 (MQA). https://arxiv.org/abs/1911.02150
- Ainslie 2023 (GQA). https://arxiv.org/abs/2305.13245
- DeepSeek-AI 2024 (MLA / DeepSeek-V2). https://arxiv.org/abs/2405.04434
- Dao 2022 (FlashAttention). https://arxiv.org/abs/2205.14135
- Dao 2023 (FlashAttention-2). https://arxiv.org/abs/2307.08691
- Beltagy 2020 (Longformer). https://arxiv.org/abs/2004.05150
- Zaheer 2020 (BigBird). https://arxiv.org/abs/2007.14062
- Wang 2020 (Linformer). https://arxiv.org/abs/2006.04768
- Choromanski 2021 (Performer). https://arxiv.org/abs/2009.14794
- Katharopoulos 2020 (Linear Transformer). https://arxiv.org/abs/2006.16236
- Kitaev 2020 (Reformer). https://arxiv.org/abs/2001.04451
- Tsai 2019 (Attention as Kernel). https://arxiv.org/abs/1908.11775
- Veličković 2018 (GAT). https://arxiv.org/abs/1710.10903
- Gu & Dao 2023 (Mamba). https://arxiv.org/abs/2312.00752
- Poli 2023 (Hyena). https://arxiv.org/abs/2302.10866
- Arora 2024 (associative recall gap). https://arxiv.org/abs/2402.18668
Backlinks
7 backlinks
- related Training Data Shuffling and Batching(訓練データのシャッフルとバッチング)
- related Inference Batching(推論バッチング)
- related Inference Performance Metrics(推論性能指標)
- related Inference Phases(推論フェーズ)
- related Decoding Strategy(出力戦略)
- related Distributed Training(分散学習)
- related LLM Comparison