Transformer モデルの位置情報を回転行列で表現する手法。相対位置を内積の回転角としてエンコードすることで、訓練時より長いシーケンスへの外挿(extrapolation)を可能にする。Llama・Qwen・Mistral 等の主要オープンソースLLMで標準採用されている。
RoPE(Rotary Position Embedding)とは、Transformerアーキテクチャにおけるトークンの位置情報を回転行列(rotation matrix)で表現する位置エンコーディング手法である。2021年にSu et al.が提案し、Meta社のLlama、Alibaba社のQwen、Mistral AI社のMistralなど、2024〜2026年の主要オープンソースLLMの事実上の標準となっている。
従来の絶対位置エンコーディング(Sinusoidal PE)はトークン埋め込みに位置ベクトルを加算する方式だったが、RoPEはクエリ(Q)とキー(K)のベクトルを位置に応じた角度で回転させる。具体的には、embedding次元をペアに分割し、各ペアを2次元回転行列で回転させる:
この設計により以下の利点が生まれる:
| 拡張手法 | 提案元 | 原理 | 拡張倍率 | 代表的適用モデル |
|---|---|---|---|---|
| Linear Interpolation | Meta(kaiokendev) | 周波数を均一にスケーリング | 2〜4倍 | CodeLlama-34B(16K→100K) |
| NTK-aware Scaling | Reddit(bloc97) | 高周波成分を優先的に保護 | 4〜8倍 | Yarn-Llama-2-13B |
| YaRN | NousResearch | NTK + Attention Scaling + 温度調整 | 4〜32倍 | Qwen2.5-72B(131K) |
| Dynamic NTK | 複数チーム | 推論時にシーケンス長に応じて動的調整 | 可変 | Llama 3.1(128K) |
| Code Llama FT | Meta | 長系列データでのFine-tuning | 4倍 | CodeLlama(16K) |
RoPEを実装・利用する際の主要な注意点:
| 手法 | 方式 | 外挿性能 | 計算オーバーヘッド | 採用モデル例 |
|---|---|---|---|---|
| Sinusoidal PE | 加算型・絶対位置 | 低い | 最小 | 初代Transformer |
| Learned PE | 学習型・絶対位置 | なし(固定長) | 最小 | GPT-2, BERT |
| ALiBi | バイアス型・相対位置 | 高い | 低い | MPT-7B, BLOOM |
| RoPE | 回転型・相対位置 | 中〜高(拡張手法依存) | 低い | Llama, Qwen, Mistral |
| Kerple | カーネル型・相対位置 |
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に移行している。
| 高い |
| 中程度 |
| 研究段階 |