Linformer是一种Transformer (architecture)架构,旨在解决标准自注意力机制中二次方计算和内存成本的问题。在传统Transformer中,自注意力层会计算序列中每对词元之间的相似度分数,导致对于长度为n的序列,复杂度为O(n²)。这种扩展性在处理长序列时变得难以承受,例如文档处理、基因组数据或高分辨率图像分析中的场景。Linformer通过将键和值矩阵投影到较低维空间,引入了线性复杂度的自注意力机制,将成本降低到O(n),同时在下游任务上保持有竞争力的性能。
该架构由Facebook AI Research(现为Meta AI的一部分)的研究人员Sinong Wang、Belinda Z. Li、Madian Khabsa、Han Fang和Hao Ma在2020年的一篇论文中提出。论文题为“Linformer: Self-Attention with Linear Complexity”,证明了注意力矩阵通常是低秩的,这意味着它可以用一个更小的矩阵来近似,而不会显著损失信息。这一见解构成了该方法理论基础。
机制与低秩投影
Linformer的核心创新在于其对键和值矩阵的处理方式。在标准多头注意力中,注意力分数是查询和键乘积的softmax结果,这需要一个n×n的矩阵。Linformer则使用学习到的线性投影,将键和值投影到一个固定维度k,其中k远小于序列长度n。这种投影将注意力矩阵从n×n缩减为n×k,从而在序列长度方面实现线性复杂度。
k的选择是一个超参数,用于平衡效率和准确性。作者表明,对于许多实际任务,即使序列包含数千个词元,k值约为128或256就足够了。在某些变体中,投影矩阵在注意力头之间共享,进一步减少了参数数量和内存使用。
与其他高效Transformer的比较
Linformer是2020-2021年间开发的一系列高效Transformer架构中的一员。它常与reformer(使用局部敏感哈希)和longformer(使用滑动窗口注意力)进行比较。与通过哈希近似注意力的Reformer不同,Linformer使用固定的低秩投影,这更简单且对硬件更友好。与将注意力限制在局部窗口的Longformer不同,Linformer保留了全局注意力信息,尽管是以压缩形式。
在IMDb情感分析和文本分类等基准任务上的实证评估表明,Linformer在长序列上实现了与原始Transformer相当的准确性,同时显著减少了内存和时间使用。例如,对于长度为4096的序列,Linformer可以将内存使用量比标准Transformer减少高达90%。
应用与影响
Linformer的主要动机是使Transformer能够处理更长的上下文,这对于文档摘要、长段落问答以及医疗或法律记录处理等任务至关重要。其线性扩展性也使其在资源受限设备(如手机或边缘硬件)上部署时具有吸引力,因为这些设备的内存和计算能力有限。
注意力中的低秩近似思想影响了后续工作,包括performer(使用随机特征映射)和flash-attention(专注于I/O优化)。尽管截至2025年,Linformer本身并未被广泛用于大规模生产模型,但其原理已被纳入混合架构,并为高效注意力机制的研究提供了参考。
局限性与批评
Linformer的一个局限性是,低秩假设可能不适用于所有类型的数据。对于注意力模式高度稀疏或具有复杂结构的任务,固定投影可能会丢失重要信息。此外,投影矩阵是在训练期间学习的,这意味着模型必须从头训练或进行微调以适应新任务;它不能直接应用于预训练Transformer而不做修改。
另一个批评是,线性复杂度是以固定瓶颈维度k为代价实现的,对于非常长的序列,可能需要增加k值,这可能会削弱效率提升。一些研究还指出,Linformer在需要细粒度词元级推理的任务(如某些自然语言推理基准)上性能会下降。
遗产与未来方向
Linformer论文是早期推广高效注意力概念的工作之一,为Transformer可扩展性研究浪潮做出了贡献。其对低秩结构的强调已在多个方面得到扩展,包括自适应秩选择和分层投影。截至2025年,主流大型语言模型(如来自OpenAI和Google DeepMind的模型)仍在其核心架构中使用标准二次方注意力,但像Linformer这样的高效变体在专业应用和长上下文处理研究中仍然具有相关性。
该架构也是理解Deep learning中模型表达能力与计算效率之间权衡的有用教学示例。其简洁性和清晰的理论动机使其成为Neural network设计和Artificial intelligence系统高级课程中的常见主题。