# 训练 DeepSeek 671b 最后更新: 08/20/2025. verl 集成了 Megatron,以支持大规模的 MoE 模型,例如 `Qwen3-235B-A22B` 和 `deepseek-ai/DeepSeek-V3`。这是一项正在进行的社区努力。 在这个过程中,社区添加了以下功能和优化,使 verl 能够处理更大的模型: - rollout 和训练之间的按张量权重重新分片 - 通过 megatron 启用的上下文并行和专家并行 - megatron 的动态批大小(序列平衡) - 减少 Ray 相关的序列化开销 - 优化器卸载、重新计算以及高效内核 - 各种调试指标和工具 - 混合优化器 现在 megatron 后端支持的模型列表更广泛: - DeepSeek-V3 - Moonlight - Qwen3 - Qwen2.5-VL(即将合并) - Qwen2 - Mixtral ## 开始使用 ### 准备工作 推荐的带有预构建 Megatron 依赖的镜像为 `verlai/verl:app-verl0.4-vllm0.8.5-mcore0.13.0-preview`,该镜像使用 [docker/verl0.4-cu124-torch2.6-fa2.7.4/Dockerfile.app.vllm.mcore0.13.preview](https://github.com/volcengine/verl/blob/main/docker/verl0.4-cu124-torch2.6-fa2.7.4/Dockerfile.app.vllm.mcore0.13.preview) 中的 Dockerfile 构建。 该镜像在配备 DeepEP 的 Hopper GPU 上构建。不支持非 Hopper GPU,例如 A100。你可能需要重新安装 DeepEP 以便与 A100 配合工作。 当 `OFFLOAD_FRACTION=1` 时,系统的最低要求降低。它可以在至少 96 个 H20(96GB)GPU 上运行 DeepSeek-V3,也可以在至少 32 个 H20(96GB)GPU 上运行 Qwen3-235B-A22B。不过,此配置将使用每个节点 1.6TB 的 CPU 内存。如果你 CPU 内存不足或需要更快的训练速度,可以添加更多节点。 ### DeepSeek 671b 对于 DeepSeek-V3 671b,请参考 [examples/grpo_trainer/run_deepseek671b_math_megatron_96gb.sh](https://github.com/volcengine/verl/blob/main/examples/grpo_trainer/run_deepseek671b_math_megatron_96gb.sh)。 在 RL 训练过程中,MTP(多教师蒸馏)和量化被禁用。 要训练你的项目,请根据可用 GPU 的数量配置以下环境变量。这些是推荐设置,可根据你的具体硬件进行调整。 | num gpus | NNODES | TP | PP | EP | OFFLOAD_FRACTION | OFFLOAD_OPTIM | LAST_LAYER | | -- | -- | -- | -- | -- | -- | -- | -- | | 96 | 12 | 8 | 12 | 8 | 1. | False | 6 | | 128 | 16 | 8 | 16 | 8 | 0.5 | True | 1 | | 256 | 32 | 8 | 16 | 8 | 0. | True | 1 | | 512 | 64 | 1 | 16 | 32 | 0 | True | 1 | ### Qwen3 235b 对于 Qwen3-235b,请参考 [examples/grpo_trainer/run_qwen3-235b_megatron_96gb.sh](https://github.com/volcengine/verl/blob/main/examples/grpo_trainer/run_qwen3-235b_megatron_96gb.sh)。 要训练你的项目,请根据可用 GPU 的数量配置以下环境变量。这些是推荐设置,可根据你的具体硬件进行调整。 | num gpus | NNODES | TP | PP | EP | OFFLOAD_FRACTION | OFFLOAD_OPTIM | LAST_LAYER | | -- | -- | -- | -- | -- | -- | -- | -- | | 32 | 4 | 4 | 8 | 4 | 1. | False | 6 | | 64 | 8 | 4 | 8 | 4 | 0.5 | True | 6 | | 128 | 16 | 4 | 8 | 4 | 0 | True | 6 | | 256 | 32 | 4 | 8 | 4 | 0 | True | 6 | ### 基准测试 以下是 DeepSeek / Qwen3-235B 的一些基准测试结果。所有配置与基于 GPU 数量的推荐设置匹配。 | 模型 | GPU 数量 | 平均响应长度 | rollout 时间(秒) | GPU 内存(GB) | CPU 内存(GB) | MFU | 步骤时间(秒) | | -- | -- | -- | -- | -- | -- | -- | -- | | DeepSeek 671b | 96 | 1960 | 1050 | 66 | 1500 | 0.19 | 1700 | ### Qwen3-30B-A3B MOE 对于 Qwen3-30b,请参考 [examples/grpo_trainer/run_qwen3moe-30b_megatron_96gb.sh](https://github.com/volcengine/verl/blob/main/examples/grpo_trainer/run_qwen3moe-30b_megatron_96gb.sh)。 要训练你的项目,请根据可用 GPU 的数量配置以下环境变量。这些是推荐设置,可根据你的具体硬件进行调整。 | num gpus | NNODES | TP | PP | EP | OFFLOAD_FRACTION | OFFLOAD_OPTIM | MFU | | -- | -- | -- | -- | -- | -- | -- | -- | 8 | 1 | 1 | 1 | 8 | 1. | True | 0.4 | | 16 | 2 | 1 | 1 | 8 | 1. | True | 0.37 | | 32 | 4 | 1 | 1 | 8 | 1. | True | 0.31 | ## 即将推出的优化 社区将继续优化大规模 MoE 模型,正在进行的努力包括: - 进一步优化内存消耗,并为各种机器类型提供推荐/调优配置 - 优化长上下文 RL 训练性能 - 使用 SGLang x Megatron 提升性能 我们邀请社区一起尝试并改进 verl。与我们在 [slack](https://join.slack.com/t/verlgroup/shared_invite/zt-2w5p9o4c3-yy0x2Q56s_VlGLsJ93A6vA)/[wechat](https://raw.githubusercontent.com/eric-haibin-lin/verl-community/refs/heads/main/WeChat.JPG)/[Github issues](https://github.com/volcengine/verl/issues/708) 上联系! ## 致谢 @vermouth1992 @ISEEKYAN @ETOgaosion @yzlnew @ShareLer @BearBiscuit05 @ccclyu @ann-qin-lu @SwordFaith @zzong2006 @zhaochenyang20 @ocss884 @eric-haibin-lin @chenhaiq @techkang