Open2
YaRN: RoPEの特性を考慮に入れたコンテクスト長の拡張手法

YaRN
- RoPEの特性を考慮したコンテクスト長の拡張手法
- LlamaなどRoPEで訓練されたモデルに有効
- 600stepの追加学習で4k->128kの拡張に成功

一般的にcontextの拡張はPEを再解することで実現する
アプローチ
a) indexの再解釈
b) 位相の再解釈
a, bともに等倍拡張だと高周波数(=近いトークンの特徴を捉える波)側の位相が大きくシフトするため、短いコンテクストの特徴が大幅に変化する→性能劣化につながる
YaRNではPEの周波数に応じて拡張アルゴリズムを動的に変える
- 高周波側: 元の周波数を維持
- 低周波側: scale factorにより周波数を等倍拡張
- 中間の周波数: 上記の2つの中間の周波数
Tips: PEが動的に決まるため、PE適用後のkvをキャッシュする実装だと問題が起こる。必ずPE適用する前のkvをキャッシュする必要がある