基于滑动窗口采样的分布式机器学习训练方法及其系统技术方案

技术编号:15502665 阅读:46 留言:0更新日期:2017-06-03 23:27
本发明专利技术提供一种基于滑动窗口采样的分布式机器学习训练方法及其系统,所述方法包括:机器学习模型参数初始化;获取所有数据的一个数据分片,独立进行模型训练;收集历史的若干轮梯度过期程度样本,通过滑动采样样本,并计算梯度过期程度上下文值,调整学习率后发起梯度更新请求;异步收集多个梯度过期程度样本,利用调整后的学习率更新全局模型参数并推送更新的参数;异步获取推送的全局参数更新,继续下一次训练;检验模型收敛性,若不收敛,进行模型训练循环;若收敛,获取模型参数。本发明专利技术使用过期梯度上下文来控制学习器的学习率,提高了分布式训练的稳定性与收敛效果,减小了分布式系统带来的训练波动,提高了分布式训练的鲁棒性。

Distributed machine learning training method based on sliding window sampling and system thereof

The present invention provides a method and system for distributed machine learning based on sliding window sampling, the method includes: a machine learning model parameter initialization; a data acquisition data slice, independent model is trained; the collection history of several rounds of ladder pass degree by sliding the sample, sample, and calculate the gradient expired the degree of context value, adjust the learning rate after initiating gradient update request; asynchronous collection of multiple gradient degree parameters using expired samples, after adjusting the learning rate of model parameters and updates the global push updates; asynchronous access to global parameters push updates to the next training; test model convergence, if not for convergence. The training cycle model; if the convergence parameters are obtained. The invention is the use of expired gradient learning device context to control the learning rate, improve the stability and convergence effect of distributed training, reduce the fluctuation of distributed system caused by training, to improve the robustness of distributed training.

【技术实现步骤摘要】
基于滑动窗口采样的分布式机器学习训练方法及其系统
本专利技术涉及大规模机器分布式训练,特别是涉及一种基于滑动窗口采样的分布式机器学习训练方法及其系统。
技术介绍
在大数据集上进行训练的现代神经网络架构可以跨广泛的多种领域获取可观的结果,领域涵盖从语音和图像认知、自然语言处理、到业界关注的诸如欺诈检测和推荐系统这样的应用等各个方面。但是训练这些神经网络模型在计算上有严格要求,尽管近些年来GPU硬件、网络架构和训练方法上均取得了重大的进步,但事实是在单一机器上,网络训练所需要的时间仍然长得不切实际。幸运的是,我们不仅限于单个机器:大量工作和研究已经使有效的神经网络分布式训练成为了可能。分布式训练中的数据并行方法在每一个workermachine上都有一套完整的模型,但分别对训练数据集的不同子集进行处理。数据并行毫无争议是分布式系统中最适的方法,而且也一直是更多研究的焦点。在数据并行(dataparallelism)中,不同的机器有着整个模型的完全拷贝;每个机器只获得整个数据的不同部分。计算的结果通过某些方法结合起来。数据并行训练方法均需要一些整合结果和在各工作器(worker)间同步模型参数的方法。现有的分布式机器学习训练方法一般为SGD,目前常用的SGD算法为基于延迟与软同步的SGD即StalenessAwareSGD,然而它们存在以下一些问题:StalenessAwareSGD使用当前过期梯度(Staleness)调整对应学习器的学习率,将分布式异步训练的节点快慢产生过期梯度这个问题考虑进来,在普适计算的环境中,人和计算机不断的进行着透明性的交互,在这个交互过程中,普适系统获取与用户需求相关的上下文信息来确认为用户提供什么样的服务,这就是上下文感知,它是普适计算的重要技术。考虑到过期梯度,虽然一定程度上缓解了全异步同步参数引起的整体模型收敛效果差与受集群系统波动的影响的问题,但使用当前学习器的过期梯度无法感知该学习器过期梯度的上下文信息,对于该过期梯度处理过于简单,这样造成分布式异步训练稳定性与收敛效果依然不够理想。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种基于滑动窗口采样的分布式机器学习训练方法及其系统,用于解决现有技术中学习器的梯度过期程度无法感知该学习器梯度过期程度的上下文信息、对于该过期梯度处理过于简单、从而造成分布式异步训练稳定性与收敛效果不好的问题。为实现上述目的,本专利技术采用以下方案:一种基于滑动窗口采样的分布式机器学习训练方法,包括以下步骤:步骤1),机器学习模型参数初始化;步骤2),获取所有数据的一个数据分片,独立进行模型训练;步骤3),收集历史的若干轮梯度过期程度样本,通过滑动采样样本,并计算梯度过期程度上下文值,调整学习率后发起梯度更新请求;步骤4),异步收集多个梯度过期程度样本,利用调整后的学习率更新全局模型参数并推送更新的参数;步骤5),异步获取推送的全局参数更新,继续下一次训练;步骤6),检验模型收敛性,若不收敛,进入所述步骤2)循环;若收敛,进入步骤7);步骤7),获取模型参数。于本专利技术的一实施方式中,在所述步骤4)中,还包括维护一个逻辑时钟记录当前模型参数版本的步骤,在每进行一次从梯度到参数值的优化动作后,逻辑时钟加1。于本专利技术的一实施方式中,在每进行一次逻辑时钟加1后,用当前的逻辑时钟更新机器学习的逻辑时钟。于本专利技术的一实施方式中,在所述步骤3)中,梯度过期程度的计算为:当前的逻辑时钟-机器学习的逻辑时钟+1,其中,每个机器学习模型保存前N-1次更新时的梯度过期程度,N为当前更新的次数。于本专利技术的一实施方式中,在所述步骤3)中,梯度过期程度上下文值通过计算当前梯度过期程度与前N-1个梯度过期程度的均值得到。此外,本专利技术还提供了一种应用上述方法的基于滑动窗口采样的分布式机器学习训练系统,所述系统包括:服务器节点,所述服务器节点异步收集若干个梯度更新请求,进行全局模型参数更新并保存,被动推送更新的参数;学习器节点,每个所述学习器节点获取所有数据的一个数据分片,独立进行模型训练,每轮训练完毕后,使用调整过的学习率向所述服务器节点发起梯度更新,并异步获取所述服务器节点推送的更新的参数,发起下一轮训练;滑动采样模块,所述滑动采样模块附属于所述学习器节点,用于完成前若干轮梯度过期程度样本的采样,计算梯度过期程度上下文值,并在所述学习器节点向所述服务器节点推送梯度时,推送当前梯度过期程度上下文值,调整此次更新学习率。于本专利技术的一实施方式中,每个所述学习器节点保存前N-1次更新时的梯度过期程度,其中,N为当前更新的次数。于本专利技术的一实施方式中,所述服务器节点每进行一次从梯度到参数值的优化动作后,逻辑时钟加1。于本专利技术的一实施方式中,每个所述学习器节点维护一个自己的逻辑时钟,所述学习器节点异步提交梯度并立即获取当前所述服务器节点参数值,并用当前所述服务器节点的逻辑时钟更新自己的逻辑时间。于本专利技术的一实施方式中,每个所述学习器节点异步提交梯度至所述服务器节点,所述服务器节点异步累计任意个所述学习器节点的梯度,然后进行梯度到参数的优化动作。如上所述,本专利技术的基于滑动窗口采样的分布式机器学习训练方法及其系统,具有以下有益效果:通过使用滑动窗口采样训练过程中的快慢节点特征来感知训练过程的上下文,相比普通的梯度延迟感知的异步更新的训练方法,能更好地感知过期梯度,使用过期梯度上下文来控制学习器的学习率,缓解训练收敛效果不佳的问题,同时减小了分布式系统带来的训练波动,提高了分布式训练的鲁棒性。附图说明图1显示为本专利技术基于滑动窗口采样的分布式机器学习训练方法于一实施例中的流程图。图2显示为基于服务器节点的数据并行训练模式于一实施例中的架构图。元件标号说明1服务器节点2学习器节点S1~S7步骤具体实施方式以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,虽图示中仅显示与本专利技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本专利技术涉及大规模机器分布式训练的方法,针对当前分布式机器学习训练方法稳定性与收敛性效果不好的问题,提出了一种基于滑动窗口采样的分布式机器学习训练方法及其系统,在进行机器学习分布式训练时,使用滑动窗口采样感知过期梯度并基于感知到的过期梯度上下文调整学习率来实现提高大规模机器学习分布式训练的稳定性与收敛效果。本专利技术可以用于以下几种典型的应用场景:数据并行的大规模机器学习系统、深度学习系统。以下结合附图和实施例对本专利技术作进一步的说明。实施例一请参阅图1,为本专利技术基于滑动窗口采样的分布式机器学习训练方法于一实施例中的流程图。本专利技术的方法包括以下步骤:S1,机器学习模型参数初始化;S2,获取所有数据的一个数据分片,独立进行模本文档来自技高网
...
基于滑动窗口采样的分布式机器学习训练方法及其系统

【技术保护点】
一种基于滑动窗口采样的分布式机器学习训练方法,其特征在于,包括以下步骤:步骤1),机器学习模型参数初始化;步骤2),获取所有数据的一个数据分片,独立进行模型训练;步骤3),收集历史的若干轮梯度过期程度样本,通过滑动采样样本,并计算梯度过期程度上下文值,调整学习率后发起梯度更新请求;步骤4),异步收集多个梯度过期程度样本,利用调整后的学习率更新全局模型参数并推送更新的参数;步骤5),异步获取推送的全局参数更新,继续下一次训练;步骤6),检验模型收敛性,若不收敛,进入所述步骤2)循环;若收敛,进入步骤7);步骤7),获取模型参数。

【技术特征摘要】
1.一种基于滑动窗口采样的分布式机器学习训练方法,其特征在于,包括以下步骤:步骤1),机器学习模型参数初始化;步骤2),获取所有数据的一个数据分片,独立进行模型训练;步骤3),收集历史的若干轮梯度过期程度样本,通过滑动采样样本,并计算梯度过期程度上下文值,调整学习率后发起梯度更新请求;步骤4),异步收集多个梯度过期程度样本,利用调整后的学习率更新全局模型参数并推送更新的参数;步骤5),异步获取推送的全局参数更新,继续下一次训练;步骤6),检验模型收敛性,若不收敛,进入所述步骤2)循环;若收敛,进入步骤7);步骤7),获取模型参数。2.根据权利要求1所述的基于滑动窗口采样的分布式机器学习训练方法,其特征在于,在所述步骤4)中,还包括维护一个逻辑时钟记录当前模型参数版本的步骤,在每进行一次从梯度到参数值的优化动作后,逻辑时钟加1。3.根据权利要求2所述的基于滑动窗口采样的分布式机器学习训练方法,其特征在于,在每进行一次逻辑时钟加1后,用当前的逻辑时钟更新机器学习的逻辑时钟。4.根据权利要求3所述的基于滑动窗口采样的分布式机器学习训练方法,其特征在于,在所述步骤3)中,梯度过期程度的计算为:当前的逻辑时钟-机器学习的逻辑时钟+1,其中,每个机器学习模型保存前N-1次更新时的梯度过期程度,N为当前更新的次数。5.根据权利要求4所述的基于滑动窗口采样的分布式机器学习训练方法,其特征在于,在所述步骤3)中,梯度过期程度上下文值通过计算当前梯度过期程度与前N-1个梯度过期程度的均值得到。6.一种应用权利要求1-5中任一项所...

【专利技术属性】
技术研发人员:田乔许春玲李明齐
申请(专利权)人:中国科学院上海高等研究院
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1