ロータリー位置の埋め込み
Rotary Position Embedding (RoPE) は、位置に比例した角度でクエリとキー ベクトルを回転させることにより、各トークンがシーケンス内のどこに位置するかをエンコードします。
概要
This elegant trick lets transformers understand relative distances and extend gracefully to longer contexts.
ディープダイブ
トランスフォーマーには順序感覚が組み込まれていないため、何らかの方法で位置情報を追加する必要があります。初期のモデルは、固定正弦波ベクトルまたは学習された位置埋め込みを入力に追加しました。 2021 年に Su 氏らによって提案された RoPE は、別のアプローチを採用しています。位置ベクトルを追加する代わりに、クエリの次元のペアとキー ベクトルを、トークンの位置に応じて増加する角度だけ回転させます。モデルが位置 m のクエリと位置 n のキーの間の内積を計算すると、結果は相対距離 m から n を引いた値のみに依存するように計算されます。これにより、真の相対位置認識が得られ、効率的な注意カーネルとうまく連携し、距離に応じて注意がスムーズに減衰します。 RoPE は現在、Llama、Mistral、Qwen、およびほとんどの最新のオープン モデルで使用されています。
技術的な洞察
RoPE は、埋め込みディメンションをペアで扱い、各ペアに 2D 回転を適用します。多くの時計の針が異なる速度で時を刻むのと同じように、異なるペアは異なる周波数で回転します。位置 m だけ回転し、位置 n だけ回転させたものとの内積を取ると角度の差だけが残るため、注意スコアは相対位置の関数になります。高周波ペアは局所的な秩序を正確に捕捉します。低周波ペアは長距離の位置を捕捉します。重要なのは、値ではなくクエリとキーを変更することです。
戦略的影響
速度とスケール
言語ワークフローは、一貫性を犠牲にすることなく、より高速に移行できます。
アクセスと到達範囲
言語やコミュニケーション スタイルを超えてアクセスが拡張されます。
より明確な判決
自動化が繰り返しを処理する間、チームは判断により多くの時間を費やすことができます。
ロータリー位置埋め込みの未来
最近の研究の多くは、モデルがトレーニングされたよりもはるかに長いコンテキストに RoPE を拡張することに焦点を当てています。位置補間、NTK 対応スケーリング、YaRN などの技術により回転周波数が調整されるため、たとえば 4K トークンでトレーニングされたモデルは軽い微調整で 32K 以上を処理できます。 RoPE は引き続き主要な位置スキームであり、その基本周波数と 100 万トークンのコンテキストに合わせたスケーリングの改良が継続され、それが注意行動とどのように相互作用するかについての継続的な研究が行われることが予想されます。
現実世界の実装
個別の位置の埋め込みを行わずに、ラマ、ミストラル、クウェンのモデルにトークンの順序の感覚を与える
補間または YaRN を使用してモデルの使用可能なコンテキストを数千から数万のトークンに拡張する
コード モデルが長いファイル全体にわたる括弧、関数、参照間の相対距離を追跡できるようにする
質問と証拠の間の相対的な位置が重要な場合に、長い文書の質問回答をサポートします。
リスクとガードレール
幻覚のような事実が、レポート、サポート フロー、または研究結果に静かに組み込まれる可能性があります。
迅速な対応により、同様のリクエスト間で一貫性のない結果が生じる可能性があります。
アクセス制御が弱いと、機密テキスト データが漏洩する可能性があります。
実装ロードマップ
展開する前に、出力形式、トーン、品質基準を定義します。
正確さが重要な場合は常に、信頼できる情報源を使って地上対応を行ってください。
一か八かの成果物については人間によるレビュー チェックポイントを維持します。
失敗パターンを追跡し、プロンプトやワークフローを定期的に再トレーニングします。
探検を続けましょう
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Rotary Position Embeddings quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
次のガイド
ALiBi 位置バイアス
よくある質問
What is Rotary Position Embeddings?
Rotary Position Embedding (RoPE) は、位置に比例した角度でクエリとキー ベクトルを回転させることにより、各トークンがシーケンス内のどこに位置するかをエンコードします。このエレガントなトリックにより、トランスフォーマは相対的な距離を理解し、より長いコンテキストに適切に拡張できるようになります。
RoPE はどのようにして位置情報をトランスに注入しますか?
RoPE は、別個の位置ベクトルを追加するのではなく、位置に比例した角度でクエリ ベクトルとキー ベクトルを回転します。
RoPE はアテンション計算のどの部分を変更しますか?
RoPE は、その回転をクエリ ベクトルとキー ベクトルに適用し、値ベクトルには影響を与えません。
RoPE では、異なる次元のペアが異なる周波数で回転するのはなぜですか?
時計の針が異なる速度で時を刻むように、さまざまな周波数によって、一部のペアは短距離の順序をエンコードし、他のペアは長距離の位置をエンコードします。
位置補間、NTK 対応スケーリング、YaRN などの技術の目的は何ですか?
これらのメソッドは RoPE の回転周波数を再スケーリングするため、モデルは元のトレーニング長よりもはるかに長いコンテキストを処理できるようになります。