AB
AiBoss
Wiki

什么是无注意力Transformer(Attention Free Transformer)?

无注意力Transformer(Attention Free Transformer,AFT)是 arXiv 论文《An Attention Free Transformer》提出的一种 Transformer 高效变体,它去掉了点积自注意力,改为把键与值先用一组可学习的位置偏置组合,再与查询做逐元素相乘,从而使内存复杂度对上下文长度和特征维度都呈线性。

无注意力Transformer(Attention Free Transformer,缩写 AFT)是 arXiv 论文《An Attention Free Transformer》提出的一种 Transformer 高效变体,其核心特征是去掉点积自注意力(dot product self attention)。它要解决的问题是:标准自注意力在计算时需要为每一对位置保存注意力权重,内存开销随上下文长度增长很快,从而限制了输入长度与模型规模的扩展;AFT 用另一种算子替换自注意力,使内存复杂度对上下文长度和特征维度都呈线性。

为什么重要

Transformer 的基本构件是自注意力层。在标准做法中,每个位置的查询(query)要与所有位置的键(key)做点积,得到一组注意力权重,再用这组权重对值(value)加权求和。这一过程需要显式地构造并保存一个「位置 × 位置」的注意力矩阵。

这种设计的代价在于内存占用。当上下文长度增大时,注意力矩阵的元素数量按平方增长;当特征维度增大时,相关中间张量也随之增大。对于长序列建模、高分辨率图像建模等场景,这构成实际瓶颈:要么限制输入长度,要么限制模型规模,二者难以同时放大。

围绕这一瓶颈,研究者提出过多条改进路线。AFT 属于其中一种思路:不去近似或稀疏化注意力矩阵,而是彻底取消点积自注意力这一操作本身,改用一种不产生成对权重的组合方式。论文摘要称,这种新操作的内存复杂度对上下文长度和特征维度都是线性的,因而「兼容大输入与大模型规模」。

工作机制

按照论文摘要的描述,AFT 层的计算可以拆成以下几个要点:

  1. 键与值先组合。 在 AFT 层中,键(key)和值(value)首先与一组可学习的位置偏置(learned position biases)相结合。也就是说,位置信息不是通过查询与键的点积隐式引入,而是以一组可学习参数的形式直接作用在键和值的组合上。
  2. 组合结果与查询逐元素相乘。 上一步得到的结果,再与查询(query)以逐元素(element-wise)的方式相乘。这里没有查询与键之间的成对点积,也就没有「位置 × 位置」的注意力矩阵。
  3. 内存复杂度线性。 由于不再构造成对权重,论文称该操作的内存复杂度对上下文长度和特征维度都是线性的,这是 AFT 相对标准自注意力的主要效率主张。

论文还给出两个模型变体,它们在保留全局连通性的同时利用局部性与空间权重共享的思想:

  • AFT-local:利用局部性(locality)的变体。
  • AFT-conv:利用空间权重共享(spatial weight sharing)的变体。

论文摘要强调,这两个变体在利用局部性与空间权重共享的同时,仍保持全局连通性(global connectivity)。这一点值得注意:局部化并不等于把模型切成互不相通的局部窗口,位置偏置的组合方式仍然让信息在全局范围内流动。

典型例子

论文摘要列出了用于验证 AFT 的三类任务,覆盖自回归建模与图像识别两个方向:

  • CIFAR10:自回归建模任务之一。
  • Enwik8:自回归建模任务之一。
  • ImageNet-1K 分类:图像识别任务。

论文称在这些基准上做了大量实验,AFT 在所有基准上都表现出有竞争力的性能,同时提供了良好的效率。需要说明的是,这是论文作者自己的结论,具体数值、对比对象与实验设置应以论文原文为准,此处不代为转述或外推。

从任务选择可以看出 AFT 的适用范围并不局限于某一模态:CIFAR10 与 ImageNet-1K 属于视觉任务,Enwik8 属于长文本字符级建模任务。论文的学科分类同时标注了机器学习(cs.LG)、计算与语言(cs.CL)以及计算机视觉与模式识别(cs.CV),与这一任务分布相吻合。

论文由 Shuangfei Zhai、Walter Talbott、Nitish Srivastava、Chen Huang、Hanlin Goh、Ruixiang Zhang、Josh Susskind 撰写,于 2021 年 5 月 28 日首次提交,2021 年 9 月 21 日修订为第二版。

边界与常见误解

「无注意力」不等于模型里没有任何信息交互机制。 AFT 去掉的是点积自注意力这一具体算子,取而代之的是「键值组合 + 位置偏置 + 与查询逐元素相乘」。位置偏置是可学习参数,查询仍然参与运算,层与层之间仍然传递信息。把它理解成「一个没有交互的模型」是误读。

线性内存复杂度是论文针对该操作给出的性质,不是对所有实现细节的普遍保证。 论文摘要的表述限定在「这一新操作」的内存复杂度上。整体系统的实际开销还取决于具体实现、模型配置与硬件环境,不能仅凭摘要推断端到端的资源占用。

「有竞争力的性能」是论文作者在特定基准上的报告。 论文称 AFT 在 CIFAR10、Enwik8 与 ImageNet-1K 分类上表现有竞争力且效率良好,这是该论文的实验结论,不应被当作跨任务、跨规模的通用定论。是否适用于其他任务、其他数据规模,需要另行验证。

AFT-local 与 AFT-conv 是变体,不是替代关系。 论文把它们描述为利用局部性与空间权重共享思想、同时保持全局连通性的两个模型变体。它们与基础 AFT 层的关系是同一思路下的不同配置,而非彼此取代。

已知代价与取舍。 用可学习位置偏置替代查询—键点积,意味着模型不再通过点积直接计算任意两位置之间的相似度;位置关系的建模方式发生了改变。论文通过引入局部性与空间权重共享的变体来应对不同场景,这本身也说明基础形式在某些任务上可能需要额外设计。具体取舍的量化影响,应以论文正文的实验与分析为准。

参考资料