昇腾 NPU 端到端配置样例
最后更新:2026/04/27。
本文档提供在华为昇腾 NPU 上运行 ROLL 的端到端配置样例,涵盖环境准备、资源切分和启动命令,适用于单机和多机场景。
前置条件
运行本样例前,请确保:
- 已拉取与硬件匹配的预构建昇腾镜像(参见 Docker 使用指南)。
- 已在容器内验证环境(参见 验证环境)。
- 已将模型权重下载到容器可访问的目录。
当前仓库在 examples/ascend_examples 中提供可直接运行的昇腾 RLVR 示例,包括 qwen3_8b_rlvr_deepspeed.yaml 和 run_rlvr_pipeline.sh。
GPU 与 NPU 的关键差异
将 GPU 配置适配到 NPU 时,必须进行以下修改:
| 项目 | GPU | NPU |
|---|---|---|
| 训练后端 | Megatron 或 DeepSpeed | 仅 DeepSpeed(不支持 Megatron) |
| 设备放置 | 支持 Colocated 模式 | 不支持 Colocated 模式;训练和推理必须使用不同的 NPU 卡 |
| 注意力实现 | flash_attn 或 fa2 | 通过 transformers 使用 fa2(不能使用 flash_attn 包) |
| 通信后端 | NCCL | HCCL |
| 设备可见性 | CUDA_VISIBLE_DEVICES | ASCEND_RT_VISIBLE_DEVICES |
样例 1:单机 Agentic 流水线(Qwen2.5-0.5B)
本样例在单个 8 卡 NPU 节点上使用 DeepSpeed ZeRO-3 运行 FrozenLake Agentic 流水线。