银河麒麟(Kylin) - V10 GFB高级服务器操作系统ARM64部署昇腾910b训练机以及Docker安装

银河麒麟(Kylin) - V10 GFB高级服务器操作系统ARM64部署昇腾910b训练机以及Docker安装

原因

项目需要使用Deepseek-r1-distill-qwen-32b来做训练,在此记录

测试环境

服务器配置

型号:G5680V2

CPU:CPU 4Kunpeng 920-5250
NPU:NPU 8
Ascend 910

内存:内存32 * 64GB

硬盘:硬盘6 * 3840GB-SATA

系统:银河麒麟高级服务器系统V10-GFB-Release-030

平台架构:ARM

准备工作

  1. 服务器安装银河麒麟高级服务器系统V10-GFB-Release-030系统

    下载:Kylin-Server-V10-GFB-Release-030.1.1-ARM64

    请去银河麒麟下载测试版本

  2. 去华为官网获取安装驱动

    选择Ascend HDK 23.0.RC1系列版本

    根据产品系统架构在"软件分类"中勾选"910-aarch64"或"910-x86_64"

我选择:"Ascend-hdk-910b-npu-driver-24.1.rc3-1.aarch64.rpm"安装包

  1. 去华为官网获取安装固件
    驱动和固件是对应关系

我选择:"Ascend-hdk-910b-npu-firmware-7.5.0.1.129-1.noarch.rpm" 安装包

开始安装

  1. 服务器进入raid卡页面做raid5

  2. 安装系统

系统安装完成如下:

注:如系统未激活会有激活提示以及部分功能限制,其他不受影响

  1. 安装驱动

    把驱动包和固件包导入系统中

安装驱动源码编译所需依赖

执行如下命令,切换至root用户

bash 复制代码
su - root

在软件包所在路径执行如下命令完成驱动包安装

bash 复制代码
rpm -ivh Ascend-hdk-910b-npu-driver-24.1.rc3-1.aarch64.rpm

出现如下关键信息,则表示驱动安装成功

  1. 执行如下命令查看驱动加载是否成功
bash 复制代码
npu-smi info
  1. 安装固件

执行如下命令,切换至root用户

bash 复制代码
su - root

在软件包所在路径执行如下命令完成固件包安装

bash 复制代码
rpm -ivh Ascend-hdk-910b-npu-firmware-7.5.0.1.129-1.noarch.rpm

出现如下关键信息,则表示固件安装成功


提示说明:

  • 若重新安装固件后安装配套版本的驱动,则无需重启系统,驱动安装后固件版本会自动生效。
  • 若单独安装固件,则需执行reboot命令重启系统或执行npu-smi set -t reset命令复位标卡或芯片生效。
  • 软件包安装过程中,若无HwHiAiUser用户系统会自动创建该用户。

执行如下命令查看芯片固件版本号。若与固件软件包版本号一致,则说明安装成功。

bash 复制代码
/usr/local/Ascend/driver/tools/upgrade-tool --device_index -1 --component -1 --version

如果安装驱动时指定安装路径,则命令中的"/usr/local/Ascend"请根据实际情况替换。

请按照 "驱动->固件" 的顺序,分别安装组件软件包。

  1. 安装CANN
    CANN(Compute Architecture for Neural Networks)是昇腾针对AI场景推出的异构计算架构,对上支持多种AI框架,对下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。
  • 安装依赖
  • 在OS上安装依赖前需确认服务器已连接网络
  • 配置最大线程数

训练场景下,OS的最大线程数可能不满足训练要求,以root用户执行以下命令修改最大线程数为无限制。

  • 配置环境变量,修改线程数为无限制,打开"/etc/profile"文件。
    vi /etc/profile
  • 在文件的最后添加如下内容后保存退出。
    ulimit -u unlimited
  • 执行如下命令使环境变量生效。
    source /etc/profile
  • 配置昇腾源
  • 在线安装时,执行如下操作配置昇腾源,否则将无法安装
  • 执行如下命令新建昇腾源文件。
    sudo vim /etc/yum.repos.d/ascend.repo
  • 在文件的最后添加如下内容后保存退出。
    [ascend] name=ascend baseurl=https://repo.oepkgs.net/ascend/cann/$basearch/ enabled=1 gpgcheck=1 gpgkey=https://repo.oepkgs.net/ascend/cann/RPM-GPG-KEY-CANN sslverify=false
  • 更新源索引。
    sudo yum clean all && sudo yum makecache
  • 安装依赖
    以安装用户登录服务器,执行如下命令安装依赖软件(如果使用root用户安装依赖,请将命令中的sudo删除)
bash 复制代码
sudo yum install -y python3 python3-pip

CANN支持Python3.7.x至3.11.4版本,若安装失败、版本不满足或者未包含动态库libpython3.x.so

  • 执行如下命令安装运行时依赖的Python第三方库(如果使用root用户安装,请将命令中的--user删除)
bash 复制代码
pip3 install attrs cython numpy==1.24.0 decorator sympy cffi pyyaml pathlib2 psutil protobuf==3.20 scipy requests absl-py --user

这里安装会出现一个报错 、 因为系统自带Python3.7.9

注意Python3.7.x时推荐安装numpy 1.21.6版本,否则提示版本过高安装失败

  • 安装CANN软件包

  • 安装Toolkit开发套件包

    CANN Toolkit开发套件包,在训练&推理&开发调试场景下安装,主要用于训练和推理业务、模型转换、算子/应用/模型的开发和编译。

    安装Toolkit软件前请确保安装目录可用空间大于10G,如不满足请清理空间或更换安装目录。

  • 执行安装命令

bash 复制代码
sudo yum install -y Ascend-cann-toolkit

CANN软件包在线安装时仅支持安装在默认路径"/usr/local/Ascend"下。

安装完成后,若显示如下信息,则说明软件安装成功:

Ascend-cann-toolkit 8.1.Rcl linux-aarch64 install success

  • 配置环境变量
bash 复制代码
source /usr/local/Ascend/ascend-toolkit/set_env.sh

上述环境变量配置只在当前窗口生效,用户可以按需将以上命令写入环境变量配置文件(如.bashrc文件)

  • 安装后检查。执行如下命令查询CANN版本信息,查询结果与安装软件包的版本一致时,则验证安装成功
bash 复制代码
sudo yum list installed | grep toolkit
  • 安装Kernels算子包

    CANN二进制算子包,包括单算子API执行(例如aclnn类API)动态库文件,以及kernel二进制文件

  • 根据处理器类型执行命令安装

bash 复制代码
sudo yum install -y Ascend-cann-kernels-<chip_type>    #其中<chip_type>表示处理器类型,在当前设备上执行npu-smi info查询

我安装的是:Ascend-cann-kernels-910b-8.1.RC1-linux.aarch64

安装完成后,若显示如下信息,则说明软件安装成功:

Ascend-cann-kernels-910b-8.1.RC1-linux.aarch64 install success

  • 安装后检查。执行如下命令查询软件版本信息,查询结果与安装软件包的版本一致时,则验证安装成功
bash 复制代码
sudo yum list installed | grep kernels
  • 安装NNAL神经网络加速库(可选)

    NNAL神经网络加速库中提供了面向大模型领域的ATB(Ascend Transformer Boost)加速库,实现了基于Transformer结构的神经网络推理加速引擎库,提供昇腾亲和的融合算子、通信算子、内存优化等,作为算子的公共底座提升了大模型训练和推理性能
    加速库安装之前,需已安装同一版本的Toolkit并配置环境变量。

  • 执行安装命令

bash 复制代码
sudo yum install -y Ascend-cann-nnal

安装完成后,若显示如下信息,则说明软件安装成功:

xxx install success

  • 配置环境变量
bash 复制代码
source /usr/local/Ascend/nnal/atb/set_env.sh

上述环境变量配置只在当前窗口生效,用户可以按需将以上命令写入环境变量配置文件(如.bashrc文件)

  • 安装后检查。执行如下命令查询NNAL软件版本信息,查询结果与安装软件包的版本一致时,则验证安装成功
bash 复制代码
sudo yum list installed | grep nnal
  1. 安装Docker
  • 执行安装命令
bash 复制代码
sudo yum install docker-engine
  • 启动Docker命令
bash 复制代码
sudo systemctl start docker.service
  • Docker设置开机自启命令
bash 复制代码
sudo systemctl enable docker.service
  • 安装完成,查看Docker版本信息命令
bash 复制代码
sudo docker --version   或   sudo docker version
  • Docker拉取Deepseek-r1-distill-qwen-32b镜像

需要到华为昇腾镜像仓库

可能需要权限
昇腾开放Docker镜像仓库,提供昇腾软件Docker镜像

例如:

  • Docker拉取Centos系统镜像
  • 镜像版本选择

自适应架构:

bash 复制代码
docker pull swr.cn-south-1.myhuaweicloud.com/ascendhub/centos:7.6.1810
  • Docker启动Centos镜像

  • 查看镜像命令

bash 复制代码
docker images
  • 启动镜像命令
bash 复制代码
docker run -it swr.cn-south-1.myhuaweicloud.com/ascendhub/centos:7.6.1810  /bin/bash
  • 查看运行中的容器
bash 复制代码
docker ps

安装完成

相关推荐
L_autinue_Star19 分钟前
从0到1实现Shell!Linux进程程序替换详解
linux·运维·服务器·c++·chrome
Ftrans28 分钟前
【分享】文件摆渡系统适配医疗场景:安全与效率兼得
大数据·运维·安全
程序员JerrySUN1 小时前
Linux 文件系统实现层详解:原理、结构与驱动衔接
android·linux·运维·数据库·redis·嵌入式硬件
开挖掘机上班2 小时前
基于Alpine构建MySQL镜像
mysql·docker·容器
todoitbo2 小时前
docker搭建freeswitch实现点对点视频,多人视频
docker·容器·音视频·freeswitch·视频聊天
SAP龙哥2 小时前
日常运维问题汇总-58
运维
J_Xiong01172 小时前
【工程篇】07:如何打包conda环境并拷贝到另一台服务器上
运维·服务器·conda
LUCIAZZZ2 小时前
高性能网络模式-Reactor和Preactor
java·服务器·开发语言·网络·操作系统·计算机系统
k *3 小时前
网络编程-tcp连接:服务器与客户端
服务器·网络·tcp/ip
Wezzer3 小时前
haproxy负载均衡
运维·服务器·haproxy·keepalvied