← 返回概念解读

Concept Fable精修版

缓存卸载

KV Cache Offloading · Inference

先读故事。这里不急着给定义,先让问题自己长出来。

寓言故事

议事厅把旧卷宗搬到隔壁库房以后

港口仲裁院处理长合同纠纷。法官桌上必须放着合同、附件、来往信件和历次裁定,短案子一桌能放下,长案子却把桌面堆满。

案件变多后,书记开始把所有卷宗都挤在主桌上。结果新案进不来,旧案翻不动,桌子最贵的位置被很少查到的旧页占住。

院长先买了更大的桌子,又让书记把字写小。可长合同增长得更快,桌面仍很快被占满,真正正在审的段落也找不到位置。

有人提议把旧卷宗扔掉,只保留摘要。几次审错后,大家发现有些冷门条款突然会决定结果,不能简单丢。

后来库房管理员把卷宗分层:正在审的页放主桌,可能马上用到的放身后架子,很久才查一次的放隔壁库房。需要时可以调回,但要承认会慢一点。

他还给每个案件贴上编号,保证甲公司的合同不会被乙公司调走;哪些页能离桌,哪些页必须留在手边,也有明确规则。

仲裁院终于能同时处理更多长案。代价是有些查阅会慢半拍,但比让主桌被全部卷宗挤爆要好得多。

院长明白,问题不是卷宗有没有价值,而是不同卷宗占用的位置价值不同。最贵的桌面应该留给最热、最需要即时访问的内容。从那以后,长合同案不再盲目争抢主桌。能搬走的搬走,必须快查的留下,系统用分层存放换来了更长上下文和更高并发。书记也学会记录搬动代价:搬太多会慢,搬太少会挤爆主桌。每个案件都在快取和远存之间找平衡,而不是一味堆在眼前。院长后来把这件事写进院规:珍贵的位置不是给最厚的卷宗,而是给下一刻最可能被翻到的页。这样,慢一点的调取换来了更多案子同时开审。

揭示

这个故事讲的是:缓存卸载

KV 缓存卸载是把不那么活跃的 KV 缓存块从 GPU 显存搬到 CPU 内存或 SSD。这样系统可以支持更长上下文或更多并发请求,而不完全受 GPU 显存限制。

代价是取回这些缓存会更慢,所以它是在容量和延迟之间做权衡。好的策略要决定哪些缓存块留在 GPU 里保持“热”,哪些可以暂时搬出去。

隐喻映射

  • 主桌:GPU memory
  • 隔壁库房:CPU RAM 或 SSD
  • 长合同卷宗:长上下文产生的大量 KV cache
  • 买更大桌子:单纯增加 GPU 显存
  • 扔掉旧卷宗:不安全的上下文截断
  • 分层存放:KV cache offloading policy
  • 慢半拍:offload 带来的访问延迟
  • 最后洞察:KV Cache Offloading 用更慢的存储扩展容量,适合长上下文和高并发,但必须管理延迟代价

Soloharness 判断

这个概念的实战价值,是帮你把“看起来聪明的 AI 功能”拆成可交付、可验收、可治理的工作单元。

KV cachelong contextmemory optimization