主流大模型的Cache机制对比

491 阅读3分钟

PromptCaching / ContextCache 区别

  • Prompt Caching:站在“计费 + 文本比对”角度——“这段文字我上次已经付费处理过”
  • Context / KV Cache:站在“底层推理加速”角度——“这段 token 的注意力 Key/Value 已经算好,直接拷贝显存”

两者经常被打包,但并不完全等同:前者可以单独存在于费用层,后者则是深度优化推理流程。

概念关注点工作层级典型叫法
Prompt Caching“提示词文本” 是否已经付费处理过计费 / API 层OpenAI “cached prompt tokens”、DeepSeek “prompt_cache_hit_tokens”
Context (KV) CacheTransformer 已算好的 Key/Value 表 是否能直接复用推理核心 / GPU 显存层vLLM “KV‑Cache reuse”、Gemini “context cache”、Anthropic “retrieved cache”

1. Prompt Caching(计费缓存)

  1. 判断粒度: 纯文本(token 序列)是否与历史请求前缀 哈希一致

  2. 目的:

    • 计费折扣 —— 同一前缀不重复收钱或少收。
    • 省前序推理时间 —— 服务端跳过对这段文本的 tokenization 和 embedding。
  3. 和模型本身无关:即使你用的是不支持 KV cache 的旧模型,厂商仍可在 API 网关层做 Prompt 缓存。

  4. 局限: 只能整段命中;你只要改动一个标点就会 MISS。

实际应用:在助手型应用里,一段 “系统指令 + few‑shot 示例” 经常复用,Prompt Caching 能立刻省钱。

2. Context / KV Cache(推理缓存)

  1. 判断粒度: Transformer 层每个 token 生成的 Key/Value 向量

  2. 目的:

    • 显著降低 GPU 计算量 —— 后续 token 只需与新输入交互,而不用重复扫老 token。
    • 支持超长上下文 —— KV 存在外部高速缓存或 CPU 内存,避免显存爆炸。
  3. 与模型 Serve 框架强绑定:需要 vLLM、Triton 等在后端维护 KV‑Cache 映射;不同 batch 共享。

3. 如何利用两种缓存 

目标做法
省钱(封装 API)把固定 System/Few‑shot Prompt 提前传,确保格式稳定(别多空格),让 Prompt Cache 命中率 > 90%。
提速(自托管模型)用 vLLM / TGI 开启 KV Reuse,分批送 token;并在长对话中保留 message‑id,让服务端知道可复用 KV。
可控性需要明确 TTL 和手动失效,则选支持显式 Context Cache 资源的方案(Gemini、Claude)。OpenAI/Qwen 走隐式策略,无法设 TTL。

主流模型的差异

启用方式、最小缓存阈值、默认 TTL、计费规则、开发者可控性 等方面的差异。

模型启用方式最小可缓存 tokens默认 TTL(Time 2 Live)计费规则(写入 / 命中)开发者可控点
GPT‑4o / 4.1自动,只要前缀 > 1024 tokens 即生效1 024官方未公开(内部策略)写入 = 正常价;命中 = ‑75 %(0.5×)仅统计字段 cached_tokens;TTL 不可调
Claude 4 (Opus / Sonnet)显式 cache_control 标记前缀任意长度5 min / 1 h 二档写入 = 1.25× / 2×;命中 = 0.1×TTL 档位、是否缓存由开发者决定
Gemini 2.5 Pro / Flash两种
① 自动(同上阈值)
② 显式创建 cache 资源并引用
Pro = 2 048
Flash = 1 024
60 min,可设更长写入 = 正常价;命中 = ‑75 %可创建 / 更新 / 删除 cache;可设 TTL
DeepSeek V3 / R1自动;64 tokens 为存储块≥ 64几小时‑数天,自动清理写入 = 1 元 / MTok;命中 = ‑90 %(0.1 元)无 TTL 控制;prompt_cache_hit_tokens 计数
Qwen 2.5自动;内容 < 256 tokens 不缓存≥ 256不公开(空闲后自动回收)命中部分按 0.4× 单价收费仅展示 cached_tokens;TTL 不可调
Grok 4自动开启,可在控制台关闭未公开未公开命中部分按「Cached prompt tokens」优惠价只能查看 usage.cached_prompt_tokens