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

相关推荐
牧子川13 小时前
009-Transformer-Architecture
人工智能·深度学习·transformer
covco14 小时前
矩阵管理系统指南:拆解星链引擎的架构设计与全链路落地实践
大数据·人工智能·矩阵
沪漂阿龙14 小时前
AI大模型面试题:支持向量机是什么?间隔最大化、软间隔、核函数、LinearSVC 全面拆解
人工智能·算法·支持向量机
lifewange14 小时前
AI编写测试用例工具介绍
人工智能·测试用例
陕西字符14 小时前
2026 西安 豆包获客优化技术深度解析:企来客科技 AI 全域获客系统测评
大数据·人工智能
掘金安东尼14 小时前
GGUF、GPTQ、AWQ、EXL2、MLX、VMLX...运行大模型,为什么会有这么多格式?
人工智能
新知图书14 小时前
市场分析报告自动化生成(使用千问)
人工智能·ai助手·千问·高效办公
无心水14 小时前
【Hermes:安全、权限与生产环境】38、Hermes Agent 安全四层纵深:最小权限原则从理论到落地的完全指南
人工智能·安全·mcp协议·openclaw·养龙虾·hermes·honcho
旦莫14 小时前
AI驱动的纯视觉自动化测试:知识库里应该积累什么知识内容
人工智能·python·测试开发·pytest·ai测试
dfsj6601115 小时前
第四章:深度学习革命
人工智能·深度学习