推理与生成

别名:Inference / Generation / GPU Inference / Prefill / Decode / Prefill 阶段 / Decode 阶段

模型跑起来生成文本的过程:Prefill 并行处理 prompt,Decode 逐 token 生成并流式输出。

更新于 2026/11/08
推理生成部署

一句话定义

推理是让训练好的模型对新输入做前向计算;生成是自回归地一个 token 一个 token 产出文本。一次请求通常分成 Prefill 和 Decode 两个阶段。

为什么需要区分

Prefill 把整段 prompt 并行送进模型,计算密集,决定首 token 延迟(TTFT);Decode 每步只生成一个 token,受显存带宽限制,决定每 token 耗时(TPOT)。两者的优化手段完全不同。

怎么工作

  1. Prefill:并行处理 prompt,计算并保存 KV Cache。
  2. Decode:每步用上一步的 KV Cache,生成一个新 token。
  3. 新 token 追加到序列,重复 Decode,直到结束。
  4. 结果可以流式输出,用户不必等整段生成完。

推理与生成:Prefill + Decode

关键取舍

  • Prefill 看算力和批处理;Decode 看 KV Cache、量化和解码策略。
  • batch 越大吞吐越高,但延迟和显存也会上升。
  • GPU 推理不是必然更快:小模型、低并发或数据搬运多时,CPU/边缘设备可能更合适。
  • 流式输出改善体验,但不改变总生成时间。

常见误区

  • 推理不是训练:不更新权重,只做前向。
  • Prefill 和 Decode 不是一回事:一个并行、一个逐 token。
  • GPU Inference 一定比 CPU 快:要看模型大小、batch、内存带宽。
  • 生成速度只看模型:KV Cache、批处理、解码策略同样关键。

用在哪里

  • 在线对话、代码补全、RAG 回答、Agent 工具调用。
  • 离线批处理、边缘推理、流式语音/文本。
  • 优化 TTFT 看 Prefill,优化 TPOT 看 Decode。

相关概念