廖若飞
摘要:基于云计算技术搭建人工智能专业群实训平台,在高职院校有迫切需求。文章分析了人工智能专业在高职院校的开设现状、人才培养目标以及人工智能专业群实训平台建设的必要性,分析了专业群内各专业在实训和日常教学过程中场景和技术解决办法,论证了采用专业群集中建设实训平台的优势。重点从技术层面分析了实训平台建设的技术要点:私有云平台、Docker容器技术、GPU虚拟化技术以及在实训平台上的应用场景,介绍了国内外私有云平台的发展情况以及技术选型,在此基础上提出了平台的硬件配置和软件系统的规划。
关键词:人工智能;实训平台;私有云;Docker容器;GPU虚拟化
中图分类号:TP18 文献标志码:A
0 引言
人工智能专业培养掌握人工智能基础专业理论知识、应用技术,从事人工智能相关的应用开发、系统集成与运维、产品销售与咨询、售前售后技术支持等工作的高素质技术技能人才。衔接中职专业是计算机应用技术、计算机网络技术、软件与信息服务等,接续本科专业是人工智能、智能科学与技术、计算机科学与技术、软件工程专业等。
2019年11月教育部新增高职(专科)人工智能专业,专业代码610217。
2019年全国共173所高职高专院校成功备案人工智能技术服务专业,2020年达到385所,2021年上升到458所[1]。人工智能专业作为一个新兴的专业,国内高职院校在该专业的实训平台建设处于起步阶段。如何建成适合专业发展,实现专业群实训平台数据共享、资料共用,教师教学方便、学生乐于使用的实训平台是本课题研究的内涵和目标。
近年来随着云计算(Cloud Computing)技术的不断发展和成熟,在企业中的应用越来越广。云计算具有虚拟化、按需获取、灵活、高效等特点,能够基于用户的需求为用户提供所需的资源[2]。越来越多的高校采用云计算技术建设实训室,已经成为高校IT类专业实训平台发展的一个显著特点。
1 建设人工智能专业群实训平台的必要性
1.1 实践教学环节多
人工智能专业隶属于电子信息类专业,它在计算机科学的基础上融合了计算机、数学、统计学等多门学科,主要学习和人工智能技术相关的理论、方法、技术和应用等,研究的具体内容包括机器人、自然语言处理及机器学习、深度学习等。人工智能专业群则包含了软件技术、大数据技术、计算机网络技术等主要专业。这些专业共同的特点是需要理论与实践相互结合,且专业实践教学环节多。针对专业群集中统筹建立实训平台投资小,效果明显,受益的学生数量多。
开设了电子信息类专业的高职院校,一般已经在多年前建成了各专业的实训平台,在开设人工智能专业之后,面临单独新建人工智能专业实训平台和整合专业群实训平台的选择,本课题的研究可以为相关学院的领导和老师提供参考。
1.2 符合国家产业规划
人工智能(Artificial Intelligence,AI)是研究智能信息處理和开发具有智能特性的各类应用系统的核心技术,现已成为当今科学技术发展的前沿学科,扮演着越来越重要的角色。世界各国都十分重视人工智能前沿研究、技术发展与教育培养[3]。2021年中央网信办、国家发展改革委会同有关部门组织编制了《“十四五”国家信息化规划》(简称《规划》),系统谋划“十四五”时期数字中国建设的时间表、路线图、任务书。《规划》提出,到2025年,我国数字经济核心产业增加值占GDP比重从2020年的7.8%提高到10%,人工智能专业群完全符合产业规划[4]。
1.3 平台应满足各专业实训要求
人工智能专业群中包含软件技术、大数据技术、计算机网络技术等主要专业。这4个主要专业的实训平台各有特点。
计算机网络技术专业实训平台常见的有:设备模拟软件、虚拟实验系统、开放式计算机网络虚拟化实验室3类。设备模拟软件可以提供虚拟的网络化环境,学生在虚拟环境下进行网络组建、网络管理等操作;虚拟实验系统的主体思想是通过软件来模拟硬件,以此来节约成本,增加学生实训的机会,虚拟机软件能最大限度地利用硬件资源,在虚拟机中安装设备模拟软件,还能一定程度上减少实训室管理的维护工作;开放式计算机网络虚拟化实验室主要是利用远程桌面或者Web服务来为学生拓展实训的空间和时间。设备模拟软件与开放式计算机网络虚拟化实验室是发展的趋势。
大数据技术专业实训平台对带宽和存储的要求相对更高,一般采用虚拟化技术,搭建教学系统和集群。采用虚拟化技术将硬件资源设备进行虚拟化,把大数据软件和已有的桌面应用云端化,将软硬件资源进行最大化地利用[5]。
软件技术专业实训平台的核心功能是为学生提供数据库、Web前端、Java、Java Web、Dot Net、Python、Android等开发环境,对单机的性能要求较高。如果采用虚拟化技术,可以在服务端针对不同专业的学生定制不同的镜像包,合理分配计算和存储资源来解决问题。
人工智能专业实训平台对算力和算力的分配要求较高。如果为每个学生工位配置高算力的工作站,投资过大,资源利用率也不高。因此GPU虚拟化是必然的选择。
通过以上对各专业实训平台的需求分析可以看出,在目前现有技术水平下,完全可以通过一套平台解决4个专业的实训问题。
1.4 统一平台优势明显
一般来讲,上述4个专业在同一个系部或者二级学院,以系部或者二级学院为单位统筹建设能较好地调配资源,提高资源利用率,具体表现在以下几个方面。
首先,随着市场行情和人才需求的变化,各专业招生人数有一定的浮动。例如,2013年左右,软件技术专业移动应用开发方向火爆,该专业招生人数较多。2015年左右大数据专业成为热门专业,招生人数较多。2017年左右Web开发中,前后端分离开发逐渐在行业内达成共识,前端发开发人才需求旺盛,直接反映在招生人数上。2020年前后,市场对人工智能专业人才需求明显提升,高职院校纷纷开设该专业,招生人数逐年增多。虽然各专业人数有所波动,但是专业群招生人数变化相对不大。因此,通过专业群共建实训平台,可有效解决专业群内各专业因招生人数变化引起的资源调配问题。
其次,传统的实训室以各自的专业为单位,各建各的,各管各的,管理和维护人员技术水平和素质参差不齐。服务器集中管理降低故障率、节约空间、节约人力成本。
2 平台建设的技术要点
基于对各专业需求的分析,人工智能专业群实训平台的建设应采用云计算技术架构,即多台中心服务器加工作站的方案。中心服务器配置高性能CPU、GPU、大容量内存、存储网络,组成集群,工作站配置性能一般的PC机。教师通过Web端进行管理,学生通过Web端访问学习资源,通过HTTP,HTTPS,RDP或者SSH等协议进入实训环境进行学习。
2.1 私有云平台
基于对上文对专业群教学需求的分析,单台高性能服务器无法满足需求。可以将多台高性能服务器和存储设备组成私有云平台,集中管理、调度,合理分配资源。私有云平台的选择较多,国外的产品有VMware的vSphere、OpenStack、CloudStack,国内的产品有华为、新华三、浪潮、EasyStack和九州云、SmartX、StarVCenter等。其中VMware的vSphere是最成熟的产品,无论在国外或是国内的虚拟化市场都占据着举足轻重的地位,但是在最近出现的VMware对俄停服事件,以及国产化、信创化的大背景下,vSphere无疑应该在名单之外。OpenStack是一个开源的云计算管理平台项目,由一系列的开源项目组成,覆盖了网络、虚拟化、存储等各个方面。国内的整体私有云解决方案大部分以OpenStack为基本技术栈进行构建。阿里云于2016年面向政企客户推出了Apsara Stack专有云解决方案,2017左右腾讯云分别推出基于OpenStack,Kubernetes等技术的TStack和基于公有云架构的Tencent Cloud Enterprise平台,华为Fusion Cloud提供从IaaS,PaaS到DaaS的全栈私有云解决方案,新华三推出基于OpenStack的H3Cloud OS云操作系统。
国内互联网巨头均没有针对高校实训平台推出较通用的解决方案。为高校实训场景提供产品或者解决方案的有:北京普开数据技术有限公司、广州泰迪智能科技有限公司、优选创新科技有限公司、郑州云海科技有限公司、南京云创大数据科技股份有限公司、曙光信息产业股份有限公司等。
2.2 Docker容器技术
Docker是一个开源的应用容器引擎,开发者可以将环境、依赖的组件、应用打包到镜像中,然后发布到任何流行的Linux,Windows,MacOS操作系统的机器上实现虚拟化。容器完全使用沙箱机制,相互之间不会有任何接口。Docker系统由四部分构成,分别是:Docker Client,Docker Daemon,Docker Image,Docker Container。Docker使用客户端—服务器(C/S)架构模式,通过API来创建和管理Docker容器。Docker容器通过Docker镜像来创建实例。容器与镜像的关系类似于面向对象程序设计中的实例与类的关系。客户端和服务端既可以运行在一个机器上,也可分开部署,通过Socket或者RESTful API进行通信。Docker Daemon 在宿主主机后台运行,等待接收来自客户端的消息。Docker客户端则为用户提供一系列可执行命令,用户通过这些命令实现跟Docker Daemon交互。
Docker有以下几个特点:一是开销小,启动速度快,可达到秒级。二是提供一致的运行环境。Dockerfile使镜像构建透明化,Dockerfile本身是文本描述文件。三是持续交付和部署。对开发和运维人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。使用Docker可以通过定制应用镜像来实现持续集成、持续交付、部署。四是方便迁移。由于Docker确保了执行环境的一致性,使得应用的迁移更加容易。Docker可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云其运行结果是一致的。Docker的典型应用场景有:应用的打包与部署自动化、创建轻量,私密的PAAS环境、实现自动化测试和持续的集成/部署、部署与扩展WebApp,数据库和后台服务。
Docker与虚拟机都能提供类似虚拟化的效果,但是两者差异明显。Docker比虚拟机少了一层操作系统,如图1所示。Docker的APP是直接运行在宿主机上的,而虚拟机的APP是运行在宿主机上的虚拟操作系统上。在启动时间上,Docker启动速度快,可达到秒级;虚拟机启动达到分钟级,包含启动虚拟操作系统和启动应用的时间。存储资源的使用上,Docker也小得多,一般是MB级别,仅应用的大小,而虚拟机是GB级,包含操作系统和应用的大小。在性能上Docker接近原生部署,虚拟机弱于原生部署。Docker并非万能,它有以下3方面的缺点:(1)隔离性较差。虚拟机系统硬件资源完全是虚拟化的,当一台虚拟机出现系统级别的问题,往往不会蔓延到同一宿主机上的其他虚拟机,而容器之間共享同一个操作系统内核以及其他组件,所以在受到攻击、应用有Bug之类的情况时,更容易通过底层操作系统影响到其他容器。(2)存储方案弱。Docker容器提供的解决方案是利用Volume接口形成数据的映射和转移,以达到数据持久化的目的,但I/O效率低下。(3)安全性问题。容器与主机共享相同的系统内核。如果出现严重漏洞,恶意代码可能会在主机操作系统上执行,而非在容器内执行;如果此漏洞允许任意内存访问,则攻击者可以更改或读取任何其他容器的任何数据。
通过上文对Docker技术的分析可以发现,在实训平台的建设中,Docker技术有广阔的应用前景。比如教师在上“Linux操作系统”等平台基础课程时,可以在数秒钟之内,为全班40名同学每人创建一个基于Docker的虚拟Linux环境。在平台建设中,应根据实训内容选择适当的技术为学生提供实训操作环境。
2.3 Kubernetes
Kubernetes是一个可移植容器的编排管理工具。随着应用越来越复杂,容器的数量也越来越多,造成了容器的管理和运维难度加大,仅仅依赖Docker的API进行管理,工作量大,非常不方便,在这样的场景下,Kubernetes出现了。Kubernetes集群由Master节点和Node节点组成。Master节点指的是集群控制节点,管理和控制整个集群。除Master以外的节点被称为Node节点。每个Node都会被Master分配一些工作负载(Docker容器),当某个Node出现故障时,该节点上的工作负载就会被Master自动转移到其他节点上。
2.4 GPU虚拟化技术
在IaaS平台的技术选型过程,需要特别注意的问题是GPU的虚拟化,即vGPU。vGPU即真正意义上的GPU虚拟化方案,它是将一块GPU卡的计算能力进行切片,分成多个逻辑上虚拟的GPU,以vGPU为单位进行算力分配,将单块GPU卡分配给多台虚拟机使用,即多个用户使用,使得虚拟机能够运行3D软件、进行AI运算。真正实现了GPU资源的按需分配,大大降低用户的使用成本以及提高数据的处理效率和数据安全性。过渡方案无法对物理GPU的计算能力进行切片,但能够将物理机上指定的GPU绑定到一台虚拟机上,使用完成后从虚拟机解除绑定即可绑定到另一台虚拟机使用,操作过程中虚拟机不停机,适用于虚拟机做图像渲染和AI计算的场景。因此,高校在与厂家对接过程应特别注意。
3 平台建设主要内容
专业群实训平台建设包含硬件平台、软件平台、课程资源、实训平台的管理维护等多个方面,其中硬件平台和软件平台是重点,平台的系统架构如图2所示。
3.1 硬件平台建设
现代大学生在入学之后,配备电脑的比例非常高,根据2013年《大学生笔记本电脑调查报告》对某本科在校生的调查显示,拥有电脑的人占到被调查总人数的85%。随着社会经济水平的发展,这一比例应该进一步提高。专业群实训平台硬件建设的重点应放在服务器上,多台服务器、SAN通过万兆交换机连接,组成高性能、大容量集群。服务器CPU的核心和GPU算力的配置是整个平台硬件配置的难点。一般来讲,配置虚拟CPU时,虚拟插槽数应不大于实际物理CPU数量,每个插槽内核数应不大于每个物理服务器的核心数,这样才能更充分地发挥虚拟CPU的处理能力[6]。CPU的核心主要分配给平台自身软件以及虚拟化桌面和容器。虚拟化桌面和容器可以根据各专业的人数进行计算。
为提高服务器的可靠性、稳定性,减少服务器噪声对实训室环境的影响,可设立单独的服务器机房,配备高精度空调,为机房提供稳定可靠的工作温度、相对湿度、空气洁净度。
考虑到学校可能有承办高职院校职业技能大赛、组织“1+X”技能证书考试的需要,实训室同时也需要配置一定数量的工作站。工作站的数量可根据各专业群人数和场地综合考虑。工作站硬件配置的下限是达到承办高职院校职业技能大赛的要求。比如,2022年四川省职业院校技能大赛移动应用开发赛要求主办方提供的比赛电脑能流畅地进行Android应用开发,那么CPU至少应该是Intel的8代酷睿I5以上、内存16G以上,并配备固态硬盘。由于服务端可以提供GPU虚拟化技术,可以考虑不在工作站配置GPU。
3.2 软件平台建设
基于高校学生日常教学和实训的具体业务需求,专业群实训平台应包含:实训管理系统、云计算资源管理系统、课程资源管理系统。3个系统中,云计算资源管理系统是基础,管理整个集群的所有硬件资源,并提供虚拟化和容器服务,可以是基于OpenStack的扩展。实训管理系统和课程资源管理系统属于核心业务系统,可以部署在虚拟服务器上。
云资源管理平台应具备以下功能:超融合集群部署,无固定中心、高可用,随着服务器的增加,计算、存储、网络的整体运行处理能力无限扩展;支持主流的虚拟化引擎(KVM)模式;支持容器集群(LXC、Docker)模式;提供各维度(CPU、I/O、网络、存储等)监控展示云平台资源运行状态;支持独立的存储集群网络;支持模板镜像库、光盘镜像库,可通过模板镜像、光盘镜像快速创建虚拟机;支持从磁盘镜像导入,支持MDK,VDI,VHDX,QCOW2等多种格式文件;支持自定义虚拟子网,虚拟机的每块虚拟网卡都可以接入一个虚拟子网,虚拟子网间支持VLAN隔离;支持物理GPU绑定到虚拟机与解绑,支持vGPU绑定到虚拟机与解绑;支持SAN存储单元管理,发现物理主机上新划分的SAN存储单元,主要用于SAN存储接入方式的存储扩容;支持虚拟共享磁盘定义;支持三网分离,管理网、业务网、存储网分别走不同的物理链路;支持负载监控、异常监测与告警;支持资源动态视图。
实训管理系统应具备以下功能:学生可查看实训课程、实验、作业详细内容;学生在实训过程中通过该系统明确学习内容、学习目标、实验安排、参考资料等信息;实验按照阶段進行设置,学生可以从全局上看到自己的学习路径,从而按照学习内容选择相应的实验课程进行实操;提供在线实验环境,可以在线撰写实验报告,支持简化交互式计算与数据分析类实验;支持实验文档与执行代码收归;支持Linux/Windows虚拟机在线实验环境,支持Docker容器,集成Linux编译环境,可方便地根据实验内容在Linux环境中进行操作,并直观地验证实验结果;实训过程中需要用到的各类虚拟环境,由教师统一配置,学生可以一键进入,用完自动回收资源,资源分配与回收功能由云计算资源管理系统提供。
课程资源管理系统与实训管理系统不同,以课程为单位组织内容,包含教学活动、教学统计、教学资源、通知、作业、考试、讨论等功能模块。课程资源管理系统与实训管理系统深度整合,学生在实训过程中无须登录课程资源管理系统,就可以获取到相应的资源。
4 结语
随着时代飞速发展,技术不断进步,通过私有云平台搭建实训环境已经成为主流。人工智能专业群内的多个专业有相同点,在教学过程中需要理论与实践相互结合,并且专业实践教学环节较多。同时各专业又有自身的特点,计算机网络专业的实训环境要求虚拟化、网络化,大数据技术专业实训平台对带宽和存储的要求相对更高,软件技术专业需要针对不同的开发方向配置不同的镜像环境,人工智能专业实训平台对算力和算力的分配要求较高。通过对私有云平台核心技术OpenStack、Docker容器技术、Kubernetes容器编排技术、GPU虚拟化技术的分析,得出专业群集中建设实训平台完全可行的结论,并给出了硬件平台配置建议、软件平台功能建议,希望对高职院校实训室管理员、实训中心主任有所帮助。
参考文献
[1]高校人工智能与大数据创新联盟.高职院校人工智能技术应用(服务)专业排行榜2022全国463所高职高专院校人工智能专业教育教学综合实力一览表[EB/OL].(2020-07-08)[2022-06-10].https://www.163.com/dy/article/H9H0OV7F0532N2UB.html.
[2]謝显杰.基于OpenStack的私有云平台构建研究[J].信息与电脑(理论版),2022(5):88-91.
[3]谢榕.人工智能的国际化—多元化创新教学模式[J].计算机教育,2017(6):165-170.
[4]赵英昌.大学生笔记本电脑调查报告[J].企业导报,2013(4):114-115.
[5]李自臣,刘江越,陈梅.职业院校大数据应用技术实训平台的建设[J].黑龙江科学,2019(15):7-8,11.
[6]谭志远,黄巍,宫云平,等.VMware虚拟机性能评估分析[J].移动通信,2015(5):92-96.
(编辑 傅金睿)
Construction of artificial intelligence specialty group training platform in colleges
Liao Ruofei
(Sichuan College of Information Technology, Guangyuan 628040, China)
Abstract: There is an urgent need to build a practical training platform for artificial intelligence professional group based on cloud computing technology in higher vocational colleges. This paper analyzes the current situation of artificial intelligence major in higher vocational colleges, the goal of talent training, and the necessity of the construction of practical training platform of artificial intelligence major group. It analyzes the scenes and technical solutions in the practical training and daily teaching process of each major in the professional group, and demonstrates the advantages of using the professional group to build the practical training platform. Focus from technical analysis of the main technical points in the construction of practical training platform: private cloud platform, Docker container technology, GPU, virtualization technology, as well as in training platform application scenarios, introduces the development of private cloud platform and technology selection, on the basis of this puts forward the platform of hardware configuration and software system planning.
Key words: artificial intelligence; training platform; private clouds; docker container; GPU virtualization