【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 性能数据

相关推荐
智感子1 小时前
测控链路:从传感器到上位机
人工智能·嵌入式硬件·fpga开发
人工智能技术咨询.4 小时前
具身智能中的世界模型训练
人工智能
LaughingZhu4 小时前
Product Hunt 每日热榜 | 2026-10-06
人工智能·深度学习·神经网络·搜索引擎·百度
AOI小白新手上路4 小时前
AOI 缺陷检测复现实操指南:Anomalib + MVTec AD(glass)与 YOLOv8 + NEU-DET 两条路线
人工智能·深度学习·yolo
henrylin99995 小时前
RD-AGENT 第一讲 · AI 因子工厂是怎么运转的
人工智能
高洁015 小时前
具身智能中的世界模型训练
人工智能·python·深度学习·机器学习·transformer
无线通信科研笔记5 小时前
IEEE TVT 2026 论文精读与完整复现|相位误差如何重塑近场 RIS 的幅相响应
论文阅读·人工智能·python·算法·论文笔记
Devlive 开源社区5 小时前
AuthX 正式更名 GrantForge:我们重新做了一遍权限管理系统
大数据·人工智能·架构
朝朝辞暮i5 小时前
VLA 系统学习第 1 课:VLA 到底在干什么?
人工智能·python·计算机视觉·vla
鲲穹AI种草5 小时前
AI 壁纸生成工具怎么选?鲲穹 AI 壁纸工具功能实测与横向对比
人工智能·壁纸生成工具