論文 · arXiv 2104.09864
RoFormer: Enhanced Transformer with Rotary Position Embedding
3行まとめ
- 🎯 標準的な位置埋め込みは、加算的な絶対ベクトルであるか、線形自己注意との互換性を損なう相対的な変更のいずれかです。
- 🔧 RoPEはQueryおよびKeyベクトルに直交ブロック対角回転行列を乗算し、それらの内積がトークン間の相対距離のみに依存するようにします。
- 📈 WMT 2014 En-Deで27.5 BLEUを達成し、事前学習時の収束がより速く、CAIL2019-SCMでは系列長1024においてWoBERTを精度で1.5%上回ります。
概要
位置エンコーディングは近年、Transformerアーキテクチャにおいて効果的であることが示されています。これにより、系列内の異なる位置にある要素間の依存関係モデリングに対して価値ある教師信号が提供されます。本論文では、まずTransformerベースの言語モデルの学習プロセスに位置情報を統合する様々な手法を調査します。次に、位置情報を効果的に活用するRotary Position Embedding(RoPE)と名付けられた新しい手法を提案します。具体的には、提案するRoPEは回転行列を用いて絶対位置をエンコードすると同時に、自己注意の定式化において明示的な相対位置依存性を組み込みます。特筆すべき点として、RoPEは系列長の柔軟性、相対距離の増加に伴うトークン間依存性の減衰、そして線形自己注意に相対位置エンコーディングを付与できる能力など、価値ある特性を可能にします。最後に、回転位置埋め込みによって強化されたTransformer(RoFormerとも呼ばれる)を、様々な長文テキスト分類ベンチマークデータセットで評価します。実験の結果、RoFormerは従来手法を一貫して上回ることが示されました。さらに、いくつかの実験結果を説明するための理論的解析も提供します。RoFormerはすでにHugging Faceに統合されています: \url{https://huggingface.co/docs/transformers/model_doc/roformer}。
英語の原文概要
Position encoding recently has shown effective in the transformer architecture. It enables valuable supervision for dependency modeling between elements at different positions of the sequence. In this paper, we first investigate various methods to integrate positional information into the learning process of transformer-based language models. Then, we propose a novel method named Rotary Position Embedding(RoPE) to effectively leverage the positional information. Specifically, the proposed RoPE encodes the absolute position with a rotation matrix and meanwhile incorporates the explicit relative position dependency in self-attention formulation. Notably, RoPE enables valuable properties, including the flexibility of sequence length, decaying inter-token dependency with increasing relative distances, and the capability of equipping the linear self-attention with relative position encoding. Finally, we evaluate the enhanced transformer with rotary position embedding, also called RoFormer, on various long text classification benchmark datasets. Our experiments show that it consistently overcomes its alternatives. Furthermore, we provide a theoretical analysis to explain some experimental results. RoFormer is already integrated into Huggingface: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.
論文解説
問題設定と動機
Transformerの自己注意機構は本質的に順序不変(permutation-invariant)であるため、明示的な位置情報が必要です。従来のアプローチは大きく2つに分かれます。1つは単語表現に直接加算される絶対位置埋め込み(学習可能または固定の正弦波ベクトル)、もう1つは注意行列に統合される相対位置埋め込み(例:Shaw et al.、Transformer-XL、T5、DeBERTa)です。しかし、既存の相対手法は中間的な注意ロジットを変更する加算的な分解に依存していることが多く、因数分解可能な表現を必要とするカーネルベースの線形自己注意機構との互換性がありません。さらに、多様な系列長に対してシームレスにスケーリングすることが難しいという課題もあります。
主要なアイデア
- ベクトル回転による相対距離の表現: 位置ベクトルを加算する代わりに、RoPEはアフィン変換されたQueryおよびKeyに対して位置依存の回転行列を適用します。インデックス の回転されたQueryとインデックス の回転されたKeyの内積は、自然に相対距離 のみに依存するようになります。
- 直交性とノルムの保持: 回転演算子は直交であるため、QueryおよびKeyのユークリッドノルムを保持し、隠れ状態を安定化させます。
- 長距離の減衰(Long-term Decay): 正弦波の周波数スケーリングに従い、相対距離が大きくなるにつれてトークン間の相互作用は自然に減衰します。これは、遠く離れたトークンほど依存関係が弱いという言語学的な直感と一致します。
- 線形注意機構との互換性: 内積を計算する前にトークンベクトルへ直接位置情報が適用されるため、RoPEはカーネルベースの線形注意(Performerなど)と組み合わせることができます。
手法(主要な数式を含む)
目的は、内積が埋め込みと相対距離のみに依存するような関数 および を見つけることです:
2次元部分空間において実数ベクトルを複素数として扱うと、次の解が得られます:
偶数の埋め込み次元 に対して、空間は周波数 を持つ 個の2次元部分空間に分割されます。一般的な変換では、ブロック対角回転行列 を適用します:
その結果、位置 と の間の注意スコアは以下を満たします:
スパース行列の乗算を行わずにこれを効率的に計算するため、RoPEは要素ごとの演算を用いて実装されます:
結果(主要な数値)
- 機械翻訳: WMT 2014 英語-ドイツ語において、RoFormerは27.5 BLEUを達成し、Transformer-baseベースライン(27.3 BLEU)を上回りました。
- 事前学習の収束: BookCorpusおよびWikipediaでRoPEを用いたBERT-baseを学習させた際、RoFormerは通常のBERTよりも速く収束し、より低いMasked Language Modeling(MLM)損失を達成しました。
- GLUEファインチューニング: 事前学習済みRoFormerは、MRPC(F1で89.5対88.9)、STS-B(スピアマン相関で87.0対85.8)、QQP(F1で86.4対71.2)において下流スコアを大幅に改善しましたが、SST-2(90.7対93.5)、QNLI(88.0対90.5)、MNLI-m/mm(80.2/79.8対84.6/83.4)ではBERTを下回りました。
- 線形注意(Performer): Enwik8データセットにおいて、12層の文字ベースPerformerにRoPEを追加したところ、収束が大幅に加速し訓練損失が減少しました。
- 長文テキストの意味マッチング: CAIL2019-SCMにおいて、RoFormer-512は68.29%のテスト精度を達成しました(BERT-512は67.77%、WoBERT-512は68.10%)。これをRoFormer-1024に拡張すると、テスト精度は**69.79%**に向上しました(WoBERT-512に対して絶対値で1.5%の改善)。
限界と未解決の課題
- 加算的な代替手法と比較して、なぜ2次元回転の定式化が事前学習中により速く収束するのかについて、論文内では理論的な説明が不足している点が言及されています。
- 長距離減衰の特性は数学的に示されているものの、長い系列においてRoFormerが同等のモデルよりも明らかに優れた汎化性能を示す理由は未解決の課題のままです。
- 大規模な事前学習全体でRoFormerを評価するには膨大なGPU計算リソースが必要となるため、より広範なスケーリング特性の検証は今後の課題とされています。
重要用語
- Rotary Position Embedding (RoPE)
- QueryおよびKeyの表現に直交ブロック対角回転行列を乗算することで位置情報を注入する位置エンコーディング機構。
- RoFormer
- 標準的な絶対位置エンコーディングや加算的な相対位置エンコーディングの代わりに、Rotary Position Embeddingを備えたTransformerアーキテクチャ。
- Long-term Decay
- 相対的な位置距離 が大きくなるにつれて、QueryとKeyの内積が減衰する数学的特性。
- Linear Attention
- カーネル特徴マップを計算して行列積の順序を変更し、線形 の計算量を達成する注意機構。
- PerFormer
- RoPEが線形注意に対してシームレスに相対位置情報を付与できることを実証するために論文内でテストされた、線形注意Transformerアーキテクチャ。
- CAIL2019-SCM
- 512トークンを超える長文モデリング能力を評価するために使用される、法律判例のトリプレットからなる中国のAIおよび法律(Chinese AI and Law)2019類似判例マッチングベンチマーク。
- WoBERT
- 中国語コーパスにおけるRoFormerの比較ベースラインおよび事前学習の基盤として使用された、単語ベースの中国語BERTモデル。
よくある質問
RoPEは標準的な正弦波位置埋め込みとどう異なりますか?
正弦波埋め込みは線形射影の前に入力トークンベクトルに加算されますが、RoPEは注意層の内部でQueryおよびKeyの射影に対して回転として直接乗算的に適用されます。
他の相対位置エンコーディングとは異なり、なぜRoPEは線形自己注意と互換性があるのですか?
既存の相対エンコーディングはSoftmax演算の内部でペアごとの注意ロジットを変更するため、線形注意に必要な因数分解を損ないます。RoPEはQueryおよびKeyベクトルのノルムを変更することなく個別に回転させるため、線形注意のカーネル計算を通常通り進めることができます。
RoPEの適用には $R^d_{\Theta, m}$ による密行列乗算が必要ですか?
いいえ。 は のブロックで構成される疎なブロック対角行列であるため、計算上はコサインおよびサインベクトルを用いた要素ごとの乗算とペアごとの再結合として実装されます。
より長いコンテキストへスケーリングした際、RoFormerはどのような性能を示しますか?
CAIL2019-SCMベンチマークにおいて、コンテキスト長を512から1024に拡大すると、RoFormerのテスト精度は68.29%から69.79%へと向上し、強力な系列長汎化性能を示しています。
このページの解説は AI が論文から作成したもので、誤りを含む場合があります。詳細は原文をご確認ください。