[发明专利]一种基于采样的分布式机器学习慢节点处理系统及方法有效
申请号: | 201710082939.0 | 申请日: | 2017-02-16 |
公开(公告)号: | CN108446770B | 公开(公告)日: | 2020-12-04 |
发明(设计)人: | 田乔;许春玲;李明齐 | 申请(专利权)人: | 中国科学院上海高等研究院 |
主分类号: | G06N20/00 | 分类号: | G06N20/00 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 王华英 |
地址: | 201210 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 采样 分布式 机器 学习 节点 处理 系统 方法 | ||
1.一种基于采样的分布式机器学习慢节点处理系统,其特征在于,包括多个呈并列分布的机器,每个机器均包括学习器节点和参数服务器节点,每个所述学习器节点与每个所述机器内的所述参数服务器节点分别相连,其中,所述参数服务器节点包括滑动采样模块,所述滑动采样模块用于收集所述学习器节点的之前梯度过期程度以及更新延迟样本,并实时更新;
所述学习器节点用于获取数据分片,进行模拟训练,向所述参数服务器节点发起梯度更新请求,并且异步获取所述参数服务器节点推送的模型参数,所述学习器节点还在发起梯度更新请求后,将用当前参数服务器节点的逻辑时钟值更新自己的逻辑时钟值,同时保存前N-1次更新时的梯度过期程度,并且所述学习器节点还用于在异步获取所述参数服务器节点推送的模型参数之后,用当前参数服务器节点的逻辑时钟值更新自己的逻辑时钟值;
所述参数服务器节点用于判断所述学习器节点是否为慢节点,根据判断结果决定是否响应所述学习器节点发起的梯度更新请求并完成全局模型参数更新,并被动向所述学习器节点推送更新后的模型参数;
其中,判断所述学习器节点是否为慢节点包括以下进程:
a)所述参数服务器节点上采用一个固定大小的队列来保存所述学习器节点前若干轮发起梯度更新请求时的梯度过期程度;
b)所述参数服务器节点计算当前所述学习器节点的更新的梯度过期程度,去除队列中梯度过期程度最大的数据,并将所述学习器节点的更新的梯度过期程度插入队列中,如果梯度过期程度排名大于预设的阈值,则判断学习器节点为慢节点,若否,则不是慢节点。
2.一种基于采样的分布式机器学习慢节点处理方法,所述处理方法应用于如权利要求1所述的处理系统,其特征在于:包括以下步骤:
1)学习器节点获取数据分片,进行模拟训练,待训练完成后,向参数服务器节点发起梯度更新请求;
2)所述参数服务器节点收到梯度更新请求,然后判断所述学习器节点是否为慢节点,若是,则丢弃梯度更新请求,若否,则响应梯度更新请求,并更新模型参数,然后进行下一步;
3)对更新模型参数后的模型进行收敛性检验,若通过检验则得出训练模型;若未通过则进行下一步;
4)所述学习器节点拉取新的模型参数,重复操作步骤1)、2)和3),直至模型的收敛性检验通过。
3.根据权利要求2所述的基于采样的分布式机器学习慢节点处理方法,其特征在于:所述基于采样的分布式机器学习慢节点处理方法还包括在所述步骤2)之前收集所述学习器节点之前的梯度过期程度以及更新延迟样本的步骤。
4.根据权利要求3所述的基于采样的分布式机器学习慢节点处理方法,其特征在于:所述学习器节点的梯度过期程度=所述参数服务器节点的逻辑时钟值–所述学习器节点的逻辑时钟值+1。
5.根据权利要求2所述的基于采样的分布式机器学习慢节点处理方法,其特征在于:所述步骤1)中,所述学习器节点向参数服务器节点发起梯度更新请求后,用当前所述服务器节点的逻辑时钟值更新自己的逻辑时钟值。
6.根据权利要求2所述的基于采样的分布式机器学习慢节点处理方法,其特征在于,在所述步骤2)中,当所述参数服务器节点响应梯度更新请求后,所述参数服务器节点的逻辑时钟值加1。
7.根据权利要求2所述的基于采样的分布式机器学习慢节点处理方法,其特征在于:在所述步骤2)中,所述模型参数更新公式为
其中,Wi代表第i次训练后的参数,Wi,j代表第i次训练后,第j个学习器的梯度贡献,i、j均为不小于0的整数,λ代表学习率,λ的范围为0-1的小数,N代表有N个学习器,N为不小于1的整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院上海高等研究院,未经中国科学院上海高等研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710082939.0/1.html,转载请声明来源钻瓜专利网。