当“人工智能步入落地之年”AI不再是概念,而是全面进入到企业的战略规划之中。算力作为人工智能应用的平台和基础,它的发展推动了整个人工智能系统的发展和快速演进,成为人工智能的最核心要素。
随着科技的不断发展,获取算力的方式和途径越来越丰富,就目前而言,公有云和数据中心(私有云)已经成为两大主流的算力获取方式。不过,在实际的部署和应用中,它们对于中小型AI开发团队来说都存在着很多问题。比如,中小型AI开发团队的AI模型训练往往是阶段性的,而阶段性访问公有云需要按次收取算力费用,如此累积算下来将是一笔不菲的投入,相比之下,一次性购买一台GPU工作站会更加划算。而建立私有的数据中心,不仅需要批量购置GPU服务器,还需要搭建标准机房、高带宽网络部署,与此同时更需要增加专业IT维护人员的工作负荷,这对于中小型AI开发团队来说相当奢侈。
从中小型AI开发团队的使用场景和使用需求中不难发现,降本增效是他们衡量一款解决方案是否合适的重要因素之一。这意味着算力设备需要在保障团队算力需求,可以共享使用的同时,还要做到简单部署易操作,省时省力省空间。也因此,数据科学工作站的出现,可以很好地满足这些切实需求。
数据科学工作站是PC形态的桌面超级计算机,相较于PC,它支持双路Intel至强铂金/金牌等系列的处理器和主板芯片海量内存、大容量SATA硬盘以及多块NVIDIA高端RTX专业级显卡等,可以满足算法训练等AI工作流程中所需要的强大算力需求以及图形应用中的海量浮点运算和3D渲染工作等对硬件的苛刻要求。
数据科学工作站与公有云或数据中心相比,不仅性价比高,更容易部署,而且噪音低,可以让中小型AI开发团队直接在办公区内进行协同开发。
惠普最近升级的HPZ8G4数据科学工作站以其强大的性能表现,稳定可靠的安全性,以及全方位的系统和软件支持,在专业领域工作环境下,为使用者提供了绝佳的高性能计算解决方案。
同时,惠普最新还推出了一款基于Docker+Kubernetes的人工智能容器云平台HPAI开发平台。该平台能够实现异构资源的高效管理、调度和监控,提供了从模型开发、训练到部署的完整流程和工具,广泛适用于教育、科研、金融、医疗、能源各个行业,能极大降低人工智能进入门槛,提高人工智能创新和研发的效率。
为了让中小型AI开发团队更切实更全面地认识HPZ8G4数据科学工作站以及HPAI开发平台在团队协作开发中的价值,智东西公开课AI教研团队联合两位KaggleGrandmaster模拟现实开发,对HPAI开发平台的功能应用,及其在HPZ8G4数据科学工作站上的使用体验两个方面进行了深入评测和项目实验。
智东西公开课AI教研团队主要承担在HPZ8G4数据科学工作站中安装HPAI开发平台,并且作为管理员进行资源管理。两位KaggleGrandmaster将基于我们分配的资源,协同完成基于数据集CASIA-SURF的人脸活体检测,以及基于数据集STS-B的自然语言文本分类这两项实验。
在进入正文介绍HPAI开发平台的功能及实验之前,我们先来了解一下本次使用的HPZ8G4数据科学工作站的核心参数,如下:
图表0.0.1
再给大家看看3块NVIDIAA5000显卡安装好之后的实际展示。下图中的“三条金色模块”即为NVIDIAA5000显卡。
图表0.0.2
下图是HPZ8G4数据科学工作站实际工作的展示:
图表0.0.3
1、HPAI开发平台功能全解
本章节将为大家展示HPAI开发平台的安装过程和架构组成,并重点介绍其为开发者所提供的模型训练、数据存储、任务镜像,以及向管理者所提供的用户权限、监控中心、系统设置等特色功能。
下面进入HPAI开发平台的安装。HPAI开发平台的安装包是适用于Unix系统和类Unix系统的.run格式文件,整个安装过程分三步,十分简单:
第一步,在Ubuntu系统的终端中,输入:“sudobashAI_HP-Evaluation-4.5.1-HP-63045-offline.run”即可进行安装。
第二步,成功安装完成后,会显示:“Pleasevisithtp://192.168.88.80:5678tocontinueinstallation.”。此时浏览器输入网址后会看到平台的环境正在初始化。
图表1.0.1
1、平台架构
图表1.1.1
1.1、基础设施层
基础设施层以X86的服务器、专业工作站为载体,可通过GPU、CPU等提供高性能加速计算,支持TCP/IP,InfiniBand高速网络互联,以及NFS和GlusterFS两种类型的存储格式。
1.2、资源调度层
采用容器化技术管理底层资源,并利用Kubernetes(K8s)技术进行容器编排调度。
1.3、应用服务层
应用服务层支持主流的TensorFlow、Caffe、PyTorch和MxNet等主流的机器学习框架,以及完整的机器学习所需的处理流程,实现资源操作自动化。
1.4、业务领域层
通过支持自然语言处理、图像识别和语音识别等任务,可以满足金融、教育、医疗、制造等行业场景的AI开发需求。
2、特色功能
2.1、模型训练
2.1.1、任务列表
任务管理界面,有“任务训练”、“交互式开发”、“可视化”、“模型部署”等四个功能页。管理员用户可以查看和管理所有用户的训练任务,包括任务训练任务、交互式开发任务、可视化任务、模型部署任务。
图表1.2.1
查看任务
图表1.2.2
点击“详情”可以进一步查看任务的基本信息、资源配置、应用信息和状态等。
图表1.2.3
删除任务
点击“删除”按钮即可删除正在运行中的任务。
需要注意的是在“任务训练”中的任务,点击“删除”按钮,只会删除正在运行中的训练任务,记录无法被删除,记录不会占用CPU、GPU、内存等资源,其他类型任务删除后不保留记录。
查询用户任务
在界面右侧输入框中输入要查找的用户名,回车进行查找。
2.1.2、任务统计
图表1.2.4
根据日期统计任务
图表1.2.5
2.1.3、任务队列
点击左侧菜单“任务队列”,进入任务队列界面,分别显示优先级为“高”、“普通”、“低”三种优先级任务。
图表1.2.6
2.2、数据存储
2.2.1、数据卷
管理员可以创建NFS卷,对卷进行管理操作,查看卷的使用情况。
图表1.2.7
查看“NFS”卷列表
可以看到NFS数据卷列表及每个数据卷的服务器地址、共享目录、挂载权限、状态及描述状态。
图表1.2.8
创建NFS卷
点击“创建NFS卷”按钮,进入NFS卷创建界面。
图表1.2.9
NFS名词参数解释
图表1.2.10
查看卷使用情况
管理员用户在数据卷列表页面点击卷名称后,该数据卷的总使用情况和各用户使用情况均会显示在此页面。
图表1.2.11
2.2.2、公共数据
公共数据即拥有HPAI开发平台用户都可以访问的数据,管理员可以上传公共数据,并对公共数据进行管理,普通用户只有复制到用户私有数据和下载权限。
图表1.2.12
创建目录
用户可以在“公共数据”页面点击“创建目录”来创建自己的目录。名称不能包含以下字符”,‘|’,‘*’,‘’,‘,’,’/’,’‘,长度在1~50个字符,创建成功会有相应提示。否则创建失败。
图表1.2.13
上传数据
将本地文件上传到“公共数据”中。适合小文件的上传。
图表1.2.14
刷新
若对文件进行了增删修改操作,点击“刷新”按钮更新文件状态及属性。
文件列表:文件及文件夹管理
针对文件列表里面的每一个文件及文件夹,都有相应的管理功能,如重命名、下载、复制、查看文件大小、删除等,针对文件还有在线查看功能,方便管理员进行管理操作。
图表1.2.15
2.3、任务镜像
2.3.1、公共镜像
由管理员上传的镜像为公共镜像,用户都可以看到并且可以在创建任务时使用。管理员在“下载镜像”中下载的镜像和上传的镜像均在此界面管理。此界面中管理员可对公共镜像进行设置删除、二次更新制作镜像及查看镜像详细信息等操作。
图表1.2.16
上传镜像
管理员用户在镜像仓库页面,也可以上传公共镜像。
2.3.2、镜像仓库
管理员在镜像仓库页面,可以查看各用户的私有镜像,或上传公共镜像
查看镜像仓库
在镜像仓库列表中,点击任意用户名,即可进入用户的镜像仓库中查看用户的私有镜像。
图表1.2.19
2.3.3、下载镜像
点击“下载镜像”,进入以下界面,该界面有“DockerHub”、“HP机器学习镜像”和“NVIDIA镜像”三个功能页面。用户可根据自己需要的镜像环境去Docker官方镜像仓库DockerHub、HP机器学习镜像仓库和NVIDIA镜像仓库下载指定镜像。
图表1.2.20
HP机器学习镜像
此功能页预留了官方制作好的镜像,包括Caffe、Cuda、OpenVINO、PyTorch、TensorFlow-gpu等11个镜像系统。每个镜像版本完整,并和官方机器学习框架Release保持一致,用户可直接使用。
图表1.2.21
NVIDIA镜像
允许用户查看NGC镜像列表,下载使用NGC上NVIDIA提供的镜像。
图表1.2.22
2.4、用户权限
2.4.1、用户
图表1.2.23
查看用户
图表1.2.24
点击“操作”按钮->查看数据卷与配额,可以查看用户的资源配额限定情况。
图表1.2.25
点击“查看关联角色”。
图表1.2.26
图表1.2.27
点击“重置密码”,可重置用户密码。管理员可以通过两种方式重置用户密码。一种是系统自动生成密码。如使用这种方式重置密码,管理员只需点击“重置密码”按钮即可在界面上看到新密码;另一种重置密码方式为管理员手动修改密码,只需输入两遍新密码,并点击“提交”按钮,即可修改此用户的密码。
表1.2.28
点击“删除”,可删除用户。
2.4.2、用户组
修改默认配额
管理员用户可以点击用户列表页面上的“修改默认配额”按钮,来修改创建用户时默认的可使用资源配额。如CPU、GPU、内存、存储和任务数量的默认配额。
图表1.2.30
创建用户
点击“创建用户”按钮,进入“创建用户”界面后,需要填写用户的基本信息和配置用户组、数据卷、分区等参数。CPU、GPU、内存、存储等参数默认使用默认配额中的配置。
图表1.2.38
管理员用户在用户组页面,可以查看、创建和删除用户组。
图表1.2.32
查看用户组
点击“查看关联角色”,显示该用户组的所有角色。
图表1.2.33
点击“查看该组用户”,显示该用户组的所有用户。
图表1.2.34
创建用户组
管理员在用户组列表页面,点击“创建用户组”按钮进入创建用户组界面,输入用户组名(用户组名长度1-20个字符,不能包含字符”,‘|’,‘*’,‘’,‘,’,’/’。),选择不同模块的权限,最后点击“提交”按钮创建新的用户组。点击“取消”按钮取消创建用户组,回到用户组列表页面。
图表1.2.35
各个功能模块不同角色的权限参照下表:
图表1.2.36
2.5、监控中心
2.5.1、仪表盘
仪表盘提供了多维度和多层次的监控信息,使系统使用透明、可追踪。管理员用户在左侧菜单栏中选择仪表盘,即可查看节点和分区的资源使用情况。
节点查看
点击节点页面的“查看”,可以针对某个节点监控信息进行查看。
分区查看
点击分区页面的“查看”,可以针对某个分区监控信息进行查看。
1、资源创建与分配
2.5.2、监控报表
在当前界面可以选择HPAI开发平台的节点、分区等选项来监控资源利用情况呈现可视化图表。
图表1.2.40
2.5.3、实时信息
在当前界面可以选择HPAI开发平台GPU用途分布、GPU使用概况、GPU使用分布等可视化图表。
图表1.2.41
管理员可以查看GPU的用途分布统计(任务训练、交互式使用、可视化、空闲使用)。
管理员可以查看GPU的分区使用统计(总共使用,每个分区使用)。
管理员可以查看GPU的用户使用统计(总共使用,每个用户使用)。
管理员可以查看节点GPU使用概况(总数、空闲、已占用),以及每一块GPU卡的使用率和显存使用率。
2.5.4、历史统计
在当前界面可以查看HPAI开发平台用户资源使用统计图表。
图表1.2.42
2.6、系统设置
GPU配置
在当前界面可以选择HPAI开发平台GPU类型、切片数量。
图表1.2.43
输入切片数量,点击“确认”后,即可为GPU切片。
图表1.2.44
2、实验:人脸活体检测和自然语言文本分类
在本章节,智东西公开课AI教研团队将作为管理员,分配不同的账户资源给到两位KaggleGrandmaster进行模型开发实验,并在平台后端监测相应的资源使用情况和反馈。
1.1、创建分区kaggle
图表2.1.1
图表2.1.2
1.2、创建用户组viewers
图表2.1.3
图表2.1.4
1.3、创建用户master1、master2
图表2.1.5
图表2.1.6
2、实验一:基于数据集CASIA-SURF的人脸活体检测
2.1、实验说明
该部分实验由KaggleGrandmaster沈涛完成。
人脸活体检测是人脸识别过程中的一个重要环节。它对人脸识别过程存在照片、视频、面具、头套、头模等欺骗手段进行检测,对于身份验证的安全性尤为重要。从技术发展上,人脸活体检测可以简单地分为两大类:传统的人工特征模式识别方法和近年来兴起的深度学习方法。目前,深度学习方法在识别准确性上已有较大优势。
很多人脸识别系统利用可见光人脸图像进行活体检测,识别性能易受到光照条件的影响。
同时,基于可见光光谱的识别方式也很难应对常见的伪造攻击。使用多模态数据进行活体检测建模,能有效缓解这些问题。融合多种成像设备的图像信息,比如可见光,近红外和深度图像等,既能提升模型的识别性能,也能减少光照条件对性能的干扰。
本次实验,我们使用HPAI开发平台,搭建并训练深度学习模型,用于人脸活体检测。数据集采用了CASIA-SURF集合。该数据集含有人脸可见光图,近红外和深度图三种模态信息,包含了1000个个体样本的21000段视频。采集设备是英特尔的RealSense立体相机。
图表2.2.1
2.2、实验流程
2.2.1、环境配置
(1)进入实验平台,新建交互任务Terminal,选择合适的镜像,需要包含实验所需的软件库(PyTorch,OpenCV等)。实验平台首页,展示了目前的资源状态:正在执行的任务数量,可分配的资源等。
图表2.2.2
(2)左侧栏选择“模型开发”-“交互式开发”,并且点击红色框指定的新建按钮。
图表2.2.3
(3)进一步选择Terminal,设置密码(用于后续ssh登陆),选择内存大小,CPU,GPU数量。根据实验需要设置。我们选取内存32G,16核CPU,和一颗A5000型号的GPU用于本次实验。
图表2.2.4
(4)最下方可以选择本地实验使用的镜像环境,该平台提供了公用的基础镜像,我们也可以配置自己的私有镜像环境。
图表2.2.5
(5)创建成功后,会显示正在运行的应用。此时可以用过命令“ssh-p25875root@192.168.88.80”远程连接进行创建好的环境。
图表2.2.6
2.2.2、实验运行
2.3、实验结果
为了有效对比多个模型的性能,我们使用该平台训练了多个不同结构,不同参数的模型。我们在验证集合上测试了模型性能,使用了ACER(AverageClassificationErrorRate)指标。指标越低,说明模型性能越好。
下表展示了单一模态下,各个模型的性能比较。整体上看,使用深度图数据的模型,会显著优于其他两种单一模态模型。FaceBagNet,ConvMixer和MLPMixer都有比较好的性能。
同时我们测试了三种patchsize下,两种多模态建模模型的性能,FaceBagNetFusion的效果在各个参数下都显著优于ViT模型。相比于表表2.2.7中的数据,多模态建模的结果均优于单一模态的建模结果。
图表2.2.8
2.4、实验感受
Q1:你在本次实验中训练了多个不同结构和不同参数的模型,管理员分配给你的2/3分区资源是否满足了训练要求?
沈涛:我的实验主要是依赖GPU算力,对CPU和内存的需求相对较少。NVIDIAA5000GPU的单卡训练效率已经足够高,如果使用混合精度训练等技术,效率会进一步提升。
Q2:你在本次实验中进行了私有镜像的上传,是否顺畅?镜像使用中有没有遇到兼容性或不稳定等问题?
沈涛:我以公共镜像为基础制作了私有镜像。具体来说,我先申请了基于基础镜像的命令行的交互任务,并在任务中安装了我所需的工作环境,并将环境保存为新的私有镜像,后续可以直接使用。整个使用过程比较顺畅,没有出现问题。
Q3:HPAI开发平台提供的是Web端GUI交互界面,基于你的使用感受,你认为是否能够降低普通开发者的使用门槛和难度?
沈涛:上述Q2中的私有镜像保存操作就是在GUI交互界面完成的,这一点就比较方便,对于普通开发者,省去了Docker命令行操作,降低了使用门槛。同时,整个计算资源利用率的实时展示,任务的申请,都可以通过比较简单地交互可以完成,整体上便捷一些。
Q4:对比公有云、数据中心和本地PC,你觉得通过工作站进行模型训练的优势有哪些?
Q5:对于中小型AI开发团队来说,工作站+HPAI开发平台的算力提供和管理方式是否是一个不错的选择?
沈涛:对于非大规模AI模型(需要大规模分布式训练)的开发,该方式已经能够满足正常开发需求。
3、实验二:基于基于数据集STS-B的自然语言文本分类
3.1、实验说明
该部分实验由KaggleGrandmaster吴远皓完成。
本次实验通过经典的自然语言文本分类数据集STS-B来体验HPAI开发平台。
图表2.3.1
3.2、实验流程
3.2.1、环境配置
图表2.3.2
创建成功后,会显示正在运行的应用。此时可以用过命令“ssh-p25457root@192.168.88.80”远程连接进行创建好的环境。
图表2.3.3
此时可以用过命令“ssh-p25457root@192.168.88.80”远程连接进行创建好的环境。
图表2.3.4
3.2.2、实验运行
3.3、实验结果
本次实验选用常用预训练模型工具包Transformers,选择的模型为谷歌开发的小型BERT模型google/bert_uncased_L-2_H-128_A-2。该模型隐层维度128,注意力头数量为2,Transformer层数也为2,模型大小只有不到17Mb,是个精简的小模型。单从实验结果可以看出,模型在STS-B数据集上也取得了不错的结果(目前榜单第一名是体积大好几倍的ERNIE,其结果为0.93)。
图表2.3.5
3.4、实验感受
吴远皓:HPAI开发平台的各环境间互不影响,任务展示清晰透明,在多人共享资源的场景下能够既保证开发效率,又显著提高资源的利用效率。
Q2:HPAI开发平台提供的是Web端GUI交互界面,请谈谈你的使用感受。
吴远皓:GUI界面非常人性化,能够有效完成资源的组织、管理与隔离。
Q3:在完成此次实验后,你如何评价HPAI开发平台?
吴远皓:通过体验我们发现,HPAI开发平台对使用者非常友好,是计算资源管理的有力工具。
Q4:对比公有云、数据中心和本地PC,您觉得通过工作站进行模型训练的优势有哪些?
吴远皓:这几个不太能比较。对于中小团队来说公有云有传输数据的成本,数据中心的搭建和运营成本太高,而本次PC的性能可能达不到要求,所以为团队配备一个共用的工作站是一种既灵活又高效的方案。
吴远皓:是的,可以发挥硬件的最大效能,提高利用率。
4、管理员后台展示
前端用户在通过HPAI开发平台进行模型训练过程中,管理员可以在后台直观的看到资源的使用反馈。比如在前面两个实验过程中,管理员可以在后台看到以下内容。
4.1、任务列表
在“任务列表”里面,我们可以看到master1和master2创建的任务。
图表2.4.1
4.2、任务镜像
在“任务镜像”里面,管理员可以看到master1和master2所使用的镜像系统。
图表2.4.2
图表2.4.3
4.3、监控中心
仪表盘
管理员可以看到在实验期间,节点和分区的CPU、GPU、内存、网络等参数的整体使用情况:
节点使用情况:
图表2.4.5
分区使用情况:
图表2.4.6
监控报表
资源使用情况:
在这里默认会选择一周内的资源监控数据进行展示,同时也可以选择动态展示数据变化
实时信息
图表2.4.7
历史统计
图表2.4.8
5、多用户使用
在“GPU设置”里面,GPU可以切片的数量选项为1、2、4、8。也就是说每块NVIDIARTXA5000的GPU算力可以平均分为1、2、4、8份,HPZ8G4数据科学工作站共有3块GPU,最多可将算力平均分为24份,可同时给24个开发者提供算力支持。
3、总结
通过本次专业性测试,我们可以看到,配备了3块NVIDIAA5000GPU的HPZ8G4数据科学工作站在HPAI开发平台的配合下,不仅便于管理员对工作站的GPU资源进行管理,更能满足两位KaggleGrandmaster的算力需求,保障模型协同训练的顺畅进行。
HPAI开发平台是一款封装了人工智能所需系统和底层操作的容器云平台,在数据中心或公有云中同样可以进行单独的部署。不过,工作站产品特有的静音,易部署和高性价比,让HPZ8G4数据科学工作站+HPAI开发平台的整体解决方案在中小企业办公场景中的应用优势非常显著。
对于有同等需求的中小型AI开发团队来说,搭载2-4块GPU的HPZ8G4数据科学工作站,配合HPAI开发平台的资源管理,就可以很轻松的构建出一个性价比极高的高性能计算解决和管理方案。因此,工作站+HPAI开发平台解决方案可以在帮助中小企业团队节省成本的同时,可以发挥出硬件的最大效能,提高资源利用率,成为多用户协同开发和资源管理的有利工具。
总体来说,HPAI开发平台在资源管理和镜像订制两方面都有着独到的优势。
其中,在资源管理方面有三大核心优势:
(1)按需分配、自动释放:在任务提交后,HPAI开发平台可以按照实际需求动态分配资源,限制任务无法超额使用资源,保证资源分配的公平性;与此同时,它还可以支持任务排队机制,在任务运行完毕后自动释放资源,让队列中任务自动运行;
(2)优先抢占:针对不同的优先级需求,系统可以按照从高到低顺序进行任务调度,同时支持对队列中任务的优先级调整和插队,满足紧急任务的使用需求;
(3)GPU细粒度切分:系统可以根据GPU卡的算力,支持对GPU卡进行细粒度的切分;同时支持多个任务共享同一张GPU卡,充分提高GPU卡使用效率,提高任务密度和吞吐量。
另外,在镜像订制方面HPAI开发平台有四大关键点:
(1)机器学习镜像库:可提供丰富的TensorFlow、PyTorch、MxNet和Caffe镜像,且版本完整,并和官方机器学习框架release保持一致,用户可以下载并导入使用;
(2)NGC镜像:允许用户查看NGC镜像列表,下载使用NGC上NVIDIA提供的镜像;
(3)自由订制:针对用户对镜像的内容需求丰富且不统一,订制化要求高等情况,系统可允许用户通过DockerExec连接并配置镜像环境;该方式适用于所有镜像,无需镜像中配置ssh服务