AI LAB / KEYWORD DICTIONARY

基礎知識

RoPE(回転位置埋め込み)とは?

Rotary Position Embedding

RoPEは、Attentionのクエリとキーを位置に応じて回転させ、トークン間の相対的な位置関係を扱えるようにする手法です。

仕組みと使いどころ

RoPEは、位置ベクトルをトークン埋め込みへ加算する代わりに、Attentionの計算前にクエリとキーの成分を位置別の角度で回転させます。回転されたクエリとキーの内積が位置間の相対角度に依存するため、Attentionへ位置情報を組み込めます。この処理自体に学習パラメータは必要ありません。標準方式のほか、長いコンテキスト向けのスケーリング方式、画像の行と列を扱う軸別方式、時間・高さ・幅の周波数帯を分けるマルチモーダル方式などがあります。利用できる系列長や挙動は、RoPEの種類、theta、スケーリング係数、モデルの学習条件などに依存します。

RoPEの活用例

たとえば、こんな場面で

文章を扱うTransformerでは、各トークンの位置に応じてクエリとキーへRoPEを適用します。画像を扱うモデルでは、行と列の位置に別々の回転を適用する2次元方式もあります。

使うときのポイント

thetaはRoPEの周波数スケジュールに使う基準値であり、最大系列長そのものではありません。対象モデルのrope_type、rope_theta、スケーリング係数、学習時の最大位置数を個別に確認してください。

参考資料

Rotary embeddings utilities · Hugging Face (新しいタブで開きます)RoPE (Rotary Position Embedding) — NVIDIA cuDNN (新しいタブで開きます)Rotary Position Embeddings (RoPE) — NVIDIA PhysicsNeMo Framework (新しいタブで開きます)

用語の説明や活用例に関連する参考資料です。

READ & LEARN

用語を知ったら、活用を知る。

AI LABで、AIの動向や業務に取り入れるヒントを読む。

記事一覧を見る