詳細解釋
RoPE(Rotary Positional Embedding)是旋轉式位置編碼,用複數旋轉表示位置,是現代LLM的主流位置編碼。
原理:
- 複數表示:向量視為複數
- 旋轉:乘e^(iθ)旋轉角度
- 角度θ與位置m成正比
- 相對位置:內積只依賴相對距離
數學:
- 二維子空間內旋轉
- 頻率遞減:不同維度不同旋轉速度
- 外推性:可處理訓練未見的長度
優勢:
- 外推性:訓練4K,可推理8K+
- 相對位置:天然編碼相對距離
- 計算簡單:複數乘法實現
- 長上下文友好:長上下文標配
應用模型:
- LLaMA:使用RoPE
- PaLM:RoPE變體
- 大部分開源模型
與線性偏置注意力的比較:
- RoPE:旋轉編碼
- ALiBi:線性偏置
- 都是外推友好的現代方法
是位置編碼的現代標準。