什么是 解码阶段(Decode Phase)?
解码阶段(Decode Phase)是 LLM 推理中使用预填充阶段创建的 KV Cache,逐个 token 生成输出的阶段。
工作原理
解码阶段从预填充之后开始,直到模型达到停止条件、输出长度上限或流式终止。不同于预填充,单个请求的解码是顺序的,因为每个新 token 都依赖此前生成的 token。因此,解码性能直接影响每秒 Token 数、流式响应、GPU 显存压力和服务吞吐量。连续批处理、推测解码、高效 KV Cache 管理和优化注意力内核都在针对解码瓶颈。
主要特点
- 为每个活跃请求逐个生成输出 token
- 复用预填充生成的 KV Cache,并追加新的缓存条目
- 通常决定流式速度和每秒 Token 数
- 许多服务负载中受显存访问限制,因为注意力要读取缓存状态
- 可通过批处理、推测解码和高效缓存管理优化
常见用途
- 衡量第一个 token 出现后的输出生成速度
- 排查 LLM 服务流式响应变慢的问题
- 为长输出和高并发用户估算 GPU 显存
- 评估推测解码和连续批处理带来的收益
- 区分提示词处理延迟和生成延迟
示例
loading...
Loading code...常见问题
为什么解码阶段每个 token 通常比预填充慢?
单个请求的解码是顺序的,因为每个生成 token 都依赖此前 token,这限制了并行度。
解码阶段会影响 TTFT 吗?
TTFT 包含第一次解码步骤,但长解码延迟主要影响总响应时间和流式速度。
什么能提升解码性能?
连续批处理、高效 KV Cache 显存管理、优化注意力内核和推测解码都可能提升性能。
为什么输出长度会影响解码?
每增加一个输出 token 都需要多一次解码步骤,因此更长答案会增加总生成延迟。