ICML 2025:CCA-Attention突破LLM长文本建模瓶颈,全局池化与局部保留并行

琶洲实验室&华南理工提出CCA-Attention,通过全局池化+局部保留,显著提升LLM长文本建模效率,推理速度最高提升7.9倍,显存占用减少93%。

原文标题:ICML 2025 | 全局池化+局部保留,CCA-Attention为LLM长文本建模带来突破性进展

原文作者:机器之心

冷月清谈:

琶洲实验室与华南理工大学联合推出CCA-Attention机制,旨在提升LLM在处理超长文本时的效率与精度。该方法通过全局感知池化和局部保留注意力两大模块,实现了对上下文信息的有效建模。全局感知池化通过提取核心token降低计算维度,局部保留模块则关注局部上下文信息,二者结合确保模型在捕捉长距离依赖的同时,不丢失细粒度的局部语义。实验结果表明,CCA-Attention在长序列语言建模和长文档问答任务中均表现出色,尤其在处理128K超长序列时,推理速度是标准自注意力机制的7.9倍,键值缓存显存占用减少93%。更重要的是,该方法易于集成到现有LLM中,无需从头训练。CCA-Attention的提出,为LLM在长文本处理领域带来了新的可能性。

怜星夜思:

1、CCA-Attention通过全局池化和局部保留来优化长文本处理,那么在实际应用中,这两种策略是如何动态平衡的?是否存在一种自适应调整的机制,能够根据不同的文本类型或任务来优化它们的权重?
2、文章中提到CCA-Attention可以即插即用集成到预训练的LLM中,仅需少量微调即可实现性能优化。那么,在实际操作中,这种微调的成本(包括时间、计算资源等)大概是什么量级的?与其他需要从头训练或引入额外模块的方法相比,优势是否足够明显?
3、CCA-Attention的核心在于通过全局池化提取core token,然后进行注意力计算。那么,这种提取过程是否会引入信息损失?如果存在信息损失,是否会影响模型在某些特定任务上的表现,例如需要高度关注细节的任务?

原文内容


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



  • 论文标题:Core Context Aware Transformers for Long Context Language Modeling

  • 论文链接:https://arxiv.org/pdf/2412.12465

  • 代码链接:https://github.com/chenyaofo/CCA-Attention

  • 发布时间:2024年12月17日


该成果已被 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 的信息交互,保留了完整的全局建模能力。


CCA-Attention:革新性的解决方案


图 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 显著降低了计算开销。


该方法由两个互补模块构成:


  • 全局感知池化模块:基于输入 token 的重要性提取核心 token(core token),用于后续注意力计算,从而高效捕捉全局粗粒度的信息;


  • 局部保留模块:聚焦于邻近 token 的细粒度上下文信息,作为对全局池化模块的有效补充。


实验结果表明,CCA-Attention 在多种长文本任务中表现出色,同时显著提升了计算效率,具备良好的实用性与可集成性。


线上直播

为了帮助大家更好的了解这项工作,6月10日19:00-20:00论文一作陈耀佛将带来直播分享,欢迎大家来直播间交流。

嘉宾简介陈耀佛在2024年获得华南理工大学博士学位,现为华南理工大学未来技术学院博士后。主要研究方向为高效神经网络结构设计与优化以及模型迁移泛化,在人工智能国际顶级会议ICML, ICLR, CVPR和AAAI以及领域权威期刊IEEE TCSVT和Neural Networks发表论文共13篇,谷歌学术引用900余次。
直播预约:

本次直播设有 QA 环节,欢迎大家加群一起来聊。


Reference

[1] Longformer: The long-document transformer. arXiv preprint arXiv:2004.05150, 2020. [2] Big bird: Transformers for longer sequences. Advances in Neural Information Processing Systems, 33:17283–17297, 2020. [3] Efficient streaming language models with attention sinks. In International Conference on Learning Representations, 2024. [4] Llama: Open and efficient foundation language models. arXiv:2302.13971, 2023. [5] Efficient streaming language models with attention sinks. In International Conference on Learning Representations, 2024. [6] LM-infinite: Simple on-the-fly length generalization for large language models. arXiv preprint arXiv:2308.16137, 2023. [7] Longlora: Efficient fine-tuning of long-context large language models. International Conference on Learning Representations, 2024. [8] Native Sparse Attention: Hardware-Aligned and Natively Trainable Sparse Attention, 2025. [9] MoBA: Mixture of Block Attention for Long-Context LLMs, 2025.

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:[email protected]

这个问题很有意思!文章里提到的是“全局-局部模块可微融合”,通过组合键值矩阵来实现融合。但具体如何“动态平衡”以及是否存在“自适应调整机制”,文章并没有详细说明,感觉这部分还有很大的探索空间。不同任务可能确实需要不同的权重分配,如果能做到自适应,那实用性就更强了。

信息损失是不可避免的,但CCA-Attention的设计目标是在尽可能减少信息损失的前提下提高效率。个人认为,CCA-Attention更适合处理那些关键信息相对集中的长文本任务。对于信息分布较为分散,且每个细节都很重要的任务,可能需要谨慎使用,或者考虑与其他方法结合。

文章里说的是在SlimPajama数据集上微调1000步。这个成本相对从头训练肯定低很多。优势是否明显,我认为取决于你的需求。如果你的目标是极致的性能,可能从头训练的方法更有潜力。但如果你的目标是快速提升现有模型的长文本处理能力,那么CCA-Attention的优势就非常明显了。而且,它不需要引入额外的参数和修改模型结构,这本身就是很大的优势。

这个问题问到了点子上。我个人理解,这里的动态平衡更多体现在“可微融合”上,通过梯度反向传播,让模型自己学习到哪个模块更重要。但显示的自适应调整机制,比如用一个额外的网络去预测权重,或者根据某些统计特征(如文本复杂度、主题集中度等)来调整权重,文章里并没有涉及。这确实是一个可以深入研究的方向,或许能进一步提升CCA-Attention的性能。

信息损失肯定是存在的,毕竟做了压缩。文章里也提到了局部保留模块是为了弥补全局池化的信息损失。至于是否会影响特定任务,我觉得取决于任务对细节的敏感程度。如果任务非常依赖细粒度的信息,那可能会有影响。但如果任务更侧重于全局理解,那影响可能不大。具体情况需要具体分析。

从我的理解来看,目前CCA-Attention的全局池化和局部保留更像是两个并行的模块,通过可微融合进行信息整合。至于动态平衡,可能更多依赖于模型在训练过程中的学习,针对特定任务进行微调。如果能引入一个门控机制或者其他控制模块,根据输入文本的特性动态调整两个模块的权重,理论上是可以进一步提升性能的。但这也会增加模型的复杂度,需要在效率和效果之间找到平衡。

即插即用确实很吸引人!但“少量微调”具体需要多少资源,这个得看具体情况。如果数据集足够好,可能几轮fine-tuning就够了;但如果想达到最佳效果,可能需要更多时间和资源。和其他方法比,优势肯定有,至少省去了从头训练的巨大成本。但具体优势有多大,还得看实际效果。

我比较关注的是微调后的泛化能力。在特定数据集上微调的效果可能很好,但在其他领域的表现如何?如果泛化能力不足,可能还需要针对不同的应用场景进行定制化的微调,这样成本就会上升。所以,在评估CCA-Attention的优势时,需要综合考虑微调成本、性能提升和泛化能力。

我认为,任何压缩方法都会引入信息损失,关键在于损失的信息是否重要。CCA-Attention通过局部保留模块来尽可能保留局部信息,这是一种缓解信息损失的有效方法。但对于需要高度关注细节的任务,可能还需要进一步优化。例如,可以考虑使用更精细的池化策略,或者引入其他辅助信息来弥补损失。