原始Transformer(2017年)在每个位置和维度上使用不同频率的固定正弦函数。这些函数有一个很好的理论属性:模型可以学会关注相对位置,因为正弦模式创建了一致的偏移。但学习到的位置嵌入(为每个位置训练一个可训练向量)很快成为默认选择,因为它们性能略好,尽管受限于最大训练长度。
旋转位置嵌入(RoPE,Su等人,2021年)通过在注意力机制中旋转查询和键向量来编码位置。旋转角度取决于位置,因此两个token之间的点积自然编码了它们的相对距离。RoPE被LLaMA、Mistral、Qwen和大多数现代LLM使用。其关键优势:它支持长度外推——模型可以处理比训练时见过的更长序列,尤其是与YaRN或NTK感知缩放等技术结合使用时。
ALiBi(带线性偏置的注意力)采用更简单的方法:它不修改嵌入,而是根据token之间的距离向注意力分数添加线性惩罚。距离更远的token受到更大的惩罚。这不需要学习参数且能很好地外推到更长序列。一些架构结合多种方法或使用相对位置偏置。趋势是朝向能超越训练长度泛化的方法,因为上下文窗口不断增长。