什么是旋转位置编码(Rotary Position Embedding)?
旋转位置编码(RoPE)是 arXiv 论文《RoFormer: Enhanced Transformer with Rotary Position Embedding》提出的一种位置编码方法,它用旋转矩阵把绝对位置信息编码进自注意力计算,同时在自注意力公式中显式引入相对位置依赖。该论文称 RoPE 具备序列长度灵活、词元间依赖随相对距离增大而衰减等性质,并在长文本分类基准上进行了评测。
旋转位置编码(Rotary Position Embedding,RoPE)是一种用于 Transformer 架构的位置编码方法:它用一个旋转矩阵把序列中元素的绝对位置信息编码进去,同时在自注意力(self-attention)的计算公式中显式地引入相对位置依赖。它要解决的问题是——Transformer 的自注意力本身对序列顺序不敏感,模型必须额外获得「谁在谁前面、相隔多远」的信息,而 RoPE 试图让这份位置信息以乘性旋转的形式直接作用于查询与键的表示。
为什么重要
在 RoPE 出现之前,把位置信息注入 Transformer 语言模型的学习过程已经有多种做法。论文在摘要中说明,作者首先考察了将位置信息整合进基于 Transformer 的语言模型学习过程的各种方法,然后才提出 RoPE 这一新方法,目的是更有效地利用位置信息。
位置编码之所以关键,是因为它能为序列中不同位置元素之间的依赖关系建模提供有价值的监督信号。如果位置信息缺失或表达不佳,模型就难以区分「A 在 B 之前」与「B 在 A 之前」这类顺序差异,也难以刻画相隔较远的元素之间的关联强度。论文指出,RoPE 在编码绝对位置的同时,把显式的相对位置依赖带进了自注意力的公式里,这一点是它区别于单纯绝对位置编码的地方。
论文还列出了 RoPE 带来的若干性质:序列长度的灵活性、词元间依赖随相对距离增大而衰减,以及让线性自注意力具备相对位置编码的能力。这些性质是论文作者的主张,属于该论文提出的方法所声称具备的特性,而非行业层面的统一结论。
工作机制
按照论文的描述,RoPE 的核心做法可以拆成几个要点:
- 用旋转矩阵编码绝对位置。 论文明确写道,所提出的 RoPE 使用一个旋转矩阵来编码绝对位置。也就是说,位置信息不是以加法的形式叠加到词元表示上,而是以旋转的方式作用在表示上。
- 在自注意力公式中引入相对位置依赖。 论文强调,RoPE 在编码绝对位置的同时,把显式的相对位置依赖纳入自注意力的公式之中。绝对位置与相对位置这两种信息由此在同一套计算里同时体现。
- 依赖随相对距离衰减。 论文把「词元间依赖随相对距离增大而衰减」列为 RoPE 带来的性质之一。这意味着相隔越远的词元,其相互依赖在编码层面呈现出减弱的趋势。
- 序列长度灵活。 论文同样把序列长度的灵活性列为 RoPE 的性质之一。
- 可装备线性自注意力。 论文称 RoPE 具备让线性自注意力(linear self-attention)获得相对位置编码的能力。
论文还提到,作者提供了理论分析来解释部分实验结果。也就是说,上述性质与实验表现之间,论文给出了理论层面的说明,而不只是经验观察。
典型例子
论文给出的具体系统是 RoFormer,即「带有旋转位置编码的增强 Transformer」。论文在多种长文本分类基准数据集上对 RoFormer 进行了评测,并称实验结果一致地优于其对比方案。需要说明的是,这是该论文自身的实验结论。
论文在注释中还说明,RoFormer 已经被集成进 Huggingface。这是论文正文中提到的落地情况。
从论文的著录信息看,这篇工作提交于 2021 年 4 月 20 日,此后经过多次修订,最新版本为 v5,修订时间为 2023 年 11 月 8 日。作者为 Jianlin Su、Yu Lu、Shengfeng Pan、Ahmed Murtadha、Bo Wen、Yunfeng Liu。论文主题分类为计算与语言(cs.CL),同时涉及人工智能(cs.AI)与机器学习(cs.LG)。
边界与常见误解
第一,容易把 RoPE 与「绝对位置编码」或「相对位置编码」简单划等号。论文的表述是:RoPE 用旋转矩阵编码绝对位置,同时在自注意力公式中纳入显式的相对位置依赖。它同时涉及两个层面,把它归入单一类别会丢失论文的原意。
第二,容易把论文声称的性质当成已被普遍验证的定论。序列长度灵活性、依赖随相对距离衰减、线性自注意力的相对位置编码能力,这些都是该论文提出的性质;论文的实验是在长文本分类基准数据集上进行的,评测范围有其边界,不能直接外推到所有任务、所有模型规模或所有模态。
第三,「一致地优于其对比方案」是论文作者基于自身实验设置得出的结论,对比方案的具体构成、数据集的选择、评测指标等都由论文设定。引用这一结论时应说明来源,而不宜表述为业界共识。
第四,论文提供了理论分析来解释部分实验结果,但理论分析覆盖的是「部分」结果,并非对全部实验现象的解释。
第五,关于实现与集成的信息,论文只提到 RoFormer 已被集成进 Huggingface,并未在摘要层面给出更多工程细节、版本号或性能数字,因此不应在此处补充论文未提供的内容。