计算资源分配方法、电子设备、存储介质及程序产品组成比例

技术编号:35852147 阅读:10 留言:0更新日期:2022-12-07 10:36
本申请公开了一种计算资源分配方法、电子设备、存储介质及程序产品,涉及人工智能技术领域,具体涉及模型训练技术领域。该方法用于神经网络模型的训练,该方法包括:获得训练节点上子模型执行计算任务的计算时间和执行通信任务的通信时间;根据计算时间和所述通信时间得到延迟步数;根据延迟步数、数据样本的大小和多个训练节点的数量,获得训练节点上执行的多个计算任务和多个通信任务的调度方案;根据调度方案为多个计算任务和多个通信任务生成调度指令序列;根据调度指令序列控制训练节点依据数据样本对部署在训练节点上的子模型进行训练。可以提升神经网络模型进行分布式训练的训练效率。练的训练效率。练的训练效率。

【技术实现步骤摘要】
计算资源分配方法、电子设备、存储介质及程序产品


[0001]本申请一般涉及人工智能
,具体涉及模型训练
,尤其涉及一种计算资源分配方法、电子设备、存储介质及程序产品。

技术介绍

[0002]随着深度学习技术不断发展,神经网络模型的参数量也逐步提高。参数量的提高需要使用多个计算设备进行分布式训练模型,即:使用模型并行的分布式训练技术,利用多个计算设备的存储和计算资源完成模型的训练。
[0003]相关技术中,主要有张量模型并行和流水线模型并行的分布式训练技术,这两种并行技术把整个模型计算任务拆分成子任务,分配给不同设备执行。张量模型并行把单个算子拆分到不同设备上,而流水线模型并行把模型不同的层拆分到不同设备上,通过通信算子交换各自计算的结果,多个设备合作完成大模型训练所需的计算任务。张量模型并行方案对于设备间的通信带宽要求相对较高,带宽不足的情况下训练效率低,流水线模型并行方案较张量模型并行方案虽然通信量低一些,但由于通信占比仍然很高,且不能将计算和通信过程并行,因此通信开销仍然很高而影响模型的训练效率。

技术实现思路

[0004]鉴于现有技术中的上述缺陷或不足,期望提供一种计算资源分配方法、电子设备、存储介质及程序产品,可以提升神经网络模型进行分布式训练的训练效率。
[0005]第一方面,本申请提供了一种计算资源分配方法,所述计算资源分配方法用于神经网络模型的训练,所述神经网络模型包括多个子模型,所述多个子模型一一对应地部署在多个训练节点上,所述方法包括:
[0006]获得训练节点上子模型执行计算任务的计算时间和执行通信任务的通信时间;
[0007]根据所述计算时间和所述通信时间得到延迟步数;
[0008]根据所述延迟步数、数据样本的大小和所述多个训练节点的数量,获得所述训练节点上执行的多个计算任务和多个通信任务的调度方案,其中,所述数据样本的大小包括所述数据样本的总大小和由所述数据样本拆分的子数据的大小;
[0009]根据所述调度方案为所述多个计算任务和多个通信任务生成调度指令序列;
[0010]根据所述调度指令序列控制所述训练节点依据所述数据样本对部署在所述训练节点上的子模型进行训练。
[0011]在一些示例中,所述根据所述计算时间和所述通信时间得到延迟步数,包括:
[0012]比较所述计算时间和所述通信时间;
[0013]如果所述通信时间小于所述计算时间,将所述延迟步数设为第一延迟步数,否则,将所述延迟步数设为第二延迟步数,其中,所述第一延迟步数小于所述第二延迟步数。
[0014]在一些示例中,所述第一延迟步数为2,所述第二延迟步数为3。
[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]根据所述多个计算任务和所述多个通信任务的排序得到所述多个计算任务和多个通信任务的调度方案。
[0041]第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如本申请实施例描述的计算资源分配方法。
[0042]第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例描述的计算资源分配方法。
[0043]第五方面,本申本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算资源分配方法,其特征在于,所述计算资源分配方法用于神经网络模型的训练,所述神经网络模型包括多个子模型,所述多个子模型一一对应地部署在多个训练节点上,所述方法包括:获得训练节点上子模型执行计算任务的计算时间和执行通信任务的通信时间;根据所述计算时间和所述通信时间得到延迟步数;根据所述延迟步数、数据样本的大小和所述多个训练节点的数量,获得所述训练节点上执行的多个计算任务和多个通信任务的调度方案,其中,所述数据样本的大小包括所述数据样本的总大小和由所述数据样本拆分的子数据的大小;根据所述调度方案为所述多个计算任务和多个通信任务生成调度指令序列;根据所述调度指令序列控制所述训练节点依据所述数据样本对部署在所述训练节点上的子模型进行训练。2.根据权利要求1所述的计算资源分配方法,其特征在于,所述根据所述计算时间和所述通信时间得到延迟步数,包括:比较所述计算时间和所述通信时间;如果所述通信时间小于所述计算时间,将所述延迟步数设为第一延迟步数,否则,将所述延迟步数设为第二延迟步数,其中,所述第一延迟步数小于所述第二延迟步数。3.根据权利要求2所述的计算资源分配方法,其特征在于,所述第一延迟步数为2,所述第二延迟步数为3。4.根据权利要求1

3任一项所述的计算资源分配方法,其特征在于,所述根据所述延迟步数、数据样本的大小和所述多个训练节点的数量,获得所述训练节点上执行的多个计算任务和多个通信任务的调度方案,包括:根据所述延迟步数、数据样本的大小和所述多个训练节点的数量,获得所述训练节点上执行的多个计算任务,对所述多个计算任务进行排序;为所述多个计算任务中每个计算任务设置通信任务,得到所述多个计算任务和所述多个通信任务的排序;根据所述多个计算任务和所述多个通信任务的排序得到所述多个计算任务和多个通信任务的调度方案。5.根...

【专利技术属性】
技术研发人员:高华佐丁劭华王彪许欣然
申请(专利权)人:北京旷视科技有限公司
类型:发明
国别省市:

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

1