位置编码是什么
位置编码(Positional Encoding,简称 PE)是 Transformer 模型中不可或缺的组件。由于自注意力机制本身是排列不变的,即它不会区分"我打你"和"你打我"中词语顺序的差异,因此必须显式地将位置信息注入模型。
绝对位置编码
原始 Transformer 使用固定频率的正余弦函数编码位置,使位置编码具有确定性、无需训练,且能外推到训练时未见过的序列长度。BERT 则使用可学习的绝对位置嵌入。
旋转位置编码(RoPE)
RoPE(Rotary Position Embedding)是目前大语言模型中最主流的位置编码方式,被 LLaMA、Qwen、Mistral 等模型采用。RoPE 的核心是将位置信息通过旋转矩阵作用于 query 和 key 向量,使内积结果天然包含相对位置信息。
ALiBi
ALiBi(Attention with Linear Biases)是另一种高效的相对位置编码方案,直接在注意力分数上加上与相对距离成正比的负偏置,越远的 token 被衰减越多。