定义
旋转位置编码(Rotary Position Embedding, RoPE)是一种将相对位置信息以「旋转矩阵」形式注入注意力机制的位置编码方法,由苏剑林等(2021)提出,Su 等(2021, arXiv:2104.09864)系统阐述。 齐e慧享
原理与结构
对位置 m 的查询向量 q 与位置 n 的键向量 k,RoPE 分别乘以旋转矩阵 R(m) 与 R(n),使内积变为 qᵀR(m-n)k,从而仅依赖相对距离 m−n。旋转按向量维度分块(每 2 维一组,角度按频率衰减),天然支持长度外推(训练长度外可用,如线性/ NTK 缩放 RoPE 进一步扩展上下文)。 齐e慧享
关键事实
- 提出:RoFormer(Su et al., 2021, arXiv:2104.09864)。
- 采用者:LLaMA、Llama 2/3、ChatGLM、PaLM、Gemma 等。
- 优势:显式相对位置、可外推、实现简单。
典型应用
大模型位置编码标配;配合 YaRN、NTK 等实现 128K+ 长上下文。 齐e慧享
局限与争议
原始 RoPE 超出训练长度的外推仍会退化,需缩放技巧;与部分注意力变体(如窗口注意力)的配合需额外设计。 齐e慧享