一种基于边缘云计算的机器学习训练系统及方法与流程

文档序号:15230355发布日期:2018-08-21 19:20阅读:431来源:国知局

本发明涉及一种基于边缘云计算的机器学习训练系统及方法。



背景技术:

当前机器学习平台较多,搭建和维护机器学习平台的工作也较繁琐。如何快速搭建机器学习的训练平台,并快速启动训练任务成为一件亟待解决的难题。借助云计算平台便可解决这一难题。

云计算一般是指以大型数据中心为基础的基础设施平台,通过建立集中式的大规模数据中心和计算中心,形成云计算的云端,由云端对外提供用户所需要的资源和服务,所以大型云数据中心也称为核心云。而边缘云计算是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放云平台,就近提供最近端服务。

边缘云由分布在同一地区的服务器节点组成,具体处理本地区用户的服务请求,迅速并弹性地向用户提供云计算服务。各个边缘云之间通过骨干网连接,用户通过网络登录地理位置最近的边缘云,就近使用边缘云提供的服务。边缘云一方面负责对核心云和用户终端之间的数据流进行加工处理,利用通信数据间的相关性,减少网络开销,降低时延,保证云计算服务质量;另一方面,边缘云存储终端访问云计算服务所需要的共性数据和常用数据。

对于机器学习来说,训练任务需要高密度的计算资源,核心云的计算资源处于用户产生数据和应用模型的远端,无法做到用户需求的快速响应,而边缘云可以将训练所需的计算资源更加靠近用户终端,能够使机器学习训练的模型更加方便地发布到终端,同时终端也能够及时反馈模型的使用状况。

另外,当前大多数机器学习平台产出的训练模型均无法得到快速地发布和应用,而且无法快速得到用户的反馈并及时修正模型。最终使得用户无法快速体验到机器学习带来的智能效果。

综上所述,目前对于大多数机器学习平台的训练方法,存在如下缺点:

(1)机器学习平台较多且部署实施流程繁琐,维护成本高,且无法统一管理;

(2)训练平台的计算资源,处在用户数据的远端,无法靠近用户;

(3)训练模型无法快速发布至最终用户;

(4)训练模型的应用效果无法及时采集并反馈到训练平台再次训练。

基于以上缺点,本发明设计了一种基于边缘云计算的机器学习训练方法,来解决机器学习平台部署实施繁琐和统一管理的问题、计算资源靠近用户的问题、训练模型快速发布的问题以及收集用户反馈再训练的问题。



技术实现要素:

本发明为了解决上述问题,提出了一种基于边缘云计算的机器学习训练系统及方法。

首先,本发明提供一种基于边缘云计算的机器学习训练系统,能够由用户终端不断采集新的数据扩充和优化训练样本,由机器学习平台训练输出模型,将训练输出的模型迅速发布到用户终端,再由用户终端收集模型的应用状况并反馈至机器学习平台,完成模型的再训练,形成良性循环不断提升机器学习平台的训练能力和模型准确率。

同时,本发明提供一种基于边缘云计算的机器学习训练方法,使用支持虚拟化和容器技术的边缘云计算平台提供训练所需的计算资源,使计算资源更加靠近用户,同时借助云计算平台的资源池化和资源管理能力来实现机器学习平台的快速部署和统一管理。

为了实现上述目的,本发明采用如下技术方案:

一种基于边缘云计算的机器学习训练系统,包括边缘云计算系统与终端,其中:

所述边缘云计算系统,包括机器学习平台和云平台,所述云平台同时管理虚拟化平台和容器平台,在虚拟化平台通过虚拟化技术来实现资源的池化,实现资源弹性分配,从而提高基础设施的利用率,在容器平台使用容器技术实现机器学习平台和硬件资源的解耦;

所述机器学习平台,被配置为进行具体执行训练任务,具体包括模型生产装置和模型反馈装置,模型生产装置被配置为进行管理模型的训练调度、验证、存档、发布、订阅以及更新;所述模型反馈装置,被配置为实现生产环境下数据的收集、分析及反馈;

所述终端,接收训练模型,并收集训练结果并反馈至机器学习平台。

进一步的,所述模型生产装置包括训练调度模块、模型验证模块、模型存档模块、模型发布模块、更新决策模块和样本管理模块,其中:

训练调度模块实现训练任务的编排和调度功能,保证训练任务的有效运行;

模型验证模块实现模型存档前的本地验证功能,防止无效模型的产出;

模型存档模块实现模型文件的查询检索、存储、备份、删除销毁和分类管理功能;

模型发布模块将训练输出的模型进行快速发布,分发到各个用户终端;

用户订阅模块实现用户订阅模型的功能,允许用户终端对模型进行订阅,根据用户需求进行分发,避免不必要的传输;

更新决策模块从用户得到反馈后,决策是否需要更新模型,需要时则通知训练模块创建新的训练任务;

样本管理模块,实现样本的抽样、存储、扩充、优化和更新等管理。

进一步的,所述模型反馈装置,包括收集模块、分析模块和反馈模块,其中:

收集模块实现模型应用的实际效果数据的收集,完成终端的数据采集;

分析模块负责数据的清洗过滤、分析汇总,并生成样本,完成数据的准备工作;

反馈模块负责将分析模块输出的初样进行校验后扩充到正式样本集,同时反馈到模型生产装置的更新决策模块,来决策是否需要更新模型。

进一步的,边缘云计算系统处在终端的近端,快速响应数据的变化。

基于上述系统的训练方法,包括以下步骤:

训练任务开始后,去样本集中获取相应的样本;

申请容器资源,初始化配置后启动训练;

完成训练后,输出模型;

在测试样本集上对模型进行验证,如果是有效模型则进行存档,否则结束训练;

存档之后启动发布流程,将模型分发到对应终端,并接收反馈的准确率、性能数据;

对反馈数据进行过滤分析,并从中筛选出有效数据扩充到样本集中;

通过分析准确率数据和性能数据是否启动模型更新任务;如果需要更新则启动新的训练任务,如果不需要则终止本次反馈。

基于上述系统的训练任务调度方法,包括以下步骤:

汇总当前所有接收到的训练任务,包括:定时任务、临时任务、订阅任务、更新任务;

对任务进行优先级评估,进行排序;

计算所有任务的时间成本,评估所有任务的资源需求;

评估目前可用资源,收集云平台中的容器资源,计算可用资源量;

根据优先级、时间成本、资源需求和可用资源进行任务编排;

任务编排后,按照先后顺序申请容器资源,调度训练任务。

进一步的,优先级按照从大到小的顺序,订阅任务、临时任务和更新任务。

进一步的,时间成本评估参数包括但不限于:模型参数量、样本集大小、任务类型和历史时间成本。

进一步的,资源需求评估参数包括但不限于:模型大小、样本集大小和历史需求量。

基于上述系统的训练模型发布方法,包括以下步骤:

首先查询订阅此模型的用户列表;

对用户进行优先级排序,排序参数包括用户级别、模型使用频率和在线状态;

查询终端对机器学习平台的授权,权限允许直接更新的情况下,直接推送模型,若权限只允许接收通知,则仅通知模型更新消息给各终端。

基于上述系统的反馈及更新具体实施方法,包括以下步骤:

首先收集模型应用的准确率数据、性能数据和使用频率数据;

将收集到的数据推送,进行数据完整性、有效性的过滤,然后进行分类汇总和统计分析;

根据分析结果,一部分数据用来生成用户使用报告,一部分可用数据用来生成样本数据;

对于用户报告直接进行反馈,对于样本数据则先按照正式样本的要求进行校验,通过后扩充到样本集,最后进行数据反馈。

与现有技术相比,本发明的有益效果为:

1、本发明能够应用于边缘云,边缘云处于用户数据的最近端,本身又有强大的计算资源,所以基于边缘云的机器学习平台便可在最接近用户的环境下进行模型的训练,从而解决用户数据和计算资源相距较远、数据传输成本高、响应延时的问题。同时,利用边缘云计算系统对资源的管理功能完成对深度学习平台的集中管理。

(2)本发明所涉及的训练方法实现了模型工厂装置,不仅能够统一调度训练任务,完成模型的训练、验证及存档,还能快速发布模型,让用户快速体验。从根本上解决模型更新较慢,无法快速自适应用户场景的问题。

(2)本发明所涉及的训练方法实现了反馈装置,能够不间断地收集模型应用的性能数据,再反馈到机器学习平台,形成模型不断优化的良性循环。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为本发明的边缘云示意图;

图2为本发明的机器学习平台部署图;

图3为本发明的训练方法整体流程图;

图4为本发明的模型生产装置示意图;

图5为本发明的模型反馈装置示意图;

图6为本发明的训练任务调度流程图;

图7为本发明的模型发布流程图;

图8为本发明的反馈及更新流程图。

具体实施方式:

下面结合附图与实施例对本发明作进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在本发明中,术语如“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“侧”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,只是为了便于叙述本发明各部件或元件结构关系而确定的关系词,并非特指本发明中任一部件或元件,不能理解为对本发明的限制。

本发明中,术语如“固接”、“相连”、“连接”等应做广义理解,表示可以是固定连接,也可以是一体地连接或可拆卸连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的相关科研或技术人员,可以根据具体情况确定上述术语在本发明中的具体含义,不能理解为对本发明的限制。

如背景技术所述的,现有的机器学习平台较多且部署实施流程繁琐,维护成本高,且无法统一管理、无法靠近用户、训练模型无法快速发布至最终用户的问题,本发明提出一种基于边缘云计算的机器学习训练方法,来解决机器学习平台部署实施繁琐和统一管理的问题、计算资源靠近用户的问题、训练模型快速发布的问题以及收集用户反馈再训练的问题。

如图1所示,本发明采用边缘云计算系统来管理机器学习平台。边缘云计算系统同时支持虚拟化和容器两种技术,并能同时管理虚拟机和容器两种对象。通过边缘云计算系统可以做到机器学习平台各种业务的统一管理,有效减少部署、运维和升级改造的日常工作。机器学习的非核心业务运行在虚拟化平台上,通过虚拟化技术来实现资源的池化,实现资源弹性分配,从而提高基础设施的利用率。核心业务(包括但不限于训练模型业务)运行在容器平台上,使用容器技术实现机器学习平台和硬件资源的解耦,不仅可以用来支持多种机器学习平台,而且可以提高gpu硬件资源的利用率,减少损耗,从而保证gpu资源有效地分配到核心业务上。同时,边缘云计算系统处在用户终端的近端,计算资源也更加靠近数据,可以有效降低数据的传输成本,快速响应数据的变化。

具体涉及机器学习训练平台、模型生产装置以及模型反馈装置。其中,机器学习平台支持当前流行的各种平台(包括但不限于tensorflow、caffe),用来具体执行训练任务。模型生产装置用来管理模型的训练调度、验证、存档、发布、订阅以及更新。模型反馈装置用来实现生产环境下数据的收集、分析及反馈。

模型生产装置,如图4所示,采用训练调度模块实现训练任务的编排和调度功能,可有效保证训练任务的有效运行。模型验证模块实现模型存档前的本地验证功能,防止无效模型的产出。模型存档模块实现模型文件的查询检索、存储、备份、删除销毁、分类管理功能。模型发布模块可以将训练输出的模型进行快速发布,分发到各个用户终端。用户订阅模块实现用户订阅模型的功能,允许用户终端对模型进行订阅,根据用户需求进行分发,避免不必要的传输。更新决策模块从用户得到反馈后,决策是否需要更新模型,需要时则通知训练模块创建新的训练任务。样本管理模块,负责实现样本的抽样、存储、扩充、优化、更新等管理。使用模型生产装置不仅能够对模型进行有效管理,更能保证模型的及时分发,保证最新的模型能够及时得到应用。

模型反馈装置,如图5所示,采用收集模块实现模型应用的实际效果数据的收集,完成用户终端的数据采集。分析模块负责数据的清洗过滤、分析汇总,并生成样本,完成数据的准备工作。反馈模块负责将分析模块输出的初样进行校验后扩充到正式样本集,同时反馈到模型生产装置的更新模块,来决策是否需要更新模型。反馈装置可以自动完成用户数据的收集并上报,机器学习平台能够及时得到用户反馈,从而快速地响应用户数据的变化,为用户提供不断改善优化的模型。

机器学习平台部署方法

(1)如图1所示,边缘云处于核心云和用户终端之间,为用户就近提供计算资源;

(2)如图2所示,边缘云平台对外提供虚拟机和容器两种资源;

(3)机器学习平台运行在云平台之上,且非核心业务:模型生产装置、模型反馈装置使用虚拟机资源,运行在虚拟化平台上,而依赖物理gpu资源的训练平台则使用容器资源,运行在容器平台上。

本发明所涉及训练方法整体流程,如图3所示:

(1)训练任务开始后,首先去样本集中获取相应的样本;

(2)申请容器资源,初始化配置后启动训练;

(3)完成训练后,输出模型;

(4)在测试样本集上对模型进行验证,如果是有效模型则进行存档,否则结束训练;

(5)存档之后启动发布流程,将模型分发到用户;

(6)用户终端在使用模型时,对准确率、性能数据进行收集并反馈至机器学习平台;

(7)机器学习在收到反馈之后,会对数据进行过滤分析,并从中筛选出有效数据扩充到样本集中;

(8)通过分析准确率数据和性能数据由模型生产装置的更新模块决策是否启动模型更新任务;如果需要更新则启动新的训练任务,如果不需要则终止本次反馈。

综上步骤,适用于所有模型的训练任务,从训练任务的开始,到产生模型,再到验证、存档、发布,再到用户终端进行的反馈,最后根据反馈的结果决策出是否启动模型更新任务。整个流程可以形成良性循环,不断对模型进行升级改造。

本发明所涉及的训练任务调度具体实施步骤,如图6所示:

(1)训练调度模块汇总当前所有接收到的训练任务,包括:定时任务、临时任务、订阅任务、更新任务;

(2)对任务进行优先级评估,优先级按照:订阅任务>临时任务>更新任务>定时任务,进行排序;

(3)计算所有任务的时间成本,时间成本评估参数包括但不限于:模型参数量、样本集大小、任务类型、历史时间成本;

(4)评估所有任务的资源需求,资源需求评估参数包括但不限于:模型大小、样本集大小、历史需求量;

(5)评估目前可用资源,收集云平台中的容器资源,计算可用资源量;

(6)根据优先级、时间成本、资源需求、可用资源进行任务编排;

(7)任务编排后,按照先后顺序申请容器资源,调度训练任务。

本发明所涉及的模型发布具体实施步骤,如图7所示:

(1)首先查询订阅此模型的用户列表;

(2)对用户进行优先级排序,排序参数:用户级别、模型使用频率、在线状态;

(3)查询用户终端对机器学习平台的授权,权限允许直接更新的情况下,直接推送模型,若权限只允许接收通知,则仅通知模型更新消息给用户;

(4)由用户下载模型,并应用新的模型。

本发明所涉及的反馈及更新具体实施步骤,如图8所示:

(1)首先由用户终端对模型应用的准确率数据、性能数据、使用频率数据进行收集;

(2)将收集到的数据推送到反馈装置的数据分析模块,进行数据完整性、有效性的过滤,然后进行分类汇总和统计分析;

(3)根据分析结果,一部分数据用来生成用户使用报告,一部分可用数据用来生成样本数据;

(4)对于用户报告直接进行反馈,对于样本数据则先按照正式样本的要求进行校验,通过后扩充到样本集,最后反馈数据给模型生产装置的更新决策模块。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1