基于云原生的在线机器学习实验平台构建与应用

作者: 潘正军 赵莲芬

 基于云原生的在线机器学习实验平台构建与应用0

关键词:云原生;在线机器学习;实验平台

中图分类号:TP18 文献标识码:A

文章编号:1009-3044(2024)21-0050-03

0 引言

人工智能和大数据专业人才的培养是国内外众多高校在高速发展的人工智能和大数据产业下进行的。作为典型的交叉学科,人工智能和大数据涉及的领域非常多,比如计算机编程、数据挖掘、统计、机器学习、深度学习等。其中,以机器学习和深度学习为主的算法在金融、电商、外卖、教育等领域产生了很多落地应用,受到了大家的热烈关注。为适应数字经济的发展,需要大力培养工程应用领域的专业人才,这方面人才的培养很大程度上要靠实践教学,而实验平台的建设水平则决定了实践教学水平的高低。

目前,国内学者针对人工智能和大数据实验教学平台做了部分相关研究。文献[1]基于容器云构建了分布式深度学习实验平台,该平台实现了应用部署自动化,硬件资源弹性伸缩,提升了模型训练的速度;文献[2]基于OpenStack构建了大数据云实验室,该实验平台实现了大数据环境的快速部署,能够充分利用资源,节约成本等;文献[3]利用Docker容器技术构建了大数据实验室,提出了一种基于Docker容器技术实现大数据集群环境的部署方法,该方法利用现有资源节约了成本;文献[4]基于Docker容器技术设计并实现一种在线虚拟仿真实验容器系统,该系统提升了实践教学环节进行在线虚拟仿真实验的便捷性;文献[5-6]基于Docker容器技术实现了Linux在线实验环境以及HTTP服务器的构建和应用,允许用户基于浏览器快速进行Linux实验和上传下载实验内容;文献[7]基于Docker容器和技术实现了计算机类课程实验平台的搭建,使用Docker技术封装实验镜像,为用户提供基于浏览器的快速访问和使用;文献[8]探讨了Docker技术在高校教学平台建设中的应用,主要通过Dockfile 构建实验镜像,集群实验环境的构建主要通过拉取统一的镜像进行构建。上述文献针对大数据和人工智能实验平台进行了一定的研究,但针对基于云原生的机器学习和深度学习实验平台的研究和建设相对较少,因此,研究基于云原生的在线机器学习实验平台构建与应用具有重要的意义。

当前的传统机器学习实验平台主要存在以下几个方面的问题:

1) 资源算力问题。现有算力散落无法复用,资源抢占时间浪费,CPU/GPU资源总体利用率低。

2) 环境准备问题。实验环境的搭建人手一份,大多用自己熟悉的框架版本,实验软件的框架和版本选择各自为战,很难统一,导致实验效率低下,没有统一的在线开发环境。

3) 代码开发问题。由于实验环境不统一,导致代码开发会强绑定机器,如果机器故障或裁撤时很难处理。

4) 任务编排问题。任务流程的协同编排通过共享文档或存储交互,写shell脚本执行,没有统一的数据流转API和可视化任务编排接口。

5) 任务调试问题。任务流的调试多集中于单任务的调试,对于分布式任务,无法查看全部日志的聚合结果,需要逐个pod查看,也无法同时查看每个任务的资源使用情况。

针对上述问题,本文提出一种基于云原生[9]架构的在线机器学习实验平台,提供端到端的一站式在线实验解决方案,让用户专注于业务算法的实现,提升资源利用率和实验效率。

1 云原生概述

云原生是指一系列云计算技术和开发管理组件,包括DevOps、持续交付、微服务、容器化等,云原生架构如图1所示。

其中,微服务是指可以独立部署、更新和重新启动,通过Restful API实现应用程序之间的通信;Dev⁃ Ops是指开发、运营和维护协作,快速部署到生产环境,实现自动发布;持续交付是指实现敏捷发布、交付和快速反馈;容器是指承载微服务的载体。

在微服务、容器技术的推动下,云原生(Cloud Na⁃ tive) 逐步成为当前主流的信息化架构,其基于微服务架构思想、以容器为部署载体、可自动化编排、借助敏捷方法支持持续迭代和运维自动化,依托云基础设施环境,可实现弹性伸缩、动态调度、优化资源利用率等[10]。基于云原生架构建设在线机器学习实验平台,将在线机器学习实验平台各环节的服务按需拆分为不同的微服务,以容器为载体进行独立部署,并通过自动化编排工具,实现平台服务的高效管理,在面对多门课程同时开课使用时,将大大提升平台的高可用、高并发、高弹性等能力[11]。本文将结合机器学习和深度学习存在的高可用、高并发、高弹性的实际需求和资源问题,提出基于云原生的平台架构设计在线机器学习实验平台,并通过机器学习实验进行验证。

2 基于云原生的机器学习实验平台构建

基于云原生的机器学习实验平台主要分为三层:云原生资源统筹层、分布式计算框架层和模型生产发布层。

云原生资源统筹层主要包括Kubunetes集群资源隔离调度管理、分布式存储、监控系统、日志系统等[12];分布式计算框架层主要包括常用的计算框架TensorFlow、PyTorch、Mxnet、Ray等;模型生产发布层主要包括数据管理、在线开发、模型训练、AutoML、推理服务、开放模型等。平台功能架构如图2所示。

该平台基于云原生建设,Linux内核进行标准化。CPU采用大核心配置,GPU是异构的,需要结合用户需求来进行选择;平台底层统筹算力,对用户透明,用户可以自行配置私有Docker仓库,还可以自行封装分布式框架,实现端到端一站式功能。

2.1 平台多集群部署

平台部署涉及集群资源分配问题,也涉及多项目部署/多区域部署的资源分配问题[13];同时,平台UI端通过项目选择、平台控制与用户控制相结合的管理方式,所有这些管理需求都存在公有资源与私有资源共存的问题。像训练/调试被部署到由平台控制的各自集群中,用户需要使用私有资源,那么这个集群对应的资源池就可以配置到项目组中。平台多集群部署结构图如图3所示。

2.2 平台分布式存储

为实现统一的开发、训练和存储,并屏蔽数据,需要平台进行分布式存储。只要在平台上启动容器,在默认的指定目录下即为个人资料,用户间的资料彼此隔离屏蔽,互不可见。此外,平台支持自带存储资源或使用平台公有资源的不同服务形式,公有资源推荐使用高性能的SSD CEPH,用高性价比的CFS与外部存储对接进行链路打通。平台分布式存储结构如图4所示。

2.3 在线开发

平台能够集成常见的开源开发工具Jupyter、VScode等,并可同时创建多实例;还可以将常用的开发工具Git、Spark客户端等集成到Notebook中;针对特殊场景的用户则可以通过加入类似Tensorboard/Pan⁃ das这样的插件来制作定制的Notebook来进一步提高使用效率。平台还提供了在线开发镜像构建功能,屏蔽实现细节,比如打包Dockerfile,只须执行命令行就可以实现对算法的镜像打包。

2.4 模板编排与开发

平台集成了模板市场和pipeline编排工具,并在开源中提供多种分布式模板。比如分布式训练Py⁃ Torch、分布式数据处理Ray、分布式超参搜索NNI等,用户通过可视化方式编排pipeline,配置好参数即可运行。

模板市场的模板是注册进去的,用户和平台都可操作。使用标准化的注册流程注册至平台后,平台用户就可使用该模板。如图5所示。

构建好模板后,即可以导入数据,然后进行分布式训练和模型验证,最终完成模型部署。

3 机器学习实验平台应用

为了验证构建的一站式机器学习实验平台的性能,定量衡量平台容器集群的效率,设计了基于卷积神经网络AlexNet[14]的猫狗分类和基于卷积神经网络VGG的猫狗图像识别的实验进行验证。

AlexNet网络是基于LeNet基础上进行改进优化的,网络总共的层数为8层,其中:5层卷积,3层全连接层,输出1 000个类别;激活函数使用ReLu,有效缓解了梯度消失问题,训练集每个类别有3000张图像、验证集每类有600张图像。

VGG模型突出贡献是证明小卷积级联比大卷积在感受野相同的情况下效果更佳;其中VGG16 和VGG19两种网络结构较为常用。本实验使用VGG16 模型[15],训练集每个类别有 3000张图像、验证集每类有600张图像。

设置Worker容器的个数分别为5个和10个,分别执行AlexNet的猫狗分类模型和VGG的猫狗图像识别模型训练任务,训练时间如图6所示。

VGG16在10个Worker(GPU)训练60个epoch,用时23分钟,在训练集上准确率达到97%。在验证集上准确率达到86%。

VGG16在5个Worker(GPU)训练80个epoch,用时40分钟,在训练集上准确率达到95%。在验证集上准确率达到84%。

AlexNet 在10 个Worker(GPU)训练120 个epoch,用时60分钟,在训练集上准确率达到93%,在验证集上准确率达到82%。

AlexNet在5个Worker(GPU)训练了140个epoch,用时70分钟,在训练集上准确率达到90%,在验证集上准确率达到80%。

实验结果表明,模型训练耗时和准确率成正比,经过120次Epoch时,准确率稳定在90%左右;GPU的数量和训练耗时成反比,选择5个GPU训练耗时约60 分钟,10个GPU训练耗时约40分钟。因此,模型训练时间的减少和GPU的并行训练相关,在性能上表现出一定的优势。

4 结束语

本文针对大部分高校在机器学习实验教学过程中缺少端到端的一站式平台,基于云原生构建了在线机器学习实验平台,提供云原生资源统筹管理、数据管理、在线开发、训练编排、模型部署等一站式的解决方案,能够方便地进行私有化部署,提供推荐、广告、搜索、文本、音频、视频、图片等场景的训练和推理。通过应用机器学习实验表明,该平台具有良好性能优势和可扩展性,提升了资源利用的弹性和效率,实现了机器学习实验流程的自动化和可视化,为机器学习实验平台的构建和应用提供了有益的参考。

经典小说推荐

杂志订阅