LongRoPE(ロングロープ)
Microsoft Researchが開発したRoPEスケーリング手法。2048件のコンテキストサンプルを用いた非均一な周波数スケーリング係数の進化的探索と、2段階の継続訓練で2048k(200万)トークンまでの拡張を実現。
LongRoPE — 進化的探索による超長文コンテキスト拡張
LongRoPEはMicrosoft Researchが2024年に発表したRoPEスケーリング手法だ。YaRNなどが固定の数学的ヒューリスティックでスケーリング係数を決定するのに対し、LongRoPEは進化的アルゴリズム(Evolutionary Algorithm)を用いてRoPEの各次元の最適係数を自動探索する点が最大の特徴だ。
従来手法の限界
YaRNなどの手法は「どの次元をどれだけスケールするか」を数学的直観(NTK理論、周波数解析)に基づいて設計する。しかしこのアプローチには:
- 次元間の相互作用を無視: 各次元を独立に扱うが、実際には次元間の関係がある
- 汎用性の限界: ある訓練データ・アーキテクチャに最適な係数が他では最適でない可能性
- 理論的正当化の困難: ヒューリスティックなため新アーキテクチャへの適用が不明確
という課題がある。
LongRoPEのアプローチ
1. 進化的係数探索
2048件の長文サンプル(目標長の10%)を評価データとして使用し、各RoPEの次元のスケーリング係数 lambda_1, lambda_2, ..., lambda_D を進化的アルゴリズムで最適化:
最小化: perplexity(LLM with RoPE(lambda), long_context_samples)
変数: lambda_1, ..., lambda_D (各次元のスケーリング係数)
制約: lambda_i >= 1.0 (スケール方向のみ)
探索コストは小さい(2048サンプルのパープレキシティ評価のみ)。
2. 2段階継続訓練
- Stage 1: 目標長
L_targetの256分の1程度の長さで短く継続訓練(例: 最終目標2048kなら8kで訓練) - Stage 2: 最終目標長
L_targetで本格的な継続訓練
段階的訓練により、超長文への急激なジャンプを避けて安定した拡張を実現。
3. 短コンテキスト性能の保護
超長文訓練後に短いコンテキスト(元の事前訓練長以内)の性能が劣化する問題(「近視野喪失」)に対して、短コンテキスト用の別係数セットを用意してコンテキスト長に応じて切り替える。
実験結果
論文ではLLaMA 2 7Bで:
| 拡張後のコンテキスト長 | 手法 | パープレキシティ(Proof-pile) |
|---|---|---|
| 4k(元のモデル) | — | 2.96 |
| 256k | YaRN + fine-tuning | 3.18 |
| 256k | LongRoPE | 3.07 |
| 2048k | LongRoPE | 3.42 |
Phi-3への採用
MicrosoftのPhi-3シリーズ(Phi-3-mini-128k・Phi-3-medium-128k)はLongRoPEを採用し、3.8Bパラメータながら128kコンテキストを実現した。小型モデルでの超長文処理が実用化された事例として注目される。