分布式训练方法、并行深度学习框架及电子设备技术

技术编号:35707580 阅读:18 留言:0更新日期:2022-11-23 15:05
本发明专利技术提供了一种分布式训练方法、并行深度学习框架及电子设备,该方法应用于并行深度学习框架,包括:获取待计算的计算图,并基于图神经网络将计算图划分为多个计算子图;将每个计算子图发送到不同的计算节点;在每个计算节点对计算子图进行并行计算。本发明专利技术能够提高分布式训练的性能。布式训练的性能。布式训练的性能。

【技术实现步骤摘要】
分布式训练方法、并行深度学习框架及电子设备


[0001]本专利技术涉及深度学习
,尤其是涉及一种分布式训练方法、并行深度学习框架及电子设备。

技术介绍

[0002]深度学习算法常常被应用于各行各业中,例如计算机视觉、自然语言处理、自动驾驶等等。深度学习需要使用大规模数据来进行训练以及推理。然而在使用现有的深度学习框架,例如TensorFlow或者PyTorch对大规模数据进行训练或者推理时,现有的框架会产生大量的计算开销从而导致很低的性能以及很高的时间开销;使用分布式算法来对大规模深度学习模型进行训练是另一种处理方式,但是直接在深度学习模型上进行分布式学习将会导致GPU资源利用率非常低以及计算开销以及通信开销很高。因此,使用现有的深度学习框架进行分布式训练,性能较差。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种分布式训练方法、并行深度学习框架及电子设备,能够提高分布式训练的性能。
[0004]为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本专利技术实施例提供了一种分布式训练方法,该方法应用于并行深度学习框架,包括:获取待计算的计算图,并基于图神经网络将计算图划分为多个计算子图;将每个计算子图发送到不同的计算节点;在每个计算节点对计算子图进行并行计算。
[0005]在一种实施方式中,基于图神经网络将计算图划分为多个计算子图,包括:基于计算图确定多种计算图划分策略;基于图神经网络预测每种计算图划分策略的运行时间;基于计算图划分策略的运行时间确定目标计算图划分策略,并基于目标计算图划分策略对计算图进行划分,得到多个计算子图。
[0006]在一种实施方式中,基于图神经网络预测每种计算图划分策略的运行时间,包括:对于每种计算图划分策略,基于图神经网络预测计算图划分策略对应的每个子图的运行时间;将每个子图的运行时间的和,确定为计算图划分策略的运行时间。
[0007]在一种实施方式中,基于计算图划分策略的运行时间确定目标计算图划分策略,包括:采用贪心算法或者动态规划算法确定计算图划分策略的运行时间的最小运行时间;将最小运行时间对应的计算图划分策略确定为目标计算图划分策略。
[0008]在一种实施方式中,计算节点包括多个图形处理器GPU;在每个计算节点对计算子图进行并行计算,包括:将计算子图进行划分,得到多个目标子图;将目标子图发送至不同的GPU进行并行计算。
[0009]第二方面,本专利技术实施例提供了一种并行深度学习框架,包括:计算图划分模块,用于获取待计算的计算图,并基于图神经网络将计算图划分为多个计算子图;计算子图发送模块,用于将每个计算子图发送到不同的计算节点;计算模块,用于在每个计算节点对计
算子图进行并行计算。
[0010]在一种实施方式中,计算图划分模块还用于:基于计算图确定多种计算图划分策略;基于图神经网络预测每种计算图划分策略的运行时间;基于计算图划分策略的运行时间确定目标计算图划分策略,并基于目标计算图划分策略对计算图进行划分,得到多个计算子图。
[0011]在一种实施方式中,计算节点包括多个图形处理器GPU;计算模块还用于:将计算子图进行划分,得到多个目标子图;将目标子图发送至不同的GPU进行并行计算。
[0012]第三方面,本专利技术实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面提供的任一项的方法的步骤。
[0013]第四方面,本专利技术实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述第一方面提供的任一项的方法的步骤。
[0014]本专利技术实施例带来了以下有益效果:本专利技术实施例提供的上述分布式训练方法、并行深度学习框架及电子设备,该方法应用于并行深度学习框架,首先,获取待计算的计算图,并基于图神经网络将计算图划分为多个计算子图;然后,将每个计算子图发送到不同的计算节点;最后,在每个计算节点对计算子图进行并行计算。上述方法通过图神经网络对计算图进行高效划分,从所有划分中选择开销最小的划分方式,从而减少了时间开销,提升了训练性能;同时,在每个计算节点对计算子图进行并行计算,进一步提升了分布式训练的性能。
[0015]本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
[0016]为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0017]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本专利技术实施例提供的一种分布式训练方法的流程图;图2为本专利技术实施例提供的一种计算图划分方法的流程图;图3为本专利技术实施例提供的一种并行深度学习框架的结构示意图;图4为本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0019]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是
全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0020]目前,现有的大规模深度学习框架主要包括以下几种:(1)使用预先设定好的计算图划分方式来对神经网络模型进行划分,例如FlexFlow等等;(2)致力于算子内并行的框架,例如微软的DeepSpeed;(3)致力于Tensor Program优化的PET;(4)专门面向inference的TVM;(5)自动并行化深度学习框架,例如Dapple、Alpa。但是,基于上述几种深度学习框架进行分布式训练时,存在以下问题:(1)对于使用预先设定好的计算图划分方式的深度学习框架,在面对不同的神经网络模型以及不同的设备时将需要手动更改模型的计算图划分方式。
[0021](2)对于算子内并行的深度学习框架,没有考虑算子间的并行度,因此,并行度较低。
[0022](3)对于致力于Tensor Program优化的深度学习框架,没有考虑混合并行算法,因此,并行度也很低。
[0023](4)针对面向inference的深度学习框架,无法对大规模神经网络模型进行有效的训练。
[0024](5)现有的自动并行化深度学习框架有着很高的自动化搜索复杂度。
[0025]综上所述,基于现有的深度学习框架进行分布式训练,并行度较低,性能较差。
[0026]基于此本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式训练方法,其特征在于,所述方法应用于并行深度学习框架,包括:获取待计算的计算图,并基于图神经网络将所述计算图划分为多个计算子图;将每个所述计算子图发送到不同的计算节点;在每个所述计算节点对所述计算子图进行并行计算。2.根据权利要求1所述的方法,其特征在于,基于图神经网络将所述计算图划分为多个计算子图,包括:基于所述计算图确定多种计算图划分策略;基于所述图神经网络预测每种所述计算图划分策略的运行时间;基于所述计算图划分策略的运行时间确定目标计算图划分策略,并基于所述目标计算图划分策略对所述计算图进行划分,得到多个计算子图。3.根据权利要求2所述的方法,其特征在于,基于所述图神经网络预测每种所述计算图划分策略的运行时间,包括:对于每种所述计算图划分策略,基于所述图神经网络预测所述计算图划分策略对应的每个子图的运行时间;将每个所述子图的运行时间的和,确定为所述计算图划分策略的运行时间。4.根据权利要求2所述的方法,其特征在于,基于所述计算图划分策略的运行时间确定目标计算图划分策略,包括:采用贪心算法或者动态规划算法确定所述计算图划分策略的运行时间的最小运行时间;将所述最小运行时间对应的所述计算图划分策略确定为目标计算图划分策略。5.根据权利要求1所述的方法,其特征在于,所述计算节点包括多个图形处理器GPU;在每个所述计算节点对所述计算子图进行并行计算,包括:将所述计算子...

【专利技术属性】
技术研发人员:宦成颖卢亿雷
申请(专利权)人:北京白海科技有限公司
类型:发明
国别省市:

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

1