执行摘要
- 一句话:新增 Qwen3.5-122B GRPO 演示脚本及 VeOmni 依赖升级
- 推荐动作:该 PR 主要是 demo 脚本的添加,对于使用 VeOmniEngine 的用户有参考价值,但核心逻辑简单。建议关注评论中提到的 rollout DP 配置问题,在正式场景中动态计算
infer_dp。CI 依赖升级部分属于常规维护。
功能与动机
为使用 VeOmniEngine 的用户提供参考示例,展示如何对 Qwen3.5-122B-A10B 大模型进行 GRPO 训练,并利用专家并行(EP)提升训练效率。同时保持 CI 依赖版本一致。
实现拆解
- 新增演示脚本:在
examples/grpo_trainer/run_qwen3_5-122b-a10b_veomni.sh 中编写完整的 GRPO 训练配置,包括算法参数(GRPO、GSPO、KL 系数)、数据路径、模型路径、并行度设置(USP、EP)以及 VeOmni 引擎专属配置(参数卸载、优化器卸载、全分片、注意力与 MoE 实现选择)。
- 升级 CI 依赖:在 5 个 CI 工作流文件(
e2e_ppo_trainer_veomni_vllm.yml、e2e_ppo_trainer_veomni_vllm_ascend.yml、e2e_sft_llm.yml、e2e_sft_llm_ascend.yml、e2e_sft_vlm.yml)中将 veomni 依赖版本从 0.1.9a4 升级到 0.1.9a5,确保统一使用最新版本。
- 清理旧脚本:在
run_qwen3_5_35b_a3b_veomni.sh 中删除 2 行未使用的变量,保持脚本整洁。
关键文件:
examples/grpo_trainer/run_qwen3_5-122b-a10b_veomni.sh(模块 示例脚本;类别 other;类型 core-logic): 核心新增演示脚本,展示 Qwen3.5-122B-A10B 在 VeOmniEngine 上启用专家并行(EP)的 GRPO 训练配置,包含完整参数模板。
.github/workflows/e2e_ppo_trainer_veomni_vllm.yml(模块 CI 配置;类别 infra;类型 infrastructure): veomni 依赖版本升级的代表性 CI 文件,确保测试环境统一。
examples/grpo_trainer/run_qwen3_5_35b_a3b_veomni.sh(模块 示例脚本;类别 other;类型 core-logic): 清理未使用变量,保持脚本整洁。
关键符号:未识别
评论区精华
gemini-code-assist[bot] 指出新脚本中 infer_dp 硬编码为 1,在 8 节点 64 GPU 环境下会导致 rollout 阶段 56 张 GPU 闲置,建议改为 infer_dp=$((nnodes * 8 / infer_tp)) 以动态分配。该评论未被采纳(脚本维持原样),但 PR 仍获批合并,可能因当前仅用于 demo 或后续优化。
- rollout infer_dp 配置导致 GPU 闲置 (performance): 评论未被采纳,脚本保持
infer_dp=1,PR 仍获批合并。
风险与影响
- 风险:rollout GPU 利用率低:
infer_dp=1 导致大部分 GPU 在 rollout 阶段空闲,可能影响训练吞吐量,但 demo 场景下影响有限。依赖版本兼容性: veomni 从 0.1.9a4 升级至 0.1.9a5,需确保新版本在 CI 和用户环境中无意外行为。新脚本未包含在 CI 中: 新增的演示脚本未被任何 CI 工作流引用,无法自动验证其正确性,可能引入隐蔽问题。
- 影响:用户: 提供了一份可直接参考的 Qwen3.5-122B 训练脚本,降低了 veomni 用户的上手成本。系统: CI 依赖升级确保后续测试统一使用 veomni 0.1.9a5。团队: 无需额外维护负担,但未来若完善该脚本需关注 rollout 配置优化。
- 风险标记:rollout GPU 资源浪费, 示例脚本未纳入 CI, veomni 版本兼容性
关联脉络
- PR #5631 [rollout] feat: enable Async RL for trtllm rollout: 同为 rollout 引擎扩展,涉及 VeOmni 之外的异步支持,可对比学习。
参与讨论