安装指南
版本配套表
MindSpeed RL支持Atlas 800T A2等昇腾训练硬件形态。软件版本配套表如下:
| MindSpeed RL版本 | Megatron版本 | PyTorch版本 | torch_npu版本 | CANN版本 | Python版本 |
|---|---|---|---|---|---|
| 2.1.0(商分) | Core 0.8.0 | 2.5.1 | 2.5.1 | 8.2.RC1 | Python3.10 |
| 2.0.0(预览) | Core 0.8.0 | 2.5.1 | 2.5.1 | 8.1.RC1 | Python3.10 |
昇腾辅助软件中有更多关于PyTorch和CANN的版本信息。
安装依赖的软件
在安装MindSpeed RL之前,请参考版本配套表,安装配套的昇腾软件栈,软件列表如下:
| 依赖软件 | 版本 |
|---|---|
| 昇腾NPU驱动 | 25.2.0 |
| 昇腾NPU固件 | |
| Toolkit(开发套件) | 8.2.RC1 |
| Kernel(算子包) | |
| NNAL(Ascend Transformer Boost加速库) | |
| Python | 3.10 |
| torch | 2.5.1 |
| torch_npu | |
| apex | 0.1 |
| ray | 2.42.1 |
| vllm | main |
驱动固件安装
bash Ascend-hdk-*-npu-firmware_*.run --full
bash Ascend-hdk-*-npu-driver_*.run --full
CANN安装
bash Ascend-cann-toolkit_8.2.RC1_linux-aarch64.run --install
bash Atlas-A3-cann-kernels_8.2.RC1_linux-aarch64.run --install
source /usr/local/Ascend/ascend-toolkit/set_env.sh
bash Ascend-cann-nnal_8.2.RC1_linux-aarch64.run --install
source /usr/local/Ascend/nnal/atb/set_env.sh
vllm及相关依赖安装:
(注:环境中需要安装git,因为vllm的安装过程依赖git)
git clone -b releases/v0.9.1 https://github.com/vllm-project/vllm.git
cd vllm
git checkout b6553be1bc75f046b00046a4ad7576364d03c835
VLLM_TARGET_DEVICE=empty pip install .
cd ..
vllm_ascend安装
git clone -b v0.9.1-dev https://github.com/vllm-project/vllm-ascend.git
cd vllm-ascend
git checkout dedace4c
pip install -r requirements.txt
pip install -e .
PTA安装
# 安装torch和torch_npu
pip install torch-2.5.1-cp310-cp310-*.whl
pip install torch_npu-2.5.1.*.manylinux2014_aarch64.whl
# apex for Ascend 构建参考 https://gitcode.com/Ascend/apex
pip install apex-0.1.dev*.whl
高性能内存库 jemalloc 安装
为了确保 Ray 进程能够正常回收内存,需要安装并使能 jemalloc 库进行内存管理。
Ubuntu 操作系统
通过操作系统源安装jemalloc(注意: 要求ubuntu版本>=20.04):
sudo apt install libjemalloc2
在启动任务前执行如下命令通过环境变量导入jemalloc:
# arm64架构
export LD_PRELOAD=/usr/local/lib/libjemalloc.so.2
# x86_64架构
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
OpenEuler 操作系统
执行如下命令重操作系统源安装jemalloc
yum install jemalloc
如果上述方法无法正常安装,可以通过源码编译安装 前往jamalloc官网下载最新稳定版本,官网地址:https://github.com/jemalloc/jemalloc/releases/
tar -xvf jemalloc-{version}.tar.bz2
cd jemalloc-{version}
./configure --prefix=/usr/local
make
make install
在启动任务前执行如下命令通过环境变量导入jemalloc:
#根据实际安装路径设置环境变量,例如安装路径为:/usr/local/lib/libjemalloc.so.2,可通过以下命令来设置环境变量
export LD_PRELOAD=/usr/local/lib/libjemalloc.so.2
如以上安装过程出现错误,可以通过提出issue获得更多解决建议。
准备源码
git clone https://gitcode.com/Ascend/MindSpeed-RL.git -b 2.1.0
git clone https://gitcode.com/Ascend/MindSpeed.git
cd MindSpeed
git checkout ca70c1338f1b3d1ce46a0ea426e5779ae1312e2e # 参考MindSpeed-LLM依赖版本
pip install -r requirements.txt
cp -r mindspeed ../MindSpeed-RL/
cd ..
git clone https://github.com/NVIDIA/Megatron-LM.git # Megatron从github下载,请确保网络能访问
cd Megatron-LM
git checkout core_r0.8.0
cp -r megatron ../MindSpeed-RL/
cd ..
git clone https://gitcode.com/Ascend/MindSpeed-LLM.git
cd MindSpeed-LLM
git checkout b2868282b073394e40172232bd5d60052b130660
cp -r mindspeed_llm ../MindSpeed-RL/
cd ..
cd ./MindSpeed-RL
pip install -r requirements.txt
pip install antlr4-python3-runtime==4.7.2 --no-deps