Prhub

#7594 [recipe, cfg] fix: enable sleep mode for KV cache release

原始 PR 作者 lxb007981 合并时间 2026-08-31 10:27 文件变更 3 提交数 1 评论 0 代码增减 +2 / -4

执行摘要

修复 fully-async 脚本中缺失的 sleep_mode 启用配置,保障 KV 缓存回收功能正常。

根据 PR body 描述,'When enable_sleep_mode was disabled, vLLM will reject sleep/wake_up APIs, which will cause the rollout to fail.'。此 PR 的目的是纠正那些在 PR#7373 中引入、但配置不当的脚本,使其与新的 KV 缓存释放机制兼容。

此 PR 值得精读,虽然代码改动微小,但它揭示了 vLLM 组件间一个关键的配置依赖关系(sleep mode 对 KV 缓存回收 API 的必要性)。对于维护或扩展 fully-async 功能的开发者尤其重要,需确保所有启动脚本的配置一致。

讨论亮点

无具体评论。PR 仅由 reviewer wuxibin89 以批准状态合并,未留下讨论内容。

实现拆解

  1. 识别不兼容配置:扫描 verl/experimental/fully_async_policy/shell/ 目录下的启动脚本,找出其中显式将 enable_sleep_mode 设置为 False 的配置行。
  2. 修正脚本配置:对于 dapo_30b_a3b_base_math_fsdp.sh,将 enable_sleep_mode=False 改为 enable_sleep_mode=True。对于 geo3k_qwen3vl_30b_a3b_fsdp2_32_32.shdapo_30b_a3b_math_fsdp_npu.sh,移除了显式设置 enable_sleep_mode=False 的行,使其使用默认值(应为 True)。
  3. 确保文件格式正确:在 geo3k_qwen3vl_30b_a3b_fsdp2_32_32.sh 文件末尾添加了缺失的换行符。
文件 模块 状态 重要度
verl/experimental/fully_async_policy/shell/dapo_30b_a3b_base_math_fsdp.sh 异步策略 modified 3.51
verl/experimental/fully_async_policy/shell/geo3k_qwen3vl_30b_a3b_fsdp2_32_32.sh 异步策略 modified 3.04
verl/experimental/fully_async_policy/shell/dapo_30b_a3b_math_fsdp_npu.sh 异步策略 modified 2.4

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

  1. 配置遗漏风险:变更仅修复了特定的几个实验性脚本。如果用户有其他自定义的或未更新的启动脚本,且其中配置了 enable_sleep_mode=False,rollout 仍会失败。这依赖于文档和社区沟通来确保所有用户知晓此配置要求。
  2. 回归风险:修复将配置从禁用改为启用,理论上不会导致功能回归,但需确保 vLLM 在启用 sleep mode 时的性能与资源开销在预期之内。

影响范围:仅影响使用 verl/experimental/fully_async_policy/ 下特定脚本的用户。影响程度:严重性高,因为它修复了一个会导致 rollout 完全失败的配置问题。对于已部署这些脚本的用户,更新后能立即恢复功能。

配置项遗漏 实验性功能依赖

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论