安装指导
1.依赖配套总览
MindSpeed LLM的依赖配套如下表
| 依赖软件 | 版本 |
|---|---|
| 昇腾NPU驱动 | Ascend HDK 25.3.0 |
| 昇腾NPU固件 | |
| Toolkit(开发套件) | CANN 8.3.RC1 |
| Kernel(算子包) | |
| NNAL(Ascend Transformer Boost加速库) | |
| Python | 3.10 |
| PyTorch | 2.7.1 |
| torch_npu插件 | 7.2.0 |
2.依赖安装指导
2.1驱动固件安装
下载驱动固件,请根据系统和硬件产品型号选择对应版本的driver和firmware。参考安装NPU驱动固件或执行以下命令安装:
chmod +x Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run
chmod +x Ascend-hdk-<chip_type>-npu-firmware_<version>.run
./Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run --full --force
./Ascend-hdk-<chip_type>-npu-firmware_<version>.run --full
2.2 安装方式选择
2.2.1 使用配套镜像安装
使用镜像前请先确定机器型号,最新镜像只支持aarch64系统,先通过uname -a确认自身系统是aarch64,Atlas 800T A2 训练服务器请选择openeuler22.03-mindspeed-llm-2.2.0-a2-arm 镜像,Atlas 900 A3 SuperPoD服务器请选择openeuler22.03-mindspeed-llm-2.2.0-a3-arm 镜像。 本仓库在昇腾社区提供aarch64系统的配套镜像,且镜像已安装CANN 8.3.RC1和配套torch_npu插件,您可以按需使用。 如果您的环境与提供的镜像不兼容,也可以使用自定义环境安装。
1.拉取镜像
-
最新镜像区分A2、A3机型,均配套MindSpeed-LLM的2.2.0分支。
-
openeuler22.03-mindspeed-llm-2.2.0-a2-arm 镜像版本匹配 MindSpeed-LLM的2.2.0分支
-
openeuler22.03-mindspeed-llm-2.2.0-a3-arm 镜像版本匹配 MindSpeed-LLM的2.2.0分支
-
-
按需拉取镜像。
# 确认是否成功拉取镜像
docker image list
2.创建容器
注意当前默认配置驱动和固件安装在/usr/local/Ascend,如有差异请修改指令路径。 当前容器默认初始化npu驱动和CANN环境信息,如需要安装新的,请自行替换或手动source,详见容器的~/.bashrc
# 挂载镜像
docker run -dit --ipc=host --network host --name 'llm_test' --privileged -v /usr/local/Ascend/driver:/usr/local/Ascend/driver -v /usr/local/Ascend/firmware:/usr/local/Ascend/firmware -v /usr/local/sbin/:/usr/local/sbin/ -v /home/:/home/ -v /data/:/data 镜像名:标签 /bin/bash
3.进入容器并确认环境状态
# 进入容器
docker exec -it llm_test bash
# 确认npu是否可以正常使用,否则返回3.检查配置
npu-smi info
4.单机以及多机模型的预训练任务运行
进入容器后会进入conda环境llm_test,并且工作目录切换到/MindSpeed-LLM/MindSpeed-LLM,该目录下为MindSpeed-LLM的2.2.0分支代码仓,用户可直接参考基于PyTorch后端的预训练进行训练。
2.2.2 使用自定义环境安装
1.安装CANN
下载CANN,请根据系统选择aarch64或x86_64对应版本的cann-toolkit、cann-kernel和cann-nnal。参考CANN安装或执行以下命令安装:
# 因为版本迭代,包名存在出入,根据实际修改
chmod +x Ascend-cann-toolkit_<version>_linux-<arch>.run
./Ascend-cann-toolkit_<version>_linux-<arch>.run --install
chmod +x Ascend-cann-kernels-<chip_type>_<version>_linux.run
./Ascend-cann-kernels-<chip_type>_<version>_linux.run --install
source /usr/local/Ascend/ascend-toolkit/set_env.sh # 安装nnal包需要source环境变量
chmod +x Ascend-cann-nnal-<chip_type>_<version>_linux.run
./Ascend-cann-nnal-<chip_type>_<version>_linux.run --install
# 设置环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh
source /usr/local/Ascend/nnal/atb/set_env.sh
2.安装PyTorch框架
准备torch_npu,参考Ascend Extension for PyTorch 安装或执行以下命令安装:
# 安装torch和torch_npu 构建参考 https://gitcode.com/ascend/pytorch/releases
pip3 install torch-2.7.1-cp310-cp310-manylinux_2_28_aarch64.whl
pip3 install torch_npu-2.7.1rc1-cp310-cp310-manylinux_2_28_aarch64.whl
3.安装MindSpeed-LLM及相关依赖
# 使能环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh
source /usr/local/Ascend/nnal/atb/set_env.sh
# 安装MindSpeed加速库
git clone https://gitcode.com/ascend/MindSpeed.git
cd MindSpeed
git checkout 2.2.0_core_r0.12.1
pip3 install -r requirements.txt
pip3 install -e .
cd ..
# 准备MindSpeed-LLM及Megatron-LM源码
git clone https://gitcode.com/ascend/MindSpeed-LLM.git
git clone https://github.com/NVIDIA/Megatron-LM.git # megatron从github下载,请确保网络能访问
cd Megatron-LM
git checkout core_v0.12.1
cp -r megatron ../MindSpeed-LLM/
cd ../MindSpeed-LLM
git checkout 2.2.0
pip3 install -r requirements.txt # 安装其余依赖库
4.单机以及多机模型的预训练任务运行
参考基于PyTorch后端的预训练进行训练。