Prhub

#7041 [fully_async] fix: qwen2.5-0.5b fully async OOM bug fix

原始 PR 作者 zhouhengan1211 合并时间 2026-07-15 09:28 文件变更 1 提交数 1 评论 0 代码增减 +2 / -2

执行摘要

降低权重同步桶大小和 GPU 显存占比,修复 OOM

PR body 指出 recv_buf 是全异步算法中权重同步需要的额外内存,之前分配过大或推理引擎占用过多 GPU 显存导致 OOM,需减小 recv_buf 大小和显存占用比例。

该 PR 是典型的运行时显存调优,无复杂逻辑变更,可作为全异步训练 OOM 问题的参考案例;若你也在 Ascend 上跑全异步训练,建议同步此调整。

讨论亮点

无 review 讨论,仅 robot 评论总结变更内容。

实现拆解

  1. 在测试脚本 tests/special_e2e/run_fully_async_policy.sh 的 fsdp2 分支中,将 actor_rollout_ref.rollout.checkpoint_engine.update_weights_bucket_megabytes 从 1024 改为 512,减小单个权重同步桶的大小,使 recv_buf 分配更轻量。
  2. 在同一脚本的 NPU 特定配置中,将 actor_rollout_ref.rollout.gpu_memory_utilization 从 0.70 降为 0.50,降低推理引擎的显存占用比例,为 recv_buf 和其他训练组件腾出空间。
  3. 两项变更均针对 fsdp2 策略下的全异步训练场景,属于显存使用量的调优修复。
文件 模块 状态 重要度
tests/special_e2e/run_fully_async_policy.sh 全异步策略 modified 3.99

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

评论区精华

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

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

风险与影响

风险较低:仅涉及测试脚本中的两个配置参数调整,极小幅度可能影响训练速度(更小的桶增加通信次数,更低的显存利用率可能降低推理吞吐),但主要目标是修复 OOM,不会引入功能性破坏。

直接影响 fsdp2 全异步训练在 Ascend NPU 上的显存使用,修复了 OOM 问题;对其他训练模式(megatron、非全异步)无影响;用户若需要复原旧配置可自行调整脚本。

配置参数调整 主要影响 NPU 场景

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论