旋转位置编码

技术 EN:Rotary Position Embedding 别名:RoPE 发布:2026-08-23 浏览:0
摘要
旋转位置编码(RoPE)通过把 token 的查询/键向量按位置角度做旋转来编码相对位置信息,兼具相对位置建模与外推能力,是 LLaMA、ChatGLM、PaLM 等主流大模型的标准位置编码方案。

定义

旋转位置编码(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慧享

参考资料

发现内容有误或想补充资料? 贡献新词条 词条编辑指南 我要投稿(进入审核)