线性化注意力综述:突破Softmax二次复杂度瓶颈的高效计算方案

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 大型语言模型虽在各领域表现出色,但其核心的softmax注意力机制存在显著的计算资源消耗问题。本文探讨通过线性时间复杂度的替代方案突破这一瓶颈,介绍线性注意力机制、门控线性注意力及状态空间模型(SSM)等创新方法,旨在优化计算效率与内存容量之间的权衡,提升模型性能。

大型语言模型在各个领域都展现出了卓越的性能,但其核心组件之一——softmax注意力机制在计算资源消耗方面存在显著局限性。本文将深入探讨如何通过替代方案实现线性时间复杂度,从而突破这一计算瓶颈。

注意力机制基础理论

本文假设读者已经熟悉ChatGPT、Claude等模型及其底层的transformer架构原理。注意力机制是这类模型的核心组件。与传统循环神经网络(RNN)将历史信息压缩存储在固定维度的隐藏状态中不同,注意力机制能够直接访问和选择性利用历史信息。这种机制本质上是在每次预测时,根据当前查询动态检索最相关的历史信息。

transformer架构中的注意力机制通过键(key)、查询(query)和值(value)三个嵌入向量实现信息的动态检索。具体而言transformer的注意力机制通过计算查询向量与所有键向量的相似度,获得注意力权重,再用这些权重对相应的值向量进行加权组合。这一计算过程可以形式化表示为:

这种机制使模型能够在生成预测时有选择地利用整个上下文中的相关信息。在此过程中使用softmax函数的目的是将原始相似度分数转换为概率分布,这在本质上类似于k近邻机制,即相关性更高的键值对获得更大的权重。

下面我们分析单个注意力层的计算复杂度:

Softmax机制的计算瓶颈

通过上述分析可以看出,标准注意力机制需要对NxN维度的矩阵执行softmax运算,这导致计算复杂度随序列长度呈二次方增长。虽然这种计算复杂度对于较短序列是可接受的,但在处理长度达到100k以上的序列时,计算效率会显著降低。

这一计算瓶颈促使研究者们思考:是否存在能够降低计算复杂度的替代方案?这就引出了线性注意力机制的研究。

线性注意力机制

Katharopoulos等人提出了一种创新性的解决方案,他们通过将softmax指数函数重写为特征映射φ(x)的点积形式的核函数,并利用矩阵乘法的结合律,成功将注意力计算重构为线性形式。这一转换过程如下图所示:

在该方法中Katharopoulos等人采用elu(x) + 1作为特征映射函数φ(x)。任何能够有效近似指数相似度的核特征映射都可以作为候选函数。这种方法的计算复杂度可以表示为:

这种重构方法消除了计算完整N×N注意力矩阵的需求,将复杂度降低至O(Nd²),其中d表示嵌入维度。在大型语言模型中,通常序列长度N远大于嵌入维度d,因此这种方法实际上实现了线性时间复杂度。

从循环的角度来看线性注意力机制:

为什么这种转换在线性注意力中可行而在softmax中不可行呢?这是因为softmax函数本质上不可分离,无法分解为独立项的乘积。在解码阶段,由于只需要维护d × d维度的状态矩阵S_(n-1),每个token的生成复杂度仅为O(d²)。

但是这种计算效率的提升也带来了一个重要的局限性。由于状态矩阵S_(n-1)的维度限制为d × d,其信息存储容量存在上限。比如:如果原始上下文需要存储20d²的信息量,在压缩过程中将不可避免地损失19d²的信息。这揭示了线性注意力机制中计算效率与内存容量之间的根本性权衡:通过维持固定维度的状态矩阵获得计算效率的同时,也限制了上下文信息的保存能力。这一矛盾促使研究者们引入门控机制来优化这一权衡。

门控线性注意力机制

前文分析表明,在使用固定维度状态矩阵优化计算效率的过程中,信息损失是不可避免的。这引发了一个关键问题:是否可以通过某种机制来优化信息保留策略?门控机制正是为解决这一问题而提出的。研究者们将其作为一种选择性信息过滤机制,通过智能地选择需要保留的信息来最小化信息损失的影响。门控并非新概念,在LSTM等架构中已经得到了广泛应用和验证。

门控线性注意力对状态矩阵Sn的构建方式进行了改进:

门控函数G有多种可能的实现方式,不同的选择会导致不同的模型特性:

来源:Yang, Songlin, et al. "Gated linear attention transformers with hardware-efficient training." arXiv preprint arXiv:2312.06635(2023).

这种架构的一个显著优势在于:门控函数仅依赖于当前token x和可学习参数,而不需要考虑完整的序列历史。由于各个token的门控计算相互独立,这种设计实现了训练过程的高效并行化,使得序列中所有token的门控运算能够同时进行。

状态空间模型

在处理序列数据(如文本或时间序列)时,传统方法通常依赖注意力机制或RNN。状态空间模型(SSMs)提供了一种全新的视角:它将序列处理问题转化为类似于CNN处理图像的方式,通过卷积操作来捕获序列信息。

状态空间模型通过离散线性时不变系统来形式化这一思想:

这种方法与卷积运算的关系可以表示为:

其中F表示从参数(A, B, c)学习得到的卷积核,*代表卷积运算。

H3模型通过设计包含两个互补SSM层的结构化架构来实现这一理论框架:

来源:Fu, Daniel Y., et al. "Hungry hungry hippos: Towards language modeling with state space models." arXiv preprint arXiv:2212.14052 (2022).

H3将输入分解为三个通道以模拟K、Q、V结构,并通过组合两个SSM层和两个门控机制来模拟线性注意力的功能。实验结果表明,这种架构设计在实际应用中展现出了优异的性能。

选择性状态空间模型

前文讨论的门控线性注意力通过引入数据依赖的信息保留机制改进了标准线性注意力。状态空间模型同样面临类似的局限性:控制状态转换和输出的参数A、B和c都是固定且数据无关的。这意味着所有输入都要经过相同的静态系统处理,而不考虑输入的重要性或上下文信息。

为解决这一问题,研究者们提出了通过时变动力系统来扩展SSMs:

这种扩展的核心问题在于如何将c_t、b_t和A_t参数化为输入的函数。不同的参数化方案可能导致模型趋近于线性注意力或门控注意力机制。

Mamba模型通过选择性SSM块实现了这种时变状态空间框架:

来源:Gu, Albert, and Tri Dao. "Mamba: Linear-time sequence modeling with selective state spaces." arXiv preprint arXiv:2312.00752 (2023).

Mamba的创新之处在于用选择性SSM取代了标准SSM,并结合输出门控和额外的卷积操作来提升性能。这种架构设计展示了如何将多个关键组件有机地整合为一个高效的序列建模系统。

总结

本文系统性地探讨了高效序列建模架构的演进历程。从传统softmax注意力机制的二次计算复杂度限制出发,研究者们发展出了线性注意力机制。通过核函数的重构,线性注意力实现了O(Nd²)的计算复杂度,但同时也面临着固定维度状态矩阵带来的内存限制。

这一限制促使了门控线性注意力的提出,通过引入门控机制实现选择性信息保留。随后,状态空间模型提供了一个全新的视角,通过类卷积操作处理序列数据。从基础SSMs到时变系统,再到选择性SSMs的发展过程,与线性注意力到门控注意力的演进具有相似性——在这两个方向上,增强模型对输入数据的适应性都是提升性能的关键。

这些发展揭示了一个核心主题:计算效率与内存容量之间的基本权衡。softmax注意力通过维持完整序列的注意力权重实现了出色的上下文学习能力,但付出了二次计算复杂度的代价。线性变体(包括SSMs)通过固定维度的状态表示降低了计算复杂度,但也限制了保持详细上下文信息的能力。这种权衡仍然是序列建模领域的核心挑战,继续推动着研究者们探索能够更好平衡这些竞争需求的架构设计。

相关文献

线性注意力:Katharopoulos, Angelos, et al. "Transformers are rnns: Fast autoregressive transformers with linear attention." International conference on machine learning. PMLR, 2020.

GLA:Yang, Songlin, et al. "Gated linear attention transformers with hardware-efficient training." arXiv preprint arXiv:2312.06635(2023).

H3:Fu, Daniel Y., et al. "Hungry hungry hippos: Towards language modeling with state space models." arXiv preprint arXiv:2212.14052 (2022).

Mamba:Gu, Albert, and Tri Dao. "Mamba: Linear-time sequence modeling with selective state spaces." arXiv preprint arXiv:2312.00752 (2023).

Waleffe, Roger, et al. "An Empirical Study of Mamba-based Language Models." arXiv preprint arXiv:2406.07887 (2024).

https://avoid.overfit.cn/post/458a98aca6744a55af59ff65db2085e0

作者:Shitanshu Bhushan

目录
相关文章
|
8月前
|
机器学习/深度学习 存储 算法
如何评判算法好坏?复杂度深度解析
如何评判算法好坏?复杂度深度解析
128 0
|
8天前
|
机器学习/深度学习 PyTorch 测试技术
TurboAttention:基于多项式近似和渐进式量化的高效注意力机制优化方案,降低LLM计算成本70%
**TurboAttention**提出了一种全新的LLM信息处理方法。该方法通过一系列优化手段替代了传统的二次复杂度注意力机制,包括稀疏多项式软最大值近似和高效量化技术。
42 5
TurboAttention:基于多项式近似和渐进式量化的高效注意力机制优化方案,降低LLM计算成本70%
|
23天前
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
65 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
10小时前
|
机器学习/深度学习 分布式计算 并行计算
《构建高效K近邻算法:降低计算复杂度的策略与实践》
K近邻(KNN)算法在机器学习中广泛应用,但面临计算复杂度高的问题。为提高效率,可通过以下方法优化: 1. **数据预处理**:降维(如PCA、LDA)和标准化,减少维度和尺度差异。 2. **优化距离度量**:选择合适的距离函数或自适应调整,提升相似性判断。 3. **加速搜索**:使用KD树、球树、LSH等数据结构,减少搜索范围。 4. **近似最近邻**:随机投影、基于聚类的近似算法,降低计算成本。 5. **并行与分布式处理**:利用多核、GPU或分布式框架加速计算。 6. **融合其他算法**:结合神经网络或聚类算法,先提取特征或聚类再应用KNN。
21 11
|
7天前
|
人工智能 自然语言处理 异构计算
无问芯穹提出混合稀疏注意力方案MoA,加速长文本生成,实现最高8倍吞吐率提升
无问芯穹团队提出Mixture of Attention(MoA)方案,通过自动调整不同注意力头和层的稀疏注意力配置,解决大型语言模型(LLM)处理长文本时的内存和吞吐量需求问题。MoA能够显著增加有效上下文长度,提升检索准确性和解码吞吐量,减少GPU内存使用。实验结果表明,MoA在多个模型上表现出色,但构建和探索搜索空间仍需大量计算资源。
34 14
|
2月前
|
机器学习/深度学习 PyTorch API
优化注意力层提升 Transformer 模型效率:通过改进注意力机制降低机器学习成本
Transformer架构自2017年被Vaswani等人提出以来,凭借其核心的注意力机制,已成为AI领域的重大突破。该机制允许模型根据任务需求灵活聚焦于输入的不同部分,极大地增强了对复杂语言和结构的理解能力。起初主要应用于自然语言处理,Transformer迅速扩展至语音识别、计算机视觉等多领域,展现出强大的跨学科应用潜力。然而,随着模型规模的增长,注意力层的高计算复杂度成为发展瓶颈。为此,本文探讨了在PyTorch生态系统中优化注意力层的各种技术,
70 6
优化注意力层提升 Transformer 模型效率:通过改进注意力机制降低机器学习成本
|
6月前
|
机器学习/深度学习 搜索推荐 知识图谱
图神经网络加持,突破传统推荐系统局限!北大港大联合提出SelfGNN:有效降低信息过载与数据噪声影响
【7月更文挑战第22天】北大港大联手打造SelfGNN,一种结合图神经网络与自监督学习的推荐系统,专攻信息过载及数据噪声难题。SelfGNN通过短期图捕获实时用户兴趣,利用自增强学习提升模型鲁棒性,实现多时间尺度动态行为建模,大幅优化推荐准确度与时效性。经四大真实数据集测试,SelfGNN在准确性和抗噪能力上超越现有模型。尽管如此,高计算复杂度及对图构建质量的依赖仍是待克服挑战。[详细论文](https://arxiv.org/abs/2405.20878)。
93 5
|
7月前
|
机器学习/深度学习 决策智能
**批量归一化(BN)**是2015年提出的深度学习优化技术,旨在解决**内部协变量偏移**和**梯度问题**。
【6月更文挑战第28天】**批量归一化(BN)**是2015年提出的深度学习优化技术,旨在解决**内部协变量偏移**和**梯度问题**。BN通过在每个小批量上执行**标准化**,然后应用学习到的γ和β参数,确保层间输入稳定性,加速训练,减少对超参数的敏感性,并作为隐含的正则化手段对抗过拟合。这提升了模型训练速度和性能,简化了初始化。
62 0
|
8月前
|
机器学习/深度学习 数据可视化 算法
R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据
R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据
|
8月前
线性回归前特征离散化可简化模型、增强稳定性、选有意义特征、降低过拟合、提升计算效率及捕捉非线性关系。
【5月更文挑战第2天】线性回归前特征离散化可简化模型、增强稳定性、选有意义特征、降低过拟合、提升计算效率及捕捉非线性关系。但过多离散特征可能增加复杂度,丢失信息,影响模型泛化和精度。需谨慎平衡离散化利弊。
65 0