Transformerアーキテクチャにおいて、入力トークンの順序情報をモデルに伝えるための手法。Self-Attentionは本来トークンの並び順を区別できないため、位置エンコーディングによって系列内の各トークンがどの位置にあるかを表現する。
Transformerモデルの根幹を成す Self-Attention 機構は、入力トークン間の関係性を並列に計算できる強力な仕組みだが、トークンの出現順序を本質的に区別できないという構造的な弱点を持つ。RNNやLSTMのように逐次処理で暗黙的に順序を捉えるアーキテクチャとは異なり、Transformerは入力を集合(Set)として扱う。そのため、「猫が犬を追いかけた」と「犬が猫を追いかけた」を区別するには、位置情報を明示的に注入する必要がある。
Positional Encoding(位置エンコーディング)は、この問題を解決するために各トークンの埋め込みベクトルに位置情報を付加する技術の総称である。
| 観点 | RNN/LSTM | Transformer |
|---|---|---|
| 順序の捉え方 | 逐次処理で暗黙的 | 明示的な位置情報が必要 |
| 並列計算 | 困難 | 可能(Attention) |
| 長距離依存 | 勾配消失で困難 | Attention で直接参照 |
| 位置エンコーディング | 不要 | 必須 |
Self-Attention の計算式 Attention(Q, K, V) = softmax(QK^T / √d_k)V において、Q・K・Vはトークン埋め込みから生成される。この計算はトークンの並び替えに対して不変(Permutation Invariant)であり、入力順序を変えても同じ出力を返してしまう。位置エンコーディングはこの対称性を破り、モデルが語順を活用できるようにする。
位置エンコーディングは大きく絶対位置エンコーディングと相対位置エンコーディングに分類される。
各トークンの位置(0, 1, 2, ...)に対して固定または学習可能なベクトルを割り当て、トークン埋め込みに加算する方式。
トークン間の相対的な距離に基づいて位置情報を表現する方式。絶対位置よりも汎化性能が高い傾向がある。
| 世代 | 手法 | 代表モデル | 特徴 |
|---|---|---|---|
| 第1世代 | Sinusoidal | 元祖Transformer | 学習不要・固定長 |
| 第1.5世代 | Learned | BERT, GPT-2 | 柔軟だが固定長制約 |
| 第2世代 | Relative Bias | T5, DeBERTa | 相対距離で汎化向上 |
| 第3世代 | RoPE | LLaMA, Qwen, Gemma | 回転行列・長文外挿可能 |
| 第3世代 | ALiBi | BLOOM, MPT | 学習不要・線形外挿 |
| 最新 | NTK-aware / YaRN | Extended LLaMA |
現在のLLM開発ではRoPEが事実上の標準となっており、NTK-aware Scaling や YaRN(Yet another RoPE extensioN)によるコンテキスト長の拡張が活発に研究されている。
Transformerは入力トークンを順不同の集合として扱うため、「AがBを倒した」と「BがAを倒した」の区別がつかなくなる。言語理解に必要な語順情報が完全に失われる。
RoPEは相対位置を回転行列で表現するため、学習時のコンテキスト長を超えた推論(外挿)が比較的容易である。NTK-aware ScalingやYaRNと組み合わせることで、4Kトークンで学習したモデルを128K以上に拡張できる実績がある。
一概には言えないが、長文処理や汎化性能では相対位置エンコーディングが優位とされる。絶対位置は実装が簡単で計算コストも低いが、学習時の最大長を超える入力への対応が困難である。
| RoPE拡張・128K+対応 |