[发明专利]一种机器学习方法、主节点、工作节点及系统有效
申请号: | 201711214868.1 | 申请日: | 2017-11-28 |
公开(公告)号: | CN107944566B | 公开(公告)日: | 2020-12-22 |
发明(设计)人: | 张本宇;徐昊;刘亚新 | 申请(专利权)人: | 杭州云脑科技有限公司 |
主分类号: | G06N20/00 | 分类号: | G06N20/00 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 机器 学习方法 节点 工作 系统 | ||
本发明实施例提供了一种机器学习方法、主节点、工作节点及分布式机器学习系统,用于减少机器学习的同步开销。分布式机器学习系统的主节点开启参数训练进程,确定加入所述参数训练进程的工作节点,发送所述参数训练进程对应的时间信息至所述工作节点,其中,所述时间信息包括所述参数训练进程的结束时间;所述工作节点在接收到所述主节点确定所述工作节点加入参数训练进程的通知后,获得所述主节点发送的与所述参数训练进程对应的时间信息;在所述时间信息指示的时间范围内进行参数训练,所述主节点在接收参加所述参数训练进程的各工作节点反馈的训练子结果后,基于获得的训练子结果,更新全局参数。
技术领域
本发明涉及计算机通信技术领域,尤其涉及一种机器学习方法、主节点、工作节点及分布式机器学习系统。
背景技术
随着大数据时代的到来,大数据处理技术逐步发展。随着输入训练数据和数据模型的增大,单个节点进行机器学习训练存在内存限制以及时间限制等问题,所以分布式机器学习应运而生。分布式机器学习系统包括主节点和多个工作节点,其核心目标是主节点把计算任务拆解成多个小的任务,分配到多个工作节点的处理器上做计算。也就是说,不同的工作节点对应同一个训练模型,每个工作节点分配到不同的数据进行参数训练后,将训练子结果反馈到主节点,主节点将所有工作节点的训练子结果进行合并,得到最终的训练结果。
现有技术中,通常采用参数平均的方式进行子训练结果的合并,训练的过程具体是:主节点基于训练模型配置全局参数,并将全局参数分发到各个工作节点。在每个工作节点,基于该全局参数以及对应的数据进行参数训练,获得该工作节点训练得到的工作节点的参数,并将工作节点的参数反馈至主节点。主节点在接收到全部工作节点反馈的工作节点的参数后,进行加权平均处理,得道的平均值即为更新后的全局参数。
由于在现有技术中,在当轮参数训练进程中,主节点需要等待参与训练的所有工作节点反馈训练子结果,才能确定最终的更新参数。工作节点中有的工作节点处理能力强,在较短的时间内完成自己的训练任务,而有的工作节点处理能力弱,需要较长时间才能完成训练任务。此外,一旦一个工作节点由于某些原因产生较大延迟,先完成训练的工作节点需要等待其他工作节点均完成训练后,才能进行下一轮训练,导致其空余时间长,造成较大的同步开销。
发明内容
本发明实施例提供了一种机器学习方法、主节点、工作节点及分布式机器学习系统,用于降低分布式机器学习的同步开销。
第一方面,本发明提供了一种机器学习方法,应用于分布式机器学习系统的主节点,所述主节点对应设置有工作节点,所述方法包括:
开启参数训练进程,确定加入所述参数训练进程的工作节点;
发送所述参数训练进程对应的时间信息至所述工作节点,其中,所述时间信息包括所述参数训练进程的结束时间,以使所述工作节点在所述结束时间前将训练子结果发送至所述主节点
在所述结束时间接收各工作节点反馈的训练子结果,基于获得的训练子结果,更新全局参数。
可选的,所述确定加入所述参数训练进程的工作节点,包括:
获取申请加入所述参数训练进程的工作节点的资源占用信息;
在所述资源占用信息满足预设条件时,确定所述申请加入所述参数训练进程的工作节点为加入所述参数训练进程的工作节点。
可选的,在所述发送所述参数训练进程对应的时间信息至所述工作节点时,所述方法还包括:
获取所述工作节点存储的第一全局参数的第一标识信息;
基于所述第一标识信息与本地存储的全局参数的第二标识信息,确定所述第一全局参数与所述全局参数的第一差异部分;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州云脑科技有限公司,未经杭州云脑科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711214868.1/2.html,转载请声明来源钻瓜专利网。