Absolute Position Embedding 是最直接的位置编码方法:为序列中的每个绝对位置学习或定义一个位置向量,并把它加到 token embedding 上。它回答的问题是:“这个 token 位于第几个位置?”

基本形式

给定 token embedding:

以及第 个位置的位置向量:

输入 Transformer 的初始表示为:

如果使用 learned absolute position embedding,所有 组成一个可学习表:

其中 是模型支持的最大位置数。

为什么可行

Attention 本身不天然知道顺序。把 position embedding 加到 token embedding 后,同一个 token 出现在不同位置会得到不同初始表示:

这样后续 attention 和 FFN 就能利用位置差异。

优势

  • 实现简单,只需要查表并相加;
  • 可学习,能适配训练数据中的位置分布;
  • 对固定最大长度任务有效;
  • 与标准 Transformer block 解耦,不需要修改 attention score 公式。

早期 GPT、BERT 等模型都使用或接近这种路线。

局限

Absolute position embedding 的主要问题是长度外推较弱。因为位置表只训练了 范围内的位置,超过最大长度后没有自然定义的向量。即使扩展位置表,新位置也缺少训练。

它还更容易让模型记住绝对位置模式,而不是相对距离。例如“两个 token 相隔 3 个位置”在位置 10/13 和 300/303 上对应不同的绝对向量组合,模型需要自己学会这种相对关系。

与 RoPE / ALiBi 的区别

方法位置信息进入哪里主要特点
Absolute Position Embedding输入 embedding简单、可学习、固定长度友好
RoPEQ/K 旋转相对距离进入 attention score
ALiBiattention score bias用距离偏置引入位置关系

现代 decoder-only LLM 更常用 RoPE 或其扩展,因为它和 query-key 匹配过程结合更紧密,也更适合长上下文扩展。

常见误解

  • 误解:absolute position embedding 不能表示顺序。 它能表示绝对顺序,只是相对距离和长度外推不如某些方法自然。
  • 误解:位置向量只在第一层有用。 它加到输入后会通过多层计算影响后续 hidden states。
  • 误解:扩大位置表就等于长上下文模型。 新位置向量需要训练,长上下文能力还需要数据、attention 机制和推理系统支持。

相关概念