【VeRL】Qwen3-30B-A3B-DAPO NPU实践指导

作者:昇腾实战派
知识地图链接: 【强化学习】知识地图-CSDN博客

背景概述

在大模型训练过程中,如何高效利用NPU硬件资源并保证训练稳定性是开发者面临的重要挑战。本文基于实际项目经验,分享了在NPU环境下使用VLLM+FSDP后端进行Qwen3-30B模型DAPO训练的完整实践方案。通过详细的版本配置、核心参数调优和部署指导,为开发者提供了一套可复现的高效训练方案。

一、版本信息

硬件平台:Atlas 800T A2

软件版本信息:

组件名称 版本号 备注
HDK 25.0.rc1
Python 3.11
CANN 8.3.RC1 Q3商发版本
torch 2.7.1
torch_npu 2.7.1 Q3商发版本
vllm v0.11.0 https://github.com/vllm-project/vllm/tree/v0.11.0
vllm-ascend v0.11.0rc1 https://github.com/vllm-project/vllm-ascend/tree/v0.11.0rc1
verl main commit: 7d44f22f1a2d30ec1c405f2c6216bf1e1477cc60

二、核心参数

本文以VLLM+FSDP后端为例,启动脚本参考:verl-recipe/dapo/run_dapo_qwen3_moe_30b_base_fsdp_npu.sh at main · verl-project/verl-recipe

根据verl官方仓库的脚本,2机32卡可直接拉起训练,下面介绍一些核心参数

2.1 数据配置

复制代码
data.val_files="${TEST_FILE}" \
data.prompt_key=prompt \
data.max_prompt_length=2048 \
data.max_response_length=20480 \
data.gen_batch_size=1536 \
data.train_batch_size=512 \

参数说明:

  • 指定数据集路径和关键字段
  • 限制prompt和response的最大长度
  • 设置推理和训练的batch size

2.2 并行配置

2.2.1 Actor并行配置

python 复制代码
     actor_rollout_ref.actor.ulysses_sequence_parallel_size=8 \
     actor_rollout_ref.actor.fsdp_config.fsdp_size=-1 \
     actor_rollout_ref.actor.fsdp_config.param_offload=True \
     actor_rollout_ref.actor.fsdp_config.optimizer_offload=True \

配置要点:

  • 采用FSDP全分片 + Ulysses序列并行
  • SP建议设置为8或16,有助于负载均衡
  • offload功能将actor的权重、梯度和优化器状态卸载到CPU

2.2.2 Rollout并行配置

rollout使用TP并行

复制代码
     actor_rollout_ref.rollout.tensor_model_parallel_size=4 \

三、数据集准备

使用dapo-math数据集,执行以下命令进行数据准备:

复制代码
 bash recipe/dapo/prepare_dapo_data.sh

四、部署指导

4.1 安装torch & torch_npu

复制代码
 pip install torch==2.7.1
 pip install torch-npu==2.7.1

4.2 安装vllm & vllm-ascend

复制代码
 # Install vLLM
 git clone --depth 1 --branch v0.11.0 https://github.com/vllm-project/vllm
 cd vllm
 VLLM_TARGET_DEVICE=empty pip install -v -e .
 
 # Install vLLM Ascend
 git clone  --depth 1 --branch v0.11.0rc1 https://github.com/vllm-project/vllm-ascend.git
 cd vllm-ascend
 pip install -v -e .

4.3 安装verl

复制代码
 git clone https://github.com/volcengine/verl.git
 cd verl
 pip install -r requirements-npu.txt
 pip install -e .

4.4 启动训练

在Ray集群的head节点上执行启动脚本:

复制代码
 bash recipe/dapo/run_dapo_qwen3_moe_30b_base_fsdp_npu.sh

五、复现结果样例

5.1 精度数据

5.2 性能数据

相关推荐
Rubin智造社20 小时前
安全先行·自主编程|Claude Code Opus 4.7深度解读:AI开发进入合规量产时代
人工智能·anthropic·claude opus 4.7·mythos preview·xhigh努力等级·/ultrareview命令·自主开发ai
xinlianyq20 小时前
全球 AI 芯片格局生变:英伟达主导训练,国产算力崛起推理
人工智能
ShineWinsu20 小时前
AI训练硬件指南:GPU算力梯队与任务匹配框架
人工智能
范桂飓20 小时前
精选 Skills 清单
人工智能
码农的日常搅屎棍20 小时前
AIAgent开发新选择:OpenHarness极简入门指南
人工智能
AC赳赳老秦20 小时前
OpenClaw生成博客封面图+标题,适配CSDN视觉搜索,提升点击量
运维·人工智能·python·自动化·php·deepseek·openclaw
萝卜小白20 小时前
算法实习Day04-MinerU2.5-pro
人工智能·算法·机器学习
geneculture20 小时前
从人际间性到人机间性:进入人机互助新时代——兼论融智学视域下人类认知第二次大飞跃的理论奠基与实践场域
人工智能·融智学的重要应用·哲学与科学统一性·融智时代(杂志)·人际间性·人机间性·人际间文性
东方品牌观察20 小时前
观澜社张庆解析AI:便利与挑战并存
人工智能
w_t_y_y20 小时前
Agent 开发框架(一)有哪些框架&&A2A协议
人工智能