发布时间:2025-10-11
浏览次数:0
那个被称为注意力机制的「平方枷锁」,于此次又一次被成功撬开,有一种方法叫做一招树分段,借助掩码矩阵,使得注意力能够焕发出呈现对数级别的效率,更为厉害的是,它能够毫无缝隙地对接线性注意力家族,Mamba - 2,让全员实现速度提升,在跑分数据方面全面呈现良好态势,长序列处理业已迈入对数时代!
LLM苦算力太久了!
为缓解长序列建模中的算力瓶颈,研究界持续探索高效替代方案。
这次作者Tri Dao的Mamba,与华人AI领域很厉害的Eric P. Xing等等,联合了来自MIT、普林斯顿、CMU等机构的研究人员,共同提出了崭新的注意力机制,即为对数线性注意力(Log- )。
它具有以下特点:
- 训练效率:对数线性时间
对数级别的时间复杂度,以及时空复杂度,这是推理的性能表现,利用内核实现的高效执行,这一过程属于硬件执行方面 。
论文链接:
这个句子无法按照要求进行改写 ,因为它是一个链接 ,并非可改写的文本 。
代码链接:
https://.com//log--
除了这些,研究人员将新的理论框架予以引入,把不同高效注意力机制的分析视角进行了统一。,
另外,有一点值得提及,两位处于首位的作者都是具有华人身份的人,其二人均于麻省理工学院存在计算机科学与人工智能实验室就读这样的情形 。
结构矩阵,一统注意力变体
2017年,谷歌的八位从事研究方面工作的人员提出了架构,从这之后注意力机制开始主导LLM的发展。
然而,注意力机制存在「先天顽疾」:
它的计算复杂度为,与输入序列长度N建立起平方关系,此情形即O(N²) 。
近年来,大量致力于实现次二次方计算复杂度的高效替代方案涌现。近年来,大量致力于实现次线性内存消耗的高效替代方案涌现。
它们主要涵盖:线式专注力( ),情形范围型号(state-space),就连长卷积样式(long )。
尽管这些方法各有不同,但它们大多可以用以下方程统一表示:
当中A代表一个类的交互矩阵,举例来说,于线性注意力里面,矩阵A是Q与K的转置矩阵相乘所得的矩阵;
而M属于下三角形的因果掩码矩阵,在线性注意力里,M的元素仅仅能够取0这个值以及1这个值 。
这种表示形式把交互项A与掩码矩阵M拆分开,从结构矩阵视角进行sublime text 3 c,它揭示了大量不同模型之间的结构共性,如表1所示。
通常矩阵M,用于模拟不同时间步之间的「衰减关系」。
针对掩码矩阵 M,引入不一样的结构形式,能够进一步推动训练以及推理的高效达成。
掩码矩阵M的结构,决定了对高效算法的实现。
即便不进行使用,要是采用没有结构的M,比如那种呈现随机状态的下三角矩阵,注意力机制在进行计算时的复杂度,以及在内存方面所涉及的复杂度,仍然是和注意力机制相匹敌的。
这表明,提升效率的关键并非仅仅是去除,关键在于,M本身是否拥有合适的结构,句号
在标准的线性注意力中,M是由1构成的下三角矩阵。
这种结构具备对输出O予以分块处理的能力,进而能够把由算法所构成的整体复杂度降低到O(T) 。
然而,在传统注意力的情况之下,和这些呈现线性时间特征的变体之间,是不是还存在着其他的可能性呢?
这个方法能够被推广至更为复杂的门控机制里,在这个时候,M具备一种特殊形态,这种特殊形态被称作「1-半可分结构」(1- ) 。
在状态空间对偶建模框架中,这一方法已经有所体现。
论文链接:
如果需要改写https://arxiv.org/abs/2405.21060 变成冗长拗口句,可改为这是一个网址链接,该链接是https,冒号之后为arxiv.org,斜杠之后是abs,紧接着是2405点21060 。
另外,在长卷积模型中,能够借由运用快速傅里叶变换,进一步把复杂度降低为O(TlogT),和原始的O(T²)计算量相比较,达成了显著的效率提升。
对数线性注意力
上一节里,已然清楚,注意力的计算效率,以及内存消耗,是由公式O=(A⊙M)V里的掩码矩阵M的结构所决定的 。
对数线性注意力机制,也就是log- ,是在矩阵M当中引入特定结构,使得计算复杂度在序列长度T方面达到O(TlogT),并且内存复杂度降低至O(logT) 。
该机制仅修改掩码矩阵M,可无缝应用于各种线性注意力模型。
针对应用示例这一目的,研究人员进行了展示, 展示的内容为怎样去依据该框架,来构建Mamba - 2,以及构建Gated的对数线性版本。
图1,是标准线性注意力机制,与对数线性注意力机制,对比的示意图,这里面,标准线性注意力机制在上,对数线性注意力机制在下 。
特殊结构:树划分
有一种特殊结构,它在掩码矩阵M上,被对数线性注意力机制所引入,这种结构能使计算复杂度达到对数线性级别,而内存开销处于对数级别 。
这种多时间尺度的结构化划分要达成实现,关键乃是有办法把前缀区间配置给对于第t步的查询导向量,是这样而没错。
依据Token的绝对值位置s,能够简便地将它划分进入层级ℓ ,此层级是由ℓ等于以2为底s的对数来确定的。
但处自回归解码时,这般做法会致使对最近期输入的划分粒度偏大,从而波及模型于关键部位上的预测精准度,直观来讲,越贴近当前时刻点的上下文讯息越具重要性,理应选用更高分辨率予以建模 。
为了解决这一问题,研究者采用了另一种的分段策略。
单单从原理这个角度去看,这种结构跟树(也就是那被称作树状数组的)所采用的分层方式相类似呢,它会把输入序列按照2 的幂的规模大小划分成一系列的区段 。
树是一种支持单点修改和区间查询的,代码量小的数据结构
在这种设计下,每个位置都会汇总一个以自身为终点的时间片段。
这能够对于查询操作而言,仅需要将注意力集中在少量的隐藏状态上,这些隐藏状态的数量呈现出随着序列长度对数增长的态势特点,并且这些状态能够以不一样的时间粒度去捕捉历史上下文信息。
此种层次结构,让模型得以用更为精细之方式,去关注最近的token,与此同时,于解码进程里,达成对数级别的时间以及内存效率。
有这样一种情境,一种基于时间的划分情境,关于这种划分情境的可视化示意,在图2中能够看到具体展示,这种情境是:每个Token会被分配到若干层级桶当中,同时,在最近的时间步会被进行非常细致化的分类划分动作施行,而对越早的时间片而言,情况大不一样了,它会被归为更大的区段,凭借着这样的一系列操作从而呈现出,其实是成功实现经由层级压缩建模来达成对时间前后关联情境上下文的构建 。
新方法用来生成最终的输出向量,会首先计算各个桶里的历史记忆,并且按部就班地经过数据驱动的标量予以加权,以此达成目的。
该权重,是输入经过线性变换后得出的结果,这一结果能让模型实现对不同时间尺度的自适应。
具体来说,输出向量表达为:
如果所有标量权重都相同或与层数ℓ无关,则退化为线性注意力。
正是这些可区分的权重,赋予了模型捕捉多尺度时间结构的能力。
其目的在于,能够以更高的效率,在硬件这个对象之上,去达成上述所提及的计算操作,在此情形下,可以把公式进行重构,使其形成矩阵乘形式,如此做是为了方便进行批量并行,:
其中,M^{H}根据s属于t的哪一层ℓ(t,s)来赋值。
处于分段的情形下,此矩阵展现出结构化的低秩模式,并且能够对O(T log T)的高效训练算法予以支持。句号
高效训练算法
对于线性注意力的分块并行算法而言,它会把输入序列划分成若干长度是C的子块,随后会针对所有子块开展并行计算,当存在需要跨块传递信息的情况时,才会进行交互。
这种曾略于「全并行演算」跟「十足递归处置」间寻得均衡点,不仅削减了全局留心的高超计算耗费,还提高了序列等级上前行速率且这速率得以并行化,。
同样,分块计算机制可以扩展应用于对数线性注意力机制。
首先,注意到,掩码矩阵M^{H}里,非对角区域,具有低秩结构,所以,能够将其,分解为:
其中,D是对角矩阵,它仅仅在块的内部有效,它包含T⁄C个块,每个块都记录了子块内的交互信息。
而M^{ℓ}则表示第ℓ层的跨块依赖关系,
它有着一种类似树状结构的方式,把较远位置之间的关联进行压缩,继而压缩成一个低秩表示;此低秩表示也就是对称或者重复性高的结构。如图3(左)所示 。
由于这样的结构,从事研究的人员提出了分块进行计算的一种算法,这种算法可参考算法1以及图3右处 。
有这样一种方法,它是在原本的那种线性注意力的基础之上,仅仅只是引入了对数级别的额外开销 。
整个算法可分为两个阶段:
块内计算,这里所说的是ℓ等于0的情况,具体而言,在每一个子块当中,系统将其当作不存在结构的数据来处理,并运用标准的O(C²)计算形式去实现块内交互,子块的总数是T除以C个,所以整体的块内计算成本表现为O(TC) 。
块间计算:它需注意ℓ大于0,其中所说的不同子块之间存在依赖关系,针对这种依赖,模型会经由若干层次结构表示来做处理,这些层次结在共同组建起了一个被叫做「分层可分矩阵」的结构,也就是SSS,该结构能够允许在每一层仅仅借助少量的操作来实现跨块传递,只要能够调用类似像处于Mamba - 2或者中那类的有着高效性能的状态传递模块。每层在跨块传递时仅仅需要O(logT ⁄ C)次功能调用,并且每次调用会耗费O(T)的时间作为成本的同时还会耗费一样是O(T)的内存当作成本,所以所有层合起来的总体跨块成本就是O(TlogT) 。
该方法于原本线性注意力的计算过程之上,仅仅增添了对数级别的额外开销,于是在维持高效性之际提升了表达能力。
于图3里,左图将矩阵M的分解形式予以展示了,右图呈现的即为跟其对应的分块计算算法(算法1)。
在Level 0,模型针对每个小块的内部展开计算,其所采用的是依据块大小呈二次复杂度的算法,因每个块自身规模较小,进而这一阶段的计算开销处于较低水平,且具备较高的效率。
在起始于Level 1 之时,模型针对不同块之间展开计算操作,此计算所运用的办法乃是数次去调用已然存在的用于跨块计算的算法组件。从整体角度予以审视,该处在进行跨块计算这个阶段的复杂度,针对于块数而言呈现出对数级别,以此进而确保了整个计算过程具备高效性。
这有一种方法,其本质是把经典的scan扫描算法,推广至层级结构里,研究者将此称作分块并行扫描(scan) 。
它和传统token级scan不一样,它不会再被受限到内存带宽瓶颈那里,而是运用结构优化,让状态能够以低成本在网络上进行传递。
算法之中每一层次的系数,源于掩码矩阵的低秩项,借由并行扫描算法(像 scan)能够实现高效整合,进而提升整体训练的效力以及可扩展性 。
对Mamba-2和门控的对数线性推广
这两个模型的主要区别在于它们对转换矩阵A的参数化方式不同。
研究团队采用的方法,把每个模型里A的原始形式予以保留,并且,将注意力掩码跟对数线性变体M进行组合 。
他们将得到的模型称为对数线性Mamba-2和对数线性门控。
这一构造展现出一个通用准则,任何有着结构化记忆以及高效分块并行原语(- )的线性注意力机制,皆能够借由把其注意力掩码与对数线性变体进行组合,而扩展成为对数线性形式 。
团队使用实现了分块并行扫描算法( scan )。
对数线性的Mamba - 2,其定制内核,当序列长度超过8K的时候,性能在超过了 - 2(前向加上反向)的情况之下实现了超越 。
在完整的训练设置当中,吞吐量是由模型架构来决定的。特别需要指出的是,虽对数线性 Mamba - 2(带有 MLP)有着中所没有的额外层(像是深度卷积),然而当序列长度达到 32K 之时,其吞吐量还是超过了 。
图4,包括在不同序列长度 下的训练吞吐量,此为左图相关情况,数值越高越具优势,还有前向以及反向传播程序流程当中的内核运行时间,这是右图涵盖内容,数值越低越为佳选。
在图4里面,「Log- Mamba-2 (naive)」所表达的意思是,简单地去重复运用现有的Mamba-2计算方式;
而「Log - Mamba - 2」采用了一种自定义实现方式,这种方式是经过优化的,其中包含层级融合,也就是 level 等性能优化手段。
序列长度达到一百三十一万整时,训练吞吐量有所下降,这是因为为降低内存使用而引入了梯度检查点(而造成的) 。
所有实验均在H100 GPU上运行,具体配置为:
group size设定成2, head数量是48,每一个head的为64,state 是128,chunk size被设置作64。
于(Log -)Mamba - 2里运用MVA,于 - 2当中运用GQA。
实验结果
研究团队先是在多查询关联回忆,也即是MQAR上开展实验,而MQAR乃是用于评估模型上下文回忆能力的一个标准测试基准。
它们于用以一万样例所构成的数据集以内开展了一百圈次的训练,并且针对学习速率施以了调节。
如图5所示,序列长度增加,键值对数量增加,性能显著下降,对数线性(Log- )依然保持高准确率。
需要注意的是,注意力在所有设置下都能达到满分准确率。
语言建模
研究团队,在 Long - Data - 数据集之上,运用 500 亿个 token,自起始点开启,着手进行具有学术规模的语言建模预训练,其序列长度设定为 16K 。
所有模型都有21层,隐藏层大小为1536。
我们使用了以下模型:
这些模型,其参数量分别为,(6.93亿),Mamba - 2(8.02亿),门控(7.93亿)。
标准基准测试
团队对模型进行评估(表2),评估是在困惑度以及几个零样本常识推理基准上展开,这些皆为短上下文任务,所以对模型状态大小并非十分敏感。
对数线性的Mamba - 2, 其在困惑度方面表现出色, 并且在一半 的常识推理任务里, 比线性版本更具优势 。
对数线性门控的表现更为突出,在除一项推理基准意外的所有任务上超越了其线性版本,在困惑度方面亦如此。值得注意的是,它不仅优于层数与之匹配的,而且在一半指标上超过了参数量与之匹配的,在所有指标方面皆是如此。
逐位置损失
在图6中,研究的团队报告的是,用于评估此模型处理长上下文的那个能力方面,模型在每个那个token位置的损失情况 。
要是随着token所处位置的提升,损失不断地下降,那就意味着模型能够有效地运用整个的上下文来进行相关操作。可是,要是损失在某一个点之后趋向于稳定持平,那就表示模型在利用序列里过于靠后的那些信息的时候存在艰难状况。在这一项具体的分析过程当中sublime text 3 c,所使用的token呈现出来自Book - 3的3900万个这样的数量规模。
其结果呈现出这样的情况,把Mamba - 2以及门控拓展至它们的对数线性形式之后,(经过平滑处理的)损失于不同的位置上都是持续地下降,这表明长距离上下文利用的能力是有所提高的。
对数线性门控的性能十分接近与层数的匹配情况,即便和与参数量匹配的一比较,还是存在性能落差,不过这种落差并不显著。
大海捞针
团队运用了RULER里的「大海捞针」(NIAH,图7)这种基准测试,在这个测试当中,模型要依据隐藏于长上下文里的键,去检索一个值(针)。
对数线性Mamba - 2,处于较简单的单针任务里,在9个指标当中的8个之上,比起其线性版本具有优势 。
门控在存在着的多个情形当中,已然是达成了堪称完美的准确率,然而呢,在三个相关的指标之上呈现出了有所提高的状况,除此之外,另外的三个指标则是维持在了保持不变的态势。
在更具挑战性的多针任务当中,对数线性Mamba - 2再一次,于9个指标里的8个之上,实现了改进;然而对数线性门控,在全部指标方面,都收获了进步句号
上下文检索
团队在现实世界的、需要大量回忆的任务上评估模型(表3)。
这些基准测试鉴于它一开始不是为非短序列(>2K token)所设置的,所以他们给出了在序列长度是512、1024、2048以及(除NQ之外)16K条件时的结果。
最终发觉,对数线性的Mamba - 2,于大概半数任务之上,也就是SQuAD以及NQ这些任务,出现了改进的情况。 。
与其他情况相比较,呈对数线性状态的门控,其表现展现出更为稳定的态势,在除去DROP这一任务之外的全部各异任务之上,都做到了匹配或者超越了门控 。
长上下文理解
最后,他们在(表4)上评估了模型的性能。
结果给出披露表明,对数线性的Mamba - 2以及门控,在14个所进行评估的任务当中的8个这件事情上,均是比对基线的Mamba - 2以及门控要更加具有优势的 。
讨论与局限性
尽管对数线性注意力于许多情况之下比线性注意力更具优势,然而在不少任务当中,它的表现并未能够超越线性注意力所设定的基线。
计算资源受限,致使研究团队没法尝试不同的λ项参数化,或者说没法尝试超参数调整,然而优化λ的参数化没准会带来更好的结果。
此外,与相比,所有基准测试中仍存在显著的性能差距。
工程上,关乎对数线性注意力的复杂性具备十分高的程度,块间所开展的计算,在概念层面,与多次施行线性注意力原语这种情形相类似 ,然而块内的操作,是需要专门予以实现的,这些块内机制属于因之致使速度出现差异的主要因素 。
此外,反向传播过程更为复杂,因为需要计算标准注意力组件的梯度,这一计算是(手动)进行的,并且还需计算额外的λ项梯度 。
最后,树分区的运用引入了一种归纳偏差,近期的token其所得到的乃是更为细粒度的内存分配,而距离较远的token则是以更为激进的方式予以压缩 。
更多实验设置等细节,请参阅原文。
一作简介
关于韩果,其当下是麻省理工学院计算机科学与人工智能实验室也就是MIT CSAIL的博士研究生,并且是师从Yoon Kim教授以及Eric P. Xing教授也就是邢波教授 。
在此之前,他曾在卡耐基梅隆大学语言技术研究所,也就是CMU LTI,还在北卡罗来纳大学NLP研究组,就是UNC-NLP,和Mohit教授一同开展研究,度过了数年十分宝贵的学术时光。
他的研究方向,着重于可扩展高效机器学习的算法与系统设计,还聚焦自然语言处理的算法和系统设计,在2022年,他荣获了微软研究院博士生奖学金也就是PhD 。
Yang,身为博士生,隶属于麻省理工学院计算机科学与人工智能实验室,也就是MIT CSAIL,其导师是Yoon Kim教授。
她在2020年,收获南方科技大学学士学位,于2023年,取得上海科技大学硕士学位。
她聚焦机器学习系统与大型语言模型的交叉领域,特别关注:
• 面向硬件的高效序列建模算法设计
• 线性注意力模型( )的优化与创新
参考资料
https://x.com///
https://arxiv.org/abs/2506.04761
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码