# 4.4 ALiBi 与其他相对位置方案

除了 RoPE，研究者还提出了多种其他相对位置编码方案。了解这些方案有助于理解位置编码设计空间中的不同权衡。

## 4.4.1 ALiBi：用偏置替代编码

**ALiBi**（Attention with Linear Biases，Press 等人，2022 年）采用了一种极其简洁的方法：**不添加任何位置编码向量，而是直接在注意力分数上加一个与距离成正比的负偏置。**

$$\text{score}(q\_m, k\_n) = q\_m^T k\_n - r \cdot |m - n|$$

其中 $$r$$ 是一个预设的斜率参数（不同头使用不同的 $$r$$ 值），$$|m - n|$$ 是两个位置之间的距离。

ALiBi 的直觉很自然：**距离越远的位置，注意力分数的惩罚越大。** 这引入了一种位置先验——相近的词更可能相互关联。不同的头使用不同的斜率 $$r$$，使得有些头关注近距离上下文、有些头关注远距离上下文。

ALiBi 的最大优势是**出色的长度外推能力**——它在 1024 长度上训练后可以直接外推到 2048 甚至更长，性能衰减很小。这是因为线性偏置函数对任意距离都有定义，不像可学习编码那样存在位置上限。

## 4.4.2 其他相对位置编码方案

**Transformer-XL 的相对位置编码（Relative Position Encoding）**：Dai 等人（2019 年）提出在注意力分数的计算中显式加入可学习的相对位置偏置项。这种方法将注意力分数分解为四项：内容-内容、内容-位置、位置-内容和位置-位置交互。虽然有效，但实现较为复杂。

**T5 的相对位置偏置（Relative Position Bias）**：T5 使用了简化的可学习相对位置偏置——为每个可能的相对距离学习一个标量偏置值。距离超过一定阈值后使用同一个偏置值（桶化处理），使其能够泛化到较长的距离。

## 4.4.3 各方案的对比

| 方案    | 类型 | 编码位置   | 外推能力   | 额外参数                   | 代表模型           |
| ----- | -- | ------ | ------ | ---------------------- | -------------- |
| 正弦编码  | 绝对 | 嵌入层    | 理论上有   | 无                      | 原始 Transformer |
| 可学习编码 | 绝对 | 嵌入层    | 无      | $$L\_{\max} \times d$$ | GPT-2、BERT     |
| RoPE  | 相对 | Q/K 旋转 | 强（可扩展） | 无                      | Llama、Gemma    |
| ALiBi | 相对 | 注意力偏置  | 强      | 无                      | BLOOM          |
| T5 偏置 | 相对 | 注意力偏置  | 中等     | 少量                     | T5、Flan-T5     |

表 4-1：主要位置编码方案对比

## 4.4.4 设计趋势

从位置编码的演进中可以看到几个清晰的趋势：

1. **从绝对到相对**：现代方案倾向于编码相对位置而非绝对位置，因为大多数语言关系与相对距离更相关
2. **从嵌入层到注意力层**：位置信息的注入点从输入嵌入转移到了注意力计算过程中，使位置信息能更直接地影响注意力分数
3. **从固定到可扩展**：外推能力成为了关键考量，固定最大长度的方案逐渐被淘汰
4. **从复杂到简洁**：RoPE 和 ALiBi 的成功表明，简洁优雅的数学设计往往比复杂的参数化方案更有效

RoPE 凭借其在相对位置编码、外推能力和计算效率三方面的综合优势，成为了当前大语言模型的事实标准。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yeasy.gitbook.io/llm_internals/di-yi-bu-fen-ji-chu-pian/04_position_encoding/4.4_alibi_others.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
