ICML 2025 | 全局池化+局部保留,CCA-Attention为LLM长文本建模带

B站影视 电影资讯 2025-06-09 12:35 2

摘要:琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),实现超长文本的高效上下文建模。在 128K 超长序列上下文建模任务中,CCA-Attention 的推理速度是标准自注意力机制的 7.9 倍,同时键值缓存(KV Cache

琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),实现超长文本的高效上下文建模。在 128K 超长序列上下文建模任务中,CCA-Attention 的推理速度是标准自注意力机制的 7.9 倍,同时键值缓存(KV Cache)显存占用减少 93%,性能全面优于现有高效注意力方法。

该成果已被 ICML 2025 接收,最早于 2024 年 12 月 17 日提交至 ArXiv,早于 DeepSeek NSA 和 Kimi MoBA 公开。CCA-Attention 不仅速度快、资源占用低,更在上下文建模的精准度和效率上树立了新标杆,为长文本处理注入全新动力。

近期研究 [1, 2, 3] 发现,LLMs 中的大多数层的注意力权重主要集中在少数 token 上,表现出显著的稀疏性(见图 1)。这一发现启示我们可以借助这种稀疏特性,降低注意力机制的计算复杂度。

图 1: LLaMA2-7B 模型中注意力权重的可视化,阴影越深表示注意力权重越高。最后一个 token 仅对上下文少数几个 token 有着较高的注意力权重,即注意力权重具有显著的稀疏性

现有稀疏注意力方法 [5, 6, 7] 通常通过预定义的稀疏模式来降低计算成本。然而,在问答任务中,关键信息可能分布在上下文的不同位置,模型需要能够访问任意位置的信息,作者称这一特性为「可达性」。已有方法往往忽视了保持 token 之间可达性的重要性,可能导致信息传递受限,从而影响模型在长序列和复杂任务中的表现。

为解决这一问题,作者提出了一种即插即用的高效长文本上下文建模方法——关键上下文感知注意力机制(CCA-Attention),其特点如下:

高效长文本建模: 通过全局池化注意力与局部保留注意力的协同设计,在显著降低计算量的同时保持对长距离依赖的建模能力。线性计算复杂度: 通过引入 core token 聚焦关键上下文,大幅提高计算效率。 可即插即用集成:无需修改模型结构和从头训练,可以轻松集成到预训练的 LLM 中,仅需少量微调即可实现性能优化。

对比 DeepSeek 发布的 NSA [8] 需引入额外的压缩模块并从头训练 LLMs,CCA-Attention 无需引入额外参数和修改模型结构,可以无缝替换现有 LLMs 中的标准自注意力模块。对比月之暗面发布的 MoBA [9] 通过门控机制丢弃不相关块,CCA-Attention 通过动态聚合关键上下文为核心 token 的方式,在降低计算量的同时,确保所有 token 的信息交互,保留了完整的全局建模能力。

图 2: CCA-Attention 示意图

全局感知池化:降低计算维度的智慧之举

标准自注意力计算量随序列长度呈平方级增长,长序列处理计算开销极大。大量研究发现注意力权重的分布并不均匀,绝大部分注意力权重被分配给了少数重要 token,其余部分贡献有限,属于冗余上下文。

受此启发,作者提出全局感知池化模块。具体而言,将输入序列

分成互不重叠的

个组,

g 为分组大小。对于第 i

使用该组最后一个 token

的 query 向量与组内所有 token 的 key 向量计算重要性分数,并获得该组核心


其中

是第

i 组

的最后一个 token 对应的 query 向量,

是第

i 组的 key 矩阵

是可学习的参数。将各组 core token 拼接起来得到 core token 序列

为减少冗余,作者使用 core token 序列

代替原始 token 进行注意力计算,将维度从

降至

从而降低了计算和存储复杂度。通过 core token 序列计算得到的键值矩阵表示为:

其中

是可学习参数。

局部保留模块:捕捉局部依赖的关键

尽管全局感知池化模块能有效捕捉长距离依赖,但由于其压缩特性,可能会忽略细粒度的局部上下文,而这些局部语义对于语言建模同样至关重要。为此,作者进一步提出局部保留模块(Locality-preserving Module),为全局模块提供有效互补信息。

具体来说,该模块会确保每个 token 都能至少关注前面 w 个原始 token,以此来捕捉局部上下文信息,保留连续性语义信息:

为了应对生成过程中标记数量难以维持为组大小 g 的整数倍的问题,作者将局部窗口大小设置为

,确保注意力窗口与组大小对齐,避免信息遗漏;

是原始 token 序列经过线性变换后的键值矩阵。

局部保留模块与全局池化模块共享线性变换参数

,不会引入额外参数开销。在实际推理中,局部模块提供精细语义支持,弥补全局压缩带来的信息损失,共同构成完整的上下文建模体系。

全局-局部模块可微融合:打造全面可达性的桥梁

全局感知池化模块和局部保留模块在计算时都只涉及部分 token,导致注意力的可达性有限。为解决这个问题,作者采用全局-局部模块可微融合策略。具体而言,该策略将两种注意力模块中的键值矩阵进行组合,形成统一的键矩阵

和值矩阵

。由此,CCA-Attention 的最终输出表示为:


其中,每个位置的输出计算表达式如下:

基于 Triton 的底层加速:提升效率的强大动力

为了在训练、预填充、解码期间实现 FlashAttention 级别的加速,作者基于 Triton 实现了硬件对齐的 CCA-Attention 内核。作者借鉴 FlashAttention 的设计思路,利用 Triton 进行底层算子融合,将全局池化注意力和局部保留注意力整合为一个独立且缓存友好的算子,有效消除冗余计算,并原生支持 KV 缓存技术,进一步提升训练、预填充、解码阶段的计算效率。相比标准自注意力机制,CCA-Attention 在计算复杂度和 KV 缓存内存占用方面具有显著优势,从而在整体上实现了更快的运行速度与更高的内存利用效率。

实验结果

实验设置

作者将 CCA-Attention 应用于 LLaMA2-7B-32K 和 LLaMA2-7B-80K 模型,并在 SlimPajama 数据集上微调 1,000 步。对比方法包括 StreamingLLM、LM-Infinite 和 MInference 等高效注意力方法。评估指标涵盖 LongBench 基准测试和多文档问答准确匹配得分(EM Score)等,全面衡量模型在长文本任务中的性能表现。

长序列语言建模

在 LongBench-E 基准测试中,CCA-LLM 取得了最高的平均得分。以 LLaMA2-7B-32K 模型为例,其得分显著优于 LM-Infinite 和 MInference;在 LLaMA2-7B-80K 模型上,CCA-Attention 依然表现出色,平均分数与标准自注意力相当,同时推理延迟和显存占用大幅降低,展现出更强的长序列处理效率优势。

表 1: 长序列语言建模实验

长文档问答任务

在多文档问答任务的 EM Score 评估中,CCA-LLM 在不同序列长度下均展现出优异的表现,且其性能优势随着上下文长度的增加而愈加明显。在处理超长上下文(如 64K 和 128K)任务时,CCA-LLM 的 EM 得分超越了标准自注意力机制,同时推理速度也显著提升——在 128K 上下文长度下,推理速度达到标准自注意力方法的 7.9 倍,展现出其在高效长文本建模方面的突出优势。

表 2: 长文档问答实验

计算和存储效率对比

相比标准自注意力及其他高效注意力方法(如 MInference),CCA-Attention 在推理速度与内存占用方面展现出显著优势。不同于 MInference 等仅关注预填充(prefilling)阶段加速的方法,CCA-Attention 能够同时优化预填充和解码(decoding)两个阶段,实现端到端的全流程高效推理。

在 64K 上下文长度下,CCA-Attention 的推理速度达到标准自注意力的 5.7 倍,KV Cache 显存占用也大幅降低;在 128K 上下文任务中,推理速度提升更是达到 7.9 倍,同时 KV Cache 显存使用减少高达 93%,充分体现了其在长序列建模中的高效性与实用性。

图 3: 内存与计算效率对比

总结

作者提出了一种面向长序列建模的关键上下文感知注意力机制(CCA-Attention)。相比标准自注意力,在保持模型性能的前提下,CCA-Attention 显著降低了计算开销。

来源:晚晚的星河日记一点号

相关推荐