VeRL Rollout Inference
导言
RL 中的 rollout 不是普通离线推理。它不仅要生成 response,还要和训练阶段共享策略版本、返回 token 级信息,并参与后续 logprob、reward 和 advantage 计算。
1. Rollout 与普通推理的差异¶
- 普通推理关注 latency / throughput。
- RL rollout 还要关注 policy version、sample id、group id、response mask、logprob 口径。
- rollout 输出要能无损进入 reward、old logprob、ref logprob 和 actor update。
2. Rollout 输入输出¶
- 输入:prompt ids、attention mask、sampling params。
- 输出:response ids、response mask、full sequence、metadata。
- 可选输出:logprobs、finish reason、abort status。
3. vLLM / SGLang Backend¶
3.1 初始化¶
- engine 构建。
- 权重加载或权重同步。
- KV cache 初始化。
- 调度器配置。
3.2 执行流程¶
- prefill
- decode
- sampling
- output postprocess
- DataProto 回填
4. TQ Feature¶
待验证
这里不能先假定 TQ 的准确含义。后续需要回到 verl 代码、Ascend 优化文档和内部资料确认:TQ 是 token queue、task queue、transfer queue,还是其他专名。
需要回答:
- 如何开关:配置项还是环境变量。
- 代码位置:rollout engine、scheduler、worker 还是 Ascend 适配层。
- 特性逻辑:它改变了请求调度、token packing、通信还是 H2D / D2H。
- 实践效果:对 latency、throughput、MFU / SMA 的影响。
- 为什么默认不开:环境依赖、稳定性、兼容性、收益场景不稳定。
5. 推理服务化¶
5.1 内嵌式 rollout¶
- 优点:路径短,调试直接。
- 缺点:生命周期和训练耦合,弹性差。
5.2 服务化 rollout¶
- 优点:隔离推理资源,便于弹性扩缩,便于多训练任务复用。
- 风险:网络延迟、故障恢复、权重同步、策略版本一致性。
6. 推理侧 DFX¶
- TTFT
- TPOT
- request latency
- prefill throughput
- decode throughput
- KV cache utilization
- abort ratio
- timeout ratio
- response clip ratio
7. 待验证项¶
- vLLM / SGLang backend 在 release/v0.7.1 的代码路径。
- Ascend vLLM 特性的环境变量和默认值。
- 推理服务化是否已有标准示例或内部实现。
- rollout 返回 logprob 的口径与 actor compute_log_prob 是否一致。