架构与关键技术 进阶 约 18 分钟 更新 2026-10-02

位置编码:从绝对位置到 RoPE 与 ALiBi

学习状态:
未学

一句话定义

注意力本身不感知词序,位置编码负责把「顺序」注入模型:早期用绝对位置向量,现代主流是旋转位置编码(RoPE),ALiBi 则用线性偏置实现无需训练的位置外推。

为什么重要

「猫咬狗」与「狗咬猫」的词元集合完全相同,顺序全靠位置编码区分。更重要的是:上下文长度扩展(长窗口)、外推能力(训练短、推理长)都由位置编码方案决定——这是各家模型长上下文竞争的技术分水岭。

前置知识

核心概念

原理与机制

RoPE 的核心性质:对位置 m 的 Q 向量旋转 mθ、对位置 n 的 K 旋转 nθ,二者的点积只含相对角度 (m−n)θ——「绝对位置操作、相对位置生效」。低频维度编码远距离、高频维度编码近距离,天然多尺度。ALiBi 的直觉:允许近期内容免惩罚、远期内容按距离线性扣分,把「位置先验」硬编码进偏置,短训长测时性能衰减小。

公式或模型

RoPE 旋转形式(二维分量示意):

q_m = R(mθ) · q ; R(nθ)ᵀR(mθ) = R((m−n)θ)
⟨q_m, k_n⟩ 只依赖 m − n

ALiBi 偏置:

A_tj ← A_tj − s_h · |t − j|

图示

绝对位置:  id=0→[v0] id=1→[v1] ... 查表加到嵌入上
RoPE:      对每维"指针"按位置旋转角度 mθ,点积只看角度差
ALiBi:     分数矩阵上叠一层"越远越扣分"的斜坡

直观类比

RoPE 像「时钟指针」:不需要记录绝对时刻,两根指针的夹角自然告诉你时间差;ALiBi 像「礼堂座位规则」:距离越远说话声音越小(线性衰减),即使扩建礼堂(加长上下文)规则不变照样适用。

实例或案例

LLaMA 系与绝大多数 2023 后开源模型采用 RoPE;训练 2K 上下文后用位置插值 + 少量长文本微调扩到 32K 以上是该路线的标准操作;BLOOM 等模型采用 ALiBi 验证了短训长测的可行性。外推与插值的选择已成为模型技术报告的固定章节。

常见误区

与其他知识点的关系

自测题

  1. RoPE 如何实现「绝对位置操作、相对位置生效」?
    答案要点:Q/K 按位置角度旋转,点积只含位置差 (m−n)θ。
  2. ALiBi 与 RoPE 的机制差异?
    答案要点:RoPE 改造 Q/K 向量;ALiBi 不改向量、直接对注意力分数加随距离线性衰减的偏置。
  3. 为什么直接外推效果差,需要位置插值?
    答案要点:超出训练范围的相对角度未被模型见过,分布外导致注意力失真;插值把新位置压缩回已见范围。

延伸阅读