← 最新论文
💬 NLP

MiniPIC: Flexible Position-Independent Caching in <100LOC

MiniPIC 是一种极简且灵活的 vLLM 设计,它通过存储未旋转的 K 向量并在注意力机制计算期间应用针对每个请求的相对位置编码,实现了对循环结构化输入的有效位置无关缓存,从而在核心引擎改动不足 100 行的情况下,显著提升了吞吐量并降低了延迟。

原作者: Nathan Ordonez (IBM Research), Thomas Parnell (IBM Research)

发布于 2026-06-12
📖 1 分钟阅读☕ 轻松阅读

原作者: Nathan Ordonez (IBM Research), Thomas Parnell (IBM Research)

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下你正在经营一家规模宏大、高速运转的图书馆,图书管理员(AI)必须阅读数千本书籍才能回答一个问题。在现代 AI 中,这个“阅读”阶段被称为 预填充(prefill)

通常情况下,如果两个人问了相似的问题,图书管理员可以复用已经读过的书中的部分内容。然而,目前的图书馆系统(如 vLLM)非常僵化:只有当某页内容出现在书中的完全相同位置时,它才能被复用。如果你把一段文字从第 10 页移动到第 100 页,图书馆系统会将其视为一个全新的页面,并不得不重新阅读一遍,即使它刚才才刚刚读过。

MiniPIC 是对这个图书馆系统进行的一次聪明且微小的升级,它在不重建整个建筑的情况下解决了这个问题。以下是它的工作原理,我们使用简单的类比来解释:

1. 问题所在:“便利贴”困境

在目前的 AI 系统中,记录已读内容的“记忆”(称为 KV cache)在每一页上都贴着一张便利贴,上面写着:“我是第 10 页”。

  • 冲突: 如果你想在新的请求中使用同一页文字,而它在新的请求中属于第 100 页,图书馆系统就会感到困惑。它无法让同一个物理页面在不同的人面前同时既是“第 10 页”又是“第 100 页”。
  • 旧的解决方法: 之前的解决方案试图为这一页制作复印件,移动它们,然后重新贴标签。这既慢又浪费空间,还会造成图书馆内的交通拥堵。

2. MiniPIC 的解决方案:“空白页”策略

MiniPIC 通过两种简单的方式改变了图书馆的规则:

A. “无标签”书架(无位置信息的缓存)
MiniPIC 不再在物理页面上写下“第 10 页”,而是让页面在位置信息上保持空白。页面只包含文字本身。

  • 工作原理: 当管理员阅读该页时,他们仅在那个特定时刻决定它“在哪里”。如果他们是在为 A 读书,那么这一页就是“第 10 页”;如果他们是在为 B 读书,同一个物理页面瞬间就变成了“第 100 页”。
  • 益处: 你不需要复印或移动页面。同一个物理内存块可以同时为不同位置的多个人提供服务。

B. “魔法标记”(用户控制的基元)
由于管理员不再能仅通过观察页面来得知它属于哪里,用户(或管理者)会给管理员三个特殊的“魔法标记”(特殊词汇)来告诉系统如何处理书籍:

  1. 填充(Padding): “填满空白空间,使这本书能整齐地结束在书架边界上。”
  2. SSEP(跨度分隔符/Span Separator): “这一部分是独立的。即使它在不同的书或不同的位置,你也可以复用这段文本块。”(这打破了“必须从开头匹配”的僵化规则)。
  3. PDEP(提示词依赖/Prompt Depend): “这部分取决于之前出现的所有内容。不要复用它,请重新阅读。”

通过使用这三个标记,用户可以准确地告诉系统哪些部分是可复用的“块”(如文档或代码文件),哪些部分是独特的。

3. “传送带”调度

该论文还引入了一种更聪明的组织工作的方式。

  • 旧方式: 图书馆会先读完所有人所有可复用的文本块,然后在流水线上放一个“停止”标志,然后才开始回答实际的问题。这会让管理员处于闲置状态。
  • MiniPIC 方式(交错调度): 管理员在为下一个人阅读可复用文本块的同时,仍在回答当前那个人的问题。这就像厨师在当前菜肴炖煮时,就开始为下一道菜切菜一样。这让厨房(GPU)始终保持 100% 的忙碌状态。

结果:快速、精简且灵活

论文声称,通过这些改进,他们实现了:

  • 速度: 与标准系统相比,系统的读取和准备数据能力(预填充吞吐量)提升了 49%
  • 即时访问: 对于缓存的文档,获取第一个答案的时间缩短了高达 100 倍(两个数量级)。
  • 极小足迹: 整个系统仅需修改核心引擎中的 78 行代码(外加一个自定义的“注意力”工具)。这就像是通过更换两个微小的火花塞来修理汽车引擎,而不是重建整个引擎。
  • 无惩罚: 当系统不使用这些技巧时,其性能仅下降了约 5.7%,几乎察觉不到。

总结

MiniPIC 是一个轻量级、灵活的升级,它允许 AI 系统无论文本块出现在提示词的什么位置都能进行复用。它通过移除内存中的“位置标签”,并允许用户使用简单的特殊词汇来标记可复用部分来实现这一点。这消除了复杂的、缓慢的复制操作,并让 AI 的工作速度更快,尤其是在处理长文档或重复信息时。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →