一种模型参数更新系统、方法及装置制造方法及图纸

技术编号:26731422 阅读:18 留言:0更新日期:2020-12-15 14:33
本申请提供一种模型参数更新系统、方法及装置,涉及人工智能技术领域,用以优化神经网络模型的训练过程。该方法包括:各个辅计算节点与主计算节点进行多个迭代轮次的交互操作,获得各个辅计算节点和主计算节点上目标模型的本地模型参数;任一个迭代轮次的交互操作中,各个辅计算节点确定各自的本地模型参数的第一梯度,基于第一误差补偿值对第一梯度进行目标处理得到第二梯度,利用接收的第三梯度更新各自的本地模型参数;主计算节点基于第二误差补偿值对第二梯度进行目标处理得到第三梯度,将第三梯度发送给各个辅计算节点,利用第三梯度更新本地模型参数。该方法提升了分布式训练中神经网络模型的收敛性,进而提升了神经网络模型的训练效率。

【技术实现步骤摘要】
一种模型参数更新系统、方法及装置
本申请涉及人工智能
,尤其涉及一种模型参数更新系统、方法及装置。
技术介绍
随着人工智能技术的不断发展,神经网络模型在信息分类、信息识别、信息处理等方向有着越来越多的应用;为了提升神经网络模型的训练效率,相关技术中常对神经网络模型的参数和训练数据进行分布式的训练,同时为了进一步提升训练效率,分布式训练系统中的训练节点会对神经网络模型的参数进行一些减少数据量的目标处理,但目标处理的过程中会产生误差,影响训练过程中神经网络模型的损失函数值的下降,使得神经网络模型无法收敛或者收敛速度过慢,降低了神经网络模型的训练效率,因此如何提升对神经网络模型进行分布式训练的训练效率成为了需要考虑的问题。
技术实现思路
本申请实施例提供一种模型参数更新系统、方法及装置,用于提升对神经网络模型进行分布式训练的训练效率。本申请第一方面,提供一种模型参数更新系统,包括主计算节点和至少两个辅计算节点,各个辅计算节点与所述主计算节点进行多个迭代轮次的交互操作,获得所述各个辅计算节点上的本地模型参数和所述主计算节点上的本地模型参数;所述本地模型参数包括目标模型的模型参数,其中所述多个迭代轮次中任一个迭代轮次的交互操作包括:所述各个辅计算节点根据所述目标模型的训练样本,确定各自的本地模型参数的第一梯度,基于辅计算节点对应的目标处理的第一误差补偿值,对所述第一梯度进行目标处理得到第二梯度,并将所述第二梯度发送给所述主计算节点;以及利用从所述主计算节点接收的第三梯度,更新各自的本地模型参数;所述第一梯度用于指示辅计算节点上的本地模型参数的变化程度,所述目标处理包括减小数据的数据量的操作;所述主计算节点基于所述主计算节点对应的目标处理的第二误差补偿值,对所述第二梯度进行所述目标处理得到所述第三梯度,并将所述第三梯度发送给所述各个辅计算节点;以及利用所述第三梯度,更新所述主计算节点上的本地模型参数。本申请第二方面,提供一种模型参数更新方法,包括:主计算节点基于所述主计算节点对应的目标处理的第二误差补偿值,对第二梯度进行所述目标处理,得到第三梯度;所述第二梯度是至少两个辅计算节点中各个辅计算节点,基于辅计算节点对应的目标处理的第一误差补偿值,对各自的本地模型参数的第一梯度进行所述目标处理得到的;所述本地模型参数包括目标模型的模型参数,所述第一梯度是所述各个辅计算节点根据所述目标模型的训练样本确定的,所述第一梯度用于指示辅计算节点上的本地模型参数的变化程度;所述主计算节点将所述第三梯度发送给所述各个辅计算节点,以使所述各个辅计算节点利用所述第三梯度更新各自的本地模型参数;以及所述主计算节点利用所述第三梯度,更新所述主计算节点上的本地模型参数。在一种可能的实现方式中,该方法还包括:所述主计算节点在所述第t个迭代轮次中,按照如下公式对所述主计算节点在所述第t个迭代轮次中对应的第二误差补偿值进行更新,得到所述主计算节点第t+1个迭代轮次中对应的第二误差补偿值:其中,所述Et+1是所述主计算节点在所述第t+1个迭代轮次中对应的第二误差补偿值。在一种可能的实施方式,所述主计算节点利用所述第三梯度,更新所述主计算节点上的本地模型参数,包括:所述主计算节点在所述第t个迭代轮次中,将所述主计算节点在第t-1个迭代轮次中更新得到的本地模型参数与所述第三梯度的差值,确定为所述主计算节点在所述第t个迭代轮次中更新得到的本地模型参数。在一种可能的实施方式,所述目标处理满足如下条件:目标处理误差值不大于误差阈值;所述目标处理误差值是原始数据的数据量和所述原始数据对应的处理数据的数据量的偏差值,所述处理数据是对所述原始数据进行所述目标处理得到的;所述误差阈值是根据所述原始数据与预设误差参数确定的;以及所述目标处理得到的处理数据的数据量不大于所述处理数据对应的原始数据。本申请第三方面,提供一种模型参数更新方法,包括:辅计算节点根据目标模型的训练样本,确定所述辅计算节点上本地模型参数的第一梯度;所述本地模型参数包括所述目标模型的模型参数,所述第一梯度用于指示所述辅计算节点上的本地模型参数的变化程度;所述辅计算节点基于所述辅计算节点对应的目标处理的第一误差补偿值,对所述第一梯度进行目标处理得到第二梯度;所述目标处理包括减小数据的数据量的操作;所述辅计算节点将所述第二梯度发送给所述主计算节点,以使所述主计算节点基于所述主计算节点对应的目标处理的第二误差补偿值,对至少两个所述辅计算节点的第二梯度进行所述目标处理得到第三梯度,以及以使所述主计算节点根据所述第三梯度更新所述主计算节点上的本地模型参数;所述辅计算节点利用从所述主计算节点接收的第三梯度,更新所述辅计算节点上的本地模型参数。在一种可能的实现方式中,该方法还包括:所述辅计算节点在所述第t个迭代轮次中,按照如下公式对所述辅计算节点在所述第t个迭代轮次中对应的第一误差补偿值进行更新,得到所述辅计算节点在第t+1个迭代轮次中对应的第一误差补偿值:其中,所述et+1是所述辅计算节点在第t+1个迭代轮次中对应的第一误差补偿值。在一种可能的实现方式中,所述辅计算节点利用从所述主计算节点接收的第三梯度,更新所述辅计算节点上的本地模型参数,包括:所述辅计算节点在所述第t个迭代轮次中,将所述辅计算节点在第t-1个迭代轮次中更新得到的本地模型参数与所述第三梯度的差值,确定为所述辅计算节点在所述第t个迭代轮次中更新得到的本地模型参数。在一种可能的实现方式中,所述目标处理满足如下条件:目标处理误差不大于误差阈值;所述目标处理误差是原始数据的数据量和所述原始数据对应的处理数据的数据量的偏差值,所述处理数据是对所述原始数据进行所述目标处理得到的;所述误差阈值是根据所述原始数据与预设误差参数确定的;以及所述目标处理得到的处理数据的数据量不大于所述处理数据对应的原始数据。本申请第四方面,提供一种模型参数更新装置,包括:梯度处理单元,用于基于主计算节点对应的目标处理的第二误差补偿值,对第二梯度进行所述目标处理,得到第三梯度;所述第二梯度是至少两个辅计算节点中各个辅计算节点,基于辅计算节点对应的目标处理的第一误差补偿值,对各自的本地模型参数的第一梯度进行所述目标处理得到的;所述本地模型参数包括目标模型的模型参数,所述第一梯度是所述各个辅计算节点根据所述目标模型的训练样本确定的,所述第一梯度用于指示辅计算节点上的本地模型参数的变化程度;信息发送单元,用于将所述第三梯度发送给所述各个辅计算节点,以使所述各个辅计算节点利用所述第三梯度,更新各自的本地模型参数;以及参数更新单元,用于利用所述第三梯度,更新所述主计算节点上的本地模型参数。在一种可能的实现方式中,所述主计算节点与所述各个辅计算节点进行多个迭代轮次的交互操作,其中所述主计算节点在第t个迭代轮次中对应的第二误差补偿值,是本文档来自技高网...

【技术保护点】
1.一种模型参数更新系统,其特征在于,包括主计算节点和至少两个辅计算节点,/n各个辅计算节点与所述主计算节点进行多个迭代轮次的交互操作,获得所述各个辅计算节点上的本地模型参数和所述主计算节点上的本地模型参数;所述本地模型参数包括目标模型的模型参数,其中所述多个迭代轮次中任一个迭代轮次的交互操作包括:/n所述各个辅计算节点根据所述目标模型的训练样本,确定各自的本地模型参数的第一梯度,基于辅计算节点对应的目标处理的第一误差补偿值,对所述第一梯度进行目标处理得到第二梯度,并将所述第二梯度发送给所述主计算节点;以及利用从所述主计算节点接收的第三梯度,更新各自的本地模型参数;所述第一梯度用于指示辅计算节点上的本地模型参数的变化程度,所述目标处理包括减小数据的数据量的操作;/n所述主计算节点基于所述主计算节点对应的目标处理的第二误差补偿值,对所述第二梯度进行所述目标处理得到所述第三梯度,并将所述第三梯度发送给所述各个辅计算节点;以及利用所述第三梯度,更新所述主计算节点上的本地模型参数。/n

【技术特征摘要】
1.一种模型参数更新系统,其特征在于,包括主计算节点和至少两个辅计算节点,
各个辅计算节点与所述主计算节点进行多个迭代轮次的交互操作,获得所述各个辅计算节点上的本地模型参数和所述主计算节点上的本地模型参数;所述本地模型参数包括目标模型的模型参数,其中所述多个迭代轮次中任一个迭代轮次的交互操作包括:
所述各个辅计算节点根据所述目标模型的训练样本,确定各自的本地模型参数的第一梯度,基于辅计算节点对应的目标处理的第一误差补偿值,对所述第一梯度进行目标处理得到第二梯度,并将所述第二梯度发送给所述主计算节点;以及利用从所述主计算节点接收的第三梯度,更新各自的本地模型参数;所述第一梯度用于指示辅计算节点上的本地模型参数的变化程度,所述目标处理包括减小数据的数据量的操作;
所述主计算节点基于所述主计算节点对应的目标处理的第二误差补偿值,对所述第二梯度进行所述目标处理得到所述第三梯度,并将所述第三梯度发送给所述各个辅计算节点;以及利用所述第三梯度,更新所述主计算节点上的本地模型参数。


2.一种模型参数更新方法,其特征在于,包括:
主计算节点基于所述主计算节点对应的目标处理的第二误差补偿值,对第二梯度进行所述目标处理,得到第三梯度;所述第二梯度是至少两个辅计算节点中各个辅计算节点,基于辅计算节点对应的目标处理的第一误差补偿值,对各自的本地模型参数的第一梯度进行所述目标处理得到的;所述本地模型参数包括目标模型的模型参数,所述第一梯度是所述各个辅计算节点根据所述目标模型的训练样本确定的,所述第一梯度用于指示辅计算节点上的本地模型参数的变化程度;
所述主计算节点将所述第三梯度发送给所述各个辅计算节点,以使所述各个辅计算节点利用所述第三梯度更新各自的本地模型参数;以及
所述主计算节点利用所述第三梯度,更新所述主计算节点上的本地模型参数。


3.如权利要求2所述的方法,其特征在于,所述主计算节点与所述各个辅计算节点进行多个迭代轮次的交互操作,其中所述主计算节点在第t个迭代轮次中对应的第二误差补偿值,是所述主计算节点在第1个至t-1个迭代轮次中,进行所述目标处理的第二误差的累计值;所述t为正整数,且所述t为1时,所述主计算节点在第1个迭代轮次中对应的第二误差补偿值为预设补偿值。


4.如权利要求3所述的方法,其特征在于,所述主计算节点基于所述主计算节点对应的目标处理的第二误差补偿值,对第二梯度进行所述目标处理,得到第三梯度,包括:
在所述第t个迭代轮次中,所述主计算节点确定所述至少两个辅计算节点的第二梯度的平均梯度;
所述主计算节点按照如下公式,基于所述主计算节点在所述第t个迭代轮次中对应的第二误差补偿值,对所述平均梯度进行所述目标处理,得到所述第三梯度:



其中,所述为所述主计算节点在所述第t个迭代轮次中得到的第三梯度;所述Qs()是所述主计算节点上所述目标处理的算法;所述是所述平均梯度,所述Et是所述主计算节点在所述第t个迭代轮次中对应的第二误差补偿值。


5.一种模型参数更新方法,其特征在于,包括:
辅计算节点根据目标模型的训练样本,确定所述辅计算节点上本地模型参数的第一梯度;所述本地模型参数包括所述目标模型的模型参数,所述第一梯度用于指示所述辅计算节点上的本地模型参数的变化程度;
所述辅计算节点基于所述辅计算节点对应的目标处理的第一误差补偿值,对所述第一梯度进行目标处理得到第二梯度;所述目标处理包括减小数据的数据量的操作;
所述辅计算节点将所述第二梯度发送给主计算节点,以使所述主计算节点基于所述主计算节点对应的目标处理的第二误差补偿值,对至少两个所述辅计算节点的第二梯度进行所述目标处理得到第三梯度,以及以使所述主计算节点根据所述第三梯度更新所述主计算节点上的本地模型参数;
所述辅计算节点利用从所述主计算节点接收的第三梯度,更新所述辅计算节点上的本地模型参数。


6.如权利要求5所述...

【专利技术属性】
技术研发人员:沈力陈淙靓黄浩智刘威
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1