掌桥专利:专业的专利平台
掌桥专利
首页

基于kubernetes的自动机器学习方法及系统

文献发布时间:2023-06-19 11:32:36


基于kubernetes的自动机器学习方法及系统

技术领域

本发明涉及自动机器学习技术领域,尤其涉及一种基于kubernetes的自动机器学习方法及系统。

背景技术

如今,机器学习技术和算法逐渐应用到生产生活的方方面面,而建立一个高质量的机器学习模型是一个迭代的、复杂的、耗时的过程:除了要求机器学习从业者设计和尝试不同的算法,还要针对算法不断进行超参数的调整与适配。这对于工程师的知识水平与实践经验有非常高的要求。

随着硬件计算能力的提升,深度学习(Deep Learning,DL)技术迎来了又一次复兴。由于权重共享、稀疏连接等特性,卷积神经网络结构(Convolutional NeuralNetworks,CNNs)在许多图像处理任务中都取得了不俗的成绩。如何在提升网络性能的同时减弱对人力的依赖仍旧是一个较为棘手的问题。

随着数据量的爆炸式增长与应用领域的持续增多,企业越来越意识到单纯依靠人力无法完成如此庞大的工程。因此,建立一个自动化的机器学习模型设计与参数搜索系统显得至关重要。

近年来,神经架构搜索(Neural Architecture Search,NAS)框架的提出,缓解了这一复杂且费时费力的网络结构设计工程。

目前,深度学习领域有超参数搜索和神经架构搜索等技术,可以通过自动化的手段实现模型超参数的选取,从而减少人工需求。这些技术的主要目的是通过扮演领域专家的角色,减少人工在该过程中的作用,从而实现更加高效的模型设计与参数调节。

而在云原生领域,kubernetes具备高效的分布式平台调度能力,为大规模的分布式自动机器学习系统提供了有力基础。而基于kubernetes的kubeflow环境则提供了更友好的超参数搜索与模型结构搜索能力,允许运维工程师管理整个调参过程,降低企业AI进入门槛。然而kubeflow中未涉及使用搜索的超参数直接生成实验的引擎,使得超参数生成过程与多试验并行训练过程依然分离进行,降低了自动机器学习系统的效率。

发明内容

(一)要解决的技术问题

针对于现有的技术问题,本发明提供一种基于kubernetes的自动机器学习方法及系统,用于至少部分解决以上技术问题。

(二)技术方案

本发明提供一种基于kubernetes的自动机器学习方法,包括:搭建含有至少两个机器的自动机器学习系统;设置自动机器学习系统的优化目标函数及超参数极值约束条件;查找超参数搜索算法,根据超参数搜索算法将满足超参数极值约束条件的值代入优化目标函数,得到随机超参数;获取至少两组待处理任务的实验数据,将每组实验数据分配到不同的机器上进行训练,直到达到极值,其中,每组实验数据的训练使用不同的随机超参数;收集不同机器的训练结果,根据训练结果判断得到自动机器学习系统的最优参数配置,其中,训练结果包括达到极值的收敛速度和模型精度。

可选地,超参数搜索算法包括改进的经典搜索算法或启发式搜索算法。

可选地,利用分布式平台并行训练实验数据,分布式平台的设置包括相同模型、相同数据、不同的随机超参数。

可选地,改进的经典搜索算法包括经贝叶斯优化算法优化后的网格搜索算法或随机搜索算法。

可选地,启发式搜索算法包括模拟退火算法、遗传算法、列表搜索算法、进化规划、进化策略、蚁群算法、人工神经网络。

可选地,通过损失函数设置超参数极值约束条件。

可选地,通过日志收集和/或打印收集的方式收集不同计算节点的计算结果。

可选地,基于kubernetes的自动机器学习方法还包括,通过系统自带前端或数据库查询的方式展示最优参数配置。

本发明另一方面提供一种基于kubernetes的自动机器学习系统,包括:超参数生成模块,用于根据优化目标函数和超参数极值约束条件,利用超参数搜索算法生成随机超参数;数据获取模块,用于获取至少两组待处理任务的实验数据;训练模块,用于将每组实验数据分配到自动机器学习系统的不同机器上进行训练,直到达到极值,其中,每组实验数据的训练使用不同的随机超参数;收集判断模块,用于收集不同机器的训练结果,根据训练结果判断得到自动机器学习系统的最优参数配置,其中,训练结果包括达到极值的收敛速度和模型精度。

可选地,训练模块用于利用分布式平台并行训练实验数据,分布式平台的设置包括相同模型、相同数据、不同的随机超参数。

(三)有益效果

本发明提供一种基于kubernetes的自动机器学习方法,通过将超参数搜索与在不同机器上的多试验并行训练结合起来,提供了一整套完善的自动机器学习方案,实现了自动机器学习系统从实验超参数的生成、实验生成、实验节点分配以及实验结果收集的完整实验搜索方法,提高了自动机器学习系统的效率,利用搜索训练得到的最优超参数,使得自动机器学习系统学习处理实际任务的能力得到了提升,比如可以更好更快的进行图像分类。

附图说明

图1示意性示出了本发明实施例的基于kubernetes的自动机器学习方法流程图;

图2示意性示出了本发明实施例的基于kubernetes的自动机器学习系统框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

图1示意性示出了本发明实施例的基于kubernetes的自动机器学习方法流程图。

根据本发明的实施例,如图1所示,基于kubernetes的自动机器学习方法例如包括:

S101,搭建含有至少两个机器的自动机器学习系统。

根据本发明的实施例,例如以基于ResNet50神经网络的图像分类任务对本发明的内容做进一步的说明。例如搭建含有至少两个机器的自动机器学习系统或者称为自动机器学习框架。

S102,设置自动机器学习系统的优化目标函数及超参数极值约束条件。

根据本发明的实施例,优化目标函数与超参数极值约束需要符合系统对约束条件的要求。超参数极值约束条件可以通过目标函数,例如可以通过损失函数来实现。同时,不同任务有不同的目标,我们可以根据当前任务的训练目标,定义不同的损失函数进行约束。超参数极值范围依据任务需求而定,例如在做分类任务的时候,我们可以设置分类准确率达到95%,则停止超参数搜索。为了验证超参数的有效性,需要控制变量,即优化目标函数及超参数极值约束,需要根据具体实验要求,在满足相同超参数极值条件的约束下进行。

根据本发明的实施例,搭建好自动机器学习系统后,创建实验并设置实验参数,实验参数例如包括需要优化的目标函数、搜索空间、搜索算法和评价指标。

根据本发明的实施例,设置实验参数例如包括设置并行性配置:设置需要并行运行实验的数量。本实施例中例如设置并行运行5组不同超参数的ResNet50网络。设置目标:运行实验的训练目标/终止条件,需要优化的目标函数。本实施例中的目标函数例如采用交叉熵损失函数:

其中,L表示交叉熵损失函数;K是种类数量;y是类别标签,如果类别是i,则y

S103,查找超参数搜索算法,根据超参数搜索算法将满足超参数极值约束条件的值代入优化目标函数,得到随机超参数。

根据本发明的实施例,在极值约束的条件下,利用超参数搜索算法来实现最优实验超参数的自动生成和选择,例如利用内置的随机搜索算法搜出多组实验超参数:在一定的区间内,不断随机地而不是有倾向性产生随机点,并计算其约束函数和目标函数的值,对满足约束条件的点,逐个比较其目标函数的值,将坏的点抛弃,保留好的点,最后便得到最优解的近似解(近似解即模型所需超参数)。并且该系统或框架支持利用Kubernetes的集群资源进行超参数搜索。

根据本发明的实施例,超参数搜索算法例如包括:改进的经典搜索算法或启发式搜索算法。其中,改进的经典搜索算法例如包括经贝叶斯优化算法优化后的网格搜索算法或随机搜索算法。启发式搜索算法例如包括模拟退火算法(SA)、遗传算法(GA)、列表搜索算法(ST)、进化规划(EP)、进化策略(ES)、蚁群算法(ACA)、人工神经网络(ANN)等。

根据本发明的实施例,几个点的搜索算法例如包括:网格搜索和随机搜索算法。我们利用例如贝叶斯优化的思想对经典算法在自动机器学习超参数搜索的应用上进行了改进。网格搜索和随机搜索在测试一个新点时,会忽略前一个点的信息,而贝叶斯优化算法则充分利用了之前的信息。贝叶斯优化算法通过对目标函数形状进行学习,找到使目标函数向全局最优值提升的参数。具体来说,它学习目标函数形状的方法是,首先根据先验分布,假设一个搜集函数,然后,每一次使用新的采样点来测试目标函数时,利用这个信息来更新目标函数的先验分布;最后,算法测试由后验分布给出的全局最值最可能出现的位置的点。贝叶斯优化算法,一旦找到了一个局部最优值,它会在该区域不断采样,所以很容易陷入局部最优值。为了弥补这个缺陷,贝叶斯优化算法会在探索和利用之间找到一个平衡点,“探索”就是在还未取样的区域获取采样点;而“利用”则是根据后验分布在最可能出现全局最值的区域进行采样。

根据本发明的实施例,查找最佳超参数的搜索算法(例如随机搜索,网格搜索,TPE,贝叶斯优化)。本实施例中例如采用随机搜索算法。当超参数满足极值约束条件:例如分类准确率达到一个约定值为95%(同时满足网络层限定16-50;卷积核大小限定:3*3,5*5,7*7),则停止搜索程序,将当前搜索到的超参数作为搜索结果输出。

S104,获取至少两组待处理任务的实验数据,将每组实验数据分配到不同的机器上进行训练,直到达到极值,其中,每组实验数据的训练使用不同的随机超参数。

根据本发明的实施例,例如可以通过内置实验生成引擎,将生成的不同超参数赋予到模型当中,形成多组不同超参数的实验方案,用于处理例如图像分类任务中的相关实验数据,包括图像格式,图像分辨率,图像色彩,图像灰度,图像对比度等。并行运行多组实验,实验例如可以由分布式平台并行生成来训练相关实验数据,分布式平台的设置例如包括相同模型、相同数据、不同的随机超参数。多组实验是指利用预定义的网络使用框架搜索到的多组超参数对相关实验数据在集群中的不同节点(不同机器)上进行训练,实验的组数是我们预定义的,例如我们集群中包含8个计算节点,那么我们的组数可以设置为8。本发明实施例提供的自动机器学习系统或框架会根据搜索到的多组超参数,将我们定义的模型复制多份,利用这些超参数为这些不同模型进行参数配置。例如将预定义的模型复制n份,利用生成的n组超参数分别作为这n组实验的参数配置。其中,模型是指本发明实施例提供的自动机器学习系统或框架需要进行超参数搜索的网络,这个网络是根据实际需要定义的,例如分类网络的VGG网络,可以利用本框架对神经网络的层数、卷积核的大小等超参数进行搜索。

根据本发明的实施例,根据设置好的实验参数,选用查找到的搜索算法在搜索空间内搜索,并生成具体实验参数集合。如随机搜索的ResNet50网络的网络层数(本案例限定50)、卷积核大小等等。

根据本发明的实施例,根据返回的实验参数集合,生成对应的训练参数集合,训练参数集合里详细地记录了运行实验所需要的所有实验参数设置。实验参数集合是本框架查找到的搜索算法,在搜索空间内搜索到的多组ResNet50网络的超参数;训练参数是实际满足极值约束(本案例采用的极值约束例如为分类准确率达到一个约定值为95%)的最优超参数。

根据本发明的实施例,基于kubernetes对所有的训练参数集合进行训练,可以在实验框架定义的统一实验资源分配调度下,例如定义每个计算节点只能运行一个搜索模型,将不同实验分配到系统不同节点上进行实验。根据实际情况,例如在类似节点的GPU资源、节点存储资源不够的情况下,会优先调度资源丰富的节点,将生成了不同超参数的ResNet50网络,在系统的不同节点上进行训练。根据训练的结果(分类准确率)来选择最优的超参数集合。

S105,收集不同机器的训练结果,根据训练结果判断得到自动机器学习系统的最优参数配置,其中,训练结果包括达到极值的收敛速度和模型精度。

根据本发明的实施例,可以从不同的实验节点上收集到实验运行结果,例如可以通过日志收集和/或打印收集的方式收集不同计算节点的计算结果,然后与设置的目标函数进行对比分析,得到最优的实验参数集。

根据本发明的实施例,最优参数是根据我们设置的超参数极值约束来确定的,例如根据达到极值的收敛速度、模型精度来综合考量。

根据本发明的实施例,基于kubernetes的自动机器学习方法例如还包括,通过系统自带前端或数据库查询的方式展示最优参数配置。

根据本发明的另一实施例,本发明提供了一种面向遥感图像数据语义分割的自动化随机搜索模型结构设计。

根据本发明的另一实施例,创建实验并设置实验参数,内容例如包括需要优化的目标函数、搜索空间、搜索算法、评价指标。其中,设置并行性配置例如包括:设置需要并行运行实验的数量。例如并行运行5组不同超参数的FCN网络。在本实施例中,例如可以将三种随机图ER,WS,BA的节点N都设置为32。对于ER随机图,例如令P=0.2;对于WS随机图,例如令R=4,P=0.75;对于BA随机图,例如令T=5。设置目标例如包括:运行实验的训练目标/终止条件,需要优化的目标函数。目标函数采用公式(1)中的交叉熵损失函数。设置搜索空间例如包括:需要搜索的所有超参数的名称和分布(离散值或连续值)。在本实施例中,例如令卷积核尺寸K

根据本发明的另一实施例,根据设置好的实验参数,选用设置的搜索算法在搜索空间内搜索,并生成搜索的模型。

根据本发明的另一实施例,基于kubernetes集群对所有的训练参数集合进行训练。对于生成的不同超参数的模型,在系统的不同节点上对ISPRS Vaihingen数据集进行了实验。根据训练的结果(例如整体准确率)来选择最优的模型。如表1所示,通过定量分析,随机拓扑多尺度模型仅仅依靠非常少的参数量,其性能却和原始FCN保持不变甚至略有提升。

表1

综上所述,本发明实施例提出一种基于kubernetes的自动机器学习方法。本发明在基于例如云原生分布式平台下,利用kubeflow提供的机器学习工具集,将自动机器学习参数生成算法和实验生成调度方法相结合,通过实验超参数的生成、实验生成、实验节点分配以及实验结果收集这一完整的实验搜索方法,实现了一整套完善的自动机器学习方案,这种方法,能够用于卷积神经网络超参数搜索,可以实现最优实验超参数自动生成和选择,大大节省了手工调参的时间,提高了调参效率,降低了现有机器学习环境下算法工程师繁重的调参负担,进而降低了企业的AT进入门槛。

本发明另一方面提供一种基于kubernetes的自动机器学习系统。

图2示意性示出了本发明实施例的基于kubernetes的自动机器学习系统框图。

根据本发明的实施例,如图2所示,基于kubernetes的自动机器学习系统200例如包括:

超参数生成模块210,用于根据优化目标函数和超参数极值约束条件,利用超参数搜索算法生成随机超参数。

数据获取模块220,用于获取至少两组待处理任务的实验数据。

训练模块230,用于将每组实验数据分配到自动机器学习系统的不同机器上进行训练,直到达到极值,其中,每组实验数据的训练使用不同的随机超参数。

根据本发明的实施例,训练模块用于利用分布式平台并行训练实验数据,分布式平台的设置包括相同模型、相同数据、不同的随机超参数。

收集判断模块240,用于收集不同机器的训练结果,根据训练结果判断得到自动机器学习系统的最优参数配置,其中,训练结果包括达到极值的收敛速度和模型精度。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 基于kubernetes的自动机器学习方法及系统
  • 一种基于Kubernetes的流水线自动化构建部署的方法及系统
技术分类

06120112964891