手册下载
Copyright © 2023 新华三技术有限公司及其许可者 版权所有,保留一切权利。
未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
由于产品版本升级或其他原因,本手册内容有可能变更。H3C保留在没有任何通知或者提示的情况下对本手册的内容进行修改的权利。本手册仅作为使用指导,H3C尽全力在本手册中提供准确的信息,但是H3C并不确保手册内容完全没有错误,本手册中的所有陈述、信息和建议也不构成任何明示或暗示的担保。
H3C傲飞高性能计算管理平台2.0(Advanced Management Platform for HPC and AI 2.0,以下简称AMPHA 2.0)采用软硬件一体化的全方位高性能交互开发模式。平台为用户提供HPC作业的调度、AI模型训练、模型评估、模型预测、模型导出、在线推理服务等功能,同时为了辅助用户管理开发资源,也提供了文件存储、资源监控、资源申请、工单管理以及可视化等功能。为解决部署难的问题,平台提供基础软硬件集群环境的一键自动部署的功能;通过AMPHA 2.0,用户可以实现对资源的统一监管、对作业的调度与监控、训练数据可视化、工程化的模型开发管理,满足用户的不同业务场景的开发需求。以下对普通用户的运行AI作业和运行HPC作业做快速说明
使用普通用户账户登录傲飞高性能计算平台:http://IP:Port/login。
· IP:服务器地址。
· Port:默认端口号40080。
· 用户名/密码:由管理员创建。
用于制作符合AI分区开发环境规范的镜像,方便用户随时制作出适合自己的镜像以更好的使用平台提供的开发环境。
AI分区中开发环境的基本使用流程示意图如下:
图3-1 流程示意图
分为以下三个步骤:
(1) 编写Dockerfile。
(2) 构建Dockerfile,生成镜像文件。
(3) 使用该镜像。(在AMPHA中使用镜像,需要将镜像文件上传至平台提供的镜像仓库)
平台内置了SSH、xrdp(远程桌面)、Jupytelab以及VNC(远程桌面控制)这些功能,当用户想创建开发环境时,可以直接使用自己镜像进行创建,此时镜像不需要任何修改,但以这样的镜像去创建开发环境是无法使用平台提供的SSH等内置功能的(主要由于用户下载的镜像一般没有预装SSH等组件);如果想要使用像SSH、xrdp等这些功能时,则需要在镜像内再安装SSH、xrdp和Jupyterlab这些组件。
(1) 前期准备
镜像制作需要config.sh、startup.sh、Dockerfile、vncpasswd.sh和jupyter_notebook_config.py五个文件,为此用户制作镜像时需要在同一目录下创建上述文件,使用touch命令即可创建。
图3-2 前期准备
(2) 编辑脚本文件
镜像制作前需要先准备好config.sh 、startup.sh、vncpasswd.sh和jupyter_notebook_config.py四个文件,其中config.sh为xrdp所需脚本,startup.sh为启动脚本,添加了ssh、xrdp、jupyterlab启动命令,vncpasswd.sh为vnc启动脚本,jupyter_notebook_config.py为jupyter配置文件。四个文件具体内容可参考附件Example,可以直接使用,如要添加其他软件启动命令,需修改startup.sh文件。值得注意的是jupyter_notebook_config.py,除了正常的设置端口和密码外,还添加了kong网关功能(Kong 是在客户端和(微)服务间转发API通信的API网关,系统已经安装kong,这里只需要修改jupyter配置文件来配合使用即可),详细内容如下,其中红色部分为kong所需配置。
图3-3 编辑脚本文件
(3) Dockerfile制作
下面将基于《H3C AMPHA AI分区镜像制作.rar》文档的附件Example\cpu中的Dockerfile来说明。
图3-4 Dockerfile制作-1
图3-5 Dockerfile制作-2
(4) 制作镜像
a. 加载tensorflow基础镜像:从外部导入或者从docker hub上拉取需要制作镜像的基础镜像,本示例以tensorflow.tar为例。
命令:
docker load -i tensorflow.tar
图3-6 制作镜像
b. 打镜像标签,该标签名需要和Dockerfile里的基础镜像标签名一致
命令:
docker tag xxx.xxx.xxx.xxx:xxxx/tensorflow/tensorflow:1.14.0-py3 xxx.xxx.xxx.xxx:xxxx:xxxx/tensorflow/tensorflow:4.2.3-gpu-py3
注意:config.sh、startup.sh、jupyter_notebook_config.py、vncpasswd.sh以及Dockerfile 五个文件必须置于同一目录下。
图3-7 打镜像标签
c. 执行docker build -t命令(docker build -t 镜像名:镜像tag .,最后那个.表示在Dockerfile所在目录下执行build命令)生成镜像,此时镜像名称可以根据需要确定。
图3-8 生成镜像
d. 生成镜像后使用docker save -o命令将镜像打成tar包(docker save -o A.tar B,A是将要生成的tar名,如xxx.tar格式,B为镜像名,如xxxx:xxxx)
图3-9 打包
(1) 用户根据上述操作制作完成新的镜像(安装了SSH、xrdp、Jupyterlab、VNC)之后,将新镜像通过AMPHA系统上传即可,需要注意镜像名称的填写。
(2) 用户登录AMPHA系统。
(3) 点击镜像服务模块的我的镜像列表菜单,找到新增镜像按钮。
图3-10 镜像服务
(4) 点击<新增镜像>按钮,输入镜像名称,保存成功后,点击更多选择上传镜像,选中制作完成的新镜像tar包,修改tag,点击<确定>按钮,完成上传。
图3-11 新增镜像-1
图3-12 新增镜像-2
(5) 点击更多选择上传镜像,设置镜像标签。
图3-13 上传镜像
(6) 上传完成后可在平台内查看,由于系统会有多台机器,可能镜像不在当前上传机器上(一体机除外)。
图3-14 上传完成
(7) 最后回到开发环境中运行上传的自定义镜像。
(1) 普通账户输入正确的账户名/密码,登入系统环境。
图3-15 登入系统环境
(2) 选择[文件管理>私有文件]页签,进入私有文件界面,上传开发环境所需文件,用户可以选择上传文件,上传文件夹,以及大文件上传;上传内容包括但不限于运行脚本,数据集,镜像。
图3-16 上传开发环境所需文件
(3) 选择[AI空间>开发环境]页签,进入开发环境,点击<创建>按钮,成功弹出创建界面,正确填写环境名称、资源组、镜像、工作目录等信息,点击<提交>按钮。
· 环境名称:环境名称不超过32位且只包含字母、数字、中划线,不区分大小写。
· 描述信息:用于校验描述创建的开发环境,不超过255个字。
· 选择资源组:用户选择可用的资源组,资源组在管理员资源管理池进行分配,无资源组则不能创建。
· 镜像类型:支持notebook和自定义镜像。notebook类型指傲飞内置镜像,自定义镜像类型指用户上传的镜像。
· 镜像选择:支持用户从我的镜像,镜像仓库,共享镜像以及新建镜像选择适合的镜像源。
· 工作目录:指定个人文件系统中的一个目录为当前开发环境的工作区,映射至开发环境内的/private/workspace目录。
· 数据集:用户在私有文件界面上传的数据集,数据集会被挂载到开发环境/private/dataset目录下。
· SSH远程开发:用户可以选择是否用SSH的方式远程开发。
· 共享内存:用户点击该按钮,可以分配共享内存大小。
图3-17 创建开发环境
(4) 点击创建作业操作栏<启动>控件。
图3-18 启动作业
(5) 启动作业并打开JupyterLab界面,用户可新建文件进行脚本编辑,也可找到上传文件相对路径进行脚本编辑。
图3-19 打开JupyterLab界面-1
图3-20 打开JupyterLab界面-2
(1) 进入[AI空间>训练服务>AI任务式建模]页面,点击<创建>按钮,输入任务名称和选择资源组等。
· 任务名称:任务名称要小写字母或数字开头结尾的小写字母、数字、中划线且字符长度不能超过32字符。
· 资源组:用户选择可用的资源组,资源组在管理员资源管理池进行分配,无资源组则不能创建。
· 创建方式:选择自定义算法或者预置算法。自定义算法用户根据特殊需求自定义镜像用于模型训练;用户同时可选择系统预置的算法直接进行任务训练。
· 任务类型:下拉选择任务类型。用户选择自定义算法创建方式,需要选择对应的任务类型;用户选择任务类型为MPI模式后,可以打开高性能网卡,后续指定高性能网络资源,用于调度到指定高性能网络资源的机器上运行训练程序。
· 容器镜像:支持用户从我的镜像,镜像仓库,共享镜像以及新建镜像选择适合的镜像源。
· 运行命令:支持用户自行输入Python启动脚本命令。
· 运行参数:用户选择容器镜像后,会给出默认运行参数,可自行添加。
· 工作目录:执行本次训练作业所需的代码目录,请提前将代码上传到文件系统。任务式建模脚本存在私有文件中,可通过工作目录快速引入,否则需填写绝对路径(在脚本文件路径前添加/private/)。
· 输入目录:训练任务的数据集位置,有数据集和本地存储两种。可在"运行命令"中用${input_dir}引用。
· 输出目录:模型输出目录。可在"运行命令"中用${output_dir}引用。
· 环境变量:用户手动添加参数变量。
· 描述信息:描述信息长度不能超过500字符。
图3-21 创建任务-1
图3-22 创建任务-2
(2) 创建完成后,界面上点击任务名称打开任务详情页面,查看基本信息和实例。
图3-23 查看基本信息和实例
(1) 选择[AI空间>模型管理] 页签,点击<创建>按钮,输入模型名称及元模型来源等。
· 模型名称:模型名称不超过20位且只包含字母、数字、中划线、下划线。
· 模型描述:模型描述不能超过256字符。
· 版本:版本会默认自增。
· 元模型来源:选择模型文件来源(会附带创建模型版本)。
· 选择任务:关联训练任务功能,选择训练任务以及版本拿到输出目录,已输出目录为模型文件。
· AI引擎:模型文件对应的模型的框架信息, tesorflow模型文件需要符合规定的层级目录要求。
· 模型格式:下拉选择模型格式。
· 配置文件:持从傲飞文件系统导入和在线编辑,请确保打开的是json文件。
图3-24 创建模型
(2) 打开模型,选择版本,操作栏中点击<部署>控件,可部署该版本服务。
图3-25 部署服务
(3) 选择[AI空间>模型管理>模型转换] 页签,点击<创建>按钮,根据需求转换框架。
· 任务名称:任务名称不超过20位且只包含字母、数字、中划线、下划线。
· 任务描述:任务描述不能超过256字符。
· 输入框架:下拉选择框架类型。
· 转换输入文件:选择已上传和生成的文件夹。
· 输出框架:下拉选择框架类型(若输入框架为onnx,则可转换为PyTorch,Caffe,Tensorflow,tensorrt任意一种,若输入框架为PyTorch,Caffe,Tensorflow,则只能转换为onnx)。
· 转换输入文件:选择转换输出的文件夹。
· 选择资源组:用户选择可用的资源组,资源组在管理员资源管理池进行分配。
(4) 选择[AI空间>模型管理>模型评估]页签,点击<创建>按钮,填写任务名称、资源组和容器镜像等。
图3-26 创建任务
(5) 选择[AI空间>推理服务]页签,点击<创建服务>按钮,填写服务名称、模型和资源组等。
图3-27 创建服务
(6) 操作栏中点击<添加配置>控件,填写模型、流量比例和资源组等。
图3-28 添加配置-1
图3-29 添加配置-2
(7) 操作栏中点击<流量调控>控件,填写流量比例,支持在线调控流量。
图3-30 流量调控
(8) 操作栏中点击<测试>控件,填写请求报文,测试模型。
图3-31 测试
sudo apt-get update &&
sudo apt-get install -y \
build-essential \
uuid-dev \
libgpgme-dev \
squashfs-tools \
libseccomp-dev \
wget \
pkg-config \
git \
cryptsetup-bin
wget https://go.dev/dl/go1.17.6.linux-amd64.tar.gz
tar -zxvf go1.17.6.linux-amd64.tar.gz
wget https://github.com/apptainer/singularity/releases/download/v3.8.5/singularity-3.8.5.tar.gz
tar -zxvf singularity-3.8.5.tar.gz
cd singularity-3.8.5/
./mconfig && \
make -C builddir && \
sudo make -C builddir install
singularity pull docker://deepcortex/ubuntu-conda
## 可见生成了一个文件,ubuntu-conda_latest.sif。
singularity shell ubuntu-conda_latest.sif
singularity> conda --version
##要继续装包需要建立singularity-test。
singularity build --singularity-test ubuntu18 ubuntu-conda_latest.sif
# 进入镜像准备,进行软件安装,使用sudo。
sudo singularity shell --writable ubuntu18/
# 先更新。
singularity> apt update
## 安装一些常用软件,如wget。
singularity> apt install wget
## 用conda安装,可以先给conda换国内源加快装包速度。
# conda 安装R。
singularity> conda install r=4 -c conda-forge
## 待软件安装完毕后,重新生成sif文件,可以减小镜像文件大小。
singularity build test.sif ubuntu18
(1) 普通用户登录环境。
图4-1 登录环境
(2) 选择[文件管理>私有文件]页签,上传HPC作业所需文件。
图4-2 上传HPC作业所需文件
(3) 选择[镜像管理> Singularity]页签,上传Singularity镜像文件。
图4-3 上传singularity镜像文件
(4) 点击<创建>按钮,输入镜像名称、选择镜像源文件、输入镜像版本等信息。
图4-4 创建Singularity镜像
(5) 选择[HPC空间>AI训练],点击<新建>按钮,创建AI训练作业。
(6) 输入作业基本信息,选择运行参数及文件,提交AI训练作业。
图4-5 输入作业基本信息
(1) 选择[HPC空间>MPI作业]页签,点击<新建>按钮,创建MPI作业。
图4-6 创建MPI作业
(2) 输入作业基本信息,作业运行参数及文件,提交MPI作业。
图4-7 提交MPI作业
(1) 点击[HPC空间>应用模板>应用模板管理]标签,点击<新建>按钮,创建私有应用作业模板。
图4-8 创建私有应用作业模板
(2) 输入应用名称、选择模板图标,创建自定义应用模板。
图4-9 创建自定义应用模板
(3) 点击<编辑脚本>编辑模板作业脚本。
图4-10 编辑脚本
(4) 点击<提交作业>使用应用模板提交作业。
图4-11 提交作业
(5) 输入作业名称,选择队列及作业参数,提交应用模板作业。
图4-12 提交应用模板作业
(6) 点击<作业列表>查看应用模板作业列表信息。
图4-13 查看应用模板作业列表信息