微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 南京大学与阿里巴巴携手破解AI"慢镜头"难题:全注意力模型瘦身秘方,百步完工

南京大学与阿里巴巴携手破解AI"慢镜头"难题:全注意力模型瘦身秘方,百步完工

2026-05-29 10:15
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-05-29 10:15 科技行者

这项由南京大学与阿里巴巴集团联合完成的研究,于2026年5月以预印本形式发布在arXiv平台,论文编号为arXiv:2605.16928。研究的核心成果是一种名为RTPurbo的技术方案,它能在极低的额外训练代价下,将标准的大语言模型改造成一个高效的稀疏推理系统,在百万字符长度的上下文场景中实现最高9.36倍的处理提速。

当你打开手机上的AI助手,输入一段很长的文章让它帮你总结,或者和它进行一次长达几十轮的对话,背后的大语言模型其实正在做一件非常"费力"的工作——它需要同时"盯着"所有之前的文字,评估每一个词和当前问题的关系。这个"同时盯着所有词"的机制,学术界叫做"全注意力"(Full Attention)。这套机制准确,但代价高昂:处理的文字越多,计算量就以平方速度增长,就像一个人需要同时和广场上每一个陌生人握手,人越多、握手的次数就爆炸式增加。这正是当今大模型在处理超长文本时速度缓慢、资源消耗巨大的根本原因。

研究团队面对的核心挑战,是在不重新"从头训练"模型的前提下,让已经训练好的大模型学会"聪明地偷懒"——只关注真正重要的词,而不是对所有词一视同仁。RTPurbo正是这一思路的结晶,它证明了一件此前被许多人忽视的事:那些用标准全注意力方式训练出来的大模型,内部其实早就"自发形成"了稀疏的结构,只需要很少的额外工作,就能把这种潜藏的稀疏性激活并加以利用。

一、为什么大模型处理长文本会这么慢?先从"握手问题"说起

回到广场握手的比喻。假如广场上有100个人,总共需要握手约5000次(每人和其他所有人各握一次)。人数变成200时,握手次数变成约20000次——人数翻倍,握手次数翻了四倍。大语言模型处理文本时的"注意力计算"恰好有同样的性质:文本长度翻倍,计算量翻四倍。处理32000个字还算勉强,处理100万个字就几乎让服务器喘不过气来。

解决这个问题的直觉方向是"稀疏注意力"——不是和广场上所有人握手,而是只和真正相关的人握手。问题是,怎么知道谁"真正相关"?现有的方法大致分为两条路:一条是直接训练一个天生就会"选择性握手"的新模型,成本极高;另一条是用各种启发式规则临时决定跳过哪些人,但规则粗糙,容易误判,导致准确度下降。

RTPurbo走的是第三条路:它观察到,经过充分训练的大模型其实已经在内部形成了"自然分工"——某些"握手专员"(注意力头)负责在整个广场寻找相关的人,而绝大多数"握手专员"其实只关心身边几步以内的人,根本不需要跑遍整个广场。RTPurbo的工作,就是把这套早已存在的分工机制识别出来,再用一套精巧的工具加以利用,整个过程只需要几百步的轻量训练,而不是从零开始重新打造一套新模型。

二、大模型内部的"秘密分工":有人负责远程侦察,有人只顾眼前

理解RTPurbo的核心,首先要理解大模型里的"注意力头"是什么。可以把一个大模型的注意力机制想象成一个庞大的侦探部门,里面有很多侦探小队(注意力头),每个小队各有分工。研究团队通过仔细观察发现,这些侦探小队大致可以分为两类。

第一类是"远程侦察队",也叫检索头(Retrieval Head)。这类小队的特点是,当模型处理某个词时,它们会主动在整个文本中搜寻语义上相关的内容,哪怕那些内容在文章最开头,离当前位置极远。比如,当模型读到"加拉帕戈斯群岛"时,这类侦探会翻回到文章开头找到"群岛"、"厄瓜多尔"、"达尔文"等相关词汇,建立语义连接。这类小队是维持长文本理解能力的关键,但数量较少,通常只占所有注意力头的15%左右。

第二类是"本地情报队",也叫局部头(Local Head)。这类小队只关注当前词附近的一小段文本,以及文章最开头的几个"关键词"(专业术语叫注意力汇聚点,Attention Sink)。它们不需要、也基本不会去翻看远处的内容。这类小队占了绝大多数,约85%。

这个发现意味着什么?意味着对于那85%的本地情报队,根本不需要给它们看整篇文章,只需给它们看开头几个词和当前附近的一小段,它们的工作完全不受影响。真正需要访问全部文本的,只有那15%的远程侦察队。RTPurbo的第一个关键动作,就是通过一套简单的"离线校准"测试,一次性地把这两类小队区分出来,然后在实际推理时,对本地情报队直接截断远程信息,大幅减少计算量。

如何区分这两类侦探?研究团队设计了一个非常巧妙的测试:在一段长文本的开头和结尾放上完全相同的一段内容(就像在广场两端各挂了一块写着"寻人启事"的牌子),然后观察哪些注意力头会在读到结尾那块牌子时,主动回头关注开头那块牌子。那些会回头看的,就是远程侦察队;那些只顾眼前的,就是本地情报队。这个测试只需要跑一次,结果在不同输入文本下高度稳定,说明这种分工是模型训练后形成的内在属性,而非偶然现象。

三、远程侦察队的秘密武器:用16维"雷达"代替128维"肉眼"

识别出远程侦察队之后,下一个挑战来了:这些侦察员在搜寻远处的相关词时,每次都要做完整的128维向量计算(这是常见大模型中注意力头的标准维度),在超长文本中,这个计算本身就已经很贵了。有没有办法先用一个粗略但廉价的"雷达"扫一遍,找到大概方向,再用精确的"肉眼"确认?

研究团队在这里做了一个颇有意思的理论分析。大语言模型普遍使用一种叫RoPE(旋转位置编码)的技术来感知词语的位置顺序。这套技术的工作原理,可以类比为给每个词的信息加上一个"旋转角度",旋转的速度(频率)因维度不同而不同。高频率的维度,旋转很快,两个词之间的位置差稍有变化,计算出的相关性就会剧烈波动,就像一个敏感的天平,风一吹就乱;低频率的维度,旋转很慢,对位置变化不敏感,能平稳地反映两个词在语义上是否真正相关,就像一个稳重的老秤,不会被小扰动带偏。

对于远程侦察队来说,它们需要判断的恰恰是"语义相关性"——无论两个词相距多远,只要内容相关就应该建立连接。这种需求与低频维度的特性完美契合。换句话说,用高频维度判断远程相关性,是在用错误的工具做事;而低频维度虽然只是全部128维中的一小部分,却足以胜任这个工作。

基于这个洞察,研究团队为每个远程侦察头训练了一对微小的"压缩投影矩阵"——相当于两个把128维信息压缩到16维的变换器。实际推理时,先用这个16维的"雷达"快速估算所有词的相关性得分,再从中选出真正相关的词,最后只对这些词做完整的128维精确计算。整个训练过程只需要约840K个参数(相比之下,一个30B参数的大模型有300亿个参数,这点训练量几乎可以忽略不计),实验结果显示,仅用16维就能达到超过90%的召回率,即超过90%的真正重要词都能被找到。

四、聪明的"预算管理":为什么不能给所有问题分配同样多的词语名额

就算有了高效的16维雷达,还有一个难题没有解决:每次侦察,应该选多少个词?这个问题听起来简单,实则暗藏玄机。

研究团队展示了两个截然不同的例子,非常直观地说明了问题所在。第一个例子:模型正在处理一篇关于加拉帕戈斯群岛的长篇文章,当读到"加拉帕戈斯"这个词时,它需要在文章中找到所有与这个话题相关的词语——岛屿名称、地理信息、动植物种类等等,这些内容分散在文章各处,大约需要找回8000个词才能覆盖90%的相关信息。第二个例子:模型在做一道"针入草堆"题目,题目把密码藏在一段长文中,当模型遇到"密码是什么"这个问题时,它只需要找回两个词("ArXiv"和对应的标记),就已经覆盖了96.9%的关键信息。

两种情境,一个需要8000个词,一个只需要2个词,差了4000倍。如果固定每次只选4096个词(这是很多方法采用的固定预算),那么第一种情境下会漏掉很多重要信息(只找回77.6%),第二种情境下则严重浪费计算(本来只需要2个词,却白白多算了4094个)。

RTPurbo的解决方案叫做动态Top-p选择。它不规定每次最多选多少个词,而是规定"至少要覆盖多少比例的注意力总量"(比如90%)。每次推理时,系统自适应地决定要选多少词才能达到这个覆盖率。遇到需要广泛检索的问题就多选,遇到答案高度集中的问题就少选,始终保持精准而不浪费。

对比数据非常说明问题:在同一个散漫检索场景中,固定选16384个词只比动态Top-p多覆盖了3.8%的注意力质量,却多计算了约8000个额外的词。这种"多付出4000倍努力,只换来3.8分的进步"的固定预算方法,在自适应方案面前显得相当粗糙。

五、只需六百步的"轻量整容":两阶段训练流程

确定了三个核心设计原则之后(区分侦察头与本地头、用16维雷达预筛选、动态Top-p自适应预算),RTPurbo需要通过一个简单的两阶段训练把这些组件安装到原始模型上。

第一阶段只训练那一对微小的16维压缩投影矩阵,不碰模型其他任何参数。训练目标是让16维雷达扫出的相关性排名,尽可能接近完整128维计算出的真实排名。用数学语言说,就是最小化两个注意力分布之间的KL散度(一种衡量两个概率分布差异的指标)。由于可训练参数极少(总计约84万个),这一阶段收敛很快,大约6000步、消耗约3000万个词语的训练数据就可以完成。

第二阶段在第一阶段的基础上,把整个稀疏模型激活(不再用全注意力,改用稀疏的检索模式),然后让稀疏版本的模型去模仿原始全注意力模型的预测输出。这种"老师带学生"的训练方式叫做自蒸馏(Self-distillation)。具体做法是:先用原始模型对训练集做一次完整的前向传播,记录每个位置排名前10的预测词及其概率,然后训练稀疏模型让它的预测分布尽量接近这些记录。

这种方式有几个精妙之处。其一,不需要精心挑选训练数据的分布和比例(这在传统微调中往往是个令人头疼的超参数调节工程),因为模仿的目标始终是原始模型自己的输出,不会因为训练数据偏斜而让模型"学偏"。其二,只对每个位置的前10个预测词对齐,而不是对整个词表(词表可能有几万个词)做完整对齐,大幅降低了计算开销。其三,整个第二阶段只需要约600步训练,实际参与梯度更新的标签词语总量约120万个——放到一个30B参数的模型尺度来看,这简直是以外科手术的精度做了一次微创整形,而不是大动干戈的全身改造。

六、GPU上的"工程巧思":如何让稀疏计算真正变快

设计方案再好,如果在实际GPU硬件上跑不快,一切都是空谈。RTPurbo专门为解码阶段(即模型一个词一个词地生成输出的过程)设计了定制化的GPU计算核(Kernel)。这里有两个工程挑战需要克服。

第一个挑战是"如何快速找到Top-p的切割线"。传统的做法是先对所有词的得分排序,找到累积概率达到p的切割点。但排序算法的计算复杂度是O(N log N)(N是词的数量),在超长文本中N可能超过16000,这个开销不可忽视。RTPurbo用了一个巧妙的替代方案:不排序,改用"直方图扫描"。把所有词的得分映射到256个分桶中,每个计算单元(CTA)处理一个词块并把汇总得分原子写入对应分桶,最后扫描直方图找到累积达到p阈值的桶,整个过程内存消耗恒定(每个注意力头只需1KB,与序列长度无关),并且可以和得分计算融合在同一次GPU核启动中完成,避免了额外的启动延迟。

第二个挑战是"如何高效读取稀疏的KV数据"。即使只访问1%的词,在百万词长度的序列中,这1%也有一万个词,数据读取量依然可观。研究团队设计了一种单线程束(single-warp)的计算单元结构,把所有中间状态保留在寄存器(最快的GPU内存)中,避免了对共享内存的争用,让GPU能最大化并发执行。内部循环每次处理两个词,提前发出K和V的向量化读取指令,让数据加载和计算重叠进行,进一步压榨硬件效率。对于超长序列,还可以把每个注意力头的KV范围切分成多段并行处理,最后由最后完成的计算单元汇总结果,保证在任何序列长度下GPU都能被充分利用。

七、实验成绩单:近乎无损的准确率,大幅提升的速度

研究团队在多个公开基准测试上对RTPurbo进行了全面评估,对手包括MInference、FlexPrefill、Quest、SnapKV、RazorAttn等当前主流的稀疏注意力方法,测试模型主要为Qwen3-Coder-30B-A3B及其推理专用版本Qwen3-30B-A3B-Think。

在速度层面,结果令人印象深刻。预填充阶段(处理输入文本的阶段)的加速倍数随序列长度急剧攀升:32K时加速2.83倍,64K时4.25倍,128K时5.92倍,256K时7.47倍,512K时8.62倍,到100万字符时达到9.36倍。相比同类稀疏方法,RTPurbo在长序列区间的优势更为显著。解码阶段(逐词生成的阶段)同样有稳定提升,从32K时的约1.47倍提升到100万字符时的约2.01倍。

在准确率层面,RTPurbo的表现同样出色。在LongBench(一个覆盖多文档问答、摘要生成等多种长文本任务的综合基准)上,全注意力模型的平均得分是53.80分,RTPurbo动态Top-p版本达到54.24分,甚至略微超过了原始模型(这并不罕见,轻微的稀疏化有时会起到一定的正则化效果)。相比之下,其他方法均有不同程度的下降,MInference降至48.39分,FlexPrefill降至49.42分,Quest降至50.69分。

在RULER(一个专门设计来测试模型真实有效上下文长度的基准,包含多文档查询、变量追踪、针入草堆等挑战性任务)的32K测试中,全注意力模型平均89.65分,RTPurbo达到90.06分;64K测试中,全注意力86.23分,RTPurbo达到85.49分,依然是所有稀疏方法中表现最接近原始模型的。特别值得关注的是multi-K任务(需要在多个文档中同时追踪多个关键信息),这类任务对稀疏化最为苛刻,MInference在64K下只得了40.07分(原始模型99.66分),FlexPrefill97.60分,而RTPurbo保持了98.60分。

针对推理任务的测试同样亮眼。AIME2024和AIME2025(顶级数学竞赛题目,模型需要生成极长的推理链)上,全注意力模型得分86.67分,RTPurbo动态Top-p版本同样达到86.67分,完全持平,而Quest和SnapKV分别只有46.67和43.33分(约为原始模型得分的一半)。这说明RTPurbo的稀疏化不仅没有损害推理能力,还在极长生成场景中实现了约2倍的解码速度提升。

在超长上下文(128K到512K)的压力测试中,其他方法出现了不同程度的"断崖式下跌",而RTPurbo的准确率曲线保持相对平稳,且稀疏度随着序列变长自然提升,在512K时达到97.1%以上——意味着此时只有不到3%的词是真正被计算的,其余全部跳过。

研究团队还对比了固定Top-k(固定每次选4096个词)与动态Top-p的差异。结果清楚显示,在需要广泛检索的任务(如RULER 64K的multi-K)中,固定Top-k版本只得了50.66分,而动态Top-p版本达到98.60分——差距超过47分,充分证明了动态预算机制的必要性。

八、细节打磨:那些让整套方案更可靠的设计取舍

研究团队还通过系统的消融实验(一种通过逐个去掉某个设计组件来验证其作用的实验方法)回答了几个关键的设计问题。

关于检索头应该占多大比例,研究团队比较了10%、15%和30%三种设置。结果发现,15%到30%之间几乎没有准确率差异,但30%的方案训练代价更高(需要训练更多投影参数);而10%则会导致准确率明显下降(MMLU-PRO数学题从88.2分降至79.3分,RULER multi-K从98.8分降至97.4分),说明此时检索头数量已经不足以支撑模型的远程检索能力。因此15%是一个甜蜜点。

关于16维压缩空间的选择,研究团队比较了4维、16维和32维。在准确率上,16维和32维几乎完全相同,4维反而略高——但这个反常现象有合理解释:4维的压缩质量差,导致雷达误判,系统不得不多选很多词来弥补误差,稀疏度因此降低,相当于"更接近全注意力了",所以准确率略高。具体数字非常直观:在一个典型检索头(Layer 24 Head 25)上,4维投影在64K序列下需要选45280个词才能覆盖90%的注意力质量,16维只需25725个词,32维反而需要28464个词(比16维稍多,说明过大的压缩空间会引入噪声)。综合来看,16维是最优选择。

关于滑动窗口的大小(即本地情报队能看到的附近范围),研究团队选定了8192个词,配合4个注意力汇聚点(文章最开头的几个特殊标记),这一设置在实验中表现稳健。

说到底,RTPurbo讲的是一个"发现宝藏"而非"打造宝藏"的故事。大量计算资源和时间已经被花费在训练标准全注意力模型上,这些模型内部其实早就悄悄形成了高效的稀疏结构——只是从来没有人系统地把它挖掘出来并加以利用。这项研究证明了,只需要几百步的轻量训练(相比动辄数百亿步的预训练,这几乎像是一次午休),就能让一个标准模型学会"精准握手",在保持原有准确率的同时,将长文本处理速度提升数倍甚至近十倍。

这对普通用户意味着什么?意味着未来你用AI助手处理一份超长合同、阅读一本几十万字的书、或者进行一次长达数小时的深度对话时,系统的响应速度可能会快得多,运行成本也会降低,进而可能带来更低的使用价格和更好的体验。更广泛地说,这一结果对整个AI行业都是一个重要信号:不一定要从零开始、付出巨额代价去训练"原生稀疏"的新模型,已有的全注意力模型可以用很低的成本改造成高效的稀疏推理引擎,这条路可能比很多人预期的要近得多。

当然,这项研究也有它坦诚承认的局限性。目前预填充阶段的检索头仍然使用全密集注意力,这一部分的进一步优化还未完成。实验主要在Qwen3系列模型上进行,是否完全适用于其他架构(如GPT系列、Llama系列)还需要更多验证。此外,这种头分工的稳定性依赖于模型本身的充分训练,对于较小或训练不充分的模型,效果可能有所不同。

有兴趣深入了解技术细节的读者,可以在arXiv平台通过编号arXiv:2605.16928找到完整论文,里面包含了详细的数学推导、实验设置和完整的评测结果。

---

Q&A

Q1:RTPurbo的稀疏注意力和普通大模型的注意力机制有什么区别?

A:普通大模型的"全注意力"机制会让每个词同时关注文本中的所有其他词,计算量随文本长度呈平方增长。RTPurbo的稀疏注意力则区分了两类注意力头:少数"检索头"负责远程语义检索,多数"局部头"只关注附近的词和开头几个关键词。检索头通过一个16维的轻量雷达先快速筛选相关词,再精确计算,从而大幅减少总计算量,最终在百万词上下文中实现近10倍预填充加速。

Q2:RTPurbo需要重新训练整个大模型吗?

A:不需要。RTPurbo只需要两个阶段的轻量额外训练。第一阶段只训练约84万个新增的压缩投影参数,原始模型完全冻结。第二阶段进行端到端的自蒸馏微调,总共只需约600步训练,实际参与学习的标签词语约120万个。相比一个30亿参数大模型的预训练代价,这几乎可以忽略不计,整个改造过程不需要重新训练原始模型的主体权重。

Q3:固定Top-k和动态Top-p选词方法的区别在哪里?

A:固定Top-k每次固定选取得分最高的k个词(比如每次选4096个),不管问题难易,预算始终不变。动态Top-p则规定一个注意力覆盖率目标(比如90%),根据实际需要自适应地决定选多少个词。当问题答案高度集中时(如"针入草堆"题只需2个词),Top-p极其节省;当问题需要广泛检索时(如散漫语义问题需要8000个词),Top-p自动扩展预算。实验中,固定Top-k在部分高难度检索任务上准确率比动态Top-p低近50分。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-