AI・機械学習
上級

Lightning Attention 2(ライトニングアテンションツー)

訓練・推論の両フェーズで線形計算量を維持するフル線形アテンション実装。TransNormerLLMで採用されTriton/CUDAカーネル最適化で実用的な速度を実現。

0 回閲覧
0 いいね
2026/6/8 更新
関連タグ
LLMアーキテクチャ
線形アテンション
高速推論
Triton
Sub-Quadratic

Lightning Attention 2 とは

Lightning Attention 2はQin et al.(OpenNLPLab、2024)が発表した線形アテンションの高効率実装。訓練フェーズと推論フェーズで異なる計算戦略を自動切替することで実用的なスループットを達成した。

I/O-Aware チャンク並列訓練

訓練時の核心技術:

系列を M個のチャンクに分割:
  チャンク内 (intra-chunk): 並列計算
    → FlashAttention的なHBM-SRAM転送最適化
  チャンク間 (inter-chunk): 累積和
    → KᵀV状態を左から累積(線形RNN的動作)

このI/O-Aware分割により計算量O(n)・HBM転送効率はFlashAttentionに近いレベルを達成。

推論時のRNNモード自動切替

if training:
    output = chunk_parallel_forward(Q, K, V, chunk_size=256)
else:
    # RNN再帰モード: KVキャッシュをO(1)状態行列に圧縮
    state = prev_state  # 固定サイズ (d×d)
    kv = k.outer(v)
    state = state + kv
    output = q @ state
    return output, state

推論時はKVキャッシュが固定サイズ(d×d)の状態行列1つに圧縮されるため、長文脈でもメモリが増加しない。

TransNormerLLM-15B での採用

2024年に公開されたTransNormerLLM-15Bはフル線形アテンションを採用した最大規模のモデルの一つ:

  • Llama 2-13Bと同等のPerplexity
  • 1Mトークン以上のコンテキストで計算量がほぼ線形
  • A100 80GB×8でのスループットがFlashAttention-2採用LLaMAに迫る

Triton カーネル実装

pip install lightning-attn2
from lightning_attn.ops import lightning_attn_func
output = lightning_attn_func(q, k, v, slope=slopes)

H100/A100/RTX 4090での最適化済みカーネルが提供されている。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/8