推理服务
KV cache offload
也称为 KV cache offload、CPU offload、KV 卸载
先用大白话
把芯片放不下的注意力状态暂存到主机内存,长会话下一轮就能直接恢复,而不必整段重算。
技术定义
KV cache offload 把 KV block 从加速器显存移到更慢的存储层(通常是主机 DRAM),并在后续请求复用该前缀时再读回来。
工程细节
offload 通常实现为写穿缓存:写入 HBM 缓存的前缀会同时写入较慢的一层,因此当 offload 池容量大致是 HBM 的 1.5 到 3 倍时效果最好。在 agentic 的上下文长度下,重新载入长前缀远比重算划算;但对短提示词结论相反,传输开销会超过它省下的 prefill。
为什么重要
长 agentic 会话超出 HBM 中 KV 容量的时间,远早于超出合理的 DRAM 预算,因此 offload 决定了有多少并发对话仍可恢复。它也会转移瓶颈:前缀能够留存之后,store 与 load 路径、传输批量化和索引记账才是值得优化的开销。
如何在 InferenceX 中解读
InferenceX 会给每个使用了 offload 的数据点加上虚线光环,无论它是否位于 Pareto 前沿;点详情视图还会给出 offload 类型、引擎,以及芯片与 CPU 两侧的缓存命中率。offload 属于允许但可选的优化,因此同一条曲线上可以同时存在启用和未启用的数据点。