
- 高性能计算平台
成都工业学院高性能与人工智能融合平台介绍
为满足成都工业学院便捷高效的使用高性能计算与人工智能平台进行三维设计、大规模并行数值仿真、可视化前后处理和人工智能计算的项目需求,建设了一套高性能计算与人工智能平台,从而对计算节点和图形节点的资源进行统一管理,实现在硬件平台上开展三维设计、数值仿真、前后处理与远程一体化和人工智能计算管理,提升对大规模复杂问题分析的效率。
高性能计算平台是面向全校提供高速计算服务的公共计算平台,主要运行科研计算任务,并且能够根据应用任务对硬件资源的不同需求,动态分配和调整平台资源,管理计算作业。用户通过校园网或VPN远程提交计算作业、获取计算结果,并能够根据权限调整,实现权限控制,硬件细节对用户透明。用户界面实现图形化交互窗口和SSH登陆相结合方式。
平台的主要硬件设备使用宁畅高性能计算机产品,主要构成有:管理节点、计算节点、图形渲染节点、GPU计算节点、管理管理、渲染网络、计算网络、存储;软件方面有:64位Linux操作系统、并行开发环境、并行文件系统、作业调度管理系统、硬件集群管理系统等,利用高速infiniband网络互联构成计算环境,通过并行计算支撑软件和作业调度系统使它们协同工作。
硬件列表:
成都工业学院高性能与人工智能融合平台其建设的初衷就是向全校师生同时提供高性能计算(HPC)、图形图像处理(HPG)和人工智能(AI)的教学与科研综合平台。
如何将这三类不同配置、不同特性、不同功能、不同场景的计算机设备不仅仅是在物理层面组织起来,还能够通过系统级的管理、调度融合成一套有机的系统,对师生统一提供所需的服务,而不会造成应用、资源和管理上的割裂与各自为政,是该系统建设的重点和难点。
通过项目招投标的综合比选,最终选定了北京景行锐创软件有限公司作为本系统硬件资源上的软件平台的供应商和服务商。
北京景行锐创软件有限公司是一家致力于高性能计算管理、分布式集群管理、云资源调度系统、远程设计平台和企业专业应用云服务平台研发的软件公司,有多年分布式系统、高性能计算系统、远程可视化系统、大数据平台、人工智能平台、云计算相关的开发经验,本身就极擅长异构资源环境的融合。
北京景行锐创软件公司针对成都工业学院高性能与人工智能融合平台的建设目标,设计了针对性的软件方案。
首先提出了平台提供的五种场景服务:
(1)图形设计使用场景
本方案能针对不同的用户和业务需求远程使用图形设计与前后处理软件。
设计与前后处理应用包括:
q 所有CAD设计软件。
q 有限元网格前后处理软。
这类应用主要使用机器的图形能力,同时由于CAD软件通常都不支持多CPU并行,因此对但CPU的计算性能(主频)也比较高,使用过程中需要大量交互。针对该类应用,使用方式如下图所示:
设计与前后处理使用方式
q 用户通过景行应用门户软件登录,然后在选择需要启动的三维应用程序,并指定其他如模型文件、模型大小等参数。
q 三维应用任务请求被发送到主调度服务器上,主调度服务器向图形服务器查询是否有足够资源来运行三维应用,如果当前资源满足需求,则把合适的三维应用分配给该用户。
q 景行协同桌面软件在获得相应的三维应用后,将自动运行用户指定的应用程序,并自动加载用户指定的模型数据,然后通过景行协同软件将远程三维应用的窗口发送到用户终端。
q 用户获得三维应用程序后,开始进行三维交互操作。
q 景行协同桌面同时支持Linux和Windows两种平台的三维应用远程显示。
通过景行应用门户软件运行交互应用程序界面如下所示:
基于“Web Desktop”理念的全新协同工作门户
通过景行协同桌面软件进行三维应用操作
(2)仿真计算使用场景
如Matlab等。这类应用对计算性能要求高,多数运行在后台,用户提交作业后基本不需要交互,因此通过浏览器进行批处理方式的作业提交。用户只需要从桌面机上通过Web方式提交作业和进行一些必要的控制和管理。针对此类应用,使用过程如下图所示:
仿真计算使用过程
用户通过景行应用门户软件提交和管理作业,访问入口示意图如下:
HFSS作业提交页面示例
在整个计算过程中,用户可对作业进行控制,执行如挂起、终止、checkpoint、restart等操作,通过简单命令或操作查看作业执行的中间结果。并且通过一定的配置,作业的最终结果可以直接从Web界面下载。
在程序运行过程中,如果需要应用程序图形界面显示的配合,可选用景行应用门户提供的二维图形交互功能,实现基于Web的应用程序图形交互。
Fluent仿真的收敛曲线
(3)人工智能使用场景
通过景行人工智能平台能够对结构化数据和非结构化数据进行在线管理与预览。
数据集管理
能够开展在线数据标注与归类:
数据在线标注
支持采用流程化建模方式搭建人工智能模型。
流程化建模
同时对模型进行在线执行与实时评估。
在线评估
对神经元进行三维空间分析。
神经元三维空间分析
创建和管理容器镜像,并发布容器镜像在线使用。
容器镜像管理
(4)系统管理使用场景
系统管理主要是监控系统运行状况,分析系统利用效率,构建基础运行体系和处置突发情况。系统管理的主要功能界面如下所示:
管理员登录界面
用户管理
角色管理
组织机构管理
安全审核
审计管理
项目管理
权限管理
资产管理
(5)决策参考使用场景
主要是提供系统监控、资源和作业相关的统计分析等内容,通过对这些内容的定量分析了解信息资源的状态,掌握信息系统投资的效益。常用功能分别如下图所示:
集群监控和统计分析
许可证情况统计
基于以上五种场景,在成都工业学院高性能与人工智能融合平台中实现了以下主要功能:
(1)统一门户
用户通过浏览器获得桌面访问的体验效果,具有界面友好、易于上手的特点,不改变用户的使用习惯。用户基于Web门户即实现平台登录认证、通用仿真任务、可视化设计任务、人工智能的统一提交、监控、中止、数据管理、数据传输,系统监控与统计分析,安全控制等全部功能。
应用与数据主页面
通过应用门户,用户可查询和管理作业及相关数据,如输入数据、中间结果和最终结果。
作业数据查询与管理
(2)计算过程可视化
支持作业计算过程图形可视化监控和交互,作业计算过程中可通过门户随时打开计算程序本身的图形界面,可视化方式查看计算过程或进行交互操作。图形可视化支持HTML5纯Web访问。
纯浏览器的计算过程图形可视化
(3)Windows与Linux远程可视化和显卡共享
支持Windows和Linux远程二维/三维可视化,采用GPU共享的方式实现远程三维可视化,支持图形服务器和显卡多用户共享使用。
Linux与Windows远程可视化
主要特点:
² 基于物理机技术的Linux/Windows远程三维可视化,可视化效率与本地物理机几乎完全一致,避免了因为虚拟机技术带来的性能损失,从而提供业界最高的远程三维可视化图形性能。
² 管理部署简单,只需要浏览器或是在Windows或Linux上安装景行远程可视化组件,就可以实现远程可视化访问与会话管理。
² 图形服务器物理机多人的共享。支持Linux/Windows物理机情况下,多用户共享同一个图卡,提高服务器的利用率。一般情况下只需要10台图形服务器,就可以支持100个甚至以上用户的共享使用。
² 广泛的图形卡支持,不需要使用特殊型号或功能的显卡(如支持vGPU的显卡)。
² 支持Windows/Linux的远程应用模式,用户可以选择只在本地显示远程应用的窗口,而不是整个远程桌面。
² 支持Windows/Linux远程桌面模式,可以打开Windows/Linux远程桌面。
² 支持远程应用和远程桌面统一发布和管理。
² 支持远程可视化协同工作;景行协同桌面软件支持用户基于远程应用和远程桌面的共享,实现多人的协同工作,从而提高工作效率。
² 支持H.264图像压缩,远程访问需要的带宽更低。
² 支持OpenGL和Direct 3D。
(4)安全水印
提供水印功能,防止非法人员使用盗拍、截图方式盗取机密信息。通过封装带有水印的图像能判断出图像的归属,方便追踪到对应的计算机从而找到使用者。
水印效果
(5)多种AI框架训练任务提交
景行人工智能平台支持市场主流的人工智能机器学习框架,包括TensorFlow、Pytorch和Caffe等。用户可以在景行人工智能平台上开发自己业务需要的机器学习算法,并利用平台管理的数据来训练自研的模型,并可以利用GPU资源进行加速训练。
机器学习训练
(6)图片标注
提供图片数据标注功能,内置基于web的图片数据标注功能,可多点圈选图片特征区域,一次指定多标签。
图片标注
设置图片标签
(7)交互式模型设计及训练
数据导入:支持从用户家目录选择数据文件和选择以创建的数据集,提供数据分割比例选择和数据乱序开关,下方预览区展示部分图像和对应的标签,如果是数值数据则展示数据头文件,并提供样本特征和样本标签的选择。
图像数据导入并预览
数值数据导入
数值数据预览
模型设计:支持通过拖拽组件的方式创建各种类型的模型,右侧属性区提供各组件的属性设置。设计页面支持放大、缩小、前进、后退、擦除和清空功能,组件支持复制粘贴操作,模型支持多输入、多输出和带有分支结构的复杂模型和Sequential单输入、单输出的串行模型。
Sequential模型设计
带分支的模型设计
复杂模型设计
超参数设置:用户根据模型和训练需要设置模型的超参数,如迭代次数、学习率、损失函数、优化器等。
迭代次数:模型对全部数据进行完整训练的次数;
损失函数:是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数,用于度量模型对数据的拟合程度,如均方差、交叉熵等;
优化器函数:用于计算和更新影响模型训练和输出的网络参数(w和b),从而最小化(或最大化)损失函数,如SGD、Adam、RMSProp等;
批次大小:定义通过网络传播的样本数;
学习率:用于控制模型的学习进度,决定着目标函数能否收敛到局部最小值以及何时收敛到最小值;
衰减因子:用于控制模型在迭代过程中由于学习率设置较大造成的收敛震荡问题。
超参数设置
模型训练:模型训练以作业方式提交,支持Docker容器运行,提供Tensorflow / Pytorch / Keras / SKlearn 开发框架,预装 conda 软件管理环境;其中Tensorflow 支持1.4+、2.0+版本,pytorch支持1.5+版本。提供跨节点和多CPU、GPU分布式训练。
模型训练作业提交
可视化展示模型训练过程的相关曲线和参数变化,用户可根据实际情况暂停或退出训练。支持结果数据查看和训练日志查看。
模型训练过程
结果数据查看
按照上述流程设计和保存多个版本的神经网络模型,可用于评估和测试。
多模型评估
(8)神经网络模型三维展示
针对卷积神经网络,为了方便对各卷积层进行深度解析和参数调整,提供各层图像输出功能。
卷积神经网络模型结构展示
如输入以下数字7的图像:
经过第一层卷积,得到如下输出结果:
经过第二层卷积,得到如下输出结果:
(9)在线编程调试IDE开发环境
为了便于用户开发Tensorflow、Pytorch、R等机器学习程序,人工智能平台中集成了PyCharm、VSCode、Jupyter Notebook 以及R Studio等开发工具。用户可以在平台上编写机器学习或神经网络程序进行开发和调试。
Pycharm是python开发常用的IDE工具,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
Pycharm
VSCode(Visual Studio Code)是由微软研发的一款免费、开源的跨平台文本(代码)编辑器。
VSCode
Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。
Jupyter Notebook
RStudio是一款开源的R语言编程的IDE工具,在R编程领域应用非常广泛。
RStudio
(10)AI容器服务
容器服务模块支持部署docker容器服务,用户可将开发和训练好的AI模型注入docker容器,以服务的形式发布到系统中,供推理或预测使用。
系统已经内置了Jupyer notebook、Tensorflow Serving,Torch Serving、Tensorboard等镜像,包括了模型代码开发,结果可视化以及模型部署相关的常用服务镜像。
容器服务入口
容器服务页面
Jupyter Notebook
系统内置的Jupyter容器镜像已经集成了Tensorflow和Pytorch,可以选择GPU版和CPU版,启动容器实例支持设置资源使用量,包括cpu、gpu和内存,如下图:
Jupyter容器服务设置
Jupyter主界面
编写模型代码
模型训练
(11)计费
提供资源使用计费,支持费率设定,可按用户、研究室、单位进行统计并生成计费账单。
费率设置
单位账单
用户账单
计费策略灵活设置,支持实时计费、包月计费、包年计费,用户可实时查看费用清单。
包机计费设置
费用账单导出