什么是 解码阶段(Decode Phase)?

解码阶段(Decode Phase)是 LLM 推理中使用预填充阶段创建的 KV Cache,逐个 token 生成输出的阶段。

工作原理

解码阶段从预填充之后开始,直到模型达到停止条件、输出长度上限或流式终止。不同于预填充,单个请求的解码是顺序的,因为每个新 token 都依赖此前生成的 token。因此,解码性能直接影响每秒 Token 数、流式响应、GPU 显存压力和服务吞吐量。连续批处理、推测解码、高效 KV Cache 管理和优化注意力内核都在针对解码瓶颈。

主要特点

  • 为每个活跃请求逐个生成输出 token
  • 复用预填充生成的 KV Cache,并追加新的缓存条目
  • 通常决定流式速度和每秒 Token 数
  • 许多服务负载中受显存访问限制,因为注意力要读取缓存状态
  • 可通过批处理、推测解码和高效缓存管理优化

常见用途

  1. 衡量第一个 token 出现后的输出生成速度
  2. 排查 LLM 服务流式响应变慢的问题
  3. 为长输出和高并发用户估算 GPU 显存
  4. 评估推测解码和连续批处理带来的收益
  5. 区分提示词处理延迟和生成延迟

示例

loading...
Loading code...

常见问题

为什么解码阶段每个 token 通常比预填充慢?

单个请求的解码是顺序的,因为每个生成 token 都依赖此前 token,这限制了并行度。

解码阶段会影响 TTFT 吗?

TTFT 包含第一次解码步骤,但长解码延迟主要影响总响应时间和流式速度。

什么能提升解码性能?

连续批处理、高效 KV Cache 显存管理、优化注意力内核和推测解码都可能提升性能。

为什么输出长度会影响解码?

每增加一个输出 token 都需要多一次解码步骤,因此更长答案会增加总生成延迟。

相关工具

相关术语

相关文章