基于异构计算系统的模型训练耗时预测方法、设备及系统与流程

文档序号:35418686发布日期:2023-09-10 05:31阅读:30来源:国知局
基于异构计算系统的模型训练耗时预测方法、设备及系统与流程

本发明涉及神经网络领域,特别涉及一种基于异构计算系统的模型训练耗时预测方法、设备及系统。


背景技术:

1、随着神经网络模型规模的不断增大,该模型的训练难度及复杂度在不断提升。为对大规模模型进行有效训练,一般可利用分布式计算系统对该模型进行分布式训练。而为方便对模型训练过程及分布式计算系统进行优化,相关技术中通常需要对神经网络模型在分布式计算系统中的训练耗时进行预测。然而,相关技术无法准确地预测对异构计算系统(一种包含有多类型计算设备的分布式计算系统)训练神经网络模型所需耗时,且利用完整的异构计算系统实际运行大规模分布式训练并对耗时进行测量也容易带来较大的时间成本及算力成本,进而不利于模型训练过程及异构计算系统的优化。


技术实现思路

1、本发明的目的是提供一种基于异构计算系统的模型训练耗时预测方法、设备及系统,可利用与异构计算系统对应的多个简化的子计算系统,对各类型计算设备训练目标模型对应的耗时信息及数据传输量进行实际测量,从而可以较低成本利用实测数据、异构计算系统中的各计算设备间的通信带宽及数学建模方式对异构计算系统训练目标模型的耗时进行准确预测。

2、为解决上述技术问题,本发明提供一种基于异构计算系统的模型训练耗时预测方法,包括:

3、获取目标模型、训练集、异构计算系统中包含的各计算设备类型、各所述计算设备类型对应的训练数据量及所述异构计算系统中的各计算设备间的通信带宽;

4、设置各计算设备类型对应的子计算系统,并利用所述训练数据量及所述训练集为各所述子计算系统中的计算设备分配训练数据;各所述子计算系统包含多个同类型的计算设备,所述计算设备在所述子计算系统中的数量小于其在所述异构计算系统中的数量;

5、控制各所述子计算系统利用所述训练数据对所述目标模型共同进行多轮迭代训练,并对各所述子计算系统中的各计算设备对应的耗时信息及数据传输量进行记录;

6、将所述耗时信息、所述通信带宽、所述数据传输量输入至预设数学模型进行耗时预测,得到所述异构计算系统训练所述目标模型的预测耗时。

7、可选地,所述对各所述子计算系统中的各计算设备对应的耗时信息及数据传输量进行记录,包括:

8、当确定各所述子计算系统已共同完成预设数量的迭代训练时,对各所述子计算系统中的各计算设备对应的耗时信息及数据传输量进行记录。

9、可选地,所述获取所述异构计算系统中的各计算设备间的通信带宽,包括:

10、获取所述异构计算系统中的各计算设备间的网络地址信息;

11、根据所述网络地址信息对所述异构计算系统中的各计算设备间的通信带宽进行测量。

12、可选地,所述根据所述网络地址信息对所述异构计算系统中的各计算设备间的通信带宽进行测量,包括:

13、根据所述网络地址信息,利用网络测试工具对所述异构计算系统中的各计算设备间的通信带宽进行测量。

14、可选地,所述获取所述异构计算系统中的各计算设备间的通信带宽,包括:

15、接收输入的所述异构计算系统中的各计算设备间的通信带宽。

16、可选地,所述设置各计算设备类型对应的子计算系统,包括:

17、针对每种计算设备类型,从所述异构计算系统中选择多个目标计算设备;

18、利用各所述计算设备类型对应的目标计算设备,设置各所述计算设备类型对应的子计算系统。

19、可选地,各所述子计算系统包含两个同类型的计算设备。

20、可选地,所述利用所述训练数据量及所述训练集为各所述子计算系统中的计算设备分配训练数据,包括:

21、从所述训练集中随机抽取所述训练数据量的数据作为所述训练数据。

22、可选地,所述对各所述子计算系统中的各计算设备对应的耗时信息及数据传输量进行记录,包括:

23、利用模型性能分析工具对各所述子计算系统中的各计算设备对应的耗时信息及数据传输量进行记录。

24、可选地,所述获取目标模型,包括:

25、接收以代码形式输入的所述目标模型,并利用预设脚本解析所述目标模型。

26、可选地,所述目标模型基于环状全规约模式训练,所述将所述耗时信息、所述通信带宽、所述数据传输量输入至预设数学模型进行耗时预测,得到所述异构计算系统训练所述目标模型的预测耗时,包括:

27、将所述耗时信息、所述通信带宽、所述数据传输量输入至预设数学模型进行耗时预测,得到所述异构计算系统中的各计算设备对所述目标模型执行单次迭代所需的单次迭代耗时;

28、将所述单次迭代耗时中的最大值作为所述异构计算系统对所述目标模型执行单次迭代所需的单次迭代总耗时;

29、基于所述单次迭代总耗时确定所述异构计算系统训练所述目标模型的预测耗时。

30、可选地,所述耗时信息包括数据处理耗时及计算耗时,所述数据处理耗时为中央处理器向对应计算设备执行训练数据下发动作的耗时,所述计算耗时包括所述计算设备执行前向反向计算的耗时。

31、可选地,所述将所述耗时信息、所述通信带宽、所述数据传输量输入至预设数学模型进行耗时预测,得到所述异构计算系统中的各计算设备对所述目标模型执行单次迭代所需的单次迭代耗时,包括:

32、利用从相同所述子计算系统中记录的数据处理耗时及计算耗时,确定所述子计算系统所属的计算设备类型对应的数据处理耗时均值及计算耗时均值,并利用各所述计算设备类型对应的数据处理耗时均值及计算耗时均值,确定所述异构计算系统中各计算设备的数据处理耗时及计算耗时;

33、利用所述数据传输量确定数据传输量均值,并利用所述数据传输量均值、所述通信带宽及所述异构计算系统中的各计算设备间的环状全规约操作顺序,确定述异构计算系统中的各计算设备的环状全规约操作耗时;

34、利用所述异构计算系统中各计算设备的数据处理耗时、计算耗时、环状全规约操作耗时,确定所述异构计算系统中各计算设备对所述目标模型执行单次迭代所需的单次迭代耗时。

35、可选地,所述训练数据下发动作与所述前向反向计算和所述环状全规约操作并行执行,所述利用所述异构计算系统中各计算设备的数据处理耗时、计算耗时、环状全规约操作耗时,确定所述异构计算系统中各计算设备对所述目标模型执行单次迭代所需的单次迭代耗时,包括:

36、根据所述计算设备的计算耗时和环状全规约操作耗时,确定所述计算设备的设备处理耗时;

37、将所述数据处理耗时与所述设备处理耗时中的最大值作为所述计算设备对所述目标模型执行单次迭代所需的单次迭代耗时。

38、可选地,所述根据所述计算设备的计算耗时和环状全规约操作耗时,确定所述计算设备的设备处理耗时,包括:

39、从所述计算耗时中提取所述计算设备执行前向计算的前向计算总耗时及执行首次后向计算的后向计算耗时;

40、利用所述前向计算总耗时、所述后向计算耗时及各所述计算设备的环状全规约操作耗时,确定所述计算设备的设备处理耗时。

41、可选地,所述利用所述数据传输量均值、所述通信带宽及所述异构计算系统中的各计算设备间的环状全规约操作顺序,确定述异构计算系统中的各计算设备的环状全规约操作耗时,包括:

42、根据所述环状全规约操作顺序,确定与所述计算设备执行环状全规约操作的相邻计算设备;

43、利用所述数据传输量均值及所述计算设备与所述相邻计算设备间的通信带宽,确定所述计算设备与所述相邻计算设备执行单次环状全规约操作的耗时;

44、利用所述异构计算系统包含的计算设备数量确定所述计算设备与所述相邻计算设备执行所述环状全规约操作的总次数;

45、利用所述总次数和计算设备与所述相邻计算设备执行单次环状全规约操作的耗时,确定所述计算设备的环状全规约操作耗时。

46、可选地,所述基于所述单次迭代总耗时确定所述异构计算系统训练所述目标模型的预测耗时,包括:

47、根据所述训练集的总数据量、各所述计算设备类型对应的训练数据量、所述异构计算系统中各计算设备执行所述单次迭代所使用的小批量训练数据量及所述异构计算系统包含的计算设备数量,确定异构计算系统利用所述训练集完整训练所述目标模型所需的单次迭代次数;

48、利用所述单次迭代次数及所述单次迭代总耗时确定所述异构计算系统利用所述训练集完整训练所述目标模型的预测耗时。

49、可选地,在利用所述单次迭代次数及所述单次迭代总耗时确定所述异构计算系统利用所述训练集完整训练所述目标模型的预测耗时之后,还包括:

50、利用所述预测耗时确定所述异构计算系统利用所述训练集多次完整训练所述目标模型的预测总耗时。

51、本发明还提供一种基于异构计算系统的模型训练耗时预测装置,包括:

52、信息收集模块,用于获取目标模型、训练集、异构计算系统中包含的各计算设备类型、各所述计算设备类型对应的训练数据量及所述异构计算系统中的各计算设备间的通信带宽;

53、任务分配模块,用于设置各计算设备类型对应的子计算系统,并利用所述训练数据量及所述训练集为各所述子计算系统中的计算设备分配训练数据;各所述子计算系统包含多个同类型的计算设备,所述计算设备在所述子计算系统中的数量小于其在所述异构计算系统中的数量;

54、数据收集模块,用于控制各所述子计算系统利用所述训练数据对所述目标模型共同进行多轮迭代训练,并对各所述子计算系统中的各计算设备对应的耗时信息及数据传输量进行记录;

55、耗时预测模块,用于将所述耗时信息、所述通信带宽、所述数据传输量输入至预设数学模型进行耗时预测,得到所述异构计算系统训练所述目标模型的预测耗时。

56、本发明还提供一种电子设备,包括:

57、存储器,用于存储计算机程序;

58、处理器,用于执行所述计算机程序时实现如上所述的基于异构计算系统的模型训练耗时预测方法。

59、本发明还提供一种基于异构计算系统的模型训练耗时预测系统,包括:电子设备及多个子计算系统,多个所述子计算系统根据异构计算系统中包含的各计算设备类型设置,各所述子计算系统包含多个同类型的计算设备,所述计算设备在所述子计算系统中的数量小于其在所述异构计算系统中的数量;

60、所述电子设备,用于执行如上所述的基于异构计算系统的模型训练耗时预测方法;

61、所述多个子计算系统,用于在所述电子设备的控制下利用训练数据对目标模型共同进行多轮迭代训练。

62、本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的基于异构计算系统的模型训练耗时预测方法。

63、本发明提供一种基于异构计算系统的模型训练耗时预测方法,包括:获取目标模型、训练集、异构计算系统中包含的各计算设备类型、各所述计算设备类型对应的训练数据量及所述异构计算系统中的各计算设备间的通信带宽;设置各计算设备类型对应的子计算系统,并利用所述训练数据量及所述训练集为各所述子计算系统中的计算设备分配训练数据;各所述子计算系统包含多个同类型的计算设备,所述计算设备在所述子计算系统中的数量小于其在所述异构计算系统中的数量;控制各所述子计算系统利用所述训练数据对所述目标模型共同进行多轮迭代训练,并对各所述子计算系统中的各计算设备对应的耗时信息及数据传输量进行记录;将所述耗时信息、所述通信带宽、所述数据传输量输入至预设数学模型进行耗时预测,得到所述异构计算系统训练所述目标模型的预测耗时。

64、本发明的有益效果在于:本发明首先将获取目标模型、训练集、异构计算系统中包含的各计算设备类型、各计算设备类型对应的训练数据量及异构计算系统中的各计算设备间的通信带宽,并可设置与各计算设备类型对应的子计算系统,以及利用训练数据量及训练集为各子计算系统中的计算设备分配训练数据,其中各子计算系统包含多个同类型的计算设备,计算设备在子计算系统中的数量小于其在异构计算系统中的数量。换句话说,本发明可根据异构计算系统的相关信息,设置多个简化的子计算系统。随后,本发明可控制各子计算系统利用训练数据对目标模型共同进行多轮迭代训练,并对各子计算系统中的各计算设备对应的耗时信息及数据传输量进行记录,即可将实际要训练的目标模型部署至上述多个简化的子计算系统中,并控制这些子计算系统利用实际的训练数据对该目标模型共同进行多轮迭代训练,以记录各类型的计算设备在训练该目标模型时的实际耗时情况及数据传输量。最后,本发明可将耗时信息、通信带宽、数据传输量输入至预设数学模型进行耗时预测,得到异构计算系统训练目标模型的预测耗时,即可利用各类型的计算设备在训练该目标模型过程中产生的实测数据、异构计算系统中各计算设备间的网络通信状况及数据建模方式,以较低成本对异构计算系统训练目标模型所需耗时进行准确预测,从而能够解决相关技术无法准确预测基于异构计算系统预测训练模型训练所需耗时的缺陷。本发明还提供一种基于异构计算系统的模型训练耗时预测装置、电子设备、系统及计算机可读存储介质,具有上述有益效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1