本申请涉及深度学习,特别涉及一种深度学习模型的并行计算调度方法,还涉及一种深度学习模型的并行计算调度装置、电子设备以及计算机可读存储介质。
背景技术:
1、深度学习大模型正在深刻而急剧地改变着当今社会、工作和生活的方方面面,训练好的大模型通过推理的方式即将或正在为各行各业提供种种服务。但是,目前的深度学习框架都极大地局限了现有推理和训练系统的运行性能和效率,造成了计算调度效率低下的问题。
2、因此,如何更为有效地提高深度学习模型的计算调度效率是本领域技术人员亟待解决的问题。
技术实现思路
1、本申请的目的是提供一种深度学习模型的并行计算调度方法,该深度学习模型的并行计算调度方法可以更为有效地提高深度学习模型的计算和调度效率;本申请的另一目的是提供一种深度学习模型的并行计算调度装置、电子设备及计算机可读存储介质,均具有上述有益效果。
2、第一方面,本申请提供了一种深度学习模型的并行计算调度方法,包括:
3、将深度学习模型的原始计算图转换为新的计算图;其中,所述新的计算图包括具有顺序关系的多个算子集合;
4、将所述深度学习模型按照所述新的计算图进行并行计算调度;其中,在所述计算调度过程中,每一所述算子集合中的所有算子并行运行。
5、可选地,所述将深度学习模型的原始计算图转换为新的计算图,包括:
6、对所述原始计算图进行遍历,确定所述原始计算图中每一算子的入度;
7、提取所述入度为0的算子组合为算子集合;
8、将所述入度为0的算子删除,并返回所述提取所述入度为0的算子组合为算子集合的步骤,直至所有算子提取完毕;
9、将各所述算子集合按照生成顺序排列,生成所述新的计算图。
10、可选地,所述将深度学习模型的原始计算图转换为新的计算图,包括:
11、对所述原始计算图中的各有向边进行头尾互换,获得反向计算图;
12、对所述反向计算图进行遍历,确定所述反向计算图中每一算子的入度;
13、提取所述入度为0的算子组合为算子集合;
14、将所述入度为0的算子删除,并返回所述提取所述入度为0的算子组合为算子集合的步骤,直至所有算子提取完毕;
15、将各所述算子集合按照生成顺序排列,生成所述新的计算图。
16、可选地,所述将所述深度学习模型按照所述新的计算图进行并行计算调度,包括:
17、将所述深度学习模型按照所述新的计算图中各所述算子集合的排列顺序对不同批次的目标数据进行并行计算调度;其中,任意相邻的算子集合对应处理的目标数据的批次为相邻批次。
18、可选地,所述将所述深度学习模型按照所述新的计算图进行并行计算调度之前,还包括:
19、确定所述新的计算图中每一所述算子集合的运行时间长度比例;
20、对于每一所述算子集合,根据所述运行时间长度比例按照反比例创建相应数量的实例,生成更新后的计算图。
21、可选地,所述确定所述新的计算图中每一所述算子集合的运行时间长度比例之前,还包括:
22、对于每一所述算子集合,确定所述算子集合所在处理器的处理器资源;其中,所述处理器资源包括计算资源和/或存储资源;
23、当所述处理器资源满足预设资源条件时,执行所述确定所述新的计算图中每一所述算子集合的运行时间长度比例的步骤。
24、可选地,所述对于每一所述算子集合,确定所述算子集合所在处理器的处理器资源之前,还包括:
25、根据所述新的计算图确定所述深度学习模型的当前计算调度平衡度;
26、当所述当前计算调度平衡度超出预设阈值时,执行所述对于每一所述算子集合,确定所述算子集合所在处理器的处理器资源的步骤。
27、可选地,所述将所述深度学习模型按照所述新的计算图进行并行计算调度;其中,在所述计算调度过程中,每一所述算子集合中的所有算子并行运行,包括:
28、预估各算子间传输数据大小以及各计算设备间的数据传输效率,以便于在算子部署调度时,按照所述算子间传输数据大小和所述计算设备间的数据传输效率进行匹配,具体为将所述深度学习模型按照所述新的计算图进行并行计算调度,在所述计算调度过程中,根据各所述处理器之间的数据传输效率、各所述处理器所属处理设备之间的数据传输效率、各所述算子间传输数据大小,将各所述算子集合中的各所述算子部署至相应的处理设备中的处理器上,以实现每一所述算子集合中的所有算子的并行运行。
29、第二方面,本申请还公开了一种深度学习模型的并行计算调度装置,包括:
30、转换模块,用于将深度学习模型的原始计算图转换为新的计算图;其中,所述新的计算图包括具有顺序关系的多个算子集合;
31、调度模块,用于将所述深度学习模型按照所述新的计算图进行并行计算调度;其中,在所述计算调度过程中,每一所述算子集合中的所有算子并行运行。
32、第三方面,本申请还公开了一种电子设备,包括:
33、存储器,用于存储计算机程序;
34、处理器,用于执行所述计算机程序时实现如上所述的任一种深度学习模型的并行计算调度方法的步骤。
35、第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种深度学习模型的并行计算调度方法的步骤。
36、本申请提供了一种深度学习模型的并行计算调度方法,包括:将深度学习模型的原始计算图转换为新的计算图;其中,所述新的计算图包括具有顺序关系的多个算子集合;将所述深度学习模型按照所述新的计算图进行并行计算调度;其中,在所述计算调度过程中,每一所述算子集合中的所有算子并行运行。
37、应用本申请所提供的技术方案,在深度学习模型进行计算调度的过程中,深度学习框架在对深度学习程序进行编译时,一般会将深度学习模型中的多层网络表示为计算图的形式,并按照计算图中各算子的排列顺序进行计算调度,对此,本技术方案将深度学习模型的原始计算图进行分解和重组,得到新的计算图,该新的计算图包括具有顺序关系的多个算子集合,且每一算子集合中的所有算子均可并行运行且互不影响,有效地减少了深度学习模型在计算调度过程中的推理步数,进一步提高了深度学习模型的计算调度效率。
38、本申请所提供的深度学习模型的并行计算调度装置、电子设备以及计算机可读存储介质,同样具有上述技术效果,本申请在此不再赘述。
1.一种深度学习模型的并行计算调度方法,其特征在于,包括:
2.根据权利要求1所述的深度学习模型的并行计算调度方法,其特征在于,所述将深度学习模型的原始计算图转换为新的计算图,包括:
3.根据权利要求1所述的深度学习模型的并行计算调度方法,其特征在于,所述将深度学习模型的原始计算图转换为新的计算图,包括:
4.根据权利要求1所述的深度学习模型的并行计算调度方法,其特征在于,所述将所述深度学习模型按照所述新的计算图进行并行计算调度,包括:
5.根据权利要求1至4任意一项所述的深度学习模型的并行计算调度方法,其特征在于,将所述深度学习模型按照所述新的计算图进行计算调度之前,还包括:
6.根据权利要求5所述的深度学习模型的并行计算调度方法,其特征在于,确定所述新的计算图中每一所述算子集合的运行时间长度比例之前,还包括:
7.根据权利要求6所述的深度学习模型的并行计算调度方法,其特征在于,对于每一所述算子集合,确定所述算子集合所在处理器的处理器资源之前,还包括:
8.根据权利要求6所述的深度学习模型的并行计算调度方法,其特征在于,所述将所述深度学习模型按照所述新的计算图进行并行计算调度;其中,在所述计算调度过程中,每一所述算子集合中的所有算子并行运行,包括:
9.一种深度学习模型的并行计算调度装置,其特征在于,包括:
10.一种电子设备,其特征在于,包括:
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的深度学习模型的并行计算调度方法的步骤。