AI・機械学習
上級

RoPE(Rotary Position Embedding)(ロープ)

Transformer モデルの位置情報を回転行列で表現する手法。相対位置を内積の回転角としてエンコードすることで、訓練時より長いシーケンスへの外挿(extrapolation)を可能にする。Llama・Qwen・Mistral 等の主要オープンソースLLMで標準採用されている。

0 回閲覧
0 いいね

RoPE(Rotary Position Embedding)とは

RoPE(Rotary Position Embedding)とは、Transformerアーキテクチャにおけるトークンの位置情報を回転行列(rotation matrix)で表現する位置エンコーディング手法である。2021年にSu et al.が提案し、Meta社のLlama、Alibaba社のQwen、Mistral AI社のMistralなど、2024〜2026年の主要オープンソースLLMの事実上の標準となっている。

RoPEの基本原理

従来の絶対位置エンコーディング(Sinusoidal PE)はトークン埋め込みに位置ベクトルを加算する方式だったが、RoPEはクエリ(Q)とキー(K)のベクトルを位置に応じた角度で回転させる。具体的には、embedding次元をペアに分割し、各ペアを2次元回転行列で回転させる:

  • 位置 m のトークンのQ/Kベクトルの第 i ペアを角度 θ_i × m で回転
  • θ_i = 10000^(-2i/d) (d はembedding次元数)
  • 回転後のQとKの内積が相対位置 (m-n) のみに依存する性質を持つ

この設計により以下の利点が生まれる:

  • 相対位置の自然な表現: 内積が位置差の関数になるため、絶対位置に依存しない
  • 長距離減衰: 位置差が大きいほど高周波成分が打ち消し合い、自然な注意の減衰が発生
  • 外挿可能性: 周波数ベースの設計により、訓練時より長い系列への適用が理論上可能

RoPEの拡張手法

拡張手法提案元原理拡張倍率代表的適用モデル
Linear InterpolationMeta(kaiokendev)周波数を均一にスケーリング2〜4倍CodeLlama-34B(16K→100K)
NTK-aware ScalingReddit(bloc97)高周波成分を優先的に保護4〜8倍Yarn-Llama-2-13B
YaRNNousResearchNTK + Attention Scaling + 温度調整4〜32倍Qwen2.5-72B(131K)
Dynamic NTK複数チーム推論時にシーケンス長に応じて動的調整可変Llama 3.1(128K)
Code Llama FTMeta長系列データでのFine-tuning4倍CodeLlama(16K)

実装上の注意点

RoPEを実装・利用する際の主要な注意点:

  • base frequency: デフォルトの10,000は4K〜8Kトークン向け。128K以上にはbase=500,000(Llama 3.1方式)やbase=1,000,000が必要
  • 次元ペアリング: embedding次元が奇数の場合、最後の1次元はRoPE非適用となるため偶数次元が推奨
  • GQA(Grouped-Query Attention)との互換: RoPEはQ/K個別に適用するため、GQAのキー共有と自然に両立する
  • 量子化への影響: GPTQ/AWQなどの重み量子化はRoPE適用後の活性値に影響を与えるため、回転前の値で量子化するか、量子化対応のRoPE実装を使用する
  • Flash Attention互換: FlashAttention-2はRoPEをカーネル内で適用する最適化をサポート。別途RoPEを計算してからFlash Attentionを呼ぶ非効率な実装を避ける

他の位置エンコーディングとの比較

手法方式外挿性能計算オーバーヘッド採用モデル例
Sinusoidal PE加算型・絶対位置低い最小初代Transformer
Learned PE学習型・絶対位置なし(固定長)最小GPT-2, BERT
ALiBiバイアス型・相対位置高い低いMPT-7B, BLOOM
RoPE回転型・相対位置中〜高(拡張手法依存)低いLlama, Qwen, Mistral
Kerpleカーネル型・相対位置高い中程度研究段階

よくある質問(FAQ)

Q1: RoPEはなぜ「回転」と呼ばれるのか? A: 位置エンコーディングを2次元平面上のベクトル回転として定式化しているためである。embedding次元を2つずつペアにし、各ペアを位置に比例した角度で回転させる操作が、2次元回転行列の積と数学的に等価になる。

Q2: RoPEの外挿性能が完全でないのはなぜか? A: 訓練時に見ていない位置の回転角(θ × m)は、高周波成分で急速に変化するため注意パターンが不安定になる。YaRNやDynamic NTKはこの高周波成分を選択的にスケーリングすることで外挿性能を改善する。

Q3: RoPEとALiBiのどちらを選ぶべきか? A: 2026年現在、実績ではRoPEが圧倒的に優勢である。Llama 3.1・Qwen2.5・Mistral Large 2など主要モデルがすべてRoPEを採用しており、YaRN等の拡張手法のエコシステムも充実している。ALiBiはBLOOM・MPT系で採用されたが、後継モデルの多くがRoPEに移行している。

まとめ

  • RoPEはQ/Kベクトルを位置に応じて回転させる位置エンコーディング手法
  • 相対位置を内積の回転角として表現し、外挿可能性を実現
  • YaRN・Dynamic NTKなどの拡張手法で128K〜200Kトークンへの拡張が実用化
  • Llama・Qwen・Mistralなど2024〜2026年の主要オープンソースLLMの事実上の標準
  • base frequencyの調整とFlash Attention互換の実装が性能上の重要ポイント