缓存命中为什么便宜 50 倍 —— 以及它意味着什么
前面说到三种 token 的价格差得极远,输出 100、输入 20、缓存命中 2(每百万 token)。
这个差价不是随便定的,它对应着真实计算量的差别。
差别从哪来
大模型推理时,真正费算力的是「为一句话生成下一个词」。
- 输入 token —— 要把整段提示词过一遍,算出 KV 缓存。算一次,但必须算
- 输出 token —— 每生成一个词,都要把前面所有内容重新跑一遍注意力。最贵
- 缓存命中 —— 这段内容上次已经算过了,直接取结果,不用重算。最便宜
所以「缓存命中」便宜的 50 倍,省掉的是重复计算。
这条对做算力的人意味着什么
如果你的客户是一个反复用同一份长文档的场景(比如客服问答挂在同一套知识库上、
代码助手挂在同一个仓库上),那缓存命中率会很高,成本结构会好看得多。
反过来,如果每次都换全新的长上下文,成本就直接顶到输入那一档。
一次真实的优化:同一个模型、同一张卡,
把「每轮重新塞完整上下文」改成「维持会话缓存」,单位产出的成本能降一个量级。
卡没换、模型没换,改的是软件怎么组织请求。
把「每轮重新塞完整上下文」改成「维持会话缓存」,单位产出的成本能降一个量级。
卡没换、模型没换,改的是软件怎么组织请求。
谈业务时该问的三个问题
- 你的调用是长上下文还是短对话?(决定输入占比)
- 上下文重复度高不高?(决定缓存命中率)
- 输出长度大概多少?(决定最贵那一档占多少)
这三个问题问清楚,再谈价格和配置,才不会出现「机器很好但算下来不赚钱」的情况。
一句话:token 生意的利润不在卡上,在请求的组织方式上。
这篇能拿走什么
读了不算数,拿去用才算。