预填充阶段

Prefill Phase

Prefill(预填充)是大模型推理的第一阶段:并行处理全部输入 Prompt,计算出所有输入 Token 的 KV 缓存和第一个输出 Token 的概率分布,决定了首 Token 延迟(TTFT)。

详细解释

预填充阶段(Prefill Phase) 就是模型”读完你问题”的那一步。用户把一段 Prompt(系统消息+历史+当前问题)一次性送进模型,模型对所有输入 Token 并行 做 QKV 投影 + 注意力 + FFN 计算,输出两样东西:

  1. 完整的初始 KV Cache(为后续 Decode 阶段复用)
  2. 下一个(第一个)输出 Token 的概率分布

Prefill 是计算密集型:矩阵乘法是并行的,GPU 算力利用率能冲到很高,输入 20 万 Token 时 Prefill 可能花 1–3 秒,直接决定了你 TTFT(首Token延迟) 有多长。

Prefill 的关键特征

维度Prefill 阶段
输入完整 Prompt(N 个 Token,一次全部进入)
计算方式高度并行(一次矩阵乘法算完所有输入)
主要瓶颈GPU 算力(FLOPS)
时间占比长上下文场景占总延迟大头
可优化点提示词缓存(Prompt Caching)

为什么 Prompt Caching 只加速 Prefill

提示词缓存本质就是”缓存 Prefill 阶段算好的 KV 结果”:上一次请求用了相同的前缀,这次 Prefill 跳过前缀部分,直接从缓存里取 KV——节省了 80%+ 的 Prefill 时间,等价于 TTFT 大幅下降

唯元智创(Weimeta)在聚合路由中默认启用”前缀哈希定向调度”,把使用相同 System Prompt + 相同知识库的请求优先路由到同一个上游推理节点,最大化 Prefill 缓存命中率,实测 TTFT 可降低 60%。

常见问题

为什么图片输入 Prefill 时间特别长?
视觉模型会把图片按 patch 切块、编码成几百到几千个视觉 Token,再和文本一起做 Prefill。一张 4K 大图可能等效几万文本 Token,Prefill 时间自然翻数倍。建议缩图后再调用多模态 API。