华为诺亚推出高效选择注意力架构ESA,提升大模型长文本处理能力

华为诺亚推出ESA架构,利用稀疏注意力机制,高效选择关键token,提升大模型长文本处理能力,在长序列任务中表现出色。

原文标题:稀疏注意力再添一员,华为诺亚推出高效选择注意力架构ESA

原文作者:机器之心

冷月清谈:

华为诺亚方舟实验室发布了名为ESA(Efficient Selective Attention)的高效选择注意力架构,旨在解决大模型在长文本处理中的效率瓶颈。ESA的核心在于稀疏注意力机制,通过动态选择关键token进行注意力计算,降低了计算复杂度,同时提升了性能。

ESA的主要步骤包括高效选择和注意力计算。在高效选择阶段,ESA将query和key进行低维压缩,然后计算token的重要性分数,并考虑邻近token的影响,以避免单纯选择top-ranked token带来的性能损失。在注意力计算阶段,ESA仅使用被选择的关键token进行计算,而不是所有token,从而降低了计算负担。

ESA的优势在于:

* 能够将短序列模型应用于长序列任务,显著降低计算量;
* token粒度的选择机制更加灵活精准;
* 通过低维压缩降低token选择的计算复杂度;
* 在高倍外推场景下性能优于全注意力算法;
* 在多个长序列基准测试中表现出色,尤其是在多针检索场景下。

实验结果表明,ESA在处理长度为训练长度4倍甚至25倍的长序列任务时表现优异。

怜星夜思:

1、ESA架构中提到的“邻距影响力”具体是如何实现的?这个概念的引入对模型性能有什么样的影响?
2、ESA架构与其他稀疏注意力机制(例如BigBird、Longformer等)相比,有哪些主要的优势和劣势?
3、如何将ESA架构应用于实际的NLP任务中,例如文本摘要、问答系统等?

原文内容

图片
AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:[email protected][email protected]

DeepSeek 的 NSA 与月之暗面的 MoBA 以稀疏注意力掀起长序列技术热潮,行业对 “效率革命” 的追逐迎来关键一跃 —— 华为诺亚方舟实验室正式发布全新 ESA 算法(Efficient Selective Attention)。


论文地址:https://arxiv.org/pdf/2502.14477

通过稀疏化注意力的创新设计,ESA 突破了大模型在长文本处理中的瓶颈。ESA 不仅实现了数倍序列长度的拓展,还引入独创的动态计算范式,结合邻域影响力有效避免了单纯选择 top-ranked token 所带来的性能损失。通过对关键 token 的精确选择,ESA 在优化长序列处理效率的同时,提升了计算性能,为大模型在长序列任务中的应用带来了新的可能性。

在大语言模型的推理过程中,长序列模型的训练需要极高的算力和海量数据支持,理想的解决方案是通过短序列的训练成果外推到长序列。然而,随着序列长度的增加,注意力计算的复杂度呈平方级增长,这使得高效且准确的长序列推理成为了一大挑战。为此,研究人员提出了多种方法,以应对这一挑战。

ESA 方案正是在这一背景下提出的创新外推解决方案。ESA 通过对 query 和 key 的低维压缩,有效减少了 token 选择的计算复杂度。该方案通过灵活高效地选择关键 token 进行注意力计算,大幅度降低了 LLMs 在处理长文本时的计算负担,且在性能上与全注意力外推方法相当,甚至在高倍外推场景下优于全注意力算法,实现了上下文长度的有效扩展。

1. 高效外推

当大模型训练长度有限,随着序列长度的增长,一方面会出现 OOD (out-of-distribution) 的问题,另一方面注意力计算量会迅速增大。现有的研究表明,注意力矩阵具有稀疏性,对于长序列而言,稀疏程度进一步扩大。选择性注意力(Selective Attention)利用了稀疏性这一特性,选择部分 token 来计算注意力,结合外推的位置编码能将短序列模型应用到长序列任务上的同时,显著降低计算量。在计算稀疏注意力时细粒度的 token 选择方法能够更加灵活、精准地定位到关键信息。然而,token 粒度选择会引入巨大的计算开销。这引出了一个核心的问题:如何在选择性注意力方法中平衡灵活性与效率。针对这一挑战,ESA 方法通过将 query 和 key 进行低维压缩,显著降低 token 选择的计算复杂度,在外推场景下实现 token 粒度动态稀疏注意力机制。

具体而言,ESA 包括以下两个核心步骤:

高效选择:ESA 引入了一种基于 query 感知的 token 粒度选择机制,基于压缩后的 query 和 key 计算 token 的重要性分数,同时考虑周围 token 的影响(邻距影响力),以避免直接选择 top-ranked token 导致的性能下降。

注意力计算:在选择关键 token 后,ESA 使用被选中的 token 的完整的 query 和 key 进行注意力计算,而非对所有前序 token 进行计算,从而大幅降低复杂度。

2.ESA:基于 token 粒度的高效选择性注意力

ESA 的主要创新点在于通过 token 粒度选择性注意力机制,在保持模型准确率的同时显著降低计算复杂度。具体来说,与现有的长序列外推方法不同,ESA 提出了一种基于 token 的细粒度选择注意力,能够在 prefilling 和 decoding 阶段动态选择最关键的少量 token,而不是固定 block 选择或者永久丢弃不重要的 token。首先,ESA 将 query 和 key 经过简单的一层 MLP 压缩到原有维度的大约 3.2%,在低维空间计算重要性分数,显著降低计算复杂度;其次,根据重要性分数选择 topk 的 token,控制 key 的长度是固定的,这样将注意力计算由原有的平方复杂度降低为线性复杂度。虽然选择 token 是平方复杂度,但是由于将 query 和 key 压缩到了更低维的空间,使得对于算力要求大大降低。

ESA 算法示意图

ESA 的具体实现方式如下:输入序列的 token 被分为 4 部分,注意力包括全局注意力和 window 的局部注意力,初始 token 和 ESA 选择的 topk 中间 token 拼接起来计算全局注意力,localtoken 用于计算 window 的注意力,两部分注意力进行融合计算最终的注意力。ESA 按照 chunked-prefill 缓存 key 和 value,即基于当前 chunk 的 query 选择重要的中间 tokens,计算 token 的重要性时兼顾当前的所有 query;在解码阶段,只需要考虑当前的一个 token 的 query 即可。如果计算中间某个 token 重要性,需要计算和当前所有 token 的重要性,其中单个 token 的重要性用 query 和 key 的点积表示:

图片

这里 H 是 head 的数量,为了降低复杂度 ESA 整合了所有的 head。为了进一步降低计算复杂度,不要求准确计算重要性分数,而是更关注相对大小,ESA 将 query 和 key 分别通过一层 MLP 进行压缩。ESA 采取 offline 的方式学习 MLP 的权重:

图片

ESA 使用一个小的校准数据集用模型进行推理,保存中间的 query、key 和 value,用于训练降维 MLP,只增加了极少量的降低 query 和 key 大小的网络权重,且无需对模型微调。

为了确保分数的相对大小,避免某个 token 在重要性分数中占据主导地位,ESA 对分数进行修正:

图片

进一步的,作者发现仅选择 topk 的 token 模型在大海捞针任务中只能检索到部分信息,提出了邻距影响力的概念,即对于某个中间的 token,其重要性分数不仅取决于自身的分数,还受到周围 token 的影响,更新后的分数为:

图片

在选择完重要 token 后,ESA 使用完整的 query、key 和 value 计算注意力,最终的注意力输出如下所示:

图片

ESA 的计算复杂度降低主要来源于低维的 query 和 key 计算重要性分数以及选择完成以后的线性注意力计算复杂度,经过理论计算,一步 attention 计算在长序列场景下能降低为原有的:

图片

实际实验中我们将 query 和 key 压缩为原有的 3.2%,一步 attention 计算量在输入序列足够长时理论能降低至 1.6% 左右。

3. 实验结果

论文选择开源训练集 Pile 的 2 条 Books3 样本收集用于训练降维 MLP 的 qk 样本,query 和 key 从 4096 压缩为 128,压缩比例约为 l3.2%,注意力计算的窗口长度约为 6k。为了将开源的短序列模型应用到长序列中,ESA 沿用了 Infllm 的外推位置编码设置,使用 Llama-3-8B-Instruct 和 Mistral-7B-Instruct-v0.2,在多个公开的长序列基准测试中验证了 ESA 的性能,包括 Longbench、InfiniteBench、NeedleBench 等。作者对比了 full attention 的外推方法和同类型的基于 window 的外推方法,且同类型方法的 window 长度一致。实验结果表明,ESA 通过高效灵活选择重要的 token,总体性能在外推倍数足够大时候优于 full attention 的方法,且均明显优于同类型的方法,尤其在 multi needles 检索场景下例如数星星和 NeedleBench,在其他同类型方法失效的时候,ESA 仍然有较高的准确率。




ESA 不对每个 head 单独选择 token,而是将所有 head 整合到一起计算重要性分数,有利于降低计算复杂度,提升效率,为了验证这一操作对算法的影响,作者做的对比实验如下所示,可以看出这样的整合对于算法影响有限。


论文研究了邻距影响力的超参数影响,结果如下所示,对不同的测评集该参数的影响不同,取值较小有利于 multi needles 类型的检索任务,取值较大则有利于 single needle 类型任务,这可能是由于单针检索任务只需要关注 ground truth 所在的片段即可,增大邻距影响力有利于 attention 集中到较长的片段上。


4. 总结

ESA 有效平衡了长序列外推场景下的选择性注意力中的灵活性和计算效率,用于在不进行模型参数增量微调的情况下扩展上下文长度。ESA 的核心思想是在每个步骤中选择固定数量的最重要 token 来计算注意力,利用注意力矩阵的稀疏性。当输入序列足够长时,ESA 通过将 query 和 key 压缩为低维表征,有效降低选择 token 的计算复杂度。实验评估表明,ESA 能够有效处理长度为训练长度 4 倍甚至 25 倍的各种长序列任务。未来的研究需要探索更准确、更高效的选择重要 token 的方法,以及软硬件协同的高效外推方案。

© THE END 
转载请联系本公众号获得授权
投稿或寻求报道:[email protected]

BigBird和Longformer更像是一种全局的稀疏注意力机制,它们会预先定义一些固定的注意力模式,例如滑窗注意力、全局注意力等。而ESA则是一种动态的稀疏注意力机制,它会根据输入数据的不同动态选择关键token。这种动态选择机制使得ESA更加灵活,能够更好地适应不同的任务和数据分布。

可以将ESA作为Transformer模型中的注意力机制的替代方案,从而提升模型在长文本处理任务中的效率和性能。例如,在文本摘要任务中,可以使用ESA来选择关键的句子或短语,然后生成摘要;在问答系统中,可以使用ESA来快速定位与问题相关的文本片段,然后提取答案。

其实,不仅仅是文本摘要和问答系统,ESA还可以应用于其他各种NLP任务,例如机器翻译、情感分析等。只要涉及到长文本处理,ESA都有可能发挥作用。

可以理解为“一人得道,鸡犬升天”。一个token如果很重要,那么它周围的token的重要性也会相应提升。这样可以避免模型只关注到一些孤立的关键词,而忽略了与之相关的上下文信息。

将ESA应用于实际NLP任务的关键在于如何有效地选择关键token。这需要根据具体的任务和数据特点进行调整。例如,在文本摘要任务中,可以选择包含重要信息量较高的句子或短语;在问答系统中,可以选择与问题语义相关的文本片段。

ESA的主要优势在于其高效的选择机制和动态计算范式,能够在保持高性能的同时显著降低计算复杂度。相比之下,BigBird和Longformer等方法可能在某些特定任务上表现更好,但其计算成本相对较高。ESA的劣势可能在于其对邻距影响力的参数较为敏感,需要根据不同的任务进行调整。

如果把注意力机制比作搜索引擎,那么BigBird和Longformer就像传统的搜索引擎,它们会根据预先定义的规则进行检索。而ESA则更像现代的搜索引擎,它会根据用户的搜索历史、兴趣爱好等信息进行个性化推荐。

邻距影响力有点像图像处理中的滤波器,它会对中心像素及其周围像素进行加权平均,从而平滑图像。在ESA中,邻距影响力也是类似的,它会对当前token及其周围token的重要性分数进行加权平均,从而避免只关注局部最高分的情况。这种做法可以有效提升模型的鲁棒性,避免模型被一些噪声数据误导。

“邻距影响力”指的是在计算某个token的重要性分数时,不仅考虑其自身的分数,还会考虑周围token的影响。具体来说,ESA会根据周围token的重要性分数对当前token的分数进行加权修正,从而避免只关注局部最高分而忽略全局上下文信息的情况。引入邻距影响力能够有效提升模型在多针检索任务中的性能,因为它可以帮助模型更好地捕捉到分散在长文本中的关键信息。