MindSpeed安装指导

本文主要向用户介绍如何快速基于PyTorch框架完成MindSpeed Core(大模型训练加速库)的安装。

硬件配套和支持的操作系统

表 1 产品硬件支持列表

产品 是否支持(训练场景)
Atlas A3 训练系列产品
Atlas A3 推理系列产品 x
Atlas A2 训练系列产品
Atlas A2 推理系列产品 x
Atlas 200I/500 A2 推理产品 x
Atlas 推理系列产品 x
Atlas 训练系列产品 x

Note

本节表格中“√”代表支持,“x”代表不支持。

安装前准备

请参见《版本说明》中的“相关产品版本配套说明”章节,下载安装对应的软件版本。

[!NOTICE]

安装运行程序建议使用非root用户,且建议对安装程序的目录文件做好权限管控:文件夹权限设置为750,文件权限设置为640。可以通过设置umask控制安装后文件的权限,如设置umask为0027。 更多安全相关内容请参见《安全声明》中各组件关于“文件权限控制”的说明。

下载固件与驱动,请根据系统和硬件产品型号选择对应版本的社区版本或商用版本的固件与驱动。 参考如下命令安装:

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

安装MindSpeed

方式一:镜像安装

Note

  • 使用镜像前,请先确认机器型号。最新镜像仅支持aarch64架构,可通过uname -a命令确认当前环境是否符合要求。
  • 配套镜像已预装配套的CANN 9.0.0软件及Ascend Extension for PyTorch 26.0.0插件,您可根据需要选用。
  • 若您当前环境与提供的镜像不兼容,请选择方式二:源码安装
  1. 拉取镜像

    最新镜像均配套MindSpeed Core的26.0.0_core_r0.12.1分支,请按需拉取镜像

    • Atlas A2 训练系列产品:26.0.0_core_r0.12.1-910b-openeuler24.03-py3.11-aarch64

    • Atlas A3 训练系列产品:26.0.0_core_r0.12.1-a3-openeuler24.03-py3.11-aarch64

    # 确认是否成功拉取镜像
    docker image list
    
  2. 创建容器

     # 挂载镜像
     docker run -dit --ipc=host --network host --name '容器名' --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
    

    当前默认配置驱动和固件安装在/usr/local/Ascend,如有差异请修改指令路径。

    当前容器默认初始化NPU驱动和CANN环境信息,如需要安装新的,请自行替换或手动source,详见容器的~/.bashrc。

    示例:

    docker run -itd \
       --name mindspeed \
       --privileged \
       --network host \
       --ipc=host \
       -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
       -v /usr/local/dcmi:/usr/local/dcmi \
       -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
       -v /etc/ascend_install.info:/etc/ascend_install.info \
       -v /home:/home \
       -v /data:/data \
       -v /mnt:/mnt \
       mindspeed-core:26.0.0_core_r0.12.1-a3-openeuler24.03-py3.11-aarch64
    
  3. 加载容器并确认环境状态

     # 加载容器
     docker exec -it 容器名 bash
     # 确认NPU是否可以正常使用
     npu-smi info
    

方式二:源码安装

  1. 安装CANN

    安装配套版本的NPU驱动固件、CANN软件(Toolkit、ops和NNAL)并配置CANN环境变量,具体请参考《CANN 软件安装》(商用版)或《CANN 软件安装》(社区版)。

    CANN软件提供进程级环境变量设置脚本,训练或推理场景下使用NPU执行业务代码前需要调用该脚本,否则业务代码将无法执行。

    source /usr/local/Ascend/cann/set_env.sh
    source /usr/local/Ascend/nnal/atb/set_env.sh
    

    以上命令以root用户安装后的默认路径为例,请用户根据set_env.sh的实际路径进行替换。

  2. 安装PyTorch以及torch_npu

    请参考《Ascend Extension for PyTorch 软件安装指南》中的“安装PyTorch”章节,获取配套版本的PyTorch以及torch_npu软件包。 可参考如下安装命令:

    # 安装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.1post4-cp310-cp310-manylinux_2_28_aarch64.whl
    

    Note

    如有旧版本MindSpeed,请先卸载旧版本MindSpeed,再安装新版本MindSpeed。

  3. 下载MindSpeed源码26.0.0_core_r0.12.1分支(请注意下列命令的大小写)

      git clone https://gitcode.com/Ascend/MindSpeed.git
      git checkout 26.0.0_core_r0.12.1
    
  4. 安装MindSpeed

    pip install -e MindSpeed
    
  5. 获取Megatron-LM源码切换 core_v0.12.1 版本

    具体操作如下所示:
    
     ```shell
     git clone https://github.com/NVIDIA/Megatron-LM.git
     cd Megatron-LM
     git checkout core_v0.12.1
     ```
    

卸载MindSpeed

执行以下命令卸载MindSpeed。

pip uninstall -y mindspeed #注意命令中为小写mindspeed