Models Take Notes at Prefill: KV Cache Can Be Editable and Composable
本文揭示了在预填充阶段,模型主要将字段调节后的结论存储在下游 KV 缓存笔记中,而非依赖字段自身的向量,这实现了一种新颖的方法,即可以通过思维链对缓存进行高效编辑,并在不同上下文之间进行组合,从而以显著降低的延迟实现接近完美的准确率,相比于全量重新计算。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
核心思想:模型的“笔记本”
想象一个大型语言模型(就像一个非常聪明的机器人助手)正在阅读一份长文档以回答问题。通常情况下,当机器人读到一个句子时,它会对其进行“思考”,然后继续往下读。如果这个句子稍后发生了变化,机器人就必须从头开始重新阅读整份文档才能理解新的语境。这既慢又贵。
这项研究发现了一个令人惊讶的事实:机器人不仅仅是在阅读文档,它在阅读的过程中,还会向一个单独的“笔记本”(即 KV Cache)中做笔记。
至关重要的一点是,机器人将它的“结论”写进这个笔记本,而不仅仅是原始的文字。一旦它得出结论,例如:“哦,订单状态是‘已发货’,所以我必须拒绝退款”,它就会把这个结论写进笔记本里。稍后当它需要做出决策时,它不会回头去看原始句子,而是直接阅读自己写的笔记。
问题所在:“陈旧笔记”陷阱
研究人员尝试在信息发生变化时(例如,订单状态从“已发货”变为“处理中”)采用一种简单的修复方法。他们认为:“如果我只是更新文本中的特定单词,机器人就会看到变化并更新它的答案。”
他们错了。
因为机器人已经根据旧的信息在笔记本中写下了它的结论(“拒绝退款”),所以仅仅修改原始单词是行不通的。机器人会忽略这个变化,并继续阅读它的旧笔记。这就像是在纸上试图把一道数学题从 改成 ,但学生已经在笔记本里写下了“答案是 4”,并且只是在机械地抄写。除非你强迫学生重新阅读整页内容,否则学生不会注意到题目发生了变化。
解决方案 1:“勘误表”(便利贴)
由于机器人依赖于它的笔记,研究人员找到了一种无需重新阅读整本书就能修复错误的方法。
他们并没有尝试去手术式地擦除并重写旧笔记(这种方法会失败),而是简单地在文档末尾追加了一条新的、响亮的笔记。
- 类比: 想象机器人正在阅读一份合同。你无法在不破坏页码的情况下轻松划掉合同中间的一个条款。相反,你在文档最后贴上一张醒目的黄色“勘误(ERRATUM)”便签,上面写着:“请忽略之前的笔记。状态现在是‘处理中’。答案是‘批准’。”
- 结果: 机器人看到了这条新的、响亮的笔记,更新了它的决策,并忽略了旧笔记。这非常快速,且几乎完美地奏效。
解决方案 2:“组合”技能(乐高积木)
第二个发现是关于重复利用工作成果。
假设你有一份关于特定任务(如“如何预订机票”)的长篇且复杂的说明手册。通常,每次你要求机器人预订机票时,它都必须从头开始阅读整本手册。
研究人员发现,由于机器人会将结论写入笔记本,你可以预先写好该手册的笔记,将其保存下来,然后将其“粘贴”到新的对话中。
- 类比: 与其每次需要组装椅子时都阅读 50 页的说明手册,不如你拥有一个预组装好的“椅子组件”(即笔记)。你只需抓取这个组件并将其放入你的工作区即可。
- 神奇之处: 你可以将这个组件移动到对话中的不同位置(重新定位),它依然能完美运行。机器人不需要重新阅读手册;它只需拿起预先写好的笔记并继续工作。这使得处理长文档的过程快了 14 倍。
这为什么重要
- 它是可编辑的: 如果用户更改了一个细节(比如他们的姓名或订单状态),你不需要重启整个对话。你只需在末尾添加一个“更正笔记”,机器人就会立即更新其行为。
- 它是可组合的: 你可以建立一个“技能库”(例如预订机票的流程或处理退货的指南)。你可以预先计算这些技能的笔记,并将它们瞬间粘贴到任何对话中,从而节省大量的计算时间和资源。
- 它适用于各种场景: 研究人员在许多不同类型的 AI 模型(从小型模型到大型模型,甚至包括视觉模型)上进行了测试,它对所有模型都有效。
一句话总结
本文揭示了 AI 模型在阅读时会在一个隐藏的笔记本中记录其结论;通过意识到这一点,我们可以通过在末尾添加“更正笔记”来修复错误,并通过直接粘贴预先写好的“技能笔记”来加速任务,而不是强迫 AI 从头开始重新阅读一切。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。