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

一种基于自动机器学习的边缘计算模型训练方法

文献发布时间:2023-06-19 18:30:43


一种基于自动机器学习的边缘计算模型训练方法

技术领域

本发明涉及边缘计算领域,特别涉及一种基于自动机器学习的边缘计算模型训练方法。

背景技术

为了克服传统IT技术所面临的资源利用率低、生产成本高、网络利用率低、能源消耗高等问题,云计算技术应运而生。企业可以利用分布式计算和虚拟化技术搭建数据中心或超级计算机,以无偿或按需求租用的形式向技术人员或企业用户提供硬件资源(服务器、存储器、CPU等)和软件资源(应用软件、集成开发环境等),企业用户只需按照自身的实际需求选择相应的业务,而无须购置、拥有和维修物理的资料设备和数据库。另外,云计算还拥有广泛的网络接入、资源池化、快速弹性伸缩和可计量服务等优势。

然而,随着近几年5G技术和物联网技术的快速发展,万物互联时代的到来,网络中接入了大量的终端设备,计算需求出现爆发式增长。其中不乏对计算服务实时性要求高的计算任务,例如无人驾驶、VR游戏和智能家居等。当面对海量数据计算、新兴计算场景、小数据实时处理等方面的挑战时,受限于距离、网络带宽等因素的传统云计算架构难以满足这些计算任务的要求。

因此,将云计算的能力下沉到边缘侧、终端侧,通过云端进行统一的交付、运维、管控将会是重要的发展趋势。随着算力从云端下沉到边缘端,一套新的计算体系-云边端协同计算架构也因此而生。其中“云”是传统云数据中心,是边缘计算的管控端;“边”是云数据中心和终端设备之间的边缘节点组成的边缘网络;“端”则是智能终端设备,比如手机、智能家电、各类传感器等。与传统的云计算架构相比,云边端协同计算架构不需要将终端设备产生的计算任务和数据全部上传到云端,只需将小规模、实时的智能分析任务交给就近端的边缘节点处理,拉近了计算资源与客户的距离,可以产生更快的网络服务响应,满足各行业在实时业务、应用智能、安全与隐私保护等方面的需求。

尽管如此,由于边缘服务器上的计算资源有限、异构芯片不能协同统一利用、计算资源利用率低等原因,实际上还是会出现计算延迟高等问题。因此,近年来技术人员基于各种技术提出了优化边缘服务器资源利用率、保护数据隐私性、降低计算时延的模型和方法。

例如,北京交通大学提出的“一种基于边缘计算的神经网络模型训练方法”(申请号为202210176214.9),通过使用非学习层的方式对模型进行改进,优化边缘端和终端设备间的数据传输,减少通信时延。

重庆理工大学提出的“分层边缘计算环境中基于深度强化学习的任务调度方法”(申请号为202111012837.4),以提升调度决策的质量并能在效率与质量之间得到平衡。

上海交通大学提出的“一种基于边缘计算的任务调度方法”(申请号为202210007565.7),通过在各区域维护一个策略网络,基于联邦学习的深度强化学习算法进行在线更新网络参数,各区域独立对本区域内实时接收到的任务进行调度,以增强模型扩展性、保护数据隐私性、提高系统性能。

上述模型方法都在一定程度上提升了边缘服务器的性能,但没考虑到边缘服务器的异构性和边缘服务器上计算资源有限的问题。为此,本发明将自动机器学习技术运用在边缘计算上,自动训练计算模型,从而得到最优计算模型,减轻了模型开发和维护的成本。同时,考虑到边缘服务器计算资源有限和计算任务对计算时延有要求的问题,通过根据计算任务信息和计算资源情况,对自动机器学习算法的超参数进行学习和约束,使生成的计算模型更具有泛化能力。

发明内容

本发明的目的在于克服现有技术的缺点与不足,提供一种基于自动机器学习的边缘计算模型训练方法,该方法能考虑边缘服务器的异构性、资源有限性以及计算任务对计算时延的要求,使生成的计算模型更具有泛化能力,同时减轻模型开发和维护的成本。

本发明的目的通过以下的技术方案实现:

一种基于自动机器学习的边缘计算模型训练方法,包括以下步骤:

步骤1:边缘服务器在训练计算模型之前,获取当前任务队列中每个计算任务的信息矩阵Job,以及当前服务器的计算资源矩阵Source;

步骤2:将计算任务的信息矩阵x

步骤3:将步骤2中的X输入到已经训练好的神经网络模型,最后神经网络模型输出自动机器学习算法的超参数Hyperparameters;

步骤4:根据步骤3中的超参数Hyperparameters,设置好自动机器学习算法的超参数,然后使用输入数据通过自动机器学习算法自动训练出最优机器学习计算模型Best

一种基于自动机器学习的边缘计算模型训练方法,包括以下步骤:

S1.针对电表读数的图像识别计算任务,提前在Atlas 200DK边缘设备上部署能够自动获取不同计算任务在CPU和NPU上运行时产生的计算任务的信息矩阵Job和服务器的计算资源矩阵Source的脚本;

S2.在Atlas 200DK边缘设备上定期采集m个电表读数的图像识别任务及其产生的信息Job,其中Job={j

S3.在Atlas 200DK边缘设备上部署基于深度学习框架TensorFlow的NAS自动训练脚本;

S4.使用步骤S3中的NAS自动训练脚本训练一个最大层数不超过10层,每层宽度不超过300个神经元的DNN神经网络模型Model,其输入为X={Job,Source},输出为识别电表读数的CNN模型的NAS自动训练算法预设值超参数Hyperparameters=[Layers,Filters,Kernel,Loss,Seed],其中Layers代表CNN的搜索最大层数,Filters、Kernel代表CNN模型每一层卷积层最大的Filters通道数与最大卷积核大小,Loss代表选择的损失函数,Seed代表CNN的初始种子编号;

S5.Atlas 200DK边缘设备在训练识别电表读数的CNN模型之前,获取当前任务队列中每个计算任务的信息矩阵Job_now,其属性特征包括:计算任务在CPU和NPU上运行所需的大概时间、计算任务在CPU和NPU上运行所造成的大概能耗、计算任务在CPU和NPU上运行所需的计算节点数量、计算任务的计算时延要求;以及当前Atlas 200DK边缘设备的计算资源矩阵Source_now,其属性特征包括:Atlas 200DK边缘设备上两块NPU和CPU上空闲计算节点情况、两块NPU和CPU上空闲计算内存、设备当前时间段的平均能耗;

S6.将步骤S5中获取到的任务信息矩阵Job和计算资源矩阵Source作为输入X,X=[Job_now,Source_now},输入到步骤S4中得到的DNN神经网络模型Model中,得到识别电表读数的CNN模型的NAS自动训练算法预设值超参数Hyperparameters=[6,64,10,Softmax,3];

S7.将Atlas 200DK边缘设备上定期采集的m个电表读数图像统一处理为256*256大小图像配合图像切割程序,形成训练CNN模型的输入数据集Input;

S8.基于深度学习框架TensorFlow,使用S6中获取的Hyperparameters设置CNN模型的NAS算法的超参数,将步骤S7中生成的Input作为训练集,训练出最优的CNN模型Best

S9.使用S8中得到的最优CNN模型Best

所述计算任务的信息矩阵Job的属性特征包括:计算任务在不同计算芯片上运行所需的大概时间、计算任务在不同计算芯片上运行所造成的大概能耗、计算任务在不同计算芯片上运行所需的计算节点数量、计算任务的计算时延要求。

所述服务器的计算资源矩阵Source的属性特征包括不同计算芯片上空闲计算节点情况、不同计算芯片上的空闲计算内存、当前时段的平均能耗。

所述神经网络模型是以历史计算任务的信息矩阵Job和边缘服务器的计算资源矩阵Source作为输入,自动机器学习算法的超参数Hyperparameters作为输出,采用交叉熵损失作为损失函数,通过NAS使用进化算法、贪婪算法或网格搜索等算法自动训练得到的。

通过人为初始化所述NAS的超参数Pipleine和RandomSeed,从初始种子出发,不断改变网络结构和权重参数,直至到达约束的模型大小,过程中得到各种模型,根据模型得分选出最优模型。

步骤3中,所述自动机器学习算法包括:神经网络架构搜索、超参数优化、CASH、自动化数据挖掘、自动强化学习、元学习、自动机器学习的贝叶斯优化、自动机器学习的进化算法、自动机器学习的多目标优化、自动人工智能;

其中,神经网络架构搜索的超参数的特征属性包括:约束最终模型结构大小和规模的超参数Pipeline;加速模型优化的模型初始种子参数RandomSeed。

步骤4中,所述输入数据为不同计算模型对应的训练集。

本发明与现有技术相比,具有如下优点和有益效果:

本发明在边缘服务器训练计算模型前获取当前的计算任务信息和服务器计算资源情况;通过NAS(Neural Architecture Search)根据计算任务信息和计算资源情况,对自动机器学习算法的超参数进行学习和约束;在确定自动机器学习算法的超参数后,通过自动机器学习算法根据输入数据自动训练出最优的计算模型。与当前边缘服务器上的计算模型不同,本发明在考虑边缘服务器的异构性、资源有限性以及计算任务对计算时延的要求的前提下,通过自动机器学习技术生成计算模型,减轻模型的开发、维护成本,使生成的计算模型更具有泛化能力。

附图说明

图1为基于自动机器学习的边缘计算模型训练方法的示意图。

图2为计算任务的信息矩阵的示意图。

图3为边缘服务器计算资源矩阵的示意图。

图4为基于自动机器学习的边缘计算模型训练方法的流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

如图1-4,一种基于自动机器学习的边缘计算模型训练方法,包括以下几个步骤:

步骤1:边缘服务器是处于网络末端或“边缘”,更靠近用户的计算机。边缘服务器在训练计算模型之前,应当获取当前任务队列中每个计算任务的信息矩阵Job,其属性特征包括:计算任务在不同计算芯片上运行所需的大概时间、计算任务在不同计算芯片上运行所造成的大概能耗、计算任务在不同计算芯片上运行所需的计算节点数量、计算任务的计算时延要求;以及当前服务器的计算资源矩阵Source,其属性特征为不同计算芯片上空闲计算节点情况、不同计算芯片上的空闲计算内存、当前时段的平均能耗。

计算任务的信息矩阵Job包括以下属性:

计算任务在不同计算芯片上运行所需的大概时间:

Runtime (1)

=(CPU

计算任务在不同计算芯片上运行造成的大概能耗:

Energy (2)

=(CPU

计算任务在不同计算芯片上运行所需的计算节点数量:

Node=(CPU

计算任务的计算时延要求T。

其中,计算任务在不同计算芯片上运行所需的大概时间、计算任务在不同计算芯片上运行造成的大概能耗和计算任务在不同计算芯片上运行所需的计算节点数量可从历史数据中获取。

计算资源矩阵Source包括以下属性:

服务器上不同计算芯片的空闲计算节点:

Fnode=(CPU

服务器上不同计算芯片的空闲计算内存:

Fmemory=(CPU

服务器当前时间段的平均能耗energy。

步骤2:将计算任务的信息矩阵x

步骤3:将步骤2中的X输入到已经训练好的神经网络,最后输出自动机器学习算法的超参数Hyperparameters。

自动机器学习算法涵盖的10种技术包括:

神经网络架构搜索(NAS Neural Architecture Search)

超参数优化(HPO Hyperparameter Optimization)

CASH(Combined Algorithm Selection and Hyperparameter Optimization)

自动化数据挖掘(Automated Data Mining)

自动强化学习(AutoRL Automated Reinforcement Learning)

元学习(Meta-Learning and Learning to Learn)

自动机器学习的贝叶斯优化(Bayesian Optimization for AutoML)

自动机器学习的进化算法(Evolutionary Algorithm for AutoML)

自动机器学习的多目标优化(Multi-Objective Optimization for AutoML)

自动人工智能(AutoAI)

以NAS(Neural Architecture Search)为例,其超参数的特征属性包括:约束最终模型结构大小和规模的超参数Pipeline;加速模型优化的模型初始种子参数Random Seed。

步骤4:根据步骤3中的Hyperparameters设置好自动机器学习算法的超参数,然后使用输入数据通过自动机器学习算法自动训练出最优的机器学习计算模型Best

所述神经网络模型是以历史计算任务的信息矩阵Job和边缘服务器的计算资源矩阵Source作为输入,自动机器学习算法的超参数Hyperparameters作为输出,采用交叉熵损失作为损失函数,通过NAS使用进化算法、贪婪算法或网格搜索等算法自动训练得到的。

通过人为初始化NAS的超参数Pipeline和Random Seed,从初始种子出发,不断改变网络结构和权重参数,直至到达约束的模型大小,过程中得到各种模型,根据模型得分选出最优模型。

在电网的电表智能读数场景下应用本发明方法:

针对电表读数的图像识别计算任务,一种基于自动机器学习的边缘计算模型训练方法在华为Atlas 200DK边缘设备上的实现,包括以下步骤:

S1.提前在Atlas 200DK边缘设备上部署能够自动获取不同计算任务在CPU和NPU上运行时产生的计算任务信息矩阵Job和服务器计算资源矩阵Source的脚本。

S2.在Atlas 200DK边缘设备上定期采集m个电表读数的图像识别任务及其产生的信息Job,其中Job={j

S3.在Atlas 200DK边缘设备上部署基于深度学习框架TensorFlow的NAS自动训练脚本。

S4.使用S3中的NAS自动训练脚本训练一个最大层数不超过10层,每层宽度不超过300个神经元的DNN神经网络模型Model。其输入为X={Job,Source},输出为识别电表读数的CNN模型的NAS自动训练算法预设值超参数Hyperparameters=[Layers,Filters,Kernel,Loss,Seed],其中Layers代表CNN的搜索最大层数,Filters,Kernel代表CNN模型每一层卷积层最大的Filters通道数与最大卷积核大小,Loss代表选择的损失函数,Seed代表CNN的初始种子编号。

S5:Atlas 200DK边缘设备在训练识别电表读数的CNN模型之前,获取当前任务队列中每个计算任务的信息矩阵Job_now,其属性特征包括:计算任务在CPU和NPU上运行所需的大概时间、计算任务在CPU和NPU上运行所造成的大概能耗、计算任务在CPU和NPU上运行所需的计算节点数量、计算任务的计算时延要求;以及当前Atlas 200DK边缘设备的计算资源矩阵Source_now,其属性特征包括:Atlas 200DK边缘设备上两块NPU和CPU上空闲计算节点情况、两块NPU和CPU上空闲计算内存、设备当前时间段的平均能耗。

S6:将S5中获取到的任务信息矩阵Job和计算资源矩阵Source作为输入X,X={Job_now,Source_now},输入到S4中得到的DNN神经网络模型Model中,得到识别电表读数的CNN模型的NAS自动训练算法预设值超参数Hyperparameters=[6,64,10,Softmax,3]。

S7:将Atlas 200DK边缘设备上定期采集的m个电表读数图像统一处理为256*256大小图像配合图像切割程序,形成训练CNN模型的输入数据集Input。

S8:基于深度学习框架TensorFlow,使用S6中获取的Hyperparameters设置CNN模型的NAS算法的超参数,将S7中生成的Input作为训练集,训练出最优的CNN模型Best

S9:使用S8中得到的最优CNN模型Best

综上所述,本发明一种基于自动机器学习的边缘计算模型训练方法具有以下创新点:

第一,将自动机器学习技术运用在边缘计算上,减轻模型开发和维护成本。

第二,在自动生成模型时考虑到边缘服务器的异构性、资源有限性以及计算任务对计算时延的要求等问题,使生成的计算模型更具有泛化能力。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

相关技术
  • 一种面向大规模机器学习系统的机器学习模型训练方法
  • 机器学习模型训练方法、装置、存储介质和计算机设备
  • 一种基于联邦强化学习的边缘计算模型训练方法
  • 一种基于边缘计算的神经网络模型训练方法
技术分类

06120115598471