AI・機械学習
中級

LLMアテンション機構(エルエルエムアテンションキコウ)

アテンション機構とは、入力シーケンス内の各トークンが他の全トークンとの関連度を動的に計算し、重要な情報に選択的に注目する仕組みである。2017年のTransformer論文「Attention Is All You Need」で提案されたSelf-Attentionが基盤となり、GPT-4o、Claude 4、Gemini 2.5 Pro、Llama 3.1など現代のLLMすべてがこの機構を中核に採用している。

0 回閲覧
0 いいね

LLMアテンション機構とは

LLMアテンション機構は、Transformerアーキテクチャの中核をなす計算手法であり、入力テキスト中の各トークンが他のすべてのトークンとの関連性スコアを算出し、文脈に応じた表現を生成する。2017年にGoogle Brainが発表した論文「Attention Is All You Need」(Vaswani et al.)でSelf-Attention(自己注意)として提案され、RNNやLSTMに代わるシーケンスモデリングの主流となった。

概要と歴史的背景

アテンション機構のアイデア自体は2014年のBahdanau Attention(機械翻訳向け)に遡るが、Transformerが全結合型のSelf-Attentionを導入したことで計算の並列化が可能となり、大規模言語モデルの学習効率が飛躍的に向上した。

年代手法特徴代表モデル
2014Bahdanau Attentionエンコーダ-デコーダ間の加法アテンションseq2seq翻訳
2017Scaled Dot-Product AttentionQ・K・Vの内積ベース、並列計算可能Transformer (base/big)
2019Multi-Head Attention複数ヘッドで異なる部分空間の関係を捕捉BERT, GPT-2
2023FlashAttention-2IO-Aware実装でHBM帯域を最適化Llama 2, Mistral 7B
2024Grouped-Query AttentionKVヘッド共有でメモリ効率化Llama 3.1, Gemma 2
2025Ring Attentionデバイス間でシーケンスを分散処理Gemini 2.5 Pro (1Mトークン)

Self-Attentionの計算原理

Self-Attentionは3つの行列 Query (Q)、Key (K)、Value (V) を用いて計算される:

  • ステップ1: 入力埋め込みにWq、Wk、Wvの重み行列を乗じてQ、K、Vを生成
  • ステップ2: QとKの転置行列の内積を計算し、次元数dkの平方根で除算(Scaled Dot-Product)
  • ステップ3: Softmax関数でアテンションスコア(重み)を正規化
  • ステップ4: スコアとVの加重和を出力として返す
  • 計算量: シーケンス長nに対してO(n^2)の時間・空間計算量が必要
  • GPT-4oの実装: 推定128ヘッド、モデル次元12,288、1ヘッドあたり96次元
  • Llama 3.1 405B: 128ヘッド、モデル次元16,384、GQA採用でKVヘッド8個に圧縮

主要なアテンション変種

現代の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-2O(n^2 * d)SRAM最適化改善Mistral, Yi-34B
Sliding Window AttentionO(n * w * d)高い良好Mistral 7B, Longformer
Ring AttentionO(n^2 * d / P)デバイス分散極めて良好Gemini 2.5 Pro
Linear AttentionO(n * d^2)高い良好RWKV, Mamba (非Attention)

KVキャッシュとアテンションの関係

推論時のアテンション計算では、過去のトークンに対するKey・Value行列をキャッシュ(KVキャッシュ)することで再計算を回避する。このKVキャッシュのメモリ消費がLLMサービングの主要ボトルネックとなっている:

  • Llama 3.1 70B(MHA時仮定): 128K文脈で約40GB/リクエストのKVキャッシュ
  • Llama 3.1 70B(GQA実装): KVヘッド8個でKVキャッシュ約2.5GB/リクエストに削減
  • PagedAttention(vLLM): KVキャッシュを4KBページ単位で動的割当、メモリ断片化を解消
  • Prefix Caching: 共通プレフィックスのKVキャッシュを複数リクエスト間で再利用

ハードウェアとアテンション最適化

アテンション演算は行列乗算が主体であり、GPUのTensor Coreとの親和性が高い:

  • NVIDIA H100: FP16で989 TFLOPS、HBM3帯域3.35TB/s、FlashAttention-2でMFU 70%以上達成
  • NVIDIA H200: HBM3e 141GB、帯域4.8TB/s、KVキャッシュ容量が1.76倍に拡大
  • NVIDIA B200: FP4で18 PFLOPS、アテンション演算のスループットがH100比4.5倍
  • AMD MI300X: HBM3 192GB、帯域5.3TB/s、ROCm 6.xでFlashAttention対応
  • Google TPU v5p: bf16で459 TFLOPS、高帯域ICI接続でRing Attention効率化

よくある質問(FAQ)

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を組み合わせるハイブリッドアプローチも登場している。

まとめ

  • アテンション機構はTransformerの中核であり、Q・K・Vの内積計算によりトークン間の関連度を動的に算出する
  • O(n^2)の計算量がボトルネックとなるため、GQA・FlashAttention・Sliding Window等の効率化手法が必須
  • KVキャッシュの管理(PagedAttention、Prefix Caching)がLLMサービングの性能を左右する
  • H100/H200/B200などの最新GPUはアテンション演算に最適化された設計を採用している
  • 線形アテンションモデル(Mamba等)との競合・融合が2026年の主要トレンド