AI大模型的“文件包“技术,让推理速度提升近20倍
这项研究由慕尼黑工业大学、达姆施塔特工业大学、浙江大学以及伊尔梅瑙工业大学的研究团队联合完成发表于2026年第40届神经信息处理系统大会NeurIPS 2026论文编号为arXiv:2604.13226有兴趣深入了解的读者可通过该编号查阅完整论文。每当你向ChatGPT或类似的AI助手提问背后发生的事情远比你以为的复杂得多。AI需要先读懂你提供的所有文件、背景资料然后才能回答你的问题。这个读懂的过程在专业术语里叫做预填充它消耗的时间直接决定了你等待第一个字出现在屏幕上需要多久。这段等待时间有个专门的名字叫做首Token时延。现在设想一个场景你是一家公司的客服AI每天要回答数百个用户的问题而很多问题都涉及同一批公司文档——产品说明书、退换货政策、常见问题解答。如果每次有用户提问AI都要把这些文档从头到尾重新读一遍那效率无疑极为低下。工程师们很早就想到了一个优化方案把这些文档预先消化好把消化后的结果存储起来下次直接拿来用省去重新阅读的过程。这个存储消化结果的机制就是KV缓存。然而这个听起来很美妙的方案在实际使用中碰到了一堵墙。一、AI阅读理解的独特癖好为何缓存会失效要理解这堵墙需要先搞清楚AI是怎么读文字的。现代大型语言模型在处理一段文字时每一个词或者说每一个Token的理解都不是孤立的——它会受到前面所有词的影响。就好比你读到银行这个词时你需要看前面的语境才能判断它指的是金融机构还是河流两岸。AI也是如此它对每个词的内部表示就是所谓的KV状态即Key-Value状态是在考虑了前面所有内容之后计算出来的。这就带来了一个根本问题当一篇文档被单独预先处理并缓存起来时它的每个词都是以为自己是开头的状态被计算的。但当真正使用时这篇文档可能是排在第二位、第三位甚至第五位被读取的前面还有其他文档或用户的问题。这时候这个预先缓存的结果就不准确了因为它缺少了来自前面所有内容的语境影响。这就像你预先准备好了一段发言稿但你在准备时完全不知道前面的演讲者会说什么。等到你真正上台时会场的语境已经完全不同了你的发言可能就会显得突兀或者前后不搭。除了这个语境依赖问题之外还有一个位置依赖问题。现代AI用一种叫做旋转位置编码RoPE的技术来感知每个词在文章中的位置。如果一篇文档原本是从位置0开始的但现在需要放在位置100之后那每个词的位置信息都需要更新。好在这个问题有现成的数学解法只需要做一个简单的旋转变换就能把旧位置平移到新位置计算量极小几乎可以忽略不计。真正麻烦的是语境依赖它没有这么简单的数学解法。二、现有方案的两条路要么伤筋动骨要么亡羊补牢面对语境依赖这道难题研究者们之前主要探索了两个方向。第一个方向是直接对AI模型动手术——通过微调Fine-tuning来改变模型本身的行为方式让它学会处理这种拼接文档的场景。KVLink、Block-Attention、CacheClip等方案都走的是这条路。但这个方向有几个明显的代价。其一微调大模型需要消耗大量的计算资源成本极高。其二改变了模型参数之后模型可能会在某些方面退步这在机器学习领域叫做灾难性遗忘——模型在学会新技能的同时忘掉了一些原本掌握的知识。其三像CacheClip这类方案还需要同时部署多个模型协同工作内存压力剧增维护难度大幅提升。第二个方向是在使用缓存时临时修补——在正式回答用户问题之前对缓存中的一部分词重新计算把缺失的语境信息补回来。CacheBlend会找出那些偏差最大的词重新算A3会根据用户问题与文档的相关性来选词EPIC专门重算文档边界处的关键词SAM-KV则用层次化压缩来处理多文档场景。这些方法统称为选择性重计算。这条路的问题在于无论选多少词重算都意味着在正式回答之前需要额外做一轮计算首Token时延不可避免地增加。而且这些方案在工程实现上相当复杂需要深入干预AI模型的注意力机制和前向传播逻辑换一种模型架构就可能需要大量重写代码。更关键的是这些方法与现代KV缓存压缩技术一种减少缓存占用内存的技术难以兼容因为压缩后的缓存结构不规整重计算时找不到对应的位置。由此可见现有的两条路都有明显的缺陷要么代价太大要么补丁太多。三、文件包方案的核心思路给文档穿上一件隔离服研究团队提出的KV Packet方案走的是一条完全不同的路。他们重新审视了这个问题提出了一个新的假设语境不连续导致性能下降主要原因并不是文档之间缺乏深层语义交互而是文档边界处出现了结构性伪影——更具体地说是一种叫做注意力汇聚的现象在作怪。所谓注意力汇聚Attention Sink是指AI模型在处理文本时会自然地把大量注意力集中到序列最开头的那几个词上无论这些词是否重要。这是大型语言模型的一种普遍行为特征。当多个独立缓存的文档被拼接在一起时每个文档的第一个词都会被模型误认为是一段新序列的开头从而触发这种不正常的注意力汇聚效应扰乱了整体的推理过程。基于这个认识研究团队设计了一种非常简洁的解决方案在每个文档的前面和后面各插入几个特殊的软标记Soft Token分别叫做头部适配器Header和尾部适配器Trailer。这些软标记不是普通的文字而是可以通过训练来学习的连续向量——你可以把它们理解为占位符或缓冲垫。一个KV PacketKV文件包的结构就是头部适配器 文档正文 尾部适配器。每个文档都被单独包裹成这样一个包在离线阶段预先计算好KV缓存并存储起来。到了正式使用时只需要把多个包的缓存直接拼接在一起再加上位置编码的简单调整就可以直接开始回答用户问题完全不需要任何额外计算。这就好像给每个文档穿上了一件特制的隔离服——隔离服的领口头部适配器和袖口尾部适配器经过专门设计使得多件隔离服可以无缝拼接在一起不会产生接缝处的漏风问题也就是注意力汇聚伪影。隔离服本身适配器参数是通用的所有文档都穿同一款提前做好用时直接取来即可。四、如何训练这件隔离服让AI自己当老师这件隔离服虽然概念简洁但要让它真正有效需要经过专门的训练。研究团队设计了一套精妙的自监督蒸馏训练方法。所谓自监督是指训练过程不需要人工标注的数据模型自己给自己当老师。具体流程是这样的训练开始时从语料库中随机抽取一批文档和一个配套的问题把它们拼接成一段完整的上下文。然后让模型以正常方式——也就是完整地看完所有内容、所有词互相关注——生成一段回答。这个回答的每一步预测概率分布被记录下来作为黄金标准即教师输出。接下来用KV Packet的方式重新处理同样的内容把每篇文档单独包裹成文件包并预算好缓存然后拼接在一起再让模型基于这个拼接缓存对刚才那段问题和回答做前向计算同样记录每一步的预测概率分布这是学生输出。训练的目标就是让学生输出尽可能接近教师输出。用来衡量接近程度的指标叫KL散度Kullback-Leibler Divergence可以理解为两个概率分布之间的差距差距越小越好。在整个训练过程中模型本身的参数完全不动唯一被更新的是那些头部和尾部适配器的向量值。这样做有几个显著的好处。模型本身完全不受影响不存在灾难性遗忘的风险。训练所需的计算量远比微调整个模型小得多因为需要梯度传播的参数极少。任何文本语料都可以用来训练不需要为特定任务收集标注数据。而且适配器一旦训练好可以用于所有文档是一个真正一次训练、到处使用的通用组件。在实际实验中研究团队使用了256到512个训练样本批次大小64训练30轮学习率在千分之一左右在单张NVIDIA A10080GB显存上就能完成训练。整个训练成本相当低廉。五、实验结果数字说话效果如何研究团队在四个不同类型的数据集上进行了评测覆盖了两大类任务简单信息检索和多跳推理。简单信息检索任务包括大海捞针Needle-in-a-HaystackNIAH在海量文本中找到特定信息和人物传记Biography从传记文本中提取特定事实多跳推理任务包括HotpotQA需要综合两个以上文档的信息才能回答和MusiQue更复杂的多跳推理。测试的AI模型为Llama-3.1-8B-Instruct和Qwen-3-4B-Instruct两款。实验设置了每个文档使用8个头部适配器和8个尾部适配器也就是每个文档前后各加8个软标记。这个数量看起来很少但效果出人意料地好。在回答质量方面KV Packet在绝大多数配置下都达到了与完整重计算Full Recompute也就是完全不使用缓存、每次从头处理所有文本的理想上限相当的F1分数大幅超越不做任何修补的直接拼接No Recompute。在Qwen模型上处理MusiQue数据集时KV Packet与完整重计算之间存在一定差距但考虑到它几乎为零的额外计算成本这个取舍仍然非常划算。那些依赖重计算的竞争方案如EPIC和CacheBlend在重计算比例较低时表现相当糟糕尤其是在长文本场景下说明它们的质量非常依赖于重计算的充分程度。在计算效率方面KV Packet的优势极为突出。由于完全不需要任何额外的前向传播计算它消耗的浮点运算次数FLOPs比完整重计算低了整整5到6个数量级也就是低了约十万倍到百万倍。它的FLOPs与完全不做任何修补直接拼接的方法相同几乎只剩下位置编码调整那一点点微小的计算量。在F1分数与FLOPs的对比图中KV Packet稳稳地占据了左上角的理想区域——质量高、计算少。在等待时间方面KV Packet的首Token时延非常接近于不做任何修补直接拼接的水平只比完全不提供任何文档No Cache稍慢一点点。与重计算类方法相比速度优势非常显著。在Llama模型上KV Packet在人物传记任务上比最接近的重计算方案快1.36倍在HotpotQA上快3.3倍。在长文本场景下优势更加惊人大海捞针任务上首Token时延降低了整整19.45倍MusiQue任务上降低了5.81倍。这意味着用户几乎感觉不到等待而传统方案用户可能需要等待接近20倍的时间才能看到第一个字。六、与KV缓存压缩技术的天然兼容解决了一个老大难问题现代AI推理系统除了要缓存KV状态之外还面临另一个挑战这些缓存非常占用内存。一段很长的文档其KV缓存可能达到数百MB甚至更多。因此KV缓存压缩技术应运而生核心思路是丢弃那些不那么重要的词对应的缓存只保留关键词从而大幅减少内存占用。这里有一个微妙的问题不同的压缩算法会根据不同的标准决定保留哪些词而且不同层的AI网络可能会保留不同的词——也就是说压缩之后的缓存结构是不规则的。这对于重计算类方案来说是灾难性的因为重计算需要知道每个被保留词的准确位置而压缩打乱了这个结构。更何况那些压缩算法本来就是为生成阶段优化的用它们来处理重计算场景的稳定性和有效性根本没有经过验证。KV Packet完全没有这个烦恼。由于它把每个文档的缓存视为一个不透明的黑盒子从不在推理时重新进入缓存内部做计算所以压缩算法怎么改变缓存的内部结构对KV Packet来说完全无所谓该怎么用就怎么用。研究团队用五种最先进的压缩方法CUR、KVzap、LeverageScore、TOVA以及随机剪枝在10%到50%的压缩率下进行了测试对比了三种配置KV Packet正常模式压缩覆盖整个文件包包括适配器、KV Packet保留适配器模式压缩时保护适配器不被删除以及单一缓存模式对完整拼接缓存做压缩的基线方法。结果显示在随机剪枝这种最极端的压缩方式下KV Packet相比基线表现出了显著更强的鲁棒性——性能曲线随压缩率提升而下降的幅度远比基线平缓。此外正常模式允许压缩算法自由处理整个文件包的效果普遍优于保留适配器模式这说明训练好的适配器向量本身就具有相当强的抗压缩能力即便被压缩算法删除一部分整体性能也不会受到太大影响。这一发现出乎研究团队的预料也进一步验证了KV Packet设计的内在稳健性。七、跨领域泛化实验一件隔离服能适配多少场景一个自然而然的疑问是适配器在一种类型的文档上训练好之后拿到完全不同类型的文档上还能用吗为了回答这个问题研究团队做了一个交叉训练实验分别用四个数据集的一个训练适配器然后拿到另外三个数据集上测试看看跨领域效果如何。结果揭示了一个有意思的规律。不做任何修补的基线方法在所有测试上都非常差F1分数在0.01到0.39之间基本处于失效状态。在单一领域训练的适配器中用人物传记数据训练的适配器在传记任务上几乎完美0.96但在多跳推理任务上表现惨淡HotpotQA仅0.18MusiQue仅0.16——它学会了处理简单的信息检索但没有学会处理复杂的逻辑推理。用大海捞针数据训练的适配器在合成检索任务上表现极佳0.80但在自然语言理解方面泛化能力有限。最耀眼的结果来自通用混合配置——在四个数据集的混合语料上训练出来的适配器。这个配置在所有四个测试集上都表现稳健传记任务0.95几乎与专门训练的适配器持平HotpotQA 0.42MusiQue 0.43两者都显著超越所有单领域适配器。这说明当训练数据涵盖了不同类型的文本结构时适配器能够学到更通用的文档边界拼接模式不依赖于特定领域的文字风格从而成为一个可以在真实RAG系统中直接部署的通用组件——毕竟在真实系统里谁也不知道用户下一个问题会涉及什么领域的文档。八、注意力分布的可视化分析从内部理解为什么有效除了数字上的验证研究团队还深入到模型内部观察了注意力分布的变化为KV Packet的有效性提供了直观的解释。他们测量了问题中的词对前文各部分的平均注意力得分对比了直接拼接No Recompute和KV Packet两种情况在四个数据集上各取50个随机样本做平均。在直接拼接的情况下注意力分布呈现出非常明显的尖峰模式在每个文档的开头处都会出现一个极高的注意力得分峰值而其他位置的得分则相对低平。这正是前文提到的注意力汇聚效应在作怪——模型把每个文档的开头误认为是序列的开头过度关注这些位置从而无法均匀地从文档正文中提取信息导致推理质量下降。在KV Packet的情况下这种尖峰消失了取而代之的是头部和尾部适配器的位置获得了较高的注意力得分而文档正文的注意力分布相对均匀。换句话说适配器吸收了本来会集中到文档第一个词上的那些注意力把它们引导到了自己身上从而让文档正文的注意力更加均衡模型可以更有效地从整篇文档中提取信息。这个观察不仅验证了研究团队最初的边界伪影假设也解释了为什么只需要区区8个适配器标记就能取得如此显著的效果——它们不需要重新计算语义信息只需要在结构层面扮演好缓冲垫和导流器的角色把注意力汇聚的洪水疏导开来即可。说到底KV Packet做的事情用一句话总结就是它找到了AI缓存拼接时最核心的结构性问题并用一个极其轻量的方式把它解决了。研究团队没有试图让AI重新学习语义而是发现了一个更底层、更简单的问题根源并用几个精心训练的缓冲标记把它化解于无形。效果非常实在推理时等待第一个字出现的时间最多缩短了将近20倍计算量减少了十万倍以上同时回答质量与理想状态相差无几。与此同时它完全不改动原有模型不需要人工标注数据与各种缓存压缩技术自然兼容工程实现也远比现有方案简单。当然研究团队也坦诚地指出了这套方案目前的局限如果检索到的文档与训练时的语料分布差异极大适配器的效果可能会打折扣目前只在Llama和Qwen这两个模型家族上做了充分验证另外当被检索的多个文档之间本身存在强逻辑依赖关系时比如多步推理链KV Packet能否处理好这种情况还需要进一步研究。这项研究为AI推理系统的工程优化提供了一个全新的思路与其在使用时修补已有问题不如在存储时就把问题预防掉。对于任何需要频繁调用AI助手处理文档的人来说这种技术进步最终都会以更快的响应速度、更低的运营成本体现在实际体验中。如果你对完整的技术细节感兴趣可以通过论文编号arXiv:2604.13226查阅原文。QAQ1KV缓存是什么为什么大语言模型需要它AKV缓存是大语言模型把已经处理过的文本信息存储起来的一种机制避免每次对话都要从头重新计算。打个比方就像你读过一本书之后做了笔记下次回答关于这本书的问题时直接查笔记就好不用重新从头读一遍。没有KV缓存AI每次回答都要把所有背景文档重新处理一遍等待时间会非常长。Q2KV Packet方案和传统的选择性重计算方案相比速度上到底快多少A在首Token时延即用户发出问题到AI输出第一个字的等待时间方面KV Packet在某些场景下比传统重计算方案快了近20倍。例如在大海捞针长文本任务中首Token时延缩短了19.45倍在MusiQue多跳推理任务中缩短了5.81倍。在计算量方面KV Packet比传统方法低了5到6个数量级也就是少算了约十万倍到百万倍的运算量。Q3KV Packet的头部和尾部适配器需要针对每个新文档重新训练吗A不需要。适配器是通用的只需要训练一次就可以用于所有文档。研究团队发现在多种类型文档混合的语料上训练出来的通用适配器在信息检索和多跳推理等不同类型任务上都表现良好。新文档只需要套用已训练好的适配器在离线阶段预算一次KV缓存后存储起来之后直接调用即可几乎没有额外的维护成本。