なぜ位置が必要か:自己注意は「並び替え」に鈍感である
自己注意は、各トークンが他のトークンを参照して情報を集める仕組みだが、その参照判断は「トークンの内容」から計算される。もし位置情報を何も与えなければ、同じトークン集合を別の順番に並べても、参照のしやすさが変わりにくい。極端に言えば、語順が入れ替わっても「同じ材料がある」と見なしてしまう危険がある。
しかし自然言語では、語順は意味そのものだ。主語と目的語の順、否定語の位置、条件節の範囲、修飾語がどこに掛かるかは、順序抜きには決まらない。さらに生成モデルとしてのLLMは、左から右へ順に生成するため、「どれだけ前の情報か」「直前の語か、かなり前の話題か」を区別する必要がある。したがってTransformerには、順序を表現する何らかの仕組みが必須となる。
位置情報を入れる基本発想:トークン表現に「座標」を混ぜる
位置表現の最も基本的な考え方は単純で、各トークンの埋め込みベクトルに、そのトークンが何番目に現れたかを表すベクトルを足す、あるいは結合する。これにより、同じ単語でも出現位置が違えば内部表現が変わり、注意が「位置の違い」を手がかりに参照先を選べるようになる。
ただし、どんな座標を与えるかで性質が変わる。例えば「学習時に見た最大長を超えると壊れやすい」方式もあれば、「長い文章でも比較的自然に外挿できる」方式もある。位置表現は単なる付け足しではなく、Transformerが長文をどう扱うかを決める設計要素である。
サイン波型(Sinusoidal):固定の規則で位置を表すという思想
サイン波型は、位置番号から決まる固定のベクトルを作り、それを埋め込みに足す方式である。特徴は、位置ベクトルが学習されない点にある。つまり、どの位置にどんなパターンの数値を割り当てるかは、人間が決めた規則で固定されている。
この方式が支持されてきた理由の一つは、学習していないため、理屈の上では「学習で見ていない長さ」にも拡張しやすいことだ。位置番号が増えても同じ規則でベクトルを作れるので、最大長を超えた位置にも座標を割り当てられる。また、異なる周波数の波を混ぜることで、近い位置は似たベクトルになり、遠い位置ほど異なるベクトルになるような性質が得られる。直観的には、位置を「多次元の時計の針の角度」で表すようなものだ。
一方で、固定規則であるがゆえに、実際のデータやタスクに最適な位置表現になっている保証はない。特に大規模なモデルでは、位置の扱い方を学習で最適化したい場面も多く、固定方式が常に有利とは限らない。
学習型(Learned):位置も語彙と同じく“覚える”
学習型の位置表現は、位置番号ごとにベクトルを持ち、それを学習によって獲得する。発想は単純で、「位置もトークンと同じように埋め込みを持つ」と考える。モデルがデータから最適な位置の使い方を学べるため、ある最大長の範囲内では性能が出やすい。
ただし弱点もはっきりしている。学習型は、学習で用意した最大長までしか位置ベクトルが存在しないか、存在しても学習されていない領域が出る。その結果、推論時に最大長を超えると、位置ベクトルが未定義になったり、適当に外挿しても挙動が不安定になったりする。長文対応をしたい場合、学習型だけに頼るのは難しく、別の工夫が必要になることが多い。
RoPE:位置を「足す」のではなく、参照の仕方そのものに織り込む
RoPE(回転位置埋め込み)は、位置情報を埋め込みに足すのではなく、「注意で参照先を決めるための内部計算」に位置を織り込む系統の方法だ。直観的には、各トークンが「探している方向」と「名札の方向」を、位置に応じて少しずつ回転させるようなイメージである。すると、二つのトークンの相性を測る際に、絶対位置そのものよりも「互いの距離」に関する情報が自然に効いてくる。
この性質は、言語の処理に都合が良い。多くの現象は「何番目か」より「どれだけ離れているか」の方が重要だからだ。たとえば直前の単語との依存、数語前に出た名詞との修飾関係、段落をまたいだ話題の継続など、相対距離の影響が強い。RoPEはこの相対性を扱いやすくし、結果として長文での挙動が改善しやすいと言われる。
ただしRoPEにも注意点はある。位置が大きくなる領域で回転が速くなりすぎると、モデルが見ていない範囲で相性のパターンが急変し、外挿が不安定になることがある。そのため実務では、周波数の調整やスケーリングなど、長文拡張のための追加テクニックが併用されることが多い。
ALiBi:距離が離れるほど参照しにくくする“バイアス”の注入
ALiBiはさらに別の発想で、注意の計算に「遠い位置ほど不利にする」偏り(バイアス)を入れる。直観的には、各トークンが参照先を選ぶときに、距離が離れているほどスコアにペナルティがかかるようにする。これにより、モデルは近い文脈を優先しやすくなり、必要なときだけ遠くを見にいく。
この方式の良い点は、位置ベクトルを用意しなくても距離の効果を持ち込めるところにある。さらに、距離ペナルティは理屈の上では任意の長さまで適用できるため、外挿の設計が比較的しやすい。もちろん、常に近い情報が重要とは限らないので、ペナルティが強すぎると長距離依存の学習を妨げる可能性がある。結局は、距離をどの程度重視するかという設計の問題になる。
長文コンテキスト拡張で何が壊れるか:位置表現は“学習分布”の外で弱い
位置表現に関してよく起きるのは、「学習で見た最大長」を超えると挙動が崩れる問題だ。これは単にトークン数が増えるからではなく、位置情報が学習分布の外に出るためである。学習型では未学習の位置ベクトルになるし、固定型でもモデルがその領域での位置パターンに慣れていない場合がある。RoPE系では、位置が大きい領域で相性のパターンが変化し、学習時と同じ“距離感”で注意を作れなくなることがある。
したがって長文対応を議論するときは、推論エンジンの高速化だけでなく、位置表現が長い領域でどのように振る舞うか、学習と推論の整合が取れているかをセットで考える必要がある。
まとめ:位置表現は「順序の理解」だけでなく「長文の安定性」を決める
Transformerは自己注意によって柔軟に文脈を参照できるが、順序そのものは自動的には手に入らない。サイン波型は固定規則で位置を与え、学習型はデータに合わせて位置を覚える。RoPEは参照の仕方に位置を織り込み、相対距離が効きやすい性質を持つ。ALiBiは距離に応じたペナルティを入れ、近傍優先の参照を促す。どの方式も、設計の意図と副作用があり、特に長文コンテキストでは差が顕在化する。位置表現は「順序を与える部品」ではなく、LLMが長い文章をどう扱うかを決める基盤である。