推测性缓存预热:在输入提示词时预热缓存,节省10-20秒等待时间
摘要
推测性缓存预热在用户输入提示词时预先处理系统提示词和工具数组,从而在本地LLM推理中节省10-20秒的等待时间。该功能是用于本地AI的开源OpenFox框架的一部分,可在不破坏缓存一致性的前提下提升交互性。
https://preview.redd.it/0g9l1pvqsdch1.png?width=603&format=png&auto=webp&s=33b554fa2e8344205dc586fb4080bb4e472c8abb 大家好,我一直在持续改进OpenFox(MIT许可证——没有任何商业模式),这是一个专注于本地AI的框架,主要针对编程,但你也知道,它也能做其他任何事情。我每天都在用,配合我的2x Spark集群,最近主要使用DS4 Flash。我注意到一个微小的改进机会,虽然算不上革命性,但某种程度上让我豁然开朗。当你创建一个新会话并开始输入提示词时,本地设备会有一段空闲时间。然后你发送提示词,会话开始,你的LLM需要处理:系统提示词(包含AGENTS.md、你的偏好)——根据项目与设置不同,约5K到10K token;工具数组——约1K token;以及提示词本身。我想:“为什么不用这段时间来预热上下文,使用与我发送提示词时完全相同的系统提示词呢?”这就是“推测性缓存预热”的概念。系统提示词加工具数组在你输入时被处理,然后当你发送提示词时,只需处理提示词本身。以500 tps的提示词处理速度计算,这轻松节省10秒,使交互体验更流畅。这是一项边际改进,但基本上是零成本的。
——
顺便提一下,这正是“本地LLM优先”框架对细节的关注。例如,我花了很多精力确保不会破坏缓存,比如保持稳定的系统提示词和工具,并采用仅限主动选择的缓存失效机制(例如,如果AGENTS.md文件更新了,你可以选择随之更新系统提示词)。
相似文章
提示缓存,但用于 RL 训练——在长提示/短回复负载上实现 7.5 倍加速
一种面向开源 RL 训练引擎的全新优化技术在训练过程中引入了提示缓存,通过减少冗余计算,在长提示、短回复负载场景下实现了高达 7.5 倍的加速。
API 中的提示词缓存
OpenAI 推出提示词缓存功能,这是一项自动特性,通过在 GPT-4o、GPT-4o mini、o1-preview 和 o1-mini 模型上重用最近缓存的输入令牌,可将 API 成本降低 50% 并改善延迟。该功能会自动应用于超过 1,024 个令牌的提示词,无需开发者进行集成更改。
我如何在长时间智能体运行中轻松减少约90%的输入token消耗
作者分享了一个实用技巧,通过提示缓存(prompt caching)在长时间智能体运行中将输入token成本降低约90%:将不变文本(系统提示、工具定义、上下文)放在每个提示的开头,以利用LLM提供商的缓存前缀。
@akshay_pachaar:你的 KV 缓存中 90% 从未被重用。(提示缓存从未旨在解决此问题)如果你的系统提示和工具定义…
CacheBlend,EuroSys 2025 最佳论文,解决了由于提示缓存中严格的前缀匹配导致 90% 的 KV 缓存从未被重用的问题。通过选择性地仅重新计算文档之间的边界令牌,它在不损失质量的情况下实现了 2-4 倍的多文档处理速度提升,并在开源 LMCache 层中实现。
为什么感觉大型LLM提供商在故意隐藏提示缓存?
一篇文章讨论提示缓存如何大幅降低LLM API成本,指出提供商对此解释不足,并提供一个简单的规则来构建提示以获得最大缓存命中率。