ALiBi:用线性偏置替代显式位置编码
一、背景
Self-Attention 对 token 顺序 不敏感,因此 Transformer 必须注入 位置信息。专栏前文 位置编码与 RoPE 里已经讲过:常见路线是给 Q、K 做 旋转(RoPE) 或加 绝对/相对位置向量。另一条重要路线是 ALiBi(Attention with Linear Biases,注意力线性偏置):不为每个位置学一套嵌入,而在 注意力 logits 上按相对距离加惩罚项,让远距离键对当前 query 的贡献自然变弱。
论文题目常写作 Train Short, Test Long:在较短序列上训练,在推理时外推到更长上下文,缓解「训练窗口」与「产品要的长文本」不一致时的 长度外推(length extrapolation) 问题。原始工作见 Press 等,ICLR 2022(arXiv:2108.12409);与 Facebook AI Research、华盛顿大学、Allen Institute for AI 等作者单位相关,并非某一家国内厂商独占的「独家论文」——若从视频入门,建议以正式论文与开源实现为准。
二、核心概念和核心原理(详细解答 + 通俗解释)
(一)核心概念(先通俗,再详细)
1. 显式位置编码 vs 在 logits 上加偏置
通俗解释:传统做法像给每个座位贴号码;ALiBi 像规定「坐得越远,互相『听见』的音量按直线往下扣」。
详细解答:不在输入里加PE(pos),而在 每个注意力头 上,对位置i的 query 与位置j的 key 之间的 logits 减去与 |i−j| 成比例的项(实现细节因代码库略有不同,但 随距离线性增大惩罚 是核心)。2. 线性偏置(Linear Bias)
通俗解释:距离每多一格,惩罚多加一截固定斜率,整体是 分段线性 的衰减形状。
详细解答:多头时 每个头用不同斜率,有的头更「局部」(惩罚陡),有的更「敢看远」(惩罚缓),等价于让不同头分工 近程 / 远程 依赖。3. 与「残差」无关
通俗解释:中文语境里有人把 ALiBi 说成「注意力残差」,容易和 Residual(残差连接) 混淆。
详细解答:ALiBi 改的是 注意力分数上的加性偏置,不是 Layer 之间的 skip connection;后文统一称 线性偏置 或 ALiBi。
(二)核心原理(通俗拆解,一步一步讲清楚)
第一步:注意力 logits 再减一项
通俗解释:在算完 (QK^\top)(或等价形式)之后,对 相对位置 加上 负的、与距离成正比的偏置,再 softmax。
详细解答:远距离的 key 在 softmax 前被 系统性压低,模型不必依赖显式位置表也能形成 随距离衰减的注意力模式。第二步:外推直觉
通俗解释:训练和推理时都用 同一套「距离越远越吃亏」的规则,没有出现「训练时只见过 2048 个位置 id、推理突然冒出 8192 个新 id」那种 嵌入表对不齐 的问题。
详细解答:论文报告在 短序列训练 下,测试 更长序列 时仍有一定外推能力;实际效果与模型规模、数据、实现强相关,不能当成「无限长零成本」。第三步:工程上的简单性
通俗解释:实现上主要是 按距离查表或算线性项再相加,不引入三角函数位置表。
详细解答:训练与显存方面,论文对比了与正弦位置编码等基线的差异;是否优于 RoPE 取决于任务与年代,需看 最新模型选型(很多开源栈以 RoPE 为主,ALiBi 仍常作为 对比基线与教学案例)。
三、补充进阶知识点(易懂不晦涩,适配新手进阶)
1. 与 RoPE 的对比(避免非黑即白)
RoPE 通过 旋转 把相对位置写进 (q,k) 内积,生态与 FlashAttention 等结合成熟;ALiBi 通过 logits 偏置 表达距离衰减。二者都能讨论 长上下文外推,但 没有一条 universally「永远碾压」另一条——以 论文、复现与线上指标 为准。2. 长上下文「危机」表述要留余地
视频里常说的 上下文长度危机 指:训练窗口有限而产品要更长,外推时 质量掉、loss 炸、注意力糊 等现象。缓解手段还包括 位置插值(PI)、NTK 缩放、继续预训练、YaRN 等;ALiBi 是 位置设计 选项之一,不是唯一解。3. 和专栏其他文章的关联
读本文前建议先扫 Transformer 架构 与 位置编码与 RoPE;与 上下文窗口、KV Cache 一起理解「变长序列」的成本与行为。4. 关于公开讨论与溯源
部分科普内容会用 热点传播 作为引子;技术判断仍以 原始论文与官方实现 为准。本文初稿思路来自 B 站视频 《【闪客】深入解读……注意力……白话解读》,经整理后与专栏体例对齐,并 修正了论文归属与术语。
四、文章知识总结
- 背景:ALiBi 在 注意力 logits 上加入 随相对距离线性增长的惩罚(线性偏置),用距离衰减替代一类显式位置嵌入,服务 短训长测 的外推目标。
- 核心概念:多头 不同斜率;勿与 残差连接 混淆。
- 核心原理:在 softmax 前压低远距离键;实现相对简单,外推需 结合实测。
- 进阶:与 RoPE 并存于「位置编码设计空间」;长上下文还有插值、微调等多种工程手段。
- 核心逻辑:位置信息可以「嵌在 Q/K 的几何里」(如 RoPE),也可以「直接写在注意力分数的偏置里」(ALiBi)——选型看 生态、性能与任务。
总结:ALiBi 体现了 用归纳偏置(远距离衰减)换简洁实现 的思路;读开源模型时若见到 alibi 或 linear bias,可对照本文快速对齐 在算什么、和 RoPE 差在哪。
参考资料
- Ofir Press, Noah A. Smith, Mike Lewis. Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation. ICLR 2022. arXiv:2108.12409
- 代码与说明:ofirpress/attention_with_linear_biases(GitHub)