[CL]《Beyond Real: Imaginary Extension of Rotary Position Embeddings for Long-Context LLMs》X Liu, Y Song, Z Liu, Z Huang... [Fudan University] (2025)
在大规模语言模型(LLMs)中,位置编码是理解序列顺序的关键技术。Rotary Position Embeddings(RoPE)因其通过复数平面旋转对查询和键向量编码绝对位置而被广泛采用。然而,现有RoPE实现仅利用了复数点积的实部,舍弃了同样包含丰富位置信息的虚部。这种简化导致了对长距离依赖关系建模能力的损失。
本文提出了RoPE++,一种将被丢弃的虚部信息重新引入注意力机制的方法。RoPE++将复数表示的虚部视作独立的注意力头,与实部注意力并行计算,形成双通道注意力分数。理论与实验均表明,虚部注意力更善于捕捉长距离依赖,增强了模型对长上下文的理解能力。
具体而言,RoPE++提出两种配置:
- RoPE++EH(Equal Heads):保持注意力头数不变,但将QKV参数和KV缓存容量减半,提升缓存和参数效率。
- RoPE++EC(Equal Cache):保持缓存大小不变,增加一倍的注意力头数,进一步提升性能,尤其在长上下文任务中表现突出。
实验覆盖了376M和776M模型规模,验证了RoPE++在短上下文和长上下文任务中的优势。RoPE++EH在减少缓存开销的同时,性能与标准RoPE持平或更优;RoPE++EC在相同缓存规模下显著超越RoPE,尤其在64k长度的长文本处理中优势明显。此外,虚部注意力头对全局信息的关注度更高,干扰其虚部注意力带来的性能下降远大于干扰实部,进一步证明其在长上下文建模中的关键作用。
RoPE++还展现了更好的长度外推能力。传统RoPE在超出训练上下文长度时,由于位置编码的分布偏差导致性能急剧下降;而RoPE++通过虚部信息的引入,让更多维度在训练阶段见识到完整的正负位置编码值,延缓了性能下降的速度,提升了模型的泛化能力。
此外,RoPE++能够与现有的长上下文技术如Linear PI和YaRN无缝结合,进一步推动长文本理解的边界。
总结来说,RoPE++通过重新激活被忽略的虚部信息,开启了位置编码设计的新思路:
- 它不仅提升了长上下文的建模能力,还带来了缓存与参数层面上的效率优化。
- 虚部与实部注意力的互补,使模型在捕获局部语义与长程依赖之间达成更好的平衡。
- 这一工作提示我们,复数空间中的相位信息同样是不可或缺的宝藏,值得深入挖掘。
RoPE++的代码及预训练模型已开源,期待推动长上下文语言模型的持续进步。详情请见论文全文:arxiv.org/abs/2512.07525
