用于处理数据的方法、设备和计算机程序产品技术

技术编号:27226049 阅读:33 留言:0更新日期:2021-02-04 11:48
本公开的实施例涉及用于处理数据的方法、设备和计算机程序产品。该方法包括在第一计算设备处,生成与机器学习模型的节点处理的数据块相关联的第一组梯度值,第一组梯度值具有第一数据格式。该方法还包括从第一组梯度值确定第一共享因子,第一共享因子具有第二数据格式,第二数据格式的精度低于第一数据格式。该方法还包括利用第一共享因子对第一组梯度值进行缩放,以得到具有第二数据格式的第二组梯度值。该方法还包括向第二计算设备发送第二组梯度值和第一共享因子。该方法还包括响应于接收到来自第二计算设备的第三组梯度值和第二共享因子,调整机器学习模型的参数。通过使用该方法,可以减少数据的传输量,提高计算网络模型的效率。模型的效率。模型的效率。

【技术实现步骤摘要】
用于处理数据的方法、设备和计算机程序产品


[0001]本公开的实施例总体涉及数据处理,更具体地,涉及在机器学习模型中处理数据的方法、设备和计算机程序产品。

技术介绍

[0002]目前,随着计算机技术的发展,越来越多的任务通过机器学习模型来处理。在机器学习模型中,一般先用样本数据对机器学习模型进行训练。在利用样本数据的训练机器模型时,通过调整机器学习模型的参数,来使得机器学习模型的训练结果收敛。然后再用训练好的模型来处理数据。
[0003]然而,随着机器学习模型的发展,需要将机器学习模型部署到不同的设备上以执行数据并行或模型并行。现在深度学习模型随着参数增多变得更加复杂。通过分布式深度学习可以减少模型训练时间。随着GPU集群规模的扩大,通过分布式GPU的并行计算,可以实现更高的训练速度。然而,在机器学习模型的并行执行过程中还存在着许多问题。

技术实现思路

[0004]本公开的实施例提供一种用于处理数据的方法、设备和计算机程序产品。
[0005]根据本公开的第一方面,提供了一种用于处理数据的方法。该方法包括在第一计算设备处,生成与机器学习模型的节点处理的数据块相关联的第一组梯度值,第一组梯度值具有第一数据格式。该方法还包括从第一组梯度值确定第一共享因子,第一共享因子具有第二数据格式,第二数据格式的精度低于第一数据格式。该方法还包括利用第一共享因子对第一组梯度值进行缩放,以得到具有第二数据格式的第二组梯度值。该方法还包括向第二计算设备发送第二组梯度值和第一共享因子。该方法还包括响应于接收到来自第二计算设备的第三组梯度值和第二共享因子,调整机器学习模型的参数。
[0006]根据本公开的第二方面,提供了一种用于处理数据的方法。该方法包括在第二计算设备处,从第一计算设备接收第二组梯度值和第一共享因子,第二组梯度值是利用第一共享因子对与机器学习模型的节点处理的数据块相关联的第一组梯度值进行缩放而得到的。该方法还包括获取第三设备的针对数据块的第四组梯度值和与第四组梯度值有关的第三共享因子,第三设备运行机器学习模型。该方法还包括基于第一共享因子、第二组梯度值、第四组梯度值和第三共享因子来确定第三组梯度值和针对第三组梯度值的第二共享因子。该方法还包括向第一计算设备发送第三组梯度值和第二共享因子以使得第一计算设备用于调整机器学习模型的参数。
[0007]根据本公开的第三方面,提供了一种用于处理数据的电子设备。该电子设备包括处理器;以及存储器,存储有计算机程序指令,处理器运行存储器中的计算机程序指令控制电子设备执行动作,动作包括:生成与机器学习模型的节点处理的数据块相关联的第一组梯度值,第一组梯度值具有第一数据格式;从第一组梯度值确定第一共享因子,第一共享因子具有第二数据格式,第二数据格式的精度低于第一数据格式;利用第一共享因子对第一
组梯度值进行缩放,以得到具有第二数据格式的第二组梯度值;向第二计算设备发送第二组梯度值和第一共享因子;以及响应于接收到来自第二计算设备的第三组梯度值和第二共享因子,调整机器学习模型的参数。
[0008]根据本公开的第四方面,提供了一种用于处理数据的电子设备。该电子设备包括处理器;以及存储器,存储有计算机程序指令,处理器运行存储器中的计算机程序指令控制电子设备执行动作,动作包括从第一计算设备接收第二组梯度值和第一共享因子,第二组梯度值是利用第一共享因子对与机器学习模型的节点处理的数据块相关联的第一组梯度值进行缩放而得到的;获取第三设备的针对数据块的第四组梯度值和与第四组梯度值有关的第三共享因子,第三设备运行机器学习模型;基于第一共享因子、第二组梯度值、第四组梯度值和第三共享因子来确定第三组梯度值和针对第三组梯度值的第二共享因子;向第一计算设备发送第三组梯度值和第二共享因子以使得第一计算设备用于调整机器学习模型的参数。
[0009]根据本公开的第五方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面中的方法的步骤。
[0010]根据本公开的第六方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面中的方法的步骤。
附图说明
[0011]通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
[0012]图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图;
[0013]图2图示了根据本公开的实施例的用于处理数据的过程200的流程图;
[0014]图3图示了根据本公开的实施例的用于转换梯度值的数据格式的示例300的示意图;
[0015]图4图示了根据本公开的实施例的用于转换梯度值的数据格式的示例400的示意图
[0016]图5图示了根据本公开的实施例的用于处理数据的过程500的流程图;
[0017]图6图示了根据本公开的实施例的分组结构600的示意图;
[0018]图7图示了根据本公开的实施例的初始化设备连接的过程700的流程图;
[0019]图8图示了根据本公开的实施例的发送数据的过程800的流程图;
[0020]图9图示了根据本公开的实施例的发送数据的过程900的流程图;
[0021]图10图示了适于用来实施本公开内容的实施例的示例设备1000的示意性框图。
[0022]在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
[0023]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0024]在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0025]下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
[0026]在将机器学习模型部署到不同的计算节点上时,计算节点(例如GPU)之间的通信是在大规模环境中训练分布式深度学习模型时最大的挑战之一。通过在计算节点之间交换梯度值,可以同步所有训练过程的参数。然而,在所有计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理数据的方法,包括:在第一计算设备处,生成与机器学习模型的节点处理的数据块相关联的第一组梯度值,所述第一组梯度值具有第一数据格式;从所述第一组梯度值确定第一共享因子,所述第一共享因子具有第二数据格式,所述第二数据格式的精度低于所述第一数据格式;利用所述第一共享因子对所述第一组梯度值进行缩放,以得到具有第二数据格式的第二组梯度值;向第二计算设备发送所述第二组梯度值和所述第一共享因子;以及响应于接收到来自第二计算设备的第三组梯度值和第二共享因子,调整所述机器学习模型的参数。2.根据权利要求1所述的方法,其中从所述第一组梯度值确定第一共享因子包括:确定所述第一组梯度值中的最大值和最小值;以及基于所述最大值和所述最小值来确定所述第一共享因子。3.根据权利要求1所述的方法,还包括:基于所述第一组梯度值中的最小值确定与所述第一组梯度值有关的第一偏移值,其中所述第一偏移值具有第一数据格式;以及其中对所述第一组梯度值进行缩放包括:利用所述第一偏移值来调整所述第一组梯度值;以及利用所述第一共享因子对经调整的所述第一组梯度值进行缩放以生成第二组梯度值。4.根据权利要求3所述的方法,还包括:基于所述第一偏移值确定具有第二数据格式的第一偏移值因子;基于所述第一偏移值因子对所述第一偏移值进行缩放以得到以第二数据格式表示的第二偏移值;向第二计算设备发送所述第一偏移值因子和所述第二偏移值;以及从所述第二计算设备接收第二偏移值因子和第三偏移值以用于调整所述第三组梯度值。5.根据权利要求1所述的方法,还包括:将所述第一组梯度值中大于第一阈值的梯度值设定为所述第一阈值;以及将所述第一组梯度值中小于第二阈值的梯度值设定为所述第二阈值,所述第二阈值小于所述第一阈值。6.根据权利要求1所述的方法,其中所述第三组梯度值和所述第二共享因子具有第二数据格式,其中调整所述机器学习模型的参数包括:基于所述第二共享因子来对所述第三组梯度值进行缩放,经缩放的所述第三组梯度值具有第一数据格式;以及利用经缩放的所述第三组梯度值来调整所述机器学习模型的参数。7.根据权利要求6所述的方法,其中调整所述机器学习模型的参数还包括:从第二计算设备接收第四偏移值和第三偏移值因子;基于所述第三偏移值因子来对所述第四偏移值进行缩放,经缩放的所述第四偏移值具有第一数据格式;并且
其中利用经缩放的所述第三组梯度值来调整所述机器学习模型的参数包括:利用经缩放的所述第四偏移值来对经缩放的所述第三组梯度值进行偏移;以及利用经偏移的所述第三组梯度值来调整所述机器学习模型的参数。8.一种用于处理数据的方法,包括:在第二计算设备处,从第一计算设备接收第二组梯度值和第一共享因子,所述第二组梯度值是利用第一共享因子对与机器学习模型的节点处理的数据块相关联的第一组梯度值进行缩放而得到的;获取第三设备的针对所述数据块的第四组梯度值和与所述第四组梯度值有关的第三共享因子,所述第三设备运行所述机器学习模型;基于所述第一共享因子、所述第二组梯度值、所述第四组梯度值和所述第三共享因子来确定第三组梯度值和针对所述第三组梯度值的第二共享因子;向所述第一计算设备发送所述第三组梯度值和第二共享因子以使得所述第一计算设备用于调整所述机器学习模型的参数。9.根据权利要求8所述的方法,其中确定第三组梯度值和针对所述第三组梯度值的第二共享因子包括:确定所述第三共享因子和所述第一共享因子的第一差值;以及响应于所述第一差值大于等于第三阈值,将所述第一共享因子用作所述第二共享因子;基于所述第一差值调整所述第四组梯度值;以及基于所述第二组梯度值和所述第四组梯度值来确定所述第三组梯度值。10.根据权利要求9所述的方法,其中确定第三组梯度值和针对所述第三组梯度值的第二共享因子还包括:响应于所述第一差值小于所述第三阈值,将第三共享因子用作所述第二共享因子;基于所述第一差值调整所述第二组梯度值;以及基于经调整的所述第二组梯度值和所述第四组梯度值确定所述第三组梯度值。11.权利要求8所述的方法,还包括:接收与所述第二组梯度值有关的第一偏移值因子和第二偏移值;确定所述第二计算设备中的与所述数据块有关的第二偏移值因子和第三偏移值;以及基于所述第一偏移值因子、所述第二偏移值、所述第三偏移值和所述第二偏移值因子确定第四偏移值和针对所述第四偏移值的第三偏移值因子;向所述第一计算设备发送所述第四偏移值和所述第三偏移值因子。12.权利要求11所述的方法,其中确定第四偏移值和针对所述第四偏移值的第三偏移值因子包括:确定所述第二偏移值因子与所述第一偏移值因子的第二差值;以及响应于所述第二差值大于等于第四阈值,将所述第一偏移值因子确定为所述第三偏移值因子;基于所述第二差值来调整所述第三偏移值;以及基于经调整的所述第三偏移值和所述第二偏移值来确定所述第四偏移值。
13.根据权利要求12所述的方法,其中确定第四偏移值和针对所述第四偏移值的第三偏移值因子还包括:响应于所述第二差值小于第四阈值,将所述第二偏移值因子确定为所述第三偏移值因子;基于所述差值来调整所述第二偏移值;以及基于经调整的所述第二偏移值和所述第三偏移值来确定所述第四偏移值。14.一种用于数据处理的电子设备,所述电子设备包括:处理器;以及存储器,存储有计算机程序指令,处理器运行存储器中的所述计算机程序指令控制所述电子设备执行动作,所述动作包括:生成与机器学习模型的节点处理的数据块相关联的第一组梯度值,所述第一组梯度值具有第一数据格式;从所述第一组梯度值确定第一共享因子,所述第一共享因子具有第二数据格式,所述第二数据格式的精度低于所述第一数据...

【专利技术属性】
技术研发人员:胡晨曦李三平
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:

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

1