位置编码是 Transformer 架构中一个看似简单却深刻的设计问题。自注意力机制本身是位置无关的——它对输入序列的排列不变,这意味着同一个句子打乱词序后,自注意力的计算逻辑完全不变。然而语言的本质是序列性的,“猫吃鱼"和"鱼吃猫"含义截然不同。位置编码的使命,就是将序的结构注入一个天生无视顺序的机制中。
在众多位置编码方案中,Rotary Position Embedding(RoPE)独树一帜:它用绝对位置的方式编码,却在注意力分数中自动实现了相对位置的效果。这种"用绝对编码实现相对位置"的优雅性质,源自复数乘法的一个古老几何事实——乘以 就是旋转。
绝对与相对:位置编码的核心矛盾#
位置编码方案大致分为两族。绝对位置编码为每个位置 指定一个向量 ,将其加到 token 嵌入上:
原始 Transformer 的 Sinusoidal 编码和 BERT 的可学习位置编码都属于此类。绝对编码简单直接,但有一个根本缺陷:注意力分数 展开后为 ,位置信息以 的形式混入,没有任何一项只依赖 。模型必须通过学习来间接捕捉相对位置关系。
相对位置编码则直接让注意力分数依赖位置差:
T5 的偏置项、Transformer-XL 的缓存机制都是相对编码的代表。它们在原理上更优雅,但在工程实现上往往更复杂,尤其是需要修改注意力计算的内核。
RoPE 提供了一个出人意料的第三条路:用绝对位置的方式对 Query 和 Key 分别施加变换,使得它们的内积自然只依赖相对位置。不需要修改注意力公式,不需要额外的偏置项——只需要让向量"旋转"起来。
复数乘法即旋转#
一切的起点是 Euler 公式:
在复平面上, 是单位圆上的一个点。将任意复数 乘以 ,得到:
效果是将 绕原点旋转角度 ,模长不变。这就是"复数乘法 = 旋转"的几何意义。
现在考虑二维嵌入的情况。将 token 在位置 的 Query 向量 视为复数 ,对其施加旋转 :
对位置 的 Key 向量 施加同样的旋转:
两者的内积(在复数语境下取实部)为:
利用 ,上式简化为:
关键观察:内积中与位置相关的部分只剩 ,它仅依赖于相对位置 。这正是 RoPE 的核心性质。
复平面旋转与相对位置内积
左:复平面上 q(蓝色)与 k(红色)随位置旋转;右:内积随相对位置 m−n 的衰减曲线
从可视化中可以直观看到:无论绝对位置 和 如何变化,只要 固定,内积值就固定——这正是"用绝对编码实现相对位置"的含义。
从复数到矩阵:二维旋转的代数形式#
将复数乘法 写成矩阵-向量乘法的形式。设 ,则:
对应矩阵乘法:
这就是二维旋转矩阵 。对位置 的 Query 向量施加旋转角度 :
旋转矩阵有一个关键性质:。这可以验证:
因此:
内积只依赖相对位置 。这个二维的优美结果,自然引出一个问题:如何推广到高维?
高维推广:分块对角旋转矩阵#
Transformer 的隐藏维度 通常是 64 的倍数(如 4096),远大于 2。RoPE 的推广方式是:将 维向量分成 个二维子空间,在每个子空间上独立施加不同频率的旋转。
具体地,将 分成 对:
对第 对 施加旋转角度 ,其中频率参数:
整体写成矩阵形式,得到分块对角旋转矩阵:
由于分块对角结构,各个二维子空间的旋转相互独立,内积仍然是各子空间旋转内积之和:
相对位置性质在高维下依然成立。
频率 的选择使得低维对( 小)旋转快、高维对( 大)旋转慢。这创造了一种多分辨率的编码:低频分量捕捉长距离的粗粒度位置关系,高频分量捕捉短距离的细粒度位置关系。
高维旋转矩阵的分块结构与频率分布
8 维旋转矩阵的分块对角结构,不同颜色表示不同频率的旋转块;滑块控制位置 m
从可视化中可以清晰看到分块对角结构的两个关键特征。第一,每个 旋转块独立运作,块与块之间没有耦合,这保证了内积的可分解性。第二,不同块的旋转频率差异巨大——,而 ,前者在位置 处就完成一个完整旋转,后者需要 。这种对数间距的频率分布,使得不同尺度的位置信息都能被有效编码。
RoPE 与 Sinusoidal 的关系#
原始 Transformer 的 Sinusoidal 位置编码定义为:
这与 RoPE 的旋转角度 完全一致。事实上,如果将 Sinusoidal 编码的 视为单位圆上的一个点,那么 RoPE 的旋转操作就是在复数乘法层面利用了同一组频率。
两者的区别在于作用方式。Sinusoidal 将位置向量加到嵌入上,是一种加性编码;RoPE 将位置信息乘到嵌入上,是一种乘性编码。加性编码无法保证内积只依赖相对位置,因为加法的结构不够"刚性”。而旋转操作保持了向量长度,且旋转的复合是可交换的群运算,这使得 的性质在高维下自然成立。
从这个角度看,RoPE 是 Sinusoidal 的推广:它继承了 Sinusoidal 的频率选择,但将作用方式从加法升级为乘法(旋转),从而获得了相对位置不变性这一关键性质。
完备性分析:为什么 RoPE 只能是这个形式#
前面的推导展示了分块对角旋转矩阵如何实现"内积只依赖相对位置"这一性质。一个自然的问题是:这是唯一的构造方式吗?是否存在其他形式的编码也能满足同样的性质?
苏剑林在《旋转位置编码的完备性分析》中给出了严格的回答:在一定条件下,RoPE 的分块对角旋转矩阵形式是唯一满足"内积只依赖相对位置"要求的编码方式。
这个结论的证明思路如下。设位置 处的变换为 ,要求内积 只依赖 (和 )。这意味着存在函数 使得:
对 和 的线性性约束(变换必须是线性的,否则无法在注意力框架中高效计算)将 限定为线性变换,即 。内积条件变为:
这意味着 只依赖 。满足这个条件的矩阵族 在适当正则性条件下只能是分块对角的正交矩阵——即 RoPE 的形式。更具体地,对 Self-Attention 而言,分块对角 RoPE 不损失一般性,因为任何更一般的编码形式都可以通过相似变换吸收到线性层参数 中,等价于分块对角 RoPE。
但这个完备性结论对 Linear Attention 并不成立。在 Linear Attention 中,注意力计算为 (其中 是特征映射),相似变换无法像 Self-Attention 那样自由吸收。这意味着对 Linear Attention,可能存在比 RoPE 更好的位置编码方案。反过来看,RoPE 是目前唯一一种可用于线性 Attention 的相对位置编码——T5 偏置等方案需要完整的 softmax 注意力矩阵,无法在线性 Attention 框架中使用。这是 RoPE 区别于其他相对位置编码方案的重要优势。
这个完备性分析回答了一个深层问题:RoPE 的分块对角旋转矩阵形式是"几乎唯一的解",而非"巧妙的构造"。在"线性变换 + 内积只依赖相对位置"的双重约束下,旋转几乎是唯一的出路。
远程衰减:RoPE 的局域性#
完备性分析确立了 RoPE 形式的唯一性,而 RoPE 的另一个重要性质——远程衰减——解释了它在实践中为何有效。
苏剑林通过 Abel 变换(分部求和)严格证明了:RoPE 的注意力内积随相对距离 增大而衰减。其证明的核心步骤是:将内积 重写为 Abel 求和形式,利用频率 的几何级数结构和系数的递减性质,证明当 时内积趋向于零。
远程衰减的直觉是清晰的:RoPE 的多个频率分量以不同速率旋转,当相对距离增大时,不同频率的旋转角度越来越不同步,正负贡献相互抵消,内积趋向零。高频分量最先失同步,低频分量最后——这与多分辨率编码的设计一致:近处信息由所有频率共同贡献,远处信息主要由低频分量决定,而低频分量本身变化缓慢,对远处位置的区分力有限。
远程衰减性质解释了 RoPE 的局域性:注意力自然集中在邻近位置,这与语言中局部依赖强于远距离依赖的经验观察一致。更重要的是,它为后续长度外推方法的动机提供了基础——正因为 RoPE 具有局域性,超出训练长度时注意力的急剧恶化才成为问题,而各种外推策略其实都是在试图恢复这种局域性。
工程实践:主流 LLM 的选择#
RoPE 自 2021 年由苏剑林提出以来,已经成为主流大语言模型的事实标准位置编码方案:
- LLaMA 系列(Meta):从 LLaMA 1 到 LLaMA 3 均采用 RoPE,是 RoPE 大规模应用的开创者
- Qwen 系列(阿里):Qwen2.5 和 Qwen3 均使用 RoPE,并通过 NTK-aware 缩放支持超长上下文
- Mistral 系列:Mistral 7B 和 Mixtral 8x7B 均使用 RoPE
- DeepSeek 系列:DeepSeek-V2/V3 使用 RoPE,并在 MLA 架构中设计了专门的解耦 RoPE 机制
RoPE 之所以成为主流选择,核心原因在于它在三个维度上同时达到了优秀:
- 表达力:多分辨率频率编码使得模型能同时捕捉局部和全局的位置关系
- 效率:旋转操作可以在注意力计算中通过 element-wise 乘法高效实现,无需额外的矩阵乘法
- 外推性:虽然 RoPE 本身的外推能力有限,但基于 RoPE 的长度外推方法(如 NTK-aware 缩放、YaRN)已经成为长上下文扩展的标准工具
RoPE 的实现还有一个工程细节:标准的 RoPE 将向量按相邻元素配对(),而 LLaMA 的实现采用了间隔配对()。两种配对方式在数学上等价(只需调整旋转矩阵的排列),但间隔配对在某些硬件上更友好。
RoPE 的优雅在于它将位置编码问题转化为一个几何问题:复平面上的旋转。旋转的核心性质——旋转的复合等价于角度的加法——使得绝对位置的旋转在注意力内积中自然约化为相对位置。从复数到分块对角旋转矩阵的推广保持了这一性质,而对数间距的频率分布则为模型提供了多分辨率的位置感知能力。
这种"用绝对编码实现相对位置"的设计哲学,是 RoPE 区别于所有其他位置编码方案的根本特征。而完备性分析进一步揭示,这并非偶然——在"线性变换 + 内积只依赖相对位置"的约束下,旋转几乎是唯一的出路。远程衰减性质则赋予了 RoPE 天然的局域性,使注意力自然聚焦于邻近位置,这也为后续的长度外推问题埋下了伏笔。理解了这些,就能理解后续关于长度外推、解耦 RoPE 等所有技术发展的内在逻辑。
相关概念#
参考文献#