真难搞,已老实。好想要A100喔
昇腾简介
华为设计发布了AI处理器(NPU),采用达芬奇架构,全面对标英伟达GPU并为人工智能提供全流程支持。我们平时也许对英伟达架构和其他开源AI框架比较熟悉,那么这里给出几个关键词的大概对应来更好地理解昇腾软硬件平台。
首先是硬件层:
Atlas 硬件 (基于 Huawei Ascend 核心) > Nvidia GPU (A100, H800..)
其次是计算架构:
CANN > CUDA
华为同样也有自己的深度学习框架,但也对第三方框架做出了适配:
MindSpore 晟思 > Tensorflow / Pytorch
服务器现状
现有 Atlas 800 训练服务器,其拥有 8个 Atlas 300T(即 Ascend 910)。
服务器本身并不是华为,而是来自烽火超微/长江计算
的FitServer G420X V5
,在网络上鲜有资料。
服务器运行 BigCloud Enterprise Linux For Euler 21.10系统(应该就是openEuler,在中移官网上也显示出其本质是openEuler)。
安装 CANN
CANN 分为几个版本,Toolkit是最全量的,其支持训练、推理、模型转换及其他应用开发。我们下载 Ascend-cann-toolkit_8.0.RC2.alpha001_linux-x86_64.run
并用 SFTP 上传到服务器。
[已失败] 离线安装依赖
根据手册,我们需要为系统安装第三方依赖,但服务器并无互联网连接。我们在本地启动一个Docker,并利用本地Docker下载包,上传到服务器安装:
1 | docker pull centos |
Docker 命令行知识
-d
以后台模式运行容器
-p 宿主机端口:容器端口
将宿主机的端口映射到容器的某个端口
-i
提供交互式bash(即使没有连接也保持STDIN开启)
-t
分配一个伪TTY
这里回顾发现装错了,应该装 openEuler 的镜像的。不过这玩意真的有 Docker Image 吗?
BigCloud Enterprise Linux是中移基于CentOS自己包装的系统。因此我们装个CentOS8即可。这里记录一下CentOS出现的一些yum
问题,由于CentOS已经停止更新,我们可以通过以下方式将其镜像设置为阿里云:
1 | minorver=8.5.2111 |
接下来我们使用:
1 | yum install --downloadonly XXX --downloaddir="./pkgs" |
就可以仅下载不安装rpm包了。
将安装好的rpm
包拷贝到宿主机:
1 | docker cp centos:/root/pkgs pkgs/ |
并使用rpm -ivh/-Uvh
安装。
完全失败了。因为系统已经安装了很多包,同时需要安装的包也很多,相互间产生了循环依赖,手动解决的代价很大。
访问校园镜像
说服了服务器管理员允许集群访问校园镜像站。
还是社工好用啊.jpg
另:学校镜像站的IP地址是一个公网IP,在唐仲英楼。
选择推理框架
已经有了算子,现在只需要推理框架就可以部署模型了。考虑以下几个备选:
FastChat只支持使用单个 Ascend NPU 进行推理,能跑但效率感人,失败MindIE没想到华为自己的框架都不支持这款服务器,失败vLLM不支持 CANN
暂时没有发现其他的框架。搁置。