概述
Performer 是一种具有里程碑意义的方法,它使用随机特征内核来近似 softmax,使得非常长的序列在计算上是可以承受的。
深入探讨
标准 Transformer 注意力计算每对标记之间的分数,花费的时间和内存随着序列长度的平方 (O(n^2)) 增长。线性注意力重写了计算,因此成本仅线性增长 (O(n))。关键思想:softmax注意力是softmax(QK^T)V,但是如果用内核特征图phi替换softmax,你会得到phi(Q)(phi(K)^T V)。由于矩阵乘法是关联的,因此您首先计算 phi(K)^T V (一个小的 d×d 矩阵),完全避免了巨大的 n×n 分数矩阵。 Performer,来自 2020 年的 Google,使用 FAVOR+(通过正正交随机特征进行快速注意力)使其成为真正的 softmax 的忠实近似,绘制随机投影以保持内核估计的无偏和稳定。
现实世界的实施
处理长基因组或蛋白质序列,其中完全二次注意力会耗尽 GPU 内存
使用 Performer 风格的主干,对很长的报告进行文档级摘要,无需分块
高效的长格式音频或时间序列建模,其中序列跨越数万个步骤
通过用线性注意力变体替换一些 softmax 层来降低长上下文聊天模型中的推理成本
线性注意力和表演者内核的未来
纯线性注意力通常在质量上落后于 softmax,因此该领域正在向混合型方向发展:状态空间模型 (Mamba)、门控线性注意力以及将一些全注意力层与许多线性注意力层混合在一起的架构。随着上下文窗口向数百万个令牌推进,线性和次二次机制对成本越来越有吸引力,并且正在重新审视循环式线性注意力以实现高效的流式推理和设备上模型。
付诸实践
为什么这很重要
- 成本与预算. 多年来,架构决策决定着性能和运营成本。
- 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
- 质量控制. 更好的工程选择可以减少生产中的可靠性事故。
留意
- 优化一项基准测试可以隐藏更广泛的系统弱点。
- 基础设施和维护成本常常被低估。
- 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
后续步骤
- 在实施之前定义延迟、质量和成本目标。
- 在实际负载和数据条件下进行基准测试。
- 仪器监控错误、漂移和用户影响。
- 在扩展之前准备回滚和事件响应路径。
不断探索
常见问题
什么是线性注意力和表演者核?
线性注意力用随序列长度线性缩放的数学技巧取代了 Transformers 中的二次 softmax 注意力。 Performer 是一种具有里程碑意义的方法,它使用随机特征内核来近似 softmax,使得非常长的序列在计算上是可以承受的。
为什么标准的 softmax 注意力随序列长度的变化很差?
Softmax 注意力比较每对标记,生成 n×n 分数矩阵,因此成本增长为 O(n^2)。
什么数学属性可以让线性注意力避免 n×n 矩阵?
由于矩阵乘法是结合律,因此您可以首先计算 phi(K)^T V(一个小的 d×d 矩阵),而不是 phi(Q)phi(K)^T。
Performer的FAVOR+机制大概是怎样的?
FAVOR+使用正正交随机特征来近似指数softmax内核,而不形成完整的注意力矩阵。
为什么 Performer 使用正随机特征而不是早期的三角特征?
正特征使内核估计保持非负值,避免了困扰早期 sin/cos 特征图的不稳定和负值。
序列长度 n 中表演者式线性注意力的近似复杂度是多少?
通过重新排序计算并且从不构建 n×n 矩阵,成本随序列长度线性缩放。