模型参数更新方法、装置、设备、存储介质和程序产品制造方法及图纸

技术编号:39440096 阅读:14 留言:0更新日期:2023-11-19 16:23
本申请涉及一种模型参数更新方法、装置、计算机设备、存储介质和程序产品。所述方法涉及人工智能,包括:获取待更新网络模型的模型状态量,将各模型状态量划分至各数据并行进程,基于与各数据并行进程匹配的模型状态量,确定与各数据并行进程对应的子训练数据集。执行各数据并行进程,根据与各数据并行进程对应的子训练数据集,确定待更新网络模型在不同数据并行进程上的梯度,对各梯度进行梯度规约处理,获得对应的梯度规约数据。根据各梯度规约数据,对待更新网络模型的模型参数进行更新,得到训练好的网络模型。采用本方法针对每个数据并行进程更新保存部分模型状态量,可平衡各训练节点间的传输效率,提升网络模型的训练效率。率。率。

【技术实现步骤摘要】
模型参数更新方法、装置、设备、存储介质和程序产品


[0001]本申请涉及人工智能
,特别是涉及一种模型参数更新方法、装置、计算机设备、存储介质和程序产品。

技术介绍

[0002]随着人工智能技术的发展,以及神经网络模型在不同领域,包括图像识别、语音识别、自然语言处理等领域的广泛应用,使用过程中随着神经网络的进一步发展,其结构变得愈加复杂,神经网络的网络参数规模和计算量也随之增大,进行需要消耗大量时间训练神经网络,才能获得可应用的网络模型,进而需要加快模型训练,减少模型训练时间以及资源消耗。
[0003]传统上,针对结构复杂的大型神经网络模型训练,通常采用模型并行方式,即通过将神经网络模型拆分为多个组件,将每个组件分别部署在不同的训练机器上进行同时训练,以减少训练时间,加快神经网络模型的训练。
[0004]但模型并行的方式,通常由于神经网络模型结构过大,需要拆分至多个训练机器,因此无法顾及所有的训练机器的训练情况,并行性能较差,同时,为实现所有训练机器的同步运行,仍然存在节点间同步时间消耗的问题。因此,传统上加快神经网络模型的训练方式,仍然存在并行训练性能较差,训练耗时较长的问题。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种能够减少神经网络模型的训练耗时,提升训练效率的模型参数更新方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0006]第一方面,本申请提供了一种模型参数更新方法。所述方法包括:
[0007]获取待更新网络模型的模型状态量,并将各所述模型状态量分别划分至各数据并行进程;
[0008]基于与各所述数据并行进程匹配的模型状态量,确定与各所述数据并行进程一一对应的子训练数据集;
[0009]执行各所述数据并行进程,根据与各所述数据并行进程一一对应的子训练数据集,确定所述待更新网络模型在不同数据并行进程上的梯度;
[0010]对各所述梯度进行梯度规约处理,获得与不同数据并行进程匹配的梯度规约数据;
[0011]根据各所述梯度规约数据,对所述待更新网络模型的模型参数进行更新,得到训练好的网络模型。
[0012]在其中一个实施例中,所述待更新网络模型包括第一线性层和第二线性层;所述基于所述待更新网络模型进行结构切分,获得多个模型组件,包括:基于所述第一线性层进行纵向切分,获得与所述第一线性层对应的多个第一类模型组件、以及基于所述第二线性
层进行横向切分,获得与所述第二线性层对应的多个第二类模型组件;
[0013]所述执行各所述模型并行进程,基于所述模型状态量,确定与所述模型并行进程对应的梯度张量,包括:
[0014]执行与各所述第一类型模型组件对应的各模型并行进程,基于与所述第一线性层对应的第一激活函数,根据所述模型状态量,进行各所述第一类型模型组件的前向计算和反向计算,获得各所述第一类模型组件的第一输出数据;
[0015]执行与各所述第二类型模型组件对应的各模型并行进程,基于与所述第二线性层对应的第二激活函数,根据各所述第一输出数据进程所述第二类模型组件的前向计算和反向计算,获得各所述第二类模型组件的第二输出数据;
[0016]将各所述第二输出数据,确定为与各所述模型并行进程一一对应的梯度张量。
[0017]在其中一个实施例中,所述获取所述流水线分组中的各所述训练节点的排序,使得各所述训练节点按照所述排序依次进行前向计算以及反向计算,获得平均模型梯度,包括:
[0018]将与所述待更新网络模型对应的全量训练集,划分为多批次的微训练集;
[0019]获取所述流水线分组中的各所述训练节点的排序;所述训练节点包括第一训练节点和第二训练节点,所述第一训练节点在所述第二训练节点之前;所述第一训练节点用于获取依次获取各批次的微训练集,进行前向计算,获得损失值,并将所述损失值发送至所述第二训练节点;所述第二训练节点用于根据所述损失值进行反向计算,获得梯度数据;
[0020]其中,在所述第二训练节点根据所述损失值进行反向计算时,所述第一训练节点获取下一批次的微训练集,并行进行前向计算。
[0021]第二方面,本申请还提供了一种模型参数更新装置。所述装置包括:
[0022]模型状态量获取模块,用于获取待更新网络模型的模型状态量,并将各所述模型状态量分别划分至各数据并行进程;
[0023]子训练数据集确定模块,用于基于与各所述数据并行进程匹配的模型状态量,确定与各所述数据并行进程一一对应的子训练数据集;
[0024]梯度确定模块,用于执行各所述数据并行进程,根据与各所述数据并行进程一一对应的子训练数据集,确定所述待更新网络模型在不同数据并行进程上的梯度;
[0025]梯度规约处理模块,用于对各所述梯度进行梯度规约处理,获得与不同数据并行进程匹配的梯度规约数据;
[0026]模型参数更新模块,用于根据各所述梯度规约数据,对所述待更新网络模型的模型参数进行更新,得到训练好的网络模型。
[0027]第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0028]获取待更新网络模型的模型状态量,并将各所述模型状态量分别划分至各数据并行进程;
[0029]基于与各所述数据并行进程匹配的模型状态量,确定与各所述数据并行进程一一对应的子训练数据集;
[0030]执行各所述数据并行进程,根据与各所述数据并行进程一一对应的子训练数据集,确定所述待更新网络模型在不同数据并行进程上的梯度;
[0031]对各所述梯度进行梯度规约处理,获得与不同数据并行进程匹配的梯度规约数据;
[0032]根据各所述梯度规约数据,对所述待更新网络模型的模型参数进行更新,得到训练好的网络模型。
[0033]第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0034]获取待更新网络模型的模型状态量,并将各所述模型状态量分别划分至各数据并行进程;
[0035]基于与各所述数据并行进程匹配的模型状态量,确定与各所述数据并行进程一一对应的子训练数据集;
[0036]执行各所述数据并行进程,根据与各所述数据并行进程一一对应的子训练数据集,确定所述待更新网络模型在不同数据并行进程上的梯度;
[0037]对各所述梯度进行梯度规约处理,获得与不同数据并行进程匹配的梯度规约数据;
[0038]根据各所述梯度规约数据,对所述待更新网络模型的模型参数进行更新,得到训练好的网络模型。
[0039]第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0040]获取待更新网络模型的模型状态量,并将各所述模型状态量分别划分至本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模型参数更新方法,其特征在于,所述方法包括:获取待更新网络模型的模型状态量,并将各所述模型状态量分别划分至各数据并行进程;基于与各所述数据并行进程匹配的模型状态量,确定与各所述数据并行进程一一对应的子训练数据集;执行各所述数据并行进程,根据与各所述数据并行进程一一对应的子训练数据集,确定所述待更新网络模型在不同数据并行进程上的梯度;对各所述梯度进行梯度规约处理,获得与不同数据并行进程匹配的梯度规约数据;根据各所述梯度规约数据,对所述待更新网络模型的模型参数进行更新,得到训练好的网络模型。2.根据权利要求1所述的方法,其特征在于,所述根据各所述梯度规约数据,对所述待更新网络模型的模型参数进行更新,得到训练好的网络模型,包括:根据各所述梯度规约数据,分别确定与各数据并行进行进程一一对应的权重;基于与各所述数据并行进程一一对应的权重,进行全聚集处理,获得全量权重信息;根据所述全量权重信息,对所述待更新网络模型进行参数更新,获得训练好的网络模型。3.根据权利要求1所述的方法,其特征在于,所述执行各所述数据并行进程,根据与各所述数据并行进程一一对应的子训练数据集,确定所述待更新网络模型在不同数据并行进程上的梯度,包括:执行各所述数据并行进程,根据与各所述数据并行进程一一对应的子训练数据集,进行所述待更新网络模型的前向计算,获得训练损失值;根据所述训练损失值,进行所述待更新网络模型的反向计算,获得所述待更新网络模型在不同数据并行进程上的梯度。4.根据权利要求2所述的方法,其特征在于,所述根据各所述梯度规约数据,分别确定与各数据并行进行进程一一对应的权重,包括:基于与每一所述数据并行进程对应的梯度规约数据,分别确定与每一所述数据并行进程对应的一阶动量数据和二阶动量数据;根据所述一阶动量数据和一阶动量衰减系数、确定所述一阶动量数据的第一偏置校正数据,以及根据所述二阶动量数据和二阶动量衰减系数、确定所述二阶动量数据的第二偏置校正数据;基于所述第一偏置校正数据、第二偏置校正数据以及所述待更新网络模型的学习率,分别确定与各数据并行进行进程一一对应的权重。5.根据权利要求1所述...

【专利技术属性】
技术研发人员:弓静
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1