Masato Izumi Portfolio

位置エンコーディング解説:RoPE から Interleaved-MRoPE まで

  • Transformer
  • 機械学習
  • 位置エンコーディング

Transformerは入力の順序を認識できません(Self-Attentionは順序に依存しない)。そのため、位置情報を明示的に与える必要があります。本記事では、RoPE(Rotary Positional Embedding)を中心に、マルチモーダル対応のMRoPE、Interleaved-MRoPEまでを解説します。

なぜ位置エンコーディングが必要か

「今日 は 晴れ」と「晴れ は 今日」は、位置情報がないとTransformerには同じに見えてしまいます。単語の順序が意味を決定する言語において、位置情報は不可欠です。

RoPE (Rotary Positional Embedding)

基本アイデア

RoPEは、埋め込みベクトルの2次元ペアを「2D平面上の点」と見なし、位置に応じて回転させる手法です。

ステップ1: 埋め込みを2次元ペアに分ける

埋め込みベクトル(例: 6次元)
[x₀, x₁, x₂, x₃, x₄, x₅]
  ↓
ペアに分割
(x₀, x₁), (x₂, x₃), (x₄, x₅)
  ↓
各ペアを2D平面上の点と見なす

ステップ2: 位置に応じた角度で回転

位置 $p$ のトークンに対し、角度 $p \times \theta$ で回転を適用します:

$$ \begin{pmatrix} x' \\ y' \end{pmatrix} = \begin{pmatrix} \cos(p\theta) & -\sin(p\theta) \\ \sin(p\theta) & \cos(p\theta) \end{pmatrix} \begin{pmatrix} x \\ y \end{pmatrix} $$

なぜ回転が有効なのか:内積の性質

位置 $p$ のトークンと位置 $q$ のトークンの内積を計算すると、回転角度の差 $(p-q) \times \theta$ に依存します。つまり、絶対位置ではなく「相対位置」$(p-q)$ が自然にエンコードされるのです。

「今日」と「晴れ」の関係:
  位置差 = 3 - 1 = 2
  → 回転角度の差 = 2×θ

「は」と「晴れ」の関係:
  位置差 = 3 - 2 = 1
  → 回転角度の差 = 1×θ

距離が近いほど回転角度の差が小さい
→ 内積(類似度)が高くなる

RoPE詳細解説

2次元ペアは1トークン内の話

2次元ペアへの分割は1つのトークンの埋め込みベクトル内で行われます。

1つのトークン「今日」の埋め込みベクトル(例: 768次元)

[x₀, x₁, x₂, x₃, x₄, x₅, ..., x₇₆₆, x₇₆₇]
  ↓
2次元ペアに分割(384ペア)

(x₀, x₁)    → ペア0: θ₀で回転
(x₂, x₃)    → ペア1: θ₁で回転
(x₄, x₅)    → ペア2: θ₂で回転
...
(x₇₆₆, x₇₆₇) → ペア383: θ₃₈₃で回転

各ペアは異なる周波数を持つ

周波数パラメータ $\theta_i$ は以下のように定義されます:

$$ \theta_i = 10000^{-2i/d} $$
ペア番号 $\theta_i$ の値 特性
$i=0$ $\theta_0 = 1$ 高周波 → 近い位置の違いに敏感
$i=100$ $\theta_{100} \approx 0.05$ 中周波
$i=383$ $\theta_{383} \approx 0.0001$ 低周波 → 遠い位置の違いに敏感

なぜ1トークンの回転が他トークンとの位置関係につながるのか

回転は各トークンに対して行われますが、効果が現れるのはAttentionの内積計算時です。

ステップ1: 各トークンを自分の位置で回転(個別の操作)

「今日」(位置1) → 1×θ で回転 → q₁
「は」 (位置2) → 2×θ で回転 → q₂
「晴れ」(位置3) → 3×θ で回転 → q₃

ステップ2: Attentionで内積を計算(ここで位置関係が現れる)

q₁ · q₃ の内積を計算すると...
  → 回転角度の差 (3-1)×θ = 2θ が内積に反映される
  → 「今日」と「晴れ」は2トークン離れている、という情報が含まれる

高周波・低周波と位置感度の関係

内積に $\cos((p-q) \times \theta)$ が現れるため、周波数 $\theta$ が位置差への感度を決めます。

高周波ペア($\theta=1.0$)の場合:

位置差$(p-q)$ 角度差 cos値
11.00.54
22.0-0.42
33.0-0.99

→ 位置差1と2で内積が大きく変わる → 近距離に敏感

低周波ペア($\theta=0.01$)の場合:

位置差$(p-q)$ 角度差 cos値
10.010.99995
20.020.99980
1001.000.54

→ 位置差1〜4では内積がほぼ変わらない → 長距離に敏感

複数周波数の組み合わせ

もし高周波だけだと:
  位置1と位置101で同じ回転角度になる可能性(周期の繰り返し)
  → 遠い位置を区別できない

もし低周波だけだと:
  位置1と位置2がほぼ同じ回転角度
  → 近い位置を区別できない

両方組み合わせると:
  高周波ペア → 近距離の位置関係を捉える
  低周波ペア → 長距離の位置関係を捉える
  → 全てのスケールの位置関係を同時に表現できる

これはフーリエ変換の考え方と同じです。複数の周波数の波を重ね合わせることで、任意の位置情報を表現できます。

なぜ「回転」が選ばれたのか:ノルム保存

回転が選ばれた理由はノルム(ベクトルの長さ)を保存するからです。

回転前のベクトル: (3, 4)  → ノルム = √(3² + 4²) = 5
    ↓ 45度回転
回転後のベクトル: (-0.7, 4.9) → ノルム = √(0.7² + 4.9²) = 5

→ 回転してもベクトルの長さは変わらない

内積の公式は $\mathbf{a} \cdot \mathbf{b} = |\mathbf{a}| \times |\mathbf{b}| \times \cos(\theta)$ なので、ノルムが変わると内積値が歪みます。回転なら意味情報(ノルム)を保ちながら位置情報(角度)を追加できます。

操作 ノルム 結果
加算で位置を追加変わる可能性意味情報が歪む
スケーリング変わる意味情報が歪む
回転保存意味情報が保たれる

MRoPE (Multi-dimensional RoPE)

テキストは1次元(シーケンス位置のみ)ですが、画像・動画は複数次元の位置を持ちます。

モダリティ 位置情報 次元数
テキスト$p=1, 2, 3, ...$1次元
画像$(h, w)$2次元
動画$(t, h, w)$3次元

MRoPEの仕組み

動画フレームの位置: (t=5, h=10, w=20)

各次元ペアに対して、対応する軸の位置で回転:
  ペア0: 時間軸 → 5×θ₀ で回転
  ペア1: 高さ軸 → 10×θ₁ で回転
  ペア2: 幅軸  → 20×θ₂ で回転
  ...

元のMRoPEの問題点

周波数を連続的に分割していたため、各軸が使える周波数帯が偏る(スペクトル不均衡)という問題がありました。

従来のMRoPE:
次元 0-20  → 時間軸用(低周波数帯)
次元 21-40 → 高さ軸用(中周波数帯)
次元 41-60 → 幅軸用(高周波数帯)

→ 長距離の関係を捉える能力が軸によって異なる

Interleaved-MRoPE

解決策: 交互配置

周波数をラウンドロビンで交互に割り当てることで、各軸が均等に全周波数帯を使えるようにします。

従来のMRoPE:
次元: [0,1,2,...,20] [21,22,...,40] [41,42,...,60]
軸:   [時間時間時間...]  [高さ高さ高さ...]   [幅幅幅...]

Interleaved-MRoPE:
次元: [0] [1] [2] [3] [4] [5] [6] [7] [8] ...
軸:   [時] [高] [幅] [時] [高] [幅] [時] [高] [幅] ...

具体例: 動画フレームの位置 (t=10, h=64, w=128)

次元0 → 時間軸 → 10 × θ₀ で回転
次元1 → 高さ軸 → 64 × θ₁ で回転
次元2 → 幅軸   → 128 × θ₂ で回転
次元3 → 時間軸 → 10 × θ₃ で回転
次元4 → 高さ軸 → 64 × θ₄ で回転
次元5 → 幅軸   → 128 × θ₅ で回転
... (繰り返し)

効果

指標 従来のMRoPE Interleaved-MRoPE
256Kコンテキストでの動画理解性能低下安定
1Mトークンでのneedle検索<50%>99.5%
動画ベンチマークベースライン+1〜2ポイント

RoPEとコサイン類似度の関係

RoPE系の位置エンコーディングは、Embeddingモデルでコサイン類似度が使える理由に繋がっています。

回転操作の特性

  • ノルム(ベクトルの長さ)を保存する
  • 内積の計算で相対位置が自然に反映される

なぜコサイン類似度と相性が良いのか

$$ \text{コサイン類似度} = \frac{\mathbf{a} \cdot \mathbf{b}}{|\mathbf{a}| \times |\mathbf{b}|} = \text{正規化された内積} $$

RoPEの回転はノルムを変えないため、内積ベースの類似度計算と自然に適合します。

まとめ

RoPE(テキスト用)
  ↓ 位置次元を拡張
MRoPE(画像・動画用)
  ↓ 周波数配置を改善
Interleaved-MRoPE(Qwen3-VL採用)
手法 位置次元 用途 特徴
RoPE1次元テキスト相対位置を内積で表現
MRoPE2〜3次元画像・動画複数軸の位置を扱う
Interleaved-MRoPE2〜3次元画像・動画周波数を均等配分、長文脈に強い

参考文献

記事一覧に戻る