注意缓存读取成本
摘要
一篇博客文章,解释了在代理型工作负载中,缓存读取成本主导了LLM推理开销,随着每轮重新读取上下文,累计成本呈二次方增长,并建议减少工具调用次数以降低成本。
<p><a href="https://lobste.rs/s/bgvipl/watch_out_for_cache_read_costs">评论</a></p>
查看缓存全文
缓存时间: 2026/08/11 01:04
# 注意缓存读取成本
来源:https://martinalderson.com/posts/watch-out-for-cache-read-costs/
我知道自己过去常常只是扫一眼 OpenRouter 的价格表,关注每百万 token 的输入和输出成本。我意识到,如今这个数字已经不是应该关注的重点,缓存读取成本实际上重要得多。
## 你的大部分支出很可能来自缓存读取
如果你在运行智能体(agentic)工作负载,*缓存读取*几乎可以肯定是成本的最大驱动因素。既然我们已经有了*更长的上下文窗口*(https://martinalderson.com/posts/why-claudes-new-1m-context-length-is-a-big-deal/),你可能需要更新你的心算,把这对定价的影响考虑进去。
以一个假设的智能体会话为例,从 60k 上下文长度开始,每次工具调用产生 500 个输出 token 和 5,000 个读取 token,20 轮后我们得到类似这样的结果:[\[1\]](https://martinalderson.com/posts/watch-out-for-cache-read-costs/#fn1)
| 模型 | 缓存读取 | 新输入 | 输出 | 总计 |
|---|---|---|---|---|
| DeepSeek V4-Flash | $0.01 (18.4%) | $0.02 (72.8%) | $0.00 (8.8%) | $0.03 |
| Claude Opus 5 | $1.04 (44.9%) | $1.03 (44.3%) | $0.25 (10.8%) | $2.32 |
| GPT 5.6 Sol | $1.04 (48.1%) | $0.82 (38.0%) | $0.30 (13.9%) | $2.16 |
缓存读取占了将近一半的费用。现在看看同样的会话进行到 100 轮时的情况:
| 模型 | 缓存读取 | 新输入 | 输出 | 总计 |
|---|---|---|---|---|
| DeepSeek V4-Flash | $0.09 (48.1%) | $0.08 (44.5%) | $0.01 (7.4%) | $0.19 |
| Claude Opus 5 | $16.31** (76.4%)** | $3.78 (17.7%) | $1.25 (5.9%) | $21.34 |
| GPT 5.6 Sol | $29.55** (81.6%)** | $4.70 (13.0%) | $1.96 (5.4%) | $36.20 |
你很快就能看出问题所在。主要的成本驱动因素变成了缓存读取——虽然每一轮你只*新增*了 5.5k token,但*已有*的上下文窗口每一轮都必须被读取,因此累计成本随轮数呈二次方增长。[\[2\]](https://martinalderson.com/posts/watch-out-for-cache-read-costs/#fn2)
这也凸显了*减少*每次运行的工具调用数量对成本的巨大影响。如果你能赋予智能体更专门的工具,从而减少所需轮数,即使只把轮数减少 10%,每次智能体运行的成本也能降低约 16%。
## KV 缓存缩小的情形
虽然上下文窗口的规模急剧膨胀,但它们在内存中的大小已经*迅速缩小*(https://martinalderson.com/posts/a-brief-history-of-kv-cache-compression-developments/)。例如,DeepSeek 的 KV 缓存算法(Compressed Sparse Attention 和 Heavily Compressed Attention),可以在约 5GB 内存中以 ~fp8 精度容纳 1M 的上下文窗口。
这使得 KV 缓存可以被卸载到系统内存,并且越来越多地卸载到 NVMe 固态硬盘上——这也解释了为什么 NVMe 的成本最近飙升。鉴于 KV 缓存压缩的巨大进步,1-5GB 的 KV 缓存可以写入 SSD 并以*极快*的速度读回,尤其是在 RAID 式配置和 PCIe 5.0 闪存存储下(理论上*远*低于 100ms 是可以实现的)。而且由于 Nvidia 和 AMD 都支持 GPU 直接读写 NVMe,数据甚至不需要经过系统内存。因此,一组 NVMe 硬盘可以承载数以万计的智能体会话。
DeepSeek 已经把这作为其推理 API 的一大卖点——以其他提供商同模型十分之一的成本提供缓存读取。在我写这篇文章时,有传闻称他们*正在*提高这个价格,但我确信这是因为他们那边存在巨大的硬件失衡,而非任何根本性原因。我相信市场将开始大幅压低缓存读取的价格。
## 这(大概?)是一个巨大的利润中心
对于前沿实验室来说,缓存读取几乎肯定是利润率高得惊人的业务。你实际上是在反复付费读取几 GB 的 (V)RAM。鉴于大多数服务架构允许你快速将缓存从显存转移到系统内存(甚至 NVMe),你实际上是在以惊人的加价租用几 GB 的系统内存。
上面 100 轮运行的数学计算显示,Opus 5 在缓存读取上花费了 16.31 美元。按每轮两分钟计算,该会话运行约 3.3 小时,上下文在其生命周期内平均约为 330k token,因此即使假设每个 token 占用 30KB(远超 DeepSeek),你也在持有约 10GB 数据。这大约相当于**每 GB-小时 0.5 美元**。AWS 出租内存的价格远低于每 GB-小时 1 美分。
我在这里显然过度简化了,因为分层 KV 缓存存储确实存在超出 RAM 和 NVMe 的成本(例如非常复杂且昂贵的网络,以确保 KV 缓存在正确的时间出现在正确的位置)。但是,如果我们开始看到更多本地和本地部署的 LLM 解决方案,这个成本对大多数组织来说就相当微小——它只会在超大规模下变得非常复杂。
我从中学到的一个关键教训是,缓存读取成本将日益成为你需要关注的主要成本。在使底层缓存变得更小、更小方面已经出现了*巨大*创新,而定价机制却没有真正调整。
---
1. 你的具体情况可能有很大差异,但对于许多文档分析型智能体任务来说,这与我的真实世界经验相符——模型思考一会儿,然后执行一条非常“简短”的 bash 命令来 grep 文档,并*返回*大量 token。我的编码会话也很类似,大部分时间都花在 grep 现有代码而不是编写代码上。我还假设了 100% 的缓存命中率,这对于大多数自主智能体来说可能是合理的。↩︎ (https://martinalderson.com/posts/watch-out-for-cache-read-costs/#fnref1)
2. 这两张表里还藏着第二件事。在 20 轮时,GPT 5.6 Sol 比 Opus 5 *更便宜*(2.16 美元对比 2.32 美元)。到 100 轮时,它贵了 70%(36.20 美元对比 21.34 美元)。这不是四舍五入造成的假象——一旦输入 token 超过 272k,OpenAI 会按 2 倍输入和 1.5 倍输出的价格对*整个调用*重新定价,因此此后的每一轮成本都会翻倍。Anthropic 明确不这样做,并如此表示:“一个 900k-token 的请求按与 9k-token 请求相同的每 token 费率计费”。在上述运行中,仅这一处悬崖就使 GPT 5.6 Sol 的账单增加了 76%。而这正是重点所在——价目表告诉你 GPT 5.6 Sol 是更便宜的选择,但对于任何长时间运行的会话来说,这个说法都是错误的。↩︎ (https://martinalderson.com/posts/watch-out-for-cache-read-costs/#fnref2)
相似文章
@bojie_li:如果你在生产环境中运行LLM智能体,你就会明白其中的代价。每一轮都要重新读取相同的长上下文——系统策略、工具……
研究人员提出了可编程KV缓存(Programmable KV Cache),这是一种用于编辑和组合KV缓存的方法,旨在避免LLM智能体推理过程中重新预填充长上下文,在保持决策一致性的同时,将p90首令牌时间减少了53至398倍。
@akshay_pachaar: https://x.com/akshay_pachaar/status/2074502882812952666
一份关于KV缓存管理的实践指南,介绍开源LMCache架构,该架构通过消除代理工作流中的冗余上下文处理,将输入令牌成本降低90%,并将LLM推理速度提升高达14倍。
@Alacritic_Super: 如果你在构建生产级 LLM 应用,学习 LLM 缓存。缓存可降低延迟、GPU 利用率和 AP…
本文强调了在生产系统中使用 LLM 缓存的重要性,以减少延迟、GPU 利用率和成本,并介绍了 LMCache,这是一个用于可扩展 LLM 推理的开源 KV 缓存管理层。
@techNmak: 你的LLM推理正在消耗50%的计算资源在已经完成的工作上。如果你正在运行RAG或多轮对话,……
LMCache是一个开源库,它使KV缓存持久化并可在请求之间共享,消除了RAG和多轮对话工作负载中的重复计算,实现了高达15倍的吞吐量提升和3-10倍的首令牌时间减少。
@h100envy: 前vLLM核心贡献者用34分钟解释如何将LLM推理成本降低10倍——比$3000的推理优化训练营更有效
一位前vLLM核心贡献者解释了如何通过LMCache将KV缓存卸载到CPU/SSD/远程存储,从而使LLM推理成本降低10倍,这一技术已被彭博等生产环境采用。