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値 |
|---|---|---|
| 1 | 1.0 | 0.54 |
| 2 | 2.0 | -0.42 |
| 3 | 3.0 | -0.99 |
→ 位置差1と2で内積が大きく変わる → 近距離に敏感
低周波ペア($\theta=0.01$)の場合:
| 位置差$(p-q)$ | 角度差 | cos値 |
|---|---|---|
| 1 | 0.01 | 0.99995 |
| 2 | 0.02 | 0.99980 |
| 100 | 1.00 | 0.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採用)
| 手法 | 位置次元 | 用途 | 特徴 |
|---|---|---|---|
| RoPE | 1次元 | テキスト | 相対位置を内積で表現 |
| MRoPE | 2〜3次元 | 画像・動画 | 複数軸の位置を扱う |
| Interleaved-MRoPE | 2〜3次元 | 画像・動画 | 周波数を均等配分、長文脈に強い |
参考文献
- Su, J., Lu, Y., Pan, S., Murtadha, A., Wen, B., & Liu, Y. (2021). RoFormer: Enhanced Transformer with Rotary Position Embedding. arXiv:2104.09864.
- Qwen Team. Qwen3-VL Technical Report. arXiv:2511.21631.