Decoder-only 架构的 LLM 为何仍需位置编码
众所周知,目前主流的大语言模型(LLM)大多基于因果注意力机制(Causal Attention)的 Decoder-only 架构。对于 Causal Attention,已有研究指出其在不添加额外位置编码(NoPE, No Positional Encoding)的情况下也能取得非平凡的效果。然而,事实是绝大多数主流的 Decoder-only LLM 仍然加入了显式的位置编码,例如 RoPE(Rotary Positional Embedding)、ALIBI 等。
这就引出了一个核心问题:既然理论上不加位置编码也能工作,为什么主流架构反而要增加这一组件?这是否违背了'少即是多'的设计原则?本文将从三个维度深入剖析:
- 位置编码对 Attention 机制的本质作用是什么?
- NoPE 的 Causal Attention 是如何隐式实现位置感知的?
- NoPE 方案在实际应用中存在哪些不足?
一、位置编码的核心作用
1. 打破置换不变性
在 BERT 时代,双向 Attention 机制具有显著的置换不变性(Permutation Invariance)。这意味着输入序列中 Token 的顺序交换不会改变 Attention 的输出结果。数学上,假设 $\mathbf{x}$ 是输入序列,$\pi$ 是任意排列,则满足:
$$ \text{Attention}(\mathbf{x}) = \text{Attention}(\pi(\mathbf{x})) $$
这种特性与人类自然语言的理解逻辑相悖,因为词序直接决定了语义(例如'猫追狗'与'狗追猫')。位置编码的根本目的之一,就是打破这种不变性,使模型能够区分不同位置的 Token。
2. 注入先验认知
位置编码的另一重要作用是为 Attention 机制注入先验知识(Prior Knowledge)。不同的位置编码策略隐含了不同的假设:
- Sinusoidal 位置编码:利用三角函数生成绝对位置向量,隐含了相邻位置向量相似度更高的假设。
- 相对位置编码:假设'相对位置比绝对位置更重要',如 T5 的对数分桶处理,体现了'越远的相对位置越模糊'的假设。
- ALIBI:隐含了越远的 Token 平均而言越不重要的假设(远程衰减)。
相比之下,RNN 和 CNN 将'近邻优先'的先验融入架构本身,但 LLM 倾向于减少人为偏见,通过 Attention 的灵活性让模型自行学习依赖关系,因此更倾向于使用参数更少、偏差更小的位置编码方式。
二、NoPE 如何实现位置感知
尽管双向 Attention 需要位置编码,但单向 Attention(Causal Attention)本质上不具备完全的置换不变性。在 Causal Mask 下,第 $n$ 个位置的输出仅依赖于前 $n$ 个 Token,这与 $n+1$ 个 Token 的上下文分布天然不同。
1. 方差辨位原理
研究表明,NoPE 模型主要通过隐藏状态向量的**方差(Variance)**来隐式表达位置信息。考虑一个简化的 Attention 过程,第 $n$ 个位置的隐藏状态 $h_n$ 可以视为前 $n$ 个 Token 的加权平均。随着 $n$ 的增加,参与平均的 Token 数量变化会导致统计特性的改变。
具体而言,若每个 Token 的分量独立同分布且均值为 0,则 $h_n$ 的均方值(Mean Square)或范数会随着 $n$ 的变化而变化。这种变化被模型捕捉后,即可作为位置信息的代理。论文《Latent Positional Information is in the Self-Attention Variance of Transformer Language Models Without Positional Embeddings》验证了这一结论,表明预训练过的 NoPE 模型确实利用了 Hidden State 的范数差异来推断位置。
2. 局限性分析
虽然 NoPE 能实现基础的位置感知,但其存在显著缺陷:
- 信息压缩过度:NoPE 将位置信息压缩到单个标量(范数)中,表达能力有限。当序列长度增加时,不同位置对应的范数差异可能变得极小,导致分辨率不足。
- 缺乏相对位置优势:自然语言处理通常更关注相对距离而非绝对索引。NoPE 本质上是绝对位置编码的变体,无法像 RoPE 那样优雅地处理相对位置关系。
- 外推能力弱:在无位置编码的训练数据中,模型难以泛化到未见过的长序列长度,容易出现注意力分散或性能骤降。


