アテンション機構とは、入力シーケンス内の各トークンが他の全トークンとの関連度を動的に計算し、重要な情報に選択的に注目する仕組みである。2017年のTransformer論文「Attention Is All You Need」で提案されたSelf-Attentionが基盤となり、GPT-4o、Claude 4、Gemini 2.5 Pro、Llama 3.1など現代のLLMすべてがこの機構を中核に採用している。
LLMアテンション機構は、Transformerアーキテクチャの中核をなす計算手法であり、入力テキスト中の各トークンが他のすべてのトークンとの関連性スコアを算出し、文脈に応じた表現を生成する。2017年にGoogle Brainが発表した論文「Attention Is All You Need」(Vaswani et al.)でSelf-Attention(自己注意)として提案され、RNNやLSTMに代わるシーケンスモデリングの主流となった。
アテンション機構のアイデア自体は2014年のBahdanau Attention(機械翻訳向け)に遡るが、Transformerが全結合型のSelf-Attentionを導入したことで計算の並列化が可能となり、大規模言語モデルの学習効率が飛躍的に向上した。
| 年代 | 手法 | 特徴 | 代表モデル |
|---|---|---|---|
| 2014 | Bahdanau Attention | エンコーダ-デコーダ間の加法アテンション | seq2seq翻訳 |
| 2017 | Scaled Dot-Product Attention | Q・K・Vの内積ベース、並列計算可能 | Transformer (base/big) |
| 2019 | Multi-Head Attention | 複数ヘッドで異なる部分空間の関係を捕捉 | BERT, GPT-2 |
| 2023 | FlashAttention-2 | IO-Aware実装でHBM帯域を最適化 | Llama 2, Mistral 7B |
| 2024 | Grouped-Query Attention | KVヘッド共有でメモリ効率化 | Llama 3.1, Gemma 2 |
| 2025 | Ring Attention | デバイス間でシーケンスを分散処理 | Gemini 2.5 Pro (1Mトークン) |
Self-Attentionは3つの行列 Query (Q)、Key (K)、Value (V) を用いて計算される:
現代のLLMでは、基本のSelf-Attentionを効率化・拡張した多数の変種が開発されている:
| 手法 | 計算量 | メモリ効率 | 長文対応 | 採用モデル |
|---|---|---|---|---|
| Multi-Head Attention (MHA) | O(n^2 * d) | 標準 | 制限あり | GPT-3, BERT |
| Multi-Query Attention (MQA) |
| O(n^2 * d) |
| 高い |
| 制限あり |
| PaLM, Falcon-40B |
| Grouped-Query Attention (GQA) | O(n^2 * d) | MHAとMQAの中間 | 制限あり | Llama 3.1, Gemma 2 |
| FlashAttention-2 | O(n^2 * d) | SRAM最適化 | 改善 | Mistral, Yi-34B |
| Sliding Window Attention | O(n * w * d) | 高い | 良好 | Mistral 7B, Longformer |
| Ring Attention | O(n^2 * d / P) | デバイス分散 | 極めて良好 | Gemini 2.5 Pro |
| Linear Attention | O(n * d^2) | 高い | 良好 | RWKV, Mamba (非Attention) |
推論時のアテンション計算では、過去のトークンに対するKey・Value行列をキャッシュ(KVキャッシュ)することで再計算を回避する。このKVキャッシュのメモリ消費がLLMサービングの主要ボトルネックとなっている:
アテンション演算は行列乗算が主体であり、GPUのTensor Coreとの親和性が高い:
Q1: アテンション機構はなぜO(n^2)の計算量が問題になるのですか? A: シーケンス長nの2乗に比例してアテンション行列のサイズが増大するため、128Kトークンの場合は128K x 128K = 約164億要素の行列が必要になる。これがメモリと計算時間の両面でボトルネックとなり、FlashAttentionやSliding Window Attentionなどの効率化手法が開発された。
Q2: Multi-Head AttentionとGrouped-Query Attentionの違いは何ですか? A: MHAは各ヘッドが独立したQ・K・V重みを持つのに対し、GQAは複数のQueryヘッドで1組のK・Vヘッドを共有する。Llama 3.1 70Bでは64個のQueryヘッドに対しKVヘッドは8個で、推論時のKVキャッシュメモリが1/8に削減される。
Q3: FlashAttentionは計算量を減らしているのですか? A: FlashAttentionは計算量(FLOP数)自体は標準アテンションと同じO(n^2)だが、GPU内のSRAM(高速メモリ)とHBM(大容量メモリ)間のデータ転送を最小化するIO-Awareアルゴリズムにより、実測の壁時計時間を2-4倍高速化する。メモリ使用量もO(n)に削減される。
Q4: Mamba/RWKVなどの線形アテンションモデルはTransformerを置き換えますか? A: 2026年時点では、Mamba-2やRWKV-6などの線形計算量モデルが長文処理で優位性を示しているが、複雑な推論タスクではTransformerベースのアテンションが依然として高性能。Jamba(AI21 Labs)のようにMambaとTransformerを組み合わせるハイブリッドアプローチも登場している。