这项由中国科学院自动化研究所、中国科学院大学与腾讯微信联合完成的研究于2026年5月发布在arXiv预印本平台编号为arXiv:2605.06221。对于所有使用过AI助手处理长篇文档、进行多轮对话或调用智能客服的人来说这项研究触及了一个每天都在发生却鲜少被关注的效率瓶颈。每当你向一个AI助手粘贴一篇几万字的合同要求它摘要或者要求它阅读一份长达百页的报告后回答问题AI在给出第一个字之前往往需要等待相当长的时间。这段等待时间在技术上称为首字延迟Time-To-First-Token简称TTFT它取决于AI处理你输入的全部内容需要多久。输入越长等待越久这几乎是铁律。研究团队将这个问题比作图书馆里一位勤勉的管理员无论你问什么问题他都要把图书馆里每一排书架、每一本书、每一页纸都认认真真地翻阅一遍才肯开口回答。显然如果管理员能聪明地判断哪些书架根本与你的问题无关跳过那些不重要的部分他给出答案的速度就会大幅提升。UniPrefill正是基于这一直觉设计的框架。研究团队在实验中证明这套方法能让AI处理长文本的速度最高提升2.1倍而且不会对回答质量造成明显损失。更关键的是当同时有很多用户在使用同一台AI服务器时这个加速效果会变得更加显著——恰好对应了真实世界中AI服务最紧张的使用场景。一、为什么读完再说会成为大问题要理解这套方法的价值需要先明白现代AI助手在处理长文本时究竟面临怎样的计算挑战。当前最主流的大型语言模型其核心计算机制叫做自注意力Softmax Self-Attention。这个机制的工作方式可以用一场非常特殊的圆桌会议来类比假设输入的每一个词都是一位与会者而自注意力要求每位与会者在发言之前必须与会议室里所有其他人都握一次手充分了解彼此的关系才能决定自己说什么。这意味着与会者越多握手总次数就会以平方倍数暴增。输入1000个词时需要100万次握手输入10000个词时则需要1亿次握手——计算量呈爆炸式增长等待时间自然也随之急剧拉长。面对这个问题AI领域的研究者们近年来开发出一批混合架构模型试图降低这种计算负担。一类做法是将部分全体握手层替换成效率更高的线性循环层让复杂度从平方级降回线性级另一类做法是让大多数层只与附近的邻居握手仅保留少数几个全体握手的全局层来捕捉长距离信息。前者的代表是Qwen3-Next-80B-A3B这样的模型后者的代表则是Gemma-3-12B。这些混合设计大幅降低了理论计算量并已被多家主流厂商用于生产级模型。然而现有的加速方法却有一个根本性的局限它们几乎清一色地聚焦于优化全体握手这一步对于其他类型的计算层视而不见。以MInference、FlexPrefill、XAttention等代表性工作为例它们通过识别注意力矩阵中稀疏的、可以跳过的部分来提速在纯全注意力模型上确实能实现惊人的加速效果。但当这些方法被移植到混合架构上时问题就暴露出来了在一个四层循环中只有一层是全体握手层的模型里即便把那一层的握手加速到极致其余三层的计算时间依然纹丝未动。就像一趟包含飞机、火车和公路三段的长途旅程你只优化了飞机这一段对整体耗时的改善自然非常有限。实验数据也印证了这一点在处理128K长度文本时MInference在Gemma-3-12B上的加速倍数仅为1.03倍几乎没有任何帮助。与此同时这些稀疏注意力方法还有另一个硬伤它们与工业级推理引擎的核心调度机制不兼容。现代AI服务器使用一种叫做连续批处理continuous batching的策略来同时服务多个用户——不同用户的请求被打包在一起处理就像一辆公交车沿途上下乘客而非每次只送一位乘客。FlexPrefill之类的方法假设每次只处理一个固定的请求无法适应这种乘客随时上下车的动态场景因此始终停留在研究原型阶段从未真正进入生产环境。二、图书馆管理员的聪明剪枝法UniPrefill的核心思路可以用前面那位图书馆管理员的比喻来延伸理解。这位管理员现在学聪明了在开始认真阅读之前他先用一分钟快速扫一眼所有书架判断哪些区域根本和你的问题没关系然后直接跳过那些区域只认真阅读真正重要的部分。更妙的是一旦他决定跳过某个书架这个决定对整栋图书馆剩余的每一层楼都生效——他不仅在当前楼层跳过后续所有楼层也同样跳过那个书架。这样一来省下的时间就不只是一层楼的扫描时间而是所有楼层叠加起来的节省。技术层面UniPrefill的运作方式分为三个紧密衔接的步骤。第一步叫做重要性估计。每当处理到一个包含全体握手的层时系统不会立刻让所有词之间都互相计算而是先只取输入序列末尾的一小部分词默认取最后128个词作为提问者让这些提问者与序列中的所有词做一次快速握手得到一份初步的重要性分数——即每个词对于生成下一个字来说大概有多重要。这个操作的计算量远小于完整的全体握手因为提问者只占总词数的一小部分。这里有一个值得特别说明的细节UniPrefill的重要性估计与另一个广为人知的方法SnapKV有表面上的相似之处但两者的本质目的完全不同。SnapKV在处理完整个输入之后才用这个评分来压缩后续生成阶段需要存储的缓存并不减少处理输入时的计算量而UniPrefill是在处理输入的过程中就利用这个评分来决定跳过哪些词节省的是当下正在进行的大量计算两者根本不在同一个时间点发挥作用。第二步叫做Top-p词块筛选。系统将整个输入序列按照固定大小默认64个词一组分成若干词块并把刚才算出的重要性分数在每个词块内取平均得到每个词块的综合重要性。然后系统按照重要性从高到低排列这些词块保留重要性之和刚好达到总重要性99%的最小词块集合其余词块一律丢弃。之所以选择Top-p而不是直接保留固定数量的词块即Top-k有其深刻的统计原因。注意力的分布因文本内容而异有时高度集中在少数几个关键词上有时则均匀分散在大量词语中。如果固定保留50个词块在前一种情况下会保留大量无关内容在后一种情况下则可能丢掉重要信息。而Top-p会自动适应注意力集中时保留少注意力分散时保留多始终保证丢弃部分的注意力质量占比不超过1%形成一个严格的信息损失上界。此外有两类词块无论评分高低都会被强制保留序列最开头的128个词这些词在注意力机制中扮演特殊的锚点角色AI研究者将其称为注意力沉淀和序列末尾的128个词即刚才参与估计的提问者本身。第三步叫做稀疏性跨层传播。这是UniPrefill与所有前代方法最本质的区别所在。被判定为不重要而丢弃的词块不仅在当前这个全体握手层被跳过而且在当前层之后的所有层——无论是线性循环层、滑动窗口层还是前馈神经网络层——都被永久性跳过直到下一个全体握手层重新做一次评估为止。跳过的词的隐藏状态被冻结在丢弃时刻的数值不再参与任何计算但会被保留下来传递给后续层以便在需要时复活。这个设计的计算收益是叠加的假设某次丢弃操作保留了60%的词那么后续每一个计算层都只需要处理60%的词节省的计算量与后续层数成正比。在一个有几十层的深度模型中这意味着早一层做出丢弃决定就能省下更多的计算资源。研究团队的理论分析也证明在序列极长的情况下UniPrefill能节省的计算量与稀疏注意力方法能节省的计算量之比随着序列长度的增长趋向无穷大——也就是说文本越长UniPrefill相对于稀疏注意力方法的优势越悬殊。三、把这套逻辑塞进工业级服务器算法设计再精妙如果无法在真实的生产环境中运行也只是一纸空文。研究团队在系统工程层面同样付出了大量努力将UniPrefill深度集成进了目前工业界使用最广泛的推理引擎vLLM。首先整套重要性估计和词块筛选的流程被实现为四个紧密融合的GPU计算核kernel完全在显卡上执行不需要在GPU和CPU之间来回传输数据。具体流程是先计算末尾128个词与所有词的注意力得分矩阵然后用在线softmax算法对其归一化接着在每个词块内做空间聚合得到词块级别的分数向量最后用一个排序加阈值的操作确定保留哪些词块生成一个二值掩码。在处理多GPU并行计算时不同的GPU各自只负责部分注意力头因此每个GPU看到的重要性分数只是一个局部视角。研究团队的解决方案是在做筛选决定之前先把所有GPU的局部分数加总得到全局分数再做统一的筛选。这样能确保所有GPU对于哪些词块该留、哪些词块该丢达成完全一致的决定避免出现张三留着第5号词块、李四却丢掉了第5号词块这种混乱局面。更复杂的问题在于如何与vLLM的连续批处理调度器协同工作。vLLM会同时处理多个用户请求不同请求被打包成一个批次用一套统一的数据结构管理所有词的位置信息、KV缓存即AI存储已处理词的记忆的物理地址、每个请求的序列长度等等。当UniPrefill丢弃了某些词之后这套数据结构中的每一项都需要相应更新否则后续计算就会出错。研究团队为此设计了精细的状态维护机制。每次发生丢弃操作时系统会记录下丢弃发生的层编号和丢弃后保留的词数形成一份丢弃历史账单。在随后的生成阶段AI需要回头查阅自己在处理输入时写下的记忆KV缓存此时系统会根据这份账单告诉每一层它在处理输入时实际写入了多少条记忆——因为不同的层写入的记忆条数可能不同全局注意力层和滑动窗口注意力层管理的缓存甚至彼此独立。这整个过程不需要修改模型权重也不需要改动vLLM底层的内存分配器可以像一个透明的加速插件一样无缝嵌入。四、在真实测试中的表现究竟如何研究团队选用了一个名为RULER的长文本理解基准测试来评估UniPrefill的质量同时在vLLM框架内测量了实际的处理速度。RULER覆盖了检索、多跳推理、信息聚合、问答等多种任务类型上下文长度从4K扩展到128K被认为是目前评估长文本AI能力最全面的测试之一。在三个模型上UniPrefill的表现都明显优于其他加速方法所能达到的最佳精度-速度权衡点。以纯全注意力架构的LLaMA-3.1-8B为例在128K上下文长度下UniPrefill的RULER分数为79.87与未加速的基准版本76.89相比甚至略有提升这是因为保留了最重要的词之后注意力反而更加聚焦同时实现了2.26倍的首字延迟缩短。相比之下LazyLLM在同样长度下分数跌至49.71精度损失惨烈MInference虽然保住了78.21的分数但加速倍数仅为1.34倍。在混合架构模型上UniPrefill的优势更加突出。对于Qwen3-Next-80B-A3B线性与全注意力以3:1混合MInference在128K上的加速倍数只有1.05倍而UniPrefill达到了1.68倍。对于Gemma-3-12B滑动窗口与全注意力以5:1混合MInference的加速倍数仅1.03倍UniPrefill则达到1.49倍。这印证了研究团队的核心判断当全注意力层在模型中的占比越来越小时只优化注意力层的方法效益越来越差而UniPrefill的跨层稀疏传播机制让它在这些场景下仍然有效。在vLLM内的吞吐量测试则展示了另一个维度的加速效益。单用户使用128K文本时LLaMA-3.1-8B的处理吞吐量从21013个词每秒提升到43672个词每秒提升幅度达107%。当同时有16个用户时提升幅度进一步扩大到109%。Qwen3-Next-80B-A3B在128K单用户场景下提升48%16用户场景下提升68%。Gemma-3-12B的提升幅度相对较小128K单用户42%这与它的架构中全注意力层占比最低仅六分之一直接相关。一个略显反直觉的现象是在极短的文本4K和极小的批次单用户下Qwen3-Next-80B-A3B的吞吐量反而下降了3%到5%。研究团队对此的解释是在极短文本中几乎没有什么词块能被真正丢弃重要性估计本身的计算开销反而成为了额外负担。这说明UniPrefill的优势区间主要在长文本和多用户并发场景下——而这恰好是生产环境中最常见、最紧迫的情形。五、微调参数时的规律与取舍研究团队还系统地测试了两个关键超参数对性能的影响提供了选择它们时的直观依据。词块大小G控制了丢弃操作的粒度可以理解为图书馆管理员每次跳过的最小单位是一层书架还是一排书架。G64默认值是精度与速度之间的平衡点。G32更精细能让管理员跳过更小的单元在长文本下丢掉更多不重要的内容但判断本身的计算开销也更大G128更粗粒度适合短文本判断快但灵活性低。实验数据显示G32在LLaMA-3.1-8B的128K场景下能达到121%的吞吐量提升代价是4K场景下精度从96.53略降至93.42。末尾查询数量n决定了重要性估计时提问者的数量。n过少时n32用于估计的样本太少估计结果方差大容易误判重要性RULER平均分从90.45下滑至87.77。n过多时n512估计精度提升但计算开销也随之增加。n128在精度与开销之间达到最优成为默认设置。说到底UniPrefill做的事情并不复杂它让AI在认真处理输入之前先做一次快速的重要性预扫描然后在接下来的每一层计算中都只处理那些真正值得关注的部分。这个思路的巧妙之处在于它绕开了只能加速注意力层的局限把一次判断的收益扩散到了整个模型的所有层在混合架构模型上依然奏效。而通过与vLLM的深度集成这套方法得以在真实的多用户服务场景中实际运行而非停留在实验室阶段。对于普通用户而言这意味着未来使用AI处理长篇文档时等待第一个字出现的时间有望缩短一半甚至更多尤其是在服务器繁忙、同时有很多人在使用的时候。对于AI服务提供商而言同样的硬件资源可以服务更多用户或者在不增加服务器的前提下支持更长的输入文本。当然这项研究也坦承自己的边界UniPrefill目前专注于读入阶段的加速对于AI生成每一个字的输出阶段以及模型训练本身的效率目前尚未涉及研究团队将其列为未来的探索方向。有兴趣深入了解技术细节的读者可以通过arXiv编号2605.06221查阅完整论文代码已在GitHub开源。QAQ1UniPrefill是如何决定哪些词可以被跳过的AUniPrefill在每个全注意力层处先用序列末尾的128个词快速扫描整个输入为每个词块打出一个重要性分数然后保留重要性之和达到99%的最小词块集合其余全部跳过。序列开头的128个词和末尾的128个词无论分数高低都会被强制保留。Q2UniPrefill加速长文本处理会不会让AI的回答质量变差A在RULER长文本基准测试中UniPrefill与不加速的基准版本相比精度损失极小部分情况下甚至略有提升。相比之下LazyLLM和SlimInfer等其他加速方法在同等加速比下会出现明显的精度下降。Q3UniPrefill对混合架构模型比如Qwen3或Gemma-3有效吗A有效而且这正是UniPrefill的核心优势所在。由于UniPrefill会将丢弃决定传播到全注意力层之后的所有层包括线性层、滑动窗口层和前馈层它在混合架构上依然能获得可观的加速而纯稀疏注意力方法在这类模型上加速效果通常不足1.1倍。