异构计算平台及其任务仿真与耗时预测方法、装置、设备与流程

文档序号:37891250发布日期:2024-05-09 21:35阅读:9来源:国知局
异构计算平台及其任务仿真与耗时预测方法、装置、设备与流程

本发明涉及异构计算领域,特别是涉及一种异构计算平台及其任务仿真与耗时预测方法、装置、设备。


背景技术:

1、随着人工智能技术的快速发展,神经网络模型的规模越来越大,将单计算节点的模型训练转换成等价的分布式并行的模型训练的分布式训练模式应运而生。

2、目前,分布式训练任务通常部署在多元异构计算平台,也即不同计算性能的异构算力会被接入至同一个分布式计算平台,将待训练网络模型按层切分为多个子模型,然后将各子模型分配至各异构计算芯片上进行并行计算。但是,由于不同异构计算芯片的计算性能不同,相关技术对于这种层间并行也即流水并行的任务的训练耗时并无法实现精准预测。

3、鉴于此,精准预测层间并行训练任务的计算耗时,是所属领域技术人员需要解决的技术问题。


技术实现思路

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、其中, t epoch为单周期训练耗时信息, n为总训练数据集样本数量,batch_size为预设批尺寸, t fp为一次迭代更新过程中的实际前向反馈耗时信息, t bp为一次迭代更新过程中的实际后向反馈耗时信息。

31、在第五种示例性的实施方式中,所述根据记录的各当前前向算力性能补偿耗时参数和各目标算力执行相应前向子任务的前向反馈预测时间,确定包含算力等待时长的实际前向反馈耗时信息,包括:

32、调用前向反馈时间计算关系式,计算实际前向反馈耗时信息;所述前向反馈时间计算关系式为:

33、;

34、其中, t fp为一次迭代更新过程中的实际前向反馈耗时信息,为前向算力性能补偿耗时参数数组,表示前向算力性能补偿耗时参数数组中各元素之和,表示第i个目标算力执行相应前向子任务fp时的前向反馈预测时间, n为目标算力总数。

35、在第六种示例性的实施方式中,所述根据记录的各当前后向算力性能补偿耗时参数和各目标算力执行相应后向子任务的后向反馈预测时间,确定包含算力等待时长的实际后向反馈耗时信息,包括:

36、调用后向反馈时间计算关系式,计算实际后向反馈耗时信息;所述后向反馈时间计算关系式为:

37、;

38、其中, t bp为一次迭代更新过程中的实际后向反馈耗时信息,为后向算力性能补偿耗时参数数组,表示后向算力性能补偿耗时参数数组中各元素之和,表示第i个目标算力执行相应后向子任务bp时的后向反馈预测时间, n为目标算力总数。

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、所述特征嵌入层,用于将通过所述输入层接收到历史任务特征转换为目标维度的特征向量表示;

65、所述特征提取层,用于对所述特征嵌入层输出的特征向量表示进行语义信息提取;

66、所述预测输出层,用于基于所述特征提取层输出的语义信息预测子任务训练耗时,并输出子任务训练耗时信息。

67、在第十六种示例性的实施方式中,所述特征提取层采用多个相连的转换器模型的编码器,所述预测输出层采用多层感知机。

68、在第十七种示例性的实施方式中,所述利用所述训练样本数据集对预先搭建的目标神经网络模型进行训练,包括:

69、统计所述训练样本数据集所包含的历史任务特征数量;

70、当检测到当前历史任务特征数量满足预设模型触发条件,则自动触发对当前目标神经网络模型进行训练。

71、在第十八种示例性的实施方式中,所述当检测到当前历史任务特征数量满足预设模型触发条件,则自动触发对目标神经网络模型的训练,包括:

72、当检测到所述训练样本数据集中的历史任务特征的新增数量大于预设增量阈值,则自动触发对当前目标神经网络模型进行训练。

73、本发明另一方面提供了一种异构计算平台的任务仿真与耗时预测装置,包括:

74、输入获取模块,用于获取异构计算平台采用层间并行方式执行目标任务的任务配置信息;所述任务配置信息包括目标任务特征、用于执行所述目标任务切分的各子任务的目标算力及对应处理顺序;

75、单步训练时长确定模块,用于调用预先构建的子任务训练耗时确定模型,根据所述目标任务特征确定各目标算力的子任务训练耗时信息;

76、仿真模块,用于根据各目标算力的子任务训练耗时信息、各子任务对应的目标算力及相应处理顺序,对采用层间并行方式执行所述目标任务的过程进行仿真;

77、训练耗时预测模块,用于根据仿真结果确定所述目标任务的训练耗时预测结果。

78、本发明还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述异构计算平台的任务仿真与耗时预测方法的步骤。

79、本发明还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述异构计算平台的任务仿真与耗时预测方法的步骤。

80、本发明最后还提供了一种异构计算平台,包括多个异构计算芯片和处理器;

81、其中,所述处理器与各异构计算芯片均相连,用于执行存储器中存储的计算机程序时实现如前任一项所述异构计算平台的任务仿真与耗时预测方法的步骤。

82、在第一种示例性的实施方式中,所述处理器部署于目标异构计算芯片;

83、其中,所述目标异构计算芯片为异构计算平台中满足预设计算存储性能需求条件的异构计算芯片。

84、本发明提供的技术方案的优点在于,利用历史数据对执行目标任务所分割的各子任务的算力的子任务训练耗时进行预测,根据用户输入的任务配置信息确定参与执行目标任务的各算力执行各子任务的顺序,基于预测得到的子任务训练耗时信息对整个目标任务的执行过程进行仿真,由于仿真过程是按照用户指定的算力及其各子任务的顺序对目标任务的真实执行过程的模拟,所以仿真结果是接近真实的目标任务执行情况,其考虑了异构计算平台的各算力的性能,所以根据仿真结果便能够精准预测采用层间并行方式执行目标任务的训练耗时,有效提高了异构计算平台采用层间并行方式训练任务的训练耗时的预测精度。

85、此外,本发明还针对异构计算平台的任务仿真与耗时预测方法提供了相应的实现装置、电子设备、可读存储介质及异构计算平台,进一步使得所述方法更具有实用性,所述装置、电子设备、可读存储介质及异构计算平台具有相应的优点。

86、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

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