RoPE(回転位置埋め込み)RoPE
RoPE(Rotary Position Embedding)は、Query・Key を2次元ペアごとに回転行列で変換することで位置情報を埋め込む手法です。相対位置依存を内積で自然に表現でき、長文外挿性にも優れます。
詳細解説
RoPE(Rotary Position Embedding、回転位置埋め込み、ロープ)は、Su らが2021年に提案した位置符号化手法で、Query・Key の各次元ペアを位置 m に応じた回転行列で変換することにより、内積計算 Q_m · K_n が自然に相対位置 (m-n) に依存する形になるという数学的な性質を利用します。具体的には次元 d を2次元ずつのペアに分け、各ペアに角度 m * theta_i (theta_i = 10000^(-2i/d))の回転を適用します。絶対位置を加算する正弦波 PE と異なり Query・Key への乗算で実装されるため、線形 Attention や Flash Attention とも統合しやすく、相対位置の自然な表現と長文外挿性を両立します。Llama・Llama 2/3、Mistral、Mixtral、Qwen、GPT-NeoX、PaLM など2023年以降の主要オープン/クローズド LLM のほとんどが RoPE を採用しており、事実上の標準となりました。長コンテキスト拡張のための調整手法として、ベース周波数を変更する PI(Position Interpolation)、NTK-aware scaling、YaRN などが提案されており、Llama 3.1 の128K対応や Mistral の Sliding Window との併用などで実用化されています。
実装例 / 使い方
- 01Llama 2/3、Mistral、GPT-NeoX、Qwen など多くの主要 LLM が RoPE を採用しています
- 02YaRN・NTK-aware scaling で RoPE のベース周波数を調整し128Kトークンに拡張します
- 03Llama 3.1 は RoPE のスケーリングで最大128Kコンテキストを実現しています
関連する用語
Positional Encoding(位置符号化)
PEPositional Encoding は、Transformer の入力埋め込みに位置情報を付与する仕組みです。Self-Attention 自体は順序を持た...
ALiBi(線形バイアス位置符号化)
ALiBiALiBi(Attention with Linear Biases)は、位置埋め込みを使わずアテンションスコアに距離に比例したバイアスを加算する手法です。学習...
Self-Attention(自己注意機構)
SASelf-Attention は、入力系列の各トークンが同じ系列内の他のトークンとの関連度を計算する仕組みです。Query・Key・Value の3行列に射影し...
Context window
Context window (コンテキストウィンドウ) は、LLM が一度に処理できる入力 + 出力の最大トークン数です。Claude 4 系は 200K〜1...
Transformer
Transformer (トランスフォーマー) は 2017 年 Google 論文で発表された深層学習アーキテクチャで、Self-Attention 機構を核...
RoPE(回転位置埋め込み)を、実際に活用する
用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。
営業時間 平日10-18時 / 通常24時間以内に返信
