docs/ascend_tutorial/get_start/install_guidance.rst
Last updated: 05/20/2026.
PR #6291 <https://github.com/verl-project/verl/pull/6291>__\ 将 vLLM /
vLLM-Ascend 从 0.13.0 更新为 0.18.0\ ,vLLM
对应基础环境版本同步调整为 torch 2.9.0\ 、torch_npu
2.9.0.post2\ 。trainer.device=npu\ ;新增特性仍可通过设置 trainer.device
优先指定设备类型。..
[说明] 自动识别 NPU 设备类型的前提,是运行程序所在环境包含
torch_npu 软件包。如环境中不包含 torch_npu\ ,仍需显式指定
trainer.device=npu\ 。
硬件支持 <#硬件支持>_框架后端支持说明 <#框架后端支持说明>_部署指南 <#部署指南>_
Docker镜像获取、构建和使用 <#1-docker镜像获取构建和使用>_自定义安装-vLLM + FSDP/Megatron <#2-自定义安装-vllm--fsdpmegatron>_自定义安装-SGLang + FSDP/Megatron <#3-自定义安装-sglang--fsdpmegatron>_训练后端拓展-MindSpeed-LLM后端部署 <#4-训练后端拓展>_附录 <#附录>_Atlas 200T A2 Box16
Atlas 900 A2 PODc
Atlas 800T A3
当前NPU上支持以下常见训推后端的部署,您可以根据我们的 镜像部署指南 <dockerfile_build_guidance.rst>__ 直接获取发布的镜像,也可以根据下文进行自定义安装。
.. list-table:: :header-rows: 1
训练后端拓展
verl将训推后端抽象解耦,支持灵活接入自定义各类训推后端,当前拓展训练后端如下:
MindSpeed-LLM:MindSpeed-LLM是基于昇腾生态的大语言模型分布式训练套件,当前已接入verl,安装部署方法参照章节 `训练后端拓展-MindSpeed-LLM后端部署 <#mindspeed-llm-训练后端支持>`_
部署指南
--------
1. Docker镜像获取、构建和使用
您可以从 quay.io/ascend/verl <https://quay.io/repository/ascend/verl?tab=tags&tag=latest>_ 获取相关镜像,或者自行从DockerFile构建,相关说明参照
镜像部署指南 <dockerfile_build_guidance.rst>__\ 。
关键版本支持与依赖
^^^^^^^^^^^^^^^^^
============= ======================================= ===================
依赖 版本 说明
============= ======================================= ===================
HDK ``26.0.rc1`` NPU硬件驱动与固件
CANN ``9.0.0`` CANN软件,帮助开发者实现在昇腾软硬件平台上开发和运行AI业务
Python ``>=3.10, <3.12``\ ,推荐 ``3.11``
torch ``2.9.0`` PyTorch 深度学习框架基础包
torch_npu ``2.9.0.post2`` NPU PyTorch 适配插件
torchvision ``0.24.0`` PyTorch 图像处理库
torchaudio ``2.9.0`` PyTorch 音频处理库
triton ``3.5.0`` Triton,用于编写自定义算子
triton-ascend ``3.2.1`` NPU Triton 适配
transformers ``5.3.0`` Hugging Face 大模型库,提供模型架构与预训练权重
vLLM ``0.18.0`` 高性能 LLM 推理与服务引擎
vLLM-Ascend ``0.18.0`` NPU vLLM 后端适配
Megatron-LM ``core_r0.16.0`` 大规模分布式训练框架
MindSpeed ``core_r0.16.0`` Megatron-LM 在昇腾 NPU 上的适配和优化组件
============= ======================================= ===================
安装前准备(HDK & CANN)
^^^^^^^^^^^^^^^^^^^^^^^^
CANN是NPU上的异构计算架构, 以下为arm平台A3安装指令,请参照如下指令下载HDK 和 CANN 并安装,
或者根据系统硬件型号从 `CANN社区 <https://www.hiascend.com/cann/download?versionId=723&ids=d803%2Ch0501%2Ch0601%2Ch0702>`_ 下载安装
.. code:: bash
#配置用户属组
sudo groupadd HwHiAiUser
sudo useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
# 安装依赖&配源
sudo yum makecache
sudo yum install -y gcc python3 python3-pip kernel-headers-$(uname -r) kernel-devel-$(uname -r)
sudo curl https://repo.oepkgs.net/ascend/cann/ascend.repo -o /etc/yum.repos.d/ascend.repo && yum makecache
# 安装NPU驱动
sudo yum install -y Atlas-A3-hdk-npu-driver-26.0.rc1
# 安装Toolkit,可指定--install-path 自定义路径
sudo yum install Ascend-cann-toolkit-9.0.0
sudo yum install Ascend-cann-A3-ops-9.0.0
# 安装后验证
source /usr/local/Ascend/cann/set_env.sh
python3 -c "import acl;print(acl.get_soc_name())"
源码安装
^^^^^^^^^^^^^^^^^^^^^^^^
我们提供了基于conda一键部署安装脚本, 脚本分步骤安装环境,如果中途遇到安装报错,请根据当前步骤报错信息提示查看原因,或通过issue给我们留言,我们将尽快解决
.. code:: bash
# 注意:在 x86 平台安装时,pip 需要配置额外的源,指令如下:
# pip config set global.extra-index-url "https://download.pytorch.org/whl/cpu/"
# 使能CANN环境, 如果您自定义了CANN的路径,请根据自定义路径修改以下使能命令
source /usr/local/Ascend/ascend-toolkit/set_env.sh
source /usr/local/Ascend/nnal/atb/set_env.sh
conda create -n verl-vllm-npu python=3.11 -y
conda activate verl-vllm-npu
git clone --recursive https://github.com/verl-project/verl.git
bash verl/scripts/install_vllm_mcore_npu.sh
# 如果您仅需要使用FSDP后端
# USE_MEGATRON=0 bash scripts/install_vllm_mcore_npu.sh
3. 自定义安装-SGLang + FSDP/Megatron
关键版本支持与依赖 ^^^^^^^^^^^^^^^^^
============= ======================================= ===================
依赖 版本 说明
============= ======================================= ===================
HDK 25.5.0 NPU硬件驱动与固件
CANN >=8.5.0 CANN软件,帮助开发者实现在昇腾软硬件平台上开发和运行AI业务
Python >=3.10, <3.12\ ,推荐 3.11
torch 2.8.0 PyTorch 深度学习框架基础包
torch_npu 2.8.0.post2 NPU PyTorch 适配插件
SGLang v0.5.10 高性能 LLM 推理引擎
triton 3.5.0 Triton,用于编写自定义算子
triton-ascend 3.2.1 NPU Triton 适配
transformers 5.3.0 Hugging Face 大模型库,提供模型架构与预训练权重
Megatron-LM core_r0.16.0 大规模分布式训练框架
MindSpeed core_r0.16.0 Megatron-LM 在昇腾 NPU 上的适配和优化组件
============= ======================================= ===================
安装前准备(HDK & CANN) ^^^^^^^^^^^^^^^^^^^^^^^^
CANN是NPU上的异构计算架构, 以下为arm平台A3安装指令,请参照如下指令下载HDK 和 CANN 并安装,
或者根据系统硬件型号从 CANN社区 <https://www.hiascend.com/cann/download?versionId=680&ids=d803%2Ch0501%2Ch0601%2Ch0702>_ 下载安装
.. code:: bash
#配置用户属组 sudo groupadd HwHiAiUser sudo useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
sudo yum makecache sudo yum install -y gcc python3 python3-pip kernel-headers-$(uname -r) kernel-devel-$(uname -r) sudo curl https://repo.oepkgs.net/ascend/cann/ascend.repo -o /etc/yum.repos.d/ascend.repo && yum makecache
sudo yum install -y Atlas-A3-hdk-npu-driver-25.5.0
sudo yum install -y Ascend-cann-toolkit-8.5.0 sudo yum install -y Ascend-cann-A3-ops-8.5.0
source /usr/local/Ascend/cann/set_env.sh python3 -c "import acl;print(acl.get_soc_name())"
源码安装 ^^^^^^^^^^^^^^^^^^^^^^^^
我们提供了基于conda一键部署安装脚本, 脚本分步骤安装环境,如果中途遇到安装报错,请根据当前步骤报错信息提示查看原因,或通过issue给我们留言,我们将尽快解决
.. code:: bash
source /usr/local/Ascend/ascend-toolkit/set_env.sh source /usr/local/Ascend/nnal/atb/set_env.sh conda create -n verl-sgl-npu python=3.11 -y conda activate verl-sgl-npu git clone --recursive https://github.com/verl-project/verl.git bash verl/scripts/install_sglang_mcore_npu.sh
SGLang 使用注意事项 ^^^^^^^^^^^^^^^
当前 NPU 上支持 SGLang 后端必须添加以下环境变量:
.. code:: bash
export HCCL_HOST_SOCKET_PORT_RANGE=60000-60050 export HCCL_NPU_SOCKET_PORT_RANGE=61000-61050
export RAY_EXPERIMENTAL_NOSET_ASCEND_RT_VISIBLE_DEVICES=1
export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
export SGLANG_DEEPEP_BF16_DISPATCH=1
MindSpeed-LLM 训练后端支持
^^^^^^^^^^^^^^^
如需使用基于 Megatron/MindSpeed 体系的 MindSpeed-LLM 训练后端,需要额外下载
MindSpeed-LLM。需要注意的是,MindSpeed-LLM 训练后端依赖 MindSpeed-LLM
master 分支、MindSpeed master 分支以及 Megatron-LM ``core_v0.12.1``
分支。
MindSpeed-LLM 及相关依赖的源码安装指令:
.. code:: bash
# 下载 MindSpeed-LLM、MindSpeed 和 Megatron-LM
git clone https://gitcode.com/Ascend/MindSpeed-LLM.git
git clone https://gitcode.com/Ascend/MindSpeed.git
git clone --depth 1 --branch core_v0.12.1 https://github.com/NVIDIA/Megatron-LM.git
# 配置环境变量
export PYTHONPATH=$PYTHONPATH:your path/Megatron-LM
export PYTHONPATH=$PYTHONPATH:your path/MindSpeed
export PYTHONPATH=$PYTHONPATH:your path/MindSpeed-LLM
# 安装 mbridge
pip install mbridge
MindSpeed-LLM 作为基于 Megatron/MindSpeed 体系的昇腾 LLM 训练后端使用时,使用方式如下:
1. 使能 verl worker 模型 ``strategy`` 配置为 ``mindspeed``\ ,例如
``actor_rollout_ref.actor.strategy=mindspeed``\ 。
2. MindSpeed-LLM 自定义入参可通过 ``llm_kwargs`` 参数传入,例如对 MOE
模型开启 GMM 特性可使用
``+actor_rollout_ref.actor.mindspeed.llm_kwargs.moe_grouped_gemm=True``\ 。
3. 更多特性信息可参考 `MindSpeed-LLM
内的特性文档 <https://gitcode.com/Ascend/MindSpeed-LLM/tree/master/docs/zh/pytorch/features/mcore>`__\ 。
附录
----------------
昇腾暂不支持生态库说明
~~~~~~~~~~~~~~~~~~~~~~
verl 中昇腾暂不支持生态库如下:
+------------------+--------------------------------------------------+
| 软件 | 说明 |
+==================+==================================================+
| ``flash_attn`` | 不支持通过独立 ``flash_attn`` 包使能 flash |
| | attention 加速,支持通过 transformers 使用 |
+------------------+--------------------------------------------------+