CN117971630A - 异构计算平台及其任务仿真与耗时预测方法、装置、设备 - Google Patents
异构计算平台及其任务仿真与耗时预测方法、装置、设备 Download PDFInfo
- Publication number
- CN117971630A CN117971630A CN202410382408.3A CN202410382408A CN117971630A CN 117971630 A CN117971630 A CN 117971630A CN 202410382408 A CN202410382408 A CN 202410382408A CN 117971630 A CN117971630 A CN 117971630A
- Authority
- CN
- China
- Prior art keywords
- time
- target
- consuming
- task
- subtask
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 219
- 238000004088 simulation Methods 0.000 title claims abstract description 95
- 238000012549 training Methods 0.000 claims abstract description 432
- 230000008569 process Effects 0.000 claims abstract description 134
- 239000011229 interlayer Substances 0.000 claims abstract description 74
- 238000012545 processing Methods 0.000 claims abstract description 70
- 238000004364 calculation method Methods 0.000 claims description 320
- 239000010410 layer Substances 0.000 claims description 107
- 238000003062 neural network model Methods 0.000 claims description 66
- 230000015654 memory Effects 0.000 claims description 25
- 238000000605 extraction Methods 0.000 claims description 22
- 230000002441 reversible effect Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 13
- 239000013598 vector Substances 0.000 claims description 10
- 238000003491 array Methods 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000009191 jumping Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000002779 inactivation Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种异构计算平台及其任务仿真与耗时预测方法、装置、设备,应用于异构计算领域。其中,方法包括获取异构计算平台采用层间并行方式执行目标任务的任务配置信息;调用预先构建的子任务训练耗时确定模型,根据任务配置信息中的目标任务特征确定各目标算力的子任务训练耗时信息。根据各目标算力的子任务训练耗时信息、任务配置信息中各子任务对应的目标算力及相应处理顺序,对采用层间并行方式执行目标任务的过程进行仿真,最后根据仿真结果确定目标任务的训练耗时预测结果。本发明可以解决相关技术并行训练任务的训练耗时无法精准预测的问题,能够实现精准预测层间并行训练任务的训练耗时。
Description
技术领域
本发明涉及异构计算领域,特别是涉及一种异构计算平台及其任务仿真与耗时预测方法、装置、设备。
背景技术
随着人工智能技术的快速发展,神经网络模型的规模越来越大,将单计算节点的模型训练转换成等价的分布式并行的模型训练的分布式训练模式应运而生。
目前,分布式训练任务通常部署在多元异构计算平台,也即不同计算性能的异构算力会被接入至同一个分布式计算平台,将待训练网络模型按层切分为多个子模型,然后将各子模型分配至各异构计算芯片上进行并行计算。但是,由于不同异构计算芯片的计算性能不同,相关技术对于这种层间并行也即流水并行的任务的训练耗时并无法实现精准预测。
鉴于此,精准预测层间并行训练任务的计算耗时,是所属领域技术人员需要解决的技术问题。
发明内容
本发明提供了一种异构计算平台的任务仿真与耗时预测方法、装置、电子设备、可读存储介质及异构计算平台,能够实现精准预测层间并行训练任务的计算耗时。
为解决上述技术问题,本发明提供以下技术方案:
本发明一方面提供了一种异构计算平台的任务仿真与耗时预测方法,包括:
获取异构计算平台采用层间并行方式执行目标任务的任务配置信息;所述任务配置信息包括目标任务特征、用于执行所述目标任务切分的各子任务的目标算力及对应处理顺序;
调用预先构建的子任务训练耗时确定模型,根据所述目标任务特征确定各目标算力的子任务训练耗时信息;
根据各目标算力的子任务训练耗时信息、各子任务对应的目标算力及相应处理顺序,对采用层间并行方式执行所述目标任务的过程进行仿真;
根据仿真结果确定所述目标任务的训练耗时预测结果。
在第一种示例性的实施方式中,所述根据各目标算力的子任务训练耗时信息、各子任务对应的目标算力及相应处理顺序,对采用层间并行方式执行所述目标任务的过程进行仿真,包括:
基于各子任务对应的目标算力及相应处理顺序,确定依次执行各子任务的目标算力;
通过依次比较每两个相邻目标算力的子任务训练耗时信息,确定包含算力等待时长的实际子任务耗时信息;
根据各目标算力的实际子任务耗时信息、总训练数据集样本数量和预设批尺寸,确定单周期训练耗时信息。
在第二种示例性的实施方式中,所述子任务训练耗时信息为各目标算力的前向反馈预测时间;所述通过依次比较每两个相邻目标算力的子任务训练耗时信息,确定包含算力等待时长的实际子任务耗时信息,包括:
对于前向反馈计算过程,预先定义前向算力性能补偿耗时参数;
以执行第一个前向子任务的第一目标算力为当前目标算力,所述前向算力性能补偿耗时参数为所述第一目标算力对应的第一前向反馈预测时间,比较所述第一前向反馈预测时间,和执行第二个前向子任务的第二目标算力对应的第二前向反馈预测时间的数值,选择较大值更新前向算力性能补偿耗时参数;
将所述第二目标算力作为当前目标算力,所述前向算力性能补偿耗时参数为更新后的前向算力性能补偿耗时参数,记录当前前向算力性能补偿耗时参数;
重复比较相邻目标算力的前向反馈预测时间,更新前向算力性能补偿耗时参数,并记录当前前向算力性能补偿耗时参数,直至当前目标算力为最后一个目标算力;
根据记录的各当前前向算力性能补偿耗时参数和各目标算力执行相应前向子任务的前向反馈预测时间,确定包含算力等待时长的实际前向反馈耗时信息;
其中,同一个目标算力执行子任务的训练耗时时间相同。
在第三种示例性的实施方式中,所述子任务训练耗时信息为各目标算力的后向反馈预测时间;所述通过依次比较每两个相邻目标算力的子任务训练耗时信息,确定包含算力等待时长的实际子任务耗时信息,包括:
对于后向反馈计算过程,预先定义后向算力性能补偿耗时参数;
以执行第一个后向子任务的逆向第一目标算力为当前目标算力,所述后向算力性能补偿耗时参数为所述逆向第一目标算力对应的第一后向反馈预测时间,比较所述第一后向反馈预测时间,和执行第二个后向子任务的逆向第二目标算力对应的第二后向反馈预测时间的数值,选择较大值更新后向算力性能补偿耗时参数;
将所述逆向第二目标算力作为当前目标算力,所述后向算力性能补偿耗时参数为更新后的后向算力性能补偿耗时参数,记录当前后向算力性能补偿耗时参数;
重复比较相邻目标算力的后向反馈预测时间,更新后向算力性能补偿耗时参数,并记录当前后向算力性能补偿耗时参数,直至当前目标算力为第一个目标算力;
根据记录的各当前后向算力性能补偿耗时参数和各目标算力执行相应后向子任务的后向反馈预测时间,确定包含算力等待时长的实际后向反馈耗时信息;
其中,同一个目标算力执行子任务的训练耗时时间相同。
在第四种示例性的实施方式中,所述根据仿真结果确定所述目标任务的训练耗时预测结果,包括:
调用单周期计算关系式,计算所述目标任务的单周期训练耗时信息;所述单周期计算关系式为:
;
根据所述目标任务的训练周期总数和所述单周期训练耗时信息,确定所述目标任务的训练耗时预测结果;
其中,T epoch 为单周期训练耗时信息,N为总训练数据集样本数量,batch_size为预设批尺寸,T FP 为一次迭代更新过程中的实际前向反馈耗时信息,T BP 为一次迭代更新过程中的实际后向反馈耗时信息。
在第五种示例性的实施方式中,所述根据记录的各当前前向算力性能补偿耗时参数和各目标算力执行相应前向子任务的前向反馈预测时间,确定包含算力等待时长的实际前向反馈耗时信息,包括:
调用前向反馈时间计算关系式,计算实际前向反馈耗时信息;所述前向反馈时间计算关系式为:
;
其中,T FP 为一次迭代更新过程中的实际前向反馈耗时信息,为前向算力性能补偿耗时参数数组,/>表示前向算力性能补偿耗时参数数组中各元素之和,/>表示第i个目标算力执行相应前向子任务FP时的前向反馈预测时间,n为目标算力总数。
在第六种示例性的实施方式中,所述根据记录的各当前后向算力性能补偿耗时参数和各目标算力执行相应后向子任务的后向反馈预测时间,确定包含算力等待时长的实际后向反馈耗时信息,包括:
调用后向反馈时间计算关系式,计算实际后向反馈耗时信息;所述后向反馈时间计算关系式为:
;
其中,T BP 为一次迭代更新过程中的实际后向反馈耗时信息,为后向算力性能补偿耗时参数数组,/>表示后向算力性能补偿耗时参数数组中各元素之和,/>表示第i个目标算力执行相应后向子任务BP时的后向反馈预测时间,n为目标算力总数。
在第七种示例性的实施方式中,所述调用预先构建的子任务训练耗时确定模型,根据所述目标任务特征确定各目标算力的子任务训练耗时信息,包括:
获取异构计算平台的历史层间并行任务对应的历史任务配置信息及相应的历史子任务训练耗时信息;
根据各历史任务配置信息及对应的历史子任务训练耗时信息,构建历史数据库,以作为子任务训练耗时确定模型;
以所述目标任务特征作为索引,通过检索所述历史数据库,得到各目标算力相匹配的子任务训练耗时信息。
在第八种示例性的实施方式中,所述获取异构计算平台的历史层间并行任务对应的历史任务配置信息及相应的历史子任务训练耗时信息,包括:
对异构计算平台的至少一个历史层间并行任务,获取执行当前历史层间并行任务的各历史算力的物理参数信息、各历史算力所承担的历史子任务的历史子任务特征,以作为历史任务配置信息;
获取各历史算力执行对应历史子任务的一次前向反向计算过程中的前向反馈计算时间和后向反馈计算时间,以作为历史子任务训练耗时信息。
在第九种示例性的实施方式中,所述获取执行当前历史层间并行任务的各历史算力的物理参数信息、各历史算力所承担的历史子任务的历史子任务特征,包括:
获取执行当前历史子任务的历史算力总数,当前历史子任务对应的子模型的模型精度、输入数据存储类型、批尺寸、各网络层的计算复杂度、激活函数种类及调用次数,以作为历史子任务特征。
在第十种示例性的实施方式中,所述获取执行当前历史层间并行任务的各历史算力的物理参数信息,包括:
获取各历史算力所在服务器的服务器性能参数;
获取各历史算力对应的异构计算芯片性能参数;
根据所述服务器性能参数和所述异构计算芯片性能参数作为相应历史算力的物理参数信息。
在第十一种示例性的实施方式中,所述根据各历史任务配置信息及对应的历史子任务训练耗时信息,构建历史数据库之后,还包括:
获取新历史任务配置信息;
若所述历史数据库存在所述新历史任务配置信息相同的目标历史任务配置信息,则删除所述目标历史任务配置信息及其对应的历史子任务训练耗时信息,同时存储新历史任务配置信息及其相应的历史子任务训练耗时信息。
在第十二种示例性的实施方式中,所述根据所述目标任务特征确定各目标算力的子任务训练耗时信息之后,还包括:
将所述目标任务对应的任务配置信息作为新历史任务配置信息;
若所述历史数据库存在所述新历史任务配置信息相同的目标历史任务配置信息,则删除所述目标历史任务配置信息及其对应的历史子任务训练耗时信息,同时存储所述目标任务的任务配置信息及其对应的子任务训练耗时信息。
在第十三种示例性的实施方式中,所述调用预先构建的子任务训练耗时确定模型,根据所述目标任务特征确定各目标算力的子任务训练耗时信息,包括:
获取异构计算平台的历史层间并行任务对应的历史任务特征及相应的历史子任务训练耗时信息;
基于各历史任务特征,以历史子任务训练耗时信息作为相应历史任务特征的标签,构建训练样本数据集;
利用所述训练样本数据集对预先搭建的目标神经网络模型进行训练,并将训练好的目标神经网络模型作为子任务训练耗时确定模型。
在第十四种示例性的实施方式中,所述历史子任务训练耗时信息包括历史前向反馈计算时间和历史后向反馈计算时间,所述根据所述目标任务特征确定各目标算力的子任务训练耗时信息,包括:将所述目标任务特征输入至所述子任务训练耗时确定模型,得到执行所述目标任务的各目标算力在一次迭代更新过程中的前向反馈计算时间和后向反馈计算时间,以作为各目标算力的子任务训练耗时信息。
在第十五种示例性的实施方式中,所述目标神经网络模型包括输入层、特征嵌入层、特征提取层和预测输出层;
所述特征嵌入层,用于将通过所述输入层接收到历史任务特征转换为目标维度的特征向量表示;
所述特征提取层,用于对所述特征嵌入层输出的特征向量表示进行语义信息提取;
所述预测输出层,用于基于所述特征提取层输出的语义信息预测子任务训练耗时,并输出子任务训练耗时信息。
在第十六种示例性的实施方式中,所述特征提取层采用多个相连的转换器模型的编码器,所述预测输出层采用多层感知机。
在第十七种示例性的实施方式中,所述利用所述训练样本数据集对预先搭建的目标神经网络模型进行训练,包括:
统计所述训练样本数据集所包含的历史任务特征数量;
当检测到当前历史任务特征数量满足预设模型触发条件,则自动触发对当前目标神经网络模型进行训练。
在第十八种示例性的实施方式中,所述当检测到当前历史任务特征数量满足预设模型触发条件,则自动触发对目标神经网络模型的训练,包括:
当检测到所述训练样本数据集中的历史任务特征的新增数量大于预设增量阈值,则自动触发对当前目标神经网络模型进行训练。
本发明另一方面提供了一种异构计算平台的任务仿真与耗时预测装置,包括:
输入获取模块,用于获取异构计算平台采用层间并行方式执行目标任务的任务配置信息;所述任务配置信息包括目标任务特征、用于执行所述目标任务切分的各子任务的目标算力及对应处理顺序;
单步训练时长确定模块,用于调用预先构建的子任务训练耗时确定模型,根据所述目标任务特征确定各目标算力的子任务训练耗时信息;
仿真模块,用于根据各目标算力的子任务训练耗时信息、各子任务对应的目标算力及相应处理顺序,对采用层间并行方式执行所述目标任务的过程进行仿真;
训练耗时预测模块,用于根据仿真结果确定所述目标任务的训练耗时预测结果。
本发明还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述异构计算平台的任务仿真与耗时预测方法的步骤。
本发明还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述异构计算平台的任务仿真与耗时预测方法的步骤。
本发明最后还提供了一种异构计算平台,包括多个异构计算芯片和处理器;
其中,所述处理器与各异构计算芯片均相连,用于执行存储器中存储的计算机程序时实现如前任一项所述异构计算平台的任务仿真与耗时预测方法的步骤。
在第一种示例性的实施方式中,所述处理器部署于目标异构计算芯片;
其中,所述目标异构计算芯片为异构计算平台中满足预设计算存储性能需求条件的异构计算芯片。
本发明提供的技术方案的优点在于,利用历史数据对执行目标任务所分割的各子任务的算力的子任务训练耗时进行预测,根据用户输入的任务配置信息确定参与执行目标任务的各算力执行各子任务的顺序,基于预测得到的子任务训练耗时信息对整个目标任务的执行过程进行仿真,由于仿真过程是按照用户指定的算力及其各子任务的顺序对目标任务的真实执行过程的模拟,所以仿真结果是接近真实的目标任务执行情况,其考虑了异构计算平台的各算力的性能,所以根据仿真结果便能够精准预测采用层间并行方式执行目标任务的训练耗时,有效提高了异构计算平台采用层间并行方式训练任务的训练耗时的预测精度。
此外,本发明还针对异构计算平台的任务仿真与耗时预测方法提供了相应的实现装置、电子设备、可读存储介质及异构计算平台,进一步使得所述方法更具有实用性,所述装置、电子设备、可读存储介质及异构计算平台具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
为了更清楚的说明本发明或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种异构计算平台的任务仿真与耗时预测方法的流程示意图;
图2为本发明提供的异构平台采用层间并行方式执行训练任务的一个示意性的例子;
图3为本发明提供的子任务训练耗时确定模型的一种示例性的训练流程示意图;
图4为本发明提供的异构计算平台的任务仿真与耗时预测方法在一示例性应用场景的硬件框架示意图;
图5为本申请提供的一个示例性应用场景中的第二电子设备的框架示意图;
图6为本发明提供的另一种异构计算平台的任务仿真与耗时预测方法的流程示意图;
图7为本发明提供的异构计算平台的层间并行任务执行过程示意图;
图8为本发明提供的异构计算平台的任务仿真与耗时预测装置的一种具体实施方式结构图;
图9为本发明提供的电子设备的一种具体实施方式结构图;
图10为本发明提供的异构计算平台的一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。其中,说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及二者的任何变形,意图在于覆盖不排他的包含。术语“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
随着云计算和大数据的快速发展,人工智能技术被应用至各个技术领域,为了解决一些复杂的技术问题以及任务精度的需求日益增长,神经网络模型的规模越来越大,超大规模的神经网络模型成为趋势,受制于训练的计算资源和存储资源的需求的限制,大型神经网络模型的训练难度成倍增长。为了解决大型神经网络训练的问题,分布式训练方式诞生。
随着用户对数据处理效率和性能的要求的快速增长,在同一计算系统中集成和使用不同类型计算能力的多元异构计算平台应运而生,异构算力能够根据不同的计算需求选择最适合的计算设备,从而提高整个系统的计算效率和计算性能。在多元异构计算平台中,不同计算性能的异构算力被接入至同一个分布式计算平台中,并用于分布式训练大型神经网络模型。神经网络模型的训练过程为每次取一个mini-batch(小批次)样本数据输入至神经网络模型中,根据损失函数和优化算法生成梯度对神经网络模型的模型参数进行修正。结合分布式训练的目标就是将单节点的模型训练转换成等价的分布式并行的模型训练,所以进行分布式训练时便可以从训练样本数据和神经网络模型两个方面来进行并行训练。其中,数据并行是将训练样本数据切分为多个,将同一个神经网络模型复制到多个异构计算芯片上,并行执行不同的数据分片。模型并行是指将神经网络模型中的算子分发到多个异构计算芯片分别完成,模型并行包括层间并行和层内并行两类,其中,层间并行是将神经网络模型按照层切分至不同异构计算芯片进行并行训练的方式,层间并行也称为算子间并行或称为流水线并行;层内并行是将计算图层内的参数切分到不同异构计算芯片进行并行训练的方式,层内并行也称为算子内并行或称为张量并行。其中,层间并行将神经网络模型的各个层分阶段处理,并将每个阶段分布在不同的异构计算芯片上,也即将一个大型神经网络模型按层划分为多个较小的子模型,然后将这些子模型分配到不同的异构计算芯片上并行计算。每个子模型负责处理部分输入数据,并将处理结果传递给下一个子模型,最终获得整个神经网络模型的输出,使得前后阶段能够流水式、分批进行工作。这种并行方式由于具有提高训练速度、提高资源利用率、解决内存限制优势,而被广泛应用。
可以理解的是,多元异构计算平台的各个异构计算芯片的计算性能不同,各计算芯片执行训练任务所需时间也不同,这会影响层间并行分布式训练任务的执行效率,这无疑增加了层间并行分布式训练任务在执行之前对并行效率进行评估的难度。为了满足算力使用者可以在租借、使用算力之前了解层间并行这种分布式训练任务的时间消耗,或让多元异构计算平台的研究者在部署层间并行这类分布式训练任务之前评估算力选择方案等等需求,需要对多元异构计算平台采用层间并行方式执行训练任务时的训练耗时进行预测。
目前相关技术无法实现对任意的神经网络模型的层间并行训练耗时的预测,举例来说,一种相关技术提出了一种模型耗时的预测方法,该方法虽然预测了模型的耗时,但其是针对模型推理阶段实际部署的耗时展开的预测,难以应用于训练时间的预测。另外一种相关技术虽然提出了对每个算子的耗时进行预测,但也是面向的模型推理,无法应用于训练任务的耗时预测。另一种相关技术提出了一种预测卷积网络训练时间的方法,尽管其能够实现训练时间的耗时预测,但是该方法只能适用于卷积网络,对于现在普遍流行的transformer(转换器网络模型)等架构无法很好进行预测,普适性较差。还有一些相关技术是针对单机训练任务进行的耗时预测,无法对分布式训练任务进行建模与耗时预测,更无法运用于多元异构计算系统中的层间并行训练任务的耗时,如一种相关技术提出了一种预测神经网络训练时长的方法,将一些图形处理器的一些通用特征和计算任务的特征输入多层感知器,进行预测耗时。与之相似的相关技术还包括多元异构计算系统内节点的建模方法以及基于异构计算系统的模型训练耗时预测方法。另外,一种相关技术使用资料收集和仿真的方式进行分布式训练的建模预测,但是其面向的是同构计算系统,无法应用于异构计算系统。此外,有些相关技术能够实现分布式训练任务的训练耗时进行预测,但预测精度较低,无法满足用户需求。举例来说,一种相关技术使用数学建模的方式进行分布式训练耗时预测,但建模相对粗糙,且没有考虑节点的计算与网络重叠,最终得到的耗时预测并不准确。另外一些相关技术虽然对PS(parameter server,参数服务器)架构进行了建模,但是对Ring-Allreduce(全局归约操作)的建模相对粗犷,没有考虑计算与网络重叠,同样无法精准预测分布式训练任务的耗时,且其也无法适用于多元异构计算系统场景。
鉴于此,本发明为了解决相关技术无法实现对多元异构计算平台中采用层间并行方式执行训练任务所需时间的精准预测的问题,本发明利用历史数据预先构建一子任务训练耗时确定模型,获取用户输入的异构计算平台采用层间并行方式执行目标任务的任务配置信息;将任务配置信息的目标任务特征输入至子任务训练耗时确定模型,得到参与目标任务的算力的子任务训练耗时信息,基于各目标算力的子任务训练耗时信息,按照执行目标任务切分的各子任务的目标算力及对应处理顺序对采用层间并行方式执行所述目标任务的过程进行仿真,最后根据仿真结果便可精准预测目标任务的训练耗时。在介绍了本发明的技术方案后,下面详细的说明本发明的各种非限制性实施方式。为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有这些具体细节,本发明同样可以实施。在另外一些实例中,对于所属领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
首先请参见图1,图1为本实施例提供的一种异构计算平台的任务仿真与耗时预测方法的流程示意图,本实施例可包括以下内容:
S101:获取异构计算平台采用层间并行方式执行目标任务的任务配置信息。
在本实施例中,目标任务为用户利用异构计算平台所要执行的任务,该任务为利用训练样本数据集对神经网络模型进行训练的任务,层间并行方式执行目标任务的过程为:将目标任务需要训练的神经网络模型按层切分为多个子模型,然后将各子模型分配至异构计算平台的各异构算力来执行,异构计算平台的各异构算力执行相应子模型的训练过程定义为子任务,异构计算平台执行子任务的算力定义为目标算力。用户需要训练神经网络模型时,可向异构计算平台下发任务训练指令,该任务训练指令包括神经网络模型、训练该神经网络模型的训练样本数据集以及任务配置信息,任务配置信息为用户想要利用该异构计算平台采用层间并行方式执行目标任务的一些自定义参数,也即采用何种性能算力以及多少算力资源在何种训练参数下执行该目标任务。任务配置信息包括但并不限制于目标任务特征、用于执行目标任务切分的各子任务的目标算力及对应处理顺序。
其中,目标任务特征为参与目标任务的各目标算力所承担的子任务特征,目标算力对应处理顺序是指各子任务利用哪个算力执行以及各子任务的执行顺序,以图2为例,异构计算平台包括三个XPU(eXtensible Processing Unit,可扩展处理器单元):XPU1、XPU2、XPU3,XPU为中央处理器、图形处理器、数据处理器等多种处理器的统称,横坐标表示时间t,待训练的神经网络模型按层切分为3个子模型:第一子模型、第二子模型及第三子模型。以待训练的神经网络模型为文本识别模型为例,该模型包括文本编码层、文本特征提取层、文本预测层,相应的,第一子模型可为文本编码层,第二子模型可为文本特征提取层,第三子模型可为文本预测层。每次从训练样本数据集中读取一个小批次文本样本输入至该网络模型中,先由第一个子模型对输入的文本样本进行文本特征编码,然后将编码特征发送至第二子模型进行文本特征提取,第二子模型将提取的文本特征发送至第三子模型,第三子模型对该文本特征进行预测。异构计算平台对该网络模型进行训练过程中,每次迭代更新时的前向反馈计算过程中各目标算力对应的处理顺序可为:由XPU1先对第一子模型进行处理,XPU2和XPU3处于空闲状态,XPU1执行第一子模型之后,将第一子模型的处理结果发送至XPU2,同时XPU1开始对下一个第一子模型进行处理,XPU2基于接收到的数据执行相应的任务,也即执行第一个第二子模型。XPU2执行完第一个第二子模型后将其处理结果发送至XPU3,XPU3基于接收到的第二子模型的数据处理结果进行相应子任务的执行,也即执行第一个第三子模型。如果XPU1将第二个第一子模型的处理结果发送至XPU2,则XPU2开始执行第二个第二子模型,如果XPU1仍在处理第二个第一子模型,则XPU2处于空闲等待状态,该空闲等待状态持续至接收到XPU1发送的第二个第一子模型的处理结果。XPU1处理完第二个第一子模型后,将其处理结果发送至XPU2之后,开始对第三个第一子模型进行处理,XPU2执行第二个第二子模型,同时XPU3对第一个第三子模型进行处理。当XPU1执行完第三个第一子模型且将其处理结果发送至XPU2之后,XPU1处于空闲状态,XPU2开执行完第二个第二子模型并将其处理结果发送至XPU3之后,会接着处理第三个第二子模型。XPU2执行第三个第二子模型,XPU3执行第二个第三子模型,当XPU2执行完第三个第二子模型之后,将其处理结果发送至XPU3,并处于空闲状态,XPU3在执行完第二个第三子模型之后,开始执行第三个第三子模型。
S102:调用预先构建的子任务训练耗时确定模型,根据目标任务特征确定各目标算力的子任务训练耗时信息。
在本实施例中,子任务训练耗时确定模型基于历史数据构建,其用于确定执行目标任务的各目标算力的子任务训练耗时信息。其中,子任务训练耗时信息是指目标算力对分配其上的子模型进行计算处理所需时间。历史数据为异构计算平台的历史层间并行任务对应的历史任务配置信息及相应的历史子任务训练耗时信息,将异构计算平台在过去一段时间或过去的某几段时间内采用层间并行方式训练神经网络模型的训练任务,定义为历史层间并行任务,历史层间并行任务的任务配置信息定义为历史任务配置信息,其与S101的任务配置信息所包含的参数相同,历史子任务训练耗时信息是指历史任务配置信息中各参与执行历史层间任务的各算力上的历史子神经网络模型执行一次迭代更新的所需时间。子任务训练耗时确定模型能够建立历史任务配置信息与对应的历史子任务训练耗时信息之间的关系,对S101下发的目标任务,基于其任务配置信息便可确定相匹配的子任务训练耗时信息。进一步的,考虑到任务配置信息包括目标任务特征和目标算力对应处理顺序两部分,而目标算力对应的处理顺序与子任务训练耗时信息无关,所以可以只获取历史层间任务对应的历史任务特征,历史任务特征为层间历史任务的任务特征,其与目标任务特征包含的参数相同。相应的,子任务训练耗时确定模型能够建立历史层间任务对应的历史任务特征与对应的历史子任务训练耗时信息之间的关系,对S101下发的目标任务,基于其目标任务特征便可确定相匹配的子任务训练耗时信息。
S103:根据各目标算力的子任务训练耗时信息、各子任务对应的目标算力及相应处理顺序,对采用层间并行方式执行目标任务的过程进行仿真。
在本发明中,考虑到各XPU的性能不同,目标任务的执行时间不仅包括各子任务的执行时间,还包括各目标算力等待子任务到来的时间,也即气泡时间。还是以图2为例,若XPU1对第二个第一子模型的处理时长大于XPU2对第一个第二子模型的处理时长,则XPU2执行完第一个第二子模型之后,需要等待XPU执行完第二个第一子模型,也即XPU2开始执行第二个第二子模型的时间与其执行完第一个第二子模型的时间之间存在等待时长。以图2为例,一次迭代更新过程中的前向计算过程所需时间包括XPU1对第一个第一子模型的处理时长,XPU2对第一个第二子模型的处理时长、XPU3对所有第三子模型的处理时长。而XPU1对第一个第一子模型的处理时长,XPU2对第一个第二子模型的处理时长和XPU3对最后一个第三子模型的处理时长是固定的,所以需要确定XPU3开始执行第一个第三子模型到完成第二个第三子模型的这段时长。为了精准预测目标任务的训练所需时长,需要精准确定XPU3开始执行第一个第三子模型到完成第二个第三子模型的这段时长,也即需要确定目标任务过程中各目标算力的等待时长。基于各目标算力的等待时长和各目标算力的子任务训练耗时信息可以确定一次迭代更新所需时长,也即单步(step)训练耗时信息。本发明为了精准确定目标任务的训练耗时,通过本步骤进行仿真处理,所谓仿真处理是指基于任务配置信息和各目标算力的子任务训练耗时信息,将异构计算平台采用层间并行方式执行目标任务的过程进行模拟仿真。目标任务包括多个训练周期(epoch),每个epoch包括多个step,当精准确定了每个step对应的训练耗时之后,便可确定目标任务的训练耗时。为了提高整个目标任务的训练耗时的预测效率,本步骤可对目标任务的一个迭代更新过程进行仿真处理,当然,所属领域技术人员也可对目标任务的多个epoch进行仿真,以期进一步提高目标任务的训练耗时预测准确度,但这会需要更多的时间。
S104:根据仿真结果确定目标任务的训练耗时预测结果。
可以理解的是,上个步骤的仿真过程可以是针对一个step的仿真过程,也可是针对多个step的仿真过程,还可是针对多个训练周期的仿真过程,训练耗时预测结果可以为完成整个目标任务的总训练时长,也可为目标任务的一个训练周期所需的训练时长,这均可以按照实际需求进行灵活设置。本步骤根据用户的实际训练时长预测需求结合S103的仿真结果来相应确定目标任务的训练耗时预测结果。
在本实施例提供的技术方案中,利用历史数据对执行目标任务所分割的各子任务的算力的子任务训练耗时进行预测,根据用户输入的任务配置信息确定参与执行目标任务的各算力执行各子任务的顺序,基于预测得到的子任务训练耗时信息对整个目标任务的执行过程进行仿真,由于仿真过程是按照用户指定的算力及其各子任务的顺序对目标任务的真实执行过程的模拟,所以仿真结果是接近真实的目标任务执行情况,其考虑了异构计算平台的各算力的性能,所以根据仿真结果便能够精准预测采用层间并行方式执行目标任务的训练耗时,有效提高了异构计算平台采用层间并行方式训练任务的训练耗时的预测精度。
需要说明的是,本发明中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
在上述实施例中,对于如何对目标任务进行仿真并不做任何限定,本发明还给出一种示例性的实施方式,可包括下述内容:
基于各子任务对应的目标算力及相应处理顺序,确定依次执行各子任务的目标算力;通过依次比较每两个相邻目标算力的子任务训练耗时信息,确定包含算力等待时长的实际子任务耗时信息;根据各目标算力的实际子任务耗时信息、总训练数据集样本数量和预设批尺寸,确定单周期训练耗时信息。
本发明通过对采用层间并行方式执行目标任务的过程进行仿真的目的在于精准确定目标任务执行过程中各目标算力需要等待的时长。相邻目标算力是指子任务之间具有先后依赖关系的目标算力,也即下一个目标算力所执行的子任务需要等待上一个目标算力执行的子任务的结果。本实施例的实际子任务耗时信息为对应算力的等待时长和子任务训练耗时信息之和,如果算力在执行对应子任务时不需要等待,则实际子任务耗时信息为子任务训练耗时信息,如果算力在执行对应子任务时需要等待,则表明上一个执行子任务的目标算力所需的子任务耗时信息大于下一个执行子任务执行当前子任务所需的子任务耗时信息。如图2所示,XPU1执行完第一个第一子模型后,将其处理结果发送至XPU2,在XPU1执行第二个第一子模型的过程中,XPU2执行第一个第二个子模型。由于XPU1执行第二个第一子模型所需的子任务耗时信息大于XPU2执行第一个第二子模型所需的子任务耗时信息,则XPU2执行完第一个第二子模型之后,需要等待XPU1执行完第二个第一子模型后,才能开始执行第二个第二子模型,由此可见,XPU2开始执行第二个第二子模型和执行完第一个第二子模型之间有一段等待时长。在该示例中,XPU1和XPU2即为相邻的目标算力,XPU2执行第二个第二子模型的实际子任务耗时信息为XPU2执行第二个第二子模型的子任务耗时信息和XPU2的等待时长,也即从XPU2完成第一个第二子模型后开始计时,到接收到XPU1发送的第二个第一子模型的处理结果的这段时间。
在本实施例中,当确定各目标算力的实际子任务耗时信息之后,可确定目标任务在一次迭代更新的单步训练耗时信息。由于单步训练耗时信息为读取一个小批次数据,对目标任务对应的神经网络模型进行一次前向反向计算过程所需时间,所以当确定了单步训练耗时信息,根据预先设置的总训练数据集样本数量和预设批尺寸可确定目标任务的单个epoch的总耗时,也即单周期训练耗时信息。当确定了目标任务的单个epoch的总耗时,根据模型训练停止条件来确定目标任务所需的总训练耗时,如模型训练停止条件为训练周期达到预设训练周期数,则目标任务所需的总训练耗时为预设训练周期数与单周期训练耗时信息的乘积。如模型训练停止条件为神经网络模型收敛,则统计神经网络模型收敛时的训练周期总数,目标任务所需的总训练耗时为训练周期总数与单周期训练耗时信息的乘积。
可以理解的是,目标任务对应的神经网络模型的一次迭代更新包括前向反馈计算过程和后向反馈计算过程,为了进一步提升目标任务的训练耗时预测精度,分别针对前向反馈计算过程和后向反馈计算过程计算所需的训练时间,可包括下述内容:
对于前向反馈计算过程,子任务训练耗时信息为各目标算力的前向反馈预测时间;通过依次比较每两个相邻目标算力的子任务训练耗时信息确定包含算力等待时长的实际子任务耗时信息的过程包括:
对于前向反馈计算过程,预先定义前向算力性能补偿耗时参数;以执行第一个前向子任务的第一目标算力为当前目标算力,前向算力性能补偿耗时参数为第一目标算力对应的第一前向反馈预测时间,比较第一前向反馈预测时间,和执行第二个前向子任务的第二目标算力对应的第二前向反馈预测时间的数值,选择较大值更新前向算力性能补偿耗时参数;将第二目标算力作为当前目标算力,前向算力性能补偿耗时参数为更新后的前向算力性能补偿耗时参数,记录当前前向算力性能补偿耗时参数;重复比较相邻目标算力的前向反馈预测时间,更新前向算力性能补偿耗时参数,并记录当前前向算力性能补偿耗时参数,直至当前目标算力为最后一个目标算力;根据记录的各当前前向算力性能补偿耗时参数和各目标算力执行相应前向子任务的前向反馈预测时间,确定包含算力等待时长的实际前向反馈耗时信息。
在本实施例中,同一个目标算力在前向反馈计算过程中执行分配其上的各子任务的训练耗时时间相同,且同一个目标算力在后向反馈计算过程中执行分配其上的各子任务的训练耗时时间相同,但是,同一个目标算力在前向反馈计算过程中执行分配其上子任务的训练耗时和其在后向反馈计算过程中执行分配在其上的子任务的训练耗时通常不相同。以图2为例,图2表示的是XPU执行前向反馈计算过程或后向反馈计算过程分配的各子任务的训练耗时,XPU1训练第一个第一子模型、第二个第一子模型、第三个第一子模型的耗时时间相同,XPU2训练第一个第二子模型、第二个第二子模型、第三个第二子模型的耗时时间相同,XPU3训练第一个第三子模型、第二个第三子模型、第三个第三子模型的耗时时间相同。以图7为例,FP表示XPU执行前向反馈计算过程分配的各子任务,BP表示XPU执行后向反馈计算过程分配的各子任务,以XPU1为例,XPU1执行分配至其上的各FP的训练耗时时间相同,XPU1执行分配至其上的各BP的训练耗时时间相同,而XPU1执行分配至其上的FP的训练耗时时间与其执行分配至其上的BP的训练耗时时间通常不相同。
其中,当前目标算力与下一个目标算力由于性能不同导致执行相应子任务所需时间不同,这就导致目标任务在实际执行过程除了各目标算力的子任务训练耗时信息之后,还需要有性能差导致的等待时间,也即产生气泡,本实施例定义前向算力性能补偿耗时参数,利用其反映前向反馈计算过程中相邻目标算力之间是否存在由于性能不同导致气泡。通过统计所有的前向算力性能补偿耗时参数能够对算力性能不同所产生的时间进行补偿,能够真实反映目标算力在执行目标任务的一个子任务过程中的实际耗时时间,进而提高目标任务的训练耗时的精准预测。为了避免描述引起歧义,第一个前向子任务为前向反馈计算过程中执行的第一个子任务,第一目标算力为用于执行第一前向子任务的目标算力,第一前向反馈预测时间为利用子任务训练耗时确定模型确定的第一目标算力的子任务训练耗时信息。当前目标算力是指当前执行子任务的目标算力,当前前向算力性能补偿耗时参数为记录下来的前向算力性能补偿耗时参数。实际前向反馈耗时信息为前向反馈计算过程中的目标算力执行相应子任务的子任务训练耗时信息和算力性能补偿时间之和,也即考虑上算力等待时长的真实训练耗时。单步训练耗时信息包括前向反馈计算时间和后向反馈计算时间,本实施例的实际前向反馈耗时信息是指目标任务在一次迭代更新过程中的前向反馈计算过程的实际耗时,也即单步训练耗时信息中的实际前向反馈耗时信息。
为了使所属领域技术人员更加清楚明白上述实施方案,本实施例还提供了一种示例性的实际前向反馈耗时信息的确定方法:
A1:基于各子任务对应的目标算力及相应处理顺序,确定前向反馈计算过程中依次执行各子任务的目标算力为XPU1、XPU2、……XPUn,n为目标算力总数。
A2:定义前向算力性能补偿耗时参数为,/>;表示第1个目标算力执行相应前向子任务FP时的前向反馈预测时间。
A3:计算;/>表示当前目标算力的下一个目标算力执行相应前向子任务FP时的前向反馈预测时间。
A4:令;/>表示当前目标算力。
A5:定义前向算力性能补偿耗时参数数组,前向算力性能补偿耗时参数数组用于记录当前前向算力性能补偿耗时参数,/>的长度为n-1,。若/>,则执行A6,否则,则跳转执行A3。
A6:根据前向算力性能补偿耗时参数数组记录的各当前前向算力性能补偿耗时参数和各目标算力执行相应前向子任务的前向反馈预测时间,确定目标任务在一次迭代更新过程中的前向反馈计算过程的耗时,也即单步训练耗时信息中的实际前向反馈耗时信息。
而对于后向反馈计算过程,子任务训练耗时信息为各目标算力的后向反馈预测时间;通过依次比较每两个相邻目标算力的子任务训练耗时信息确定包含算力等待时长的实际子任务耗时信息的过程包括:
对于后向反馈计算过程,预先定义后向算力性能补偿耗时参数;以执行第一个后向子任务的逆向第一目标算力为当前目标算力,后向算力性能补偿耗时参数为逆向第一目标算力对应的第一后向反馈预测时间,比较第一后向反馈预测时间,和执行第二个后向子任务的逆向第二目标算力对应的第二后向反馈预测时间的数值,选择较大值更新后向算力性能补偿耗时参数;将逆向第二目标算力作为当前目标算力,后向算力性能补偿耗时参数为更新后的后向算力性能补偿耗时参数,记录当前后向算力性能补偿耗时参数;重复比较相邻目标算力的后向反馈预测时间,更新后向算力性能补偿耗时参数,并记录当前后向算力性能补偿耗时参数,直至当前目标算力为第一个目标算力;根据记录的各当前后向算力性能补偿耗时参数和各目标算力执行相应后向子任务的后向反馈预测时间,确定包含算力等待时长的实际后向反馈耗时信息。
在本实施例中,同样的当前目标算力与下一个目标算力由于性能不同导致执行相应子任务所需时间不同,这就导致目标任务在实际执行过程除了各目标算力的子任务训练耗时信息之后,还需要有性能差导致的等待时间,也即产生气泡,本实施例定义后向算力性能补偿耗时参数,利用其反映后向反馈计算过程中相邻目标算力之间是否存在由于性能不同导致气泡。通过统计所有的后向算力性能补偿耗时参数能够对算力性能不同所产生的时间进行补偿,能够真实反映目标算力在执行目标任务的一个子任务的后向反馈计算过程中的实际耗时时间,进而提高目标任务的训练耗时的精准预测。为了避免描述引起歧义,第一个后向子任务为后向反馈计算过程中执行的第一个子任务,逆向第一目标算力为用于执行第一后向子任务的目标算力,第一后向反馈预测时间为利用子任务训练耗时确定模型确定的逆向第一目标算力的子任务训练耗时信息。当前目标算力是指当前执行子任务的目标算力,当前后向算力性能补偿耗时参数为记录下来的后向算力性能补偿耗时参数。实际后向反馈耗时信息为后向反馈计算过程中的目标算力执行相应子任务的子任务训练耗时信息和算力性能补偿时间之和,也即考虑上算力等待时长的真实训练耗时。单步训练耗时信息包括前向反馈计算时间和后向反馈计算时间,本实施例的实际后向反馈耗时信息是指目标任务在一次迭代更新过程中的后向反馈计算过程的实际耗时,也即单步训练耗时信息中的实际后向反馈耗时信息。
为了使所属领域技术人员更加清楚明白上述实施方案,本实施例还提供了一种示例性的实际后向反馈耗时信息的确定方法:
B1:基于各子任务对应的目标算力及相应处理顺序,确定后向反馈计算过程中依次执行各子任务的目标算力为XPUn、XPUn-1、……XPU1,n为目标算力总数。
B2:定义后向算力性能补偿耗时参数为,/>表示后向反馈计算过程中的第1个目标算力执行相应后向子任务BP时的后向反馈预测时间。
B3:计算;/>表示当前目标算力的下一个目标算力执行相应后向子任务BP时的后向反馈预测时间。
B4:令;/>表示当前目标算力。
B5:定义后向算力性能补偿耗时参数数组,后向算力性能补偿耗时参数数组用于记录当前后向算力性能补偿耗时参数,/>的长度为n-1,。若/>,则执行B6,否则,则跳转执行B3。
B6:根据后向算力性能补偿耗时参数数组记录的各当前后向算力性能补偿耗时参数和各目标算力执行相应后向子任务的后向反馈预测时间,确定目标任务在一次迭代更新过程中的后向反馈计算过程的耗时,也即单步训练耗时信息中的实际后向反馈耗时信息。
作为一种高效的训练耗时预测结果确定方式,可预先在本地存储单周期计算关系式,当根据仿真结果确定目标任务的训练耗时预测结果时,可直接调用单周期计算关系式计算目标任务的单周期训练耗时信息;然后根据目标任务的训练周期总数和单周期训练耗时信息,确定目标任务的训练耗时预测结果;单周期计算关系式可表示为:
;
其中,T epoch 为单周期训练耗时信息,N为总训练数据集样本数量,batch_size为预设批尺寸,T FP 为一次迭代更新过程中的实际前向反馈耗时信息,T BP 为一次迭代更新过程中的实际后向反馈耗时信息。
进一步的,为了提高训练耗时预测结果的确定效率,还可预先在本地存储前向反馈时间计算关系式和后向反馈时间计算关系式,在计算实际前向反馈耗时信息时,可直接调用前向反馈时间计算关系式计算实际前向反馈耗时信息;在计算实际后向反馈耗时信息时,可直接调用后向反馈时间计算关系式,计算实际后向反馈耗时信息。其中,前向反馈时间计算关系式可表示为:
;
其中,T FP 为一次迭代更新过程中的实际前向反馈耗时信息,为前向算力性能补偿耗时参数数组,/>表示前向算力性能补偿耗时参数数组中各元素之和,/>表示第i个目标算力执行相应前向子任务FP时的前向反馈预测时间,n为目标算力总数。
其中,后向反馈时间计算关系式可表示为:
;
其中,T BP 为一次迭代更新过程中的实际后向反馈耗时信息,为后向算力性能补偿耗时参数数组,/>表示后向算力性能补偿耗时参数数组中各元素之和,/>表示第i个目标算力执行相应后向子任务BP时的后向反馈预测时间,n为目标算力总数。
由上可知,本实施例分别计算一次迭代更新过程中的前向反馈计算过程的训练耗时和后向反馈计算过程的训练耗时,根据前向反馈计算过程的训练耗时和后向反馈计算过程的训练耗时可精准确定单步训练耗时,进而提高异构计算平台采用层间并行方式训练目标任务的单周期训练耗时的预测精度,提升层间并行的目标任务的训练耗时精度。
上述实施例对如何根据目标任务特征确定各目标算力的子任务训练耗时信息并不做任何限定,本实施例还给出子任务训练耗时信息的多种示例性的实现方式,可包括下述内容:
作为一种示例性的实施方式,可通过查询历史数据库来确定各目标算力的子任务训练耗时信息。示例性的,可获取异构计算平台的历史层间并行任务对应的历史任务配置信息及相应的历史子任务训练耗时信息;根据各历史任务配置信息及对应的历史子任务训练耗时信息,构建历史数据库,以作为子任务训练耗时确定模型;以目标任务特征作为索引,通过检索历史数据库,得到各目标算力相匹配的子任务训练耗时信息。
作为与上述实施例并列的另外一种实现方式,还可利用深度学习训练得到的神经网络模型来预测各目标算力的子任务训练耗时信息。示例性的,可获取异构计算平台的历史层间并行任务对应的历史任务配置信息及相应的历史子任务训练耗时信息;基于各历史任务配置信息,以历史子任务训练耗时信息作为相应历史任务配置信息的标签,构建训练样本数据集;利用训练样本数据集对预先搭建的目标神经网络模型进行训练,并将训练好的目标神经网络模型作为子任务训练耗时确定模型。示例性的,历史子任务训练耗时信息包括历史前向反馈计算时间和历史后向反馈计算时间,子任务训练耗时确定模型可用于预测目标任务的前向反馈计算时间和后向反馈计算时间,相应的,将目标任务特征输入至子任务训练耗时确定模型,得到执行目标任务的各目标算力在一次迭代更新过程中执行子任务的前向反馈计算时间和后向反馈计算时间,以作为各目标算力的子任务训练耗时信息。
由上可知,本实施例提供了多种子任务训练耗时确定方法,用户可根据实际情况灵活选择,灵活性更好,用户体验更好。
示例性的,上述实施例的历史任务配置信息的获取过程可包括:对异构计算平台的至少一个历史层间并行任务,获取执行当前历史层间并行任务的各历史算力的物理参数信息、各历史算力所承担的历史子任务的历史子任务特征,以作为历史任务配置信息;获取各历史算力执行对应历史子任务的一次前向反向计算过程中的前向反馈计算时间和后向反馈计算时间,以作为历史子任务训练耗时信息。其中,历史算力为执行历史层间并行任务的算力,历史任务配置信息包括各历史算力的物理参数信息和历史子任务特征,历史子任务特征包括但并不限制于历史算力总数,当前历史子任务对应的子模型的模型精度、输入数据存储类型、批尺寸、各网络层的计算复杂度、激活函数种类及调用次数,物理参数信息包括但并不限制于服务器性能参数和异构计算芯片性能参数,各网络层的计算复杂度的单位为FLOPs(floating point of operations,浮点运算次数),各网络层的计算复杂度包括但并不限制于全连接层的计算复杂度、卷积层的计算复杂度总和、池化层的计算复杂度总和、dropout(随机失活)层的计算复杂度总和、batch normalization(批归一化层)层的计算复杂度总和、RNN(Recurrent Neural Network,循环神经网络)层的计算复杂度总和,attention(注意力机制)层的计算复杂度总和。服务器性能参数包括但并不限制于服务器的中央处理器主频(也即中央处理器的内核工作的时钟频率),服务器的中央处理器核数,服务器的内存频率,服务器的内存数量,服务器内人工智能芯片数量。异构计算芯片性能参数包括但并不限制于异构计算芯片的型号及峰值性能。相应的,历史任务配置信息的获取过程可包括:获取执行当前历史子任务的历史算力总数,当前历史子任务对应的子模型的模型精度、输入数据存储类型、批尺寸、各网络层的计算复杂度、激活函数种类及调用次数,以作为历史子任务特征。获取各历史算力所在服务器的服务器性能参数,获取各历史算力对应的异构计算芯片性能参数;根据服务器性能参数和异构计算芯片性能参数作为相应历史算力的物理参数信息。
为了提高子任务训练耗时信息的预测精度,历史数据库的历史任务配置信息和训练样本数据集的历史任务特征会实时更新,且不断持续增加新的数据。对于历史数据库的数据更新,获取新历史任务配置信息;若历史数据库存在新历史任务配置信息相同的目标历史任务配置信息,则删除目标历史任务配置信息及其对应的历史子任务训练耗时信息,同时存储新历史任务配置信息及其相应的历史子任务训练耗时信息。以历史任务配置信息包括历史子任务特征、服务器性能参数和异构计算芯片性能参数为例,新历史任务配置信息包括历史子任务特征、服务器性能参数和异构计算芯片性能参数,将历史子任务特征、服务器性能参数和异构计算芯片性能参数为key(关键字)去重,如果新入的历史数据库的key相同,则删除以前记录的历史数据,保留最新的历史数据。历史任务配置信息可以使用人工智能框架自带的profiler(分析器)进行收集检测,也可以用户编写程序进行收集,本发明对此不做任何限定。
进一步的,对于目标任务,可先根据目标任务特征作为关键字,在历史数据库进行查询,如果历史数据库中存在与目标任务特征相同的历史任务特征,则将其对应的各历史算力的子任务训练耗时信息作为对应目标算力的子任务训练耗时信息。如果历史数据库中不存在与目标任务特征相同的历史任务特征,则调用子任务训练耗时确定模型来预测各目标算力对应的子任务训练耗时信息。为了提高历史数据库的数据丰富性,可将目标任务对应的任务配置信息作为新历史任务配置信息;若历史数据库存在新历史任务配置信息相同的目标历史任务配置信息,则删除目标历史任务配置信息及其对应的历史子任务训练耗时信息,同时存储目标任务的任务配置信息及其对应的子任务训练耗时信息。
上述实施例对目标神经网络模型的网络结构并不做任何限定,本实施例还给出了目标神经网络模型的一种示例性的结构,在本实施例中,目标神经网络模型可包括输入层、特征嵌入层、特征提取层和预测输出层;输入层接收历史任务配置信息的历史任务特征或目标任务对应的目标任务特征,特征嵌入层用于将通过输入层接收到历史任务配置信息或目标任务配置信息转换为目标维度的特征向量表示;特征提取层用于对特征嵌入层输出的特征向量表示进行语义信息提取;预测输出层用于基于特征提取层输出的语义信息预测子任务训练耗时,并输出子任务训练耗时信息。基于上述目标神经网络模型的结构,如图3所示,目标神经网络模型的训练过程可包括:输入历史任务特征,该历史任务特征经过特征嵌入层获取历史任务特征对应的高维向量,然后高维向量经过特征提取层,最后经过预测输出层输出各历史算力执行相应子任务的子任务训练耗时信息。示例性的,为了提高特征提取精度,特征提取层可采用多个相连的转换器模型的编码器,特征提取层还可采用多个相连的多层感知机,预测输出层可采用多层感知机。
可以理解的是,子任务训练耗时确定模型的模型性能与训练样本数据总数在一定范围内成正比,为了进一步提高子任务训练耗时确定模型对子任务训练耗时信息的预测精度,可对训练好的子任务训练耗时确定模型再次进行重复训练,示例性的,可预先设置数量统计线程,利用该线程实时统计训练样本数据集所包含的历史任务配置信息数量;当检测到当前历史任务配置信息数量满足预设模型触发条件,则自动触发对当前目标神经网络模型进行训练。其中,预设模型触发条件为用户预先设定好的条件,如预设模型触发条件还可为用户下发的模型训练指令,当接收到用户下发的模型训练指令,自动触发对当前目标神经网络模型进行训练。为了提高自动化程度,提升目标任务的训练耗时预测效率,预设模型触发条件可为训练样本数据集中的历史任务配置信息的新增数量大于预设增量阈值,相应的,自动触发对目标神经网络模型的训练的过程可包括:当检测到训练样本数据集中的历史任务配置信息的新增数量大于预设增量阈值,则自动触发对当前目标神经网络模型进行训练。预设增量阈值为预先设置的数值,举例来说,每增加10000条,会自动触发对当前目标神经网络模型进行训练。
最后,基于上述本申请的技术方案,下面结合图4对本申请的技术方案涉及的一些可能的应用场景进行举例介绍,图4为本申请提供的一种异构计算平台的任务仿真与耗时预测方法所适用的硬件组成框架示意图,可包括下述内容:
该硬件组成框架可以包括第一电子设备41和第二电子设备42,第一电子设备41和第二电子设备42之间通过网络43连接。第一电子设备41部署用于执行上述任意一实施例所记载的异构计算平台的任务仿真与耗时预测方法的处理器,第二电子设备42部署包括多个异构计算芯片的异构计算平台,如图5所示,异构计算平台为多元异构计算平台,其可包括异构计算芯片1、异构计算芯片2、异构计算芯片3、异构计算芯片4…,在异构计算平台中,不同计算性能的异构计算芯片如NVIDIA(英伟达)计算加速卡、寒武纪计算加速卡被接入到同一个异构计算平台,各异构计算芯片的通信方式可以是服务器内,也可以是服务器间,这均不影响本发明的实现。异构计算平台使用层间并行方式对大型神经网络模型进行训练,将该大型神经网络模型按层拆分为多个子模型,然后将拆分后的各子模型部署至多个异构计算芯片上执行相应的子模型。
如图6所示,第一电子设备41执行异构计算平台的任务仿真与耗时预测方法的过程可包括:
从异构计算平台获取历史层间并行任务对应的历史任务配置信息及相应的历史子任务训练耗时信息,基于各历史任务特征,以历史子任务训练耗时信息作为相应历史任务特征的标签,构建训练样本数据集;利用所述训练样本数据集对预先搭建的目标神经网络模型进行训练,并将训练好的目标神经网络模型作为子任务训练耗时确定模型。
获取目标任务的目标算力总数,目标任务对应的大型神经网络模型的模型精度、输入数据存储类型、训练的批尺寸、全连接层的计算复杂度、卷积层的计算复杂度总和,池化层的计算复杂度总和,dropout层的计算复杂度总和、batch normalization层的计算复杂度总和,RNN层的计算复杂度总和,attention层的计算复杂度总和、激活函数种类及调用次数,获取各目标算力所在服务器的中央处理器主频、中央处理器核数、内存频率、内存数量、人工智能芯片数量、各目标算力对应的计算芯片型号及峰值性能,将这些特征组合为目标任务的层间并行任务输入特征。将层间并行任务输入特征输入至预先训练好的子任务训练耗时确定模型,获取得到参与执行目标任务的各目标算力执行相应子任务的子任务训练耗时信息。预先将下述仿真程序内置于第一电子设备41,根据各目标算力的子任务训练耗时信息、各子任务对应的目标算力及相应处理顺序,调用该仿真程序对采用层间并行方式执行所述目标任务的过程进行仿真:
C1:基于各子任务对应的目标算力及相应处理顺序,确定前向反馈计算过程中依次执行各子任务的目标算力为XPU1、XPU2、……XPUn,n为目标算力总数。
C2:定义前向算力性能补偿耗时参数为,/>;表示第1个目标算力执行相应前向子任务FP时的前向反馈预测时间。
C3:计算;/>表示当前目标算力的下一个目标算力执行相应前向子任务FP时的前向反馈预测时间。
C4:令;/>表示当前目标算力。
C5:定义前向算力性能补偿耗时参数数组,前向算力性能补偿耗时参数数组用于记录当前前向算力性能补偿耗时参数,/>的长度为n-1,。若/>,则执行C6,否则,则跳转执行C3。
C6:调用前向反馈时间计算关系式计算实际前向反馈耗时信息T FP :
;
C7:基于各子任务对应的目标算力及相应处理顺序,确定后向反馈计算过程中依次执行各子任务的目标算力为XPUn、XPUn-1、……XPU1,n为目标算力总数。
C8:定义后向算力性能补偿耗时参数为,/>表示后向反馈计算过程中的第1个目标算力执行相应后向子任务BP时的后向反馈预测时间。
C9:计算;/>表示当前目标算力的下一个目标算力执行相应后向子任务BP时的后向反馈预测时间。
C10:令;/>表示当前目标算力。
C11:定义后向算力性能补偿耗时参数数组,后向算力性能补偿耗时参数数组用于记录当前后向算力性能补偿耗时参数,/>的长度为n-1,。若/>,则执行C12,否则,则跳转执行C9。
C12:调用后向反馈时间计算关系式计算实际后向反馈耗时信息T BP :
;
C13:调用单周期计算关系式计算目标任务的单周期训练耗时信息T epoch :
。
C14:根据目标任务的训练周期总数和单周期训练耗时信息,确定目标任务的训练耗时预测结果。
举例来说,大型神经网络模型为来自变换器网络的双向编码器表示模型,将来自变换器网络的双向编码器表示模型按层切分为三个子模型,如图7所示,按顺序分别分配至多元异构计算平台的XPU1(H100(异构计算芯片型号))、XPU2(H200(异构计算芯片型号))、XPU3(MLU370(异构计算芯片型号))这三个异构算力上,采用层间并行方式进行训练。图7的横坐标表示时间,XPU1对在前向反馈计算过程分配至其上的各子模型的处理时间均相同,XPU1对在后向反馈计算过程分配至其上的各子模型的处理时间均相同,XPU2对在前向反馈计算过程分配上其上的各子模型的处理时间均相同,XPU2对在后向反馈计算过程分配至其上的各子模型的处理时间均相同,XPU3对在前向反馈计算过程分配上其上的各子模型的处理时间均相同,XPU3对在后向反馈计算过程分配至其上的各子模型的处理时间均相同,各XPU执行的子任务在前向反馈计算过程中表示为FP,在后向计算反馈过程中表示为BP,仿真流程可包括下述内容:
C1:基于各子任务对应的目标算力及相应处理顺序,确定前向反馈计算过程中依次执行各子任务的目标算力为XPU1、XPU2、XPU3。
C2:定义前向算力性能补偿耗时参数为,/>;表示第1个目标算力执行相应前向子任务FP时的前向反馈预测时间。
C3:计算;/>表示当前目标算力的下一个目标算力执行相应前向子任务FP时的前向反馈预测时间。
C4:令;/>表示当前目标算力。/>
C5:定义前向算力性能补偿耗时参数数组,前向算力性能补偿耗时参数数组用于记录当前前向算力性能补偿耗时参数,/>的长度为n-1,。若/>,则执行C6,否则,则跳转执行C3。
C6:调用前向反馈时间计算关系式计算实际前向反馈耗时信息T FP :
;
C7:基于各子任务对应的目标算力及相应处理顺序,确定后向反馈计算过程中依次执行各子任务的目标算力为XPU3、XPU2、XPU1。
C8:定义后向算力性能补偿耗时参数为,/>表示后向反馈计算过程中的第1个目标算力执行相应后向子任务BP时的后向反馈预测时间。
C9:计算;/>表示当前目标算力的下一个目标算力执行相应后向子任务BP时的后向反馈预测时间。
C10:令;/>表示当前目标算力。
C11:定义后向算力性能补偿耗时参数数组,后向算力性能补偿耗时参数数组用于记录当前后向算力性能补偿耗时参数,/>的长度为n-1,。若/>,则执行C12,否则,则跳转执行C9。
C12:调用后向反馈时间计算关系式计算实际后向反馈耗时信息T BP :
;
C13:调用单周期计算关系式计算目标任务的单周期训练耗时信息T epoch :
。
C14:根据目标任务的训练周期总数和单周期训练耗时信息,确定目标任务的训练耗时预测结果。
需要注意的是,上述应用场景仅是为了便于理解本申请的思想和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
由上可知,本实施例能够实现精准预测异构计算平台的层间并行训练任务的计算耗时。
本发明还针对异构计算平台的任务仿真与耗时预测方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明提供的异构计算平台的任务仿真与耗时预测装置进行介绍,该装置用以实现本发明提供的异构计算平台的任务仿真与耗时预测方法,在本实施例中,异构计算平台的任务仿真与耗时预测装置可以包括或被分割成一个或多个程序模块,该一个或多个程序模块被存储在存储介质中,并由一个或多个处理器所执行,已完成实施例一公开的异构计算平台的任务仿真与耗时预测方法。本实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述异构计算平台的任务仿真与耗时预测装置在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能,下文描述的异构计算平台的任务仿真与耗时预测装置与上文描述的异构计算平台的任务仿真与耗时预测方法可相互对应参照。
基于功能模块的角度,参见图8,图8为本实施例提供的异构计算平台的任务仿真与耗时预测装置在一种具体实施方式下的结构图,该装置可包括:
输入获取模块801,用于获取异构计算平台采用层间并行方式执行目标任务的任务配置信息;任务配置信息包括目标任务特征、用于执行目标任务切分的各子任务的目标算力及对应处理顺序;
单步训练时长确定模块802,用于调用预先构建的子任务训练耗时确定模型,根据目标任务特征确定各目标算力的子任务训练耗时信息;
仿真模块803,用于根据各目标算力的子任务训练耗时信息、各子任务对应的目标算力及相应处理顺序,对采用层间并行方式执行目标任务的过程进行仿真;
训练耗时预测模块804,用于根据仿真结果确定目标任务的训练耗时预测结果。
示例性的,在本实施例的一些实施方式中,上述仿真模块803还可用于:
基于各子任务对应的目标算力及相应处理顺序,确定依次执行各子任务的目标算力;
通过依次比较每两个相邻目标算力的子任务训练耗时信息,确定包含算力等待时长的实际子任务耗时信息;
根据各目标算力的实际子任务耗时信息、总训练数据集样本数量和预设批尺寸,确定单周期训练耗时信息。
作为本实施例的一种示例性的实施方式,上述仿真模块803还可进一步用于:
对于前向反馈计算过程,预先定义前向算力性能补偿耗时参数;前向算力性能补偿耗时参数用于表示当前目标算力执行对应前向子任务的预测耗时时间和等待下一个前向子任务的等待时间;
以执行第一个前向子任务的第一目标算力为当前目标算力,前向算力性能补偿耗时参数为第一目标算力对应的第一前向反馈预测时间,比较第一前向反馈预测时间,和执行第二个前向子任务的第二目标算力对应的第二前向反馈预测时间的数值,选择较大值更新前向算力性能补偿耗时参数;
将第二目标算力作为当前目标算力,前向算力性能补偿耗时参数为更新后的前向算力性能补偿耗时参数,记录当前前向算力性能补偿耗时参数;
重复比较相邻目标算力的前向反馈预测时间,更新前向算力性能补偿耗时参数,并记录当前前向算力性能补偿耗时参数,直至当前目标算力为最后一个目标算力;
根据记录的各当前前向算力性能补偿耗时参数和各目标算力执行相应前向子任务的前向反馈预测时间,确定包含算力等待时长的实际前向反馈耗时信息。
其中,同一个目标算力执行子任务的训练耗时时间相同。
作为本实施例的一种示例性的实施方式,上述仿真模块803还可进一步用于:
调用前向反馈时间计算关系式,计算实际前向反馈耗时信息;前向反馈时间计算关系式为:
;
其中,T FP 为一次迭代更新过程中的实际前向反馈耗时信息,为前向算力性能补偿耗时参数数组,/>表示前向算力性能补偿耗时参数数组中各元素之和,/>表示第i个目标算力执行相应前向子任务FP时的前向反馈预测时间,n为目标算力总数。
作为本实施例的另一种示例性的实施方式,上述仿真模块803还可进一步用于:
对于后向反馈计算过程,预先定义后向算力性能补偿耗时参数;后向算力性能补偿耗时参数用于表示当前目标算力执行对应后向子任务的预测耗时时间和等待下一个后向子任务的等待时间;
以执行第一个后向子任务的逆向第一目标算力为当前目标算力,后向算力性能补偿耗时参数为逆向第一目标算力对应的第一后向反馈预测时间,比较第一后向反馈预测时间,和执行第二个后向子任务的逆向第二目标算力对应的第二后向反馈预测时间的数值,选择较大值更新后向算力性能补偿耗时参数;
将逆向第二目标算力作为当前目标算力,后向算力性能补偿耗时参数为更新后的后向算力性能补偿耗时参数,记录当前后向算力性能补偿耗时参数;
重复比较相邻目标算力的后向反馈预测时间,更新后向算力性能补偿耗时参数,并记录当前后向算力性能补偿耗时参数,直至当前目标算力为第一个目标算力;
根据记录的各当前后向算力性能补偿耗时参数和各目标算力执行相应后向子任务的后向反馈预测时间,确定包含算力等待时长的实际后向反馈耗时信息。
其中,同一个目标算力执行子任务的训练耗时时间相同。
作为本实施例的一种示例性的实施方式,上述仿真模块803还可进一步用于:
调用后向反馈时间计算关系式,计算实际后向反馈耗时信息;后向反馈时间计算关系式为:
;
其中,T BP 为一次迭代更新过程中的实际后向反馈耗时信息,为后向算力性能补偿耗时参数数组,/>表示后向算力性能补偿耗时参数数组中各元素之和,/>表示第i个目标算力执行相应后向子任务BP时的后向反馈预测时间,n为目标算力总数。
作为本实施例的再一种示例性的实施方式,上述仿真模块803还可进一步用于:
调用单周期计算关系式,计算目标任务的单周期训练耗时信息;单周期计算关系式为:
;
根据目标任务的训练周期总数和单周期训练耗时信息,确定目标任务的训练耗时预测结果;
其中,T epoch 为单周期训练耗时信息,N为总训练数据集样本数量,batch_size为预设批尺寸,T FP 为一次迭代更新过程中的实际前向反馈耗时信息,T BP 为一次迭代更新过程中的实际后向反馈耗时信息。
示例性的,在本实施例的另一些实施方式中,上述单步训练时长确定模块802还可用于:
获取异构计算平台的历史层间并行任务对应的历史任务配置信息及相应的历史子任务训练耗时信息;
根据各历史任务配置信息及对应的历史子任务训练耗时信息,构建历史数据库,以作为子任务训练耗时确定模型;
以目标任务特征作为索引,通过检索历史数据库,得到各目标算力相匹配的子任务训练耗时信息。
作为本实施例的一种示例性的实施方式,上述单步训练时长确定模块802还可进一步用于:
对异构计算平台的至少一个历史层间并行任务,获取执行当前历史层间并行任务的各历史算力的物理参数信息、各历史算力所承担的历史子任务的历史子任务特征,以作为历史任务配置信息;
获取各历史算力执行对应历史子任务的一次前向反向计算过程中的前向反馈计算时间和后向反馈计算时间,以作为历史子任务训练耗时信息。
作为本实施例的另一种示例性的实施方式,上述单步训练时长确定模块802还可进一步用于:
获取执行当前历史子任务的历史算力总数,当前历史子任务对应的子模型的模型精度、输入数据存储类型、批尺寸、各网络层的计算复杂度、激活函数种类及调用次数,以作为历史子任务特征。
作为本实施例的另一种示例性的实施方式,上述单步训练时长确定模块802还可进一步用于:
获取各历史算力所在服务器的服务器性能参数;
获取各历史算力对应的异构计算芯片性能参数;
根据服务器性能参数和异构计算芯片性能参数作为相应历史算力的物理参数信息。
作为本实施例的另一种示例性的实施方式,上述单步训练时长确定模块802还可进一步用于:
获取新历史任务配置信息;
若历史数据库存在新历史任务配置信息相同的目标历史任务配置信息,则删除目标历史任务配置信息及其对应的历史子任务训练耗时信息,同时存储新历史任务配置信息及其相应的历史子任务训练耗时信息。
作为上述实施例的一种示例性的实施方式,上述单步训练时长确定模块802还可进一步用于:
将目标任务对应的任务配置信息作为新历史任务配置信息;
若历史数据库存在新历史任务配置信息相同的目标历史任务配置信息,则删除目标历史任务配置信息及其对应的历史子任务训练耗时信息,同时存储目标任务的任务配置信息及其对应的子任务训练耗时信息。
示例性的,在本实施例的另一些实施方式中,上述单步训练时长确定模块802还可用于:
获取异构计算平台的历史层间并行任务对应的历史任务配置信息及相应的历史子任务训练耗时信息;
基于各历史任务配置信息,以历史子任务训练耗时信息作为相应历史任务配置信息的标签,构建训练样本数据集;
利用训练样本数据集对预先搭建的目标神经网络模型进行训练,并将训练好的目标神经网络模型作为子任务训练耗时确定模型。
作为本实施例的一种示例性的实施方式,上述单步训练时长确定模块802还可进一步用于:
将目标任务特征输入至子任务训练耗时确定模型,得到执行目标任务的各目标算力在一次迭代更新过程中的前向反馈计算时间和后向反馈计算时间,以作为各目标算力的子任务训练耗时信息。
作为本实施例的另一种示例性的实施方式,上述目标神经网络模型包括输入层、特征嵌入层、特征提取层和预测输出层;
特征嵌入层,用于将通过输入层接收到历史任务配置信息转换为目标维度的特征向量表示;
特征提取层,用于对特征嵌入层输出的特征向量表示进行语义信息提取;
预测输出层,用于基于特征提取层输出的语义信息预测子任务训练耗时,并输出子任务训练耗时信息。
作为上述实施例的一种示例性的实施方式,上述特征提取层采用多个相连的转换器模型的编码器,预测输出层采用多层感知机。
作为本实施例的另一种示例性的实施方式,上述单步训练时长确定模块802还可进一步用于:
统计训练样本数据集所包含的历史任务配置信息数量;
当检测到当前历史任务配置信息数量满足预设模型触发条件,则自动触发对当前目标神经网络模型进行训练。
作为上述实施例的一种示例性的实施方式,上述单步训练时长确定模块802还可进一步用于:
当检测到训练样本数据集中的历史任务配置信息的新增数量大于预设增量阈值,则自动触发对当前目标神经网络模型进行训练。
本实施例异构计算平台的任务仿真与耗时预测装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本实施例能够实现精准预测异构计算平台的层间并行训练任务的计算耗时。
上文中提到的异构计算平台的任务仿真与耗时预测装置是从功能模块的角度描述,进一步的,本发明还提供一种电子设备,是从硬件角度描述。图9为本发明实施例提供的电子设备在一种实施方式下的结构示意图。如图9所示,该电子设备包括存储器90,用于存储计算机程序;处理器91,用于执行计算机程序时实现如上述任一实施例提到的异构计算平台的任务仿真与耗时预测方法的步骤。
其中,处理器91可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器91还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器91可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器91也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器91可以集成有GPU(Graphics Processing Unit,图形处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器91还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器90可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器90还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器90在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器90在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器90还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器90不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行异构计算平台的任务仿真与耗时预测方法过程中的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器90至少用于存储以下计算机程序901,其中,该计算机程序被处理器91加载并执行之后,能够实现前述任一实施例公开的异构计算平台的任务仿真与耗时预测方法的相关步骤。另外,存储器90所存储的资源还可以包括操作系统902和数据903等,存储方式可以是短暂存储或者永久存储。其中,操作系统902可以包括Windows、Unix、Linux等。数据903可以包括但不限于异构计算平台的任务仿真与耗时预测结果对应的数据等。
在一些实施例中,上述电子设备还可包括有显示屏92、输入输出接口93、通信接口94或者称为网络接口、电源95以及通信总线96。其中,显示屏92、输入输出接口93比如键盘(Keyboard)属于用户接口,示例性的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口94示例性的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线96可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域技术人员可以理解,图9中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器97。
本实施例电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本实施例能够实现精准预测异构计算平台的层间并行训练任务的计算耗时。
可以理解的是,如果上述实施例中的异构计算平台的任务仿真与耗时预测方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电可擦除可编程ROM、寄存器、硬盘、多媒体卡、卡型存储器(例如SD或DX存储器等)、磁性存储器、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明还提供了一种可读存储介质,存储有计算机程序,计算机程序被处理器执行时如上任意一实施例异构计算平台的任务仿真与耗时预测方法的步骤。
本发明还提供了一种异构计算平台,参见图10,本实施例的异构计算平台包括多个异构计算芯片101和处理器91;其中,
异构计算平台所包含的异构计算芯片的类型以及异构计算芯片个数可根据实际情况进行灵活选择,处理器91与各异构计算芯片均相连,用于执行存储器中存储的计算机程序时实现如上任一个实施例所记载的异构计算平台的任务仿真与耗时预测方法的步骤,处理器91与各异构计算芯片可通过任何一种通信方式连接,如有线连接、远程连接。
作为一种示例性的实施方式,处理器91可部署至异构计算平台中的一个异构计算芯片101。为了提高整个目标任务的训练耗时预测效率,可将处理器91部署于目标异构计算芯片,目标异构计算芯片为异构计算平台中满足预设计算存储性能需求条件的异构计算芯片,目标异构计算芯片例如为异构计算平台中的所有异构计算芯片中算力性能最高的异构计算芯片。
作为另一种示例性的实施方式,处理器91还可部署至任意一服务器上,服务器与异构计算平台的每个异构计算芯片均进行通信连接。
本发明实施例异构计算平台的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本实施例所提供的异构计算平台,能够在用户下发目标任务时精准预测该目标任务所需的训练耗时,提升用户的使用体验。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置、电子设备、可读存储介质及异构计算平台而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的一种异构计算平台的任务仿真与耗时预测方法、装置、电子设备、可读存储介质及异构计算平台进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,基于本发明中的实施例,对于本技术领域的普通技术人员来说,在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。
Claims (24)
1.一种异构计算平台的任务仿真与耗时预测方法,其特征在于,包括:
获取异构计算平台采用层间并行方式执行目标任务的任务配置信息;所述任务配置信息包括目标任务特征、用于执行所述目标任务切分的各子任务的目标算力及对应处理顺序;
调用预先构建的子任务训练耗时确定模型,根据所述目标任务特征确定各目标算力的子任务训练耗时信息;
根据各目标算力的子任务训练耗时信息、各子任务对应的目标算力及相应处理顺序,对采用层间并行方式执行所述目标任务的过程进行仿真;
根据仿真结果确定所述目标任务的训练耗时预测结果。
2.根据权利要求1所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述根据各目标算力的子任务训练耗时信息、各子任务对应的目标算力及相应处理顺序,对采用层间并行方式执行所述目标任务的过程进行仿真,包括:
基于各子任务对应的目标算力及相应处理顺序,确定依次执行各子任务的目标算力;
通过依次比较每两个相邻目标算力的子任务训练耗时信息,确定包含算力等待时长的实际子任务耗时信息;
根据各目标算力的实际子任务耗时信息、总训练数据集样本数量和预设批尺寸,确定单周期训练耗时信息。
3.根据权利要求2所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述子任务训练耗时信息为各目标算力的前向反馈预测时间;所述通过依次比较每两个相邻目标算力的子任务训练耗时信息,确定包含算力等待时长的实际子任务耗时信息,包括:
对于前向反馈计算过程,预先定义前向算力性能补偿耗时参数;
以执行第一个前向子任务的第一目标算力为当前目标算力,所述前向算力性能补偿耗时参数为所述第一目标算力对应的第一前向反馈预测时间,比较所述第一前向反馈预测时间,和执行第二个前向子任务的第二目标算力对应的第二前向反馈预测时间的数值,选择较大值更新前向算力性能补偿耗时参数;
将所述第二目标算力作为当前目标算力,所述前向算力性能补偿耗时参数为更新后的前向算力性能补偿耗时参数,记录当前前向算力性能补偿耗时参数;
重复比较相邻目标算力的前向反馈预测时间,更新前向算力性能补偿耗时参数,并记录当前前向算力性能补偿耗时参数,直至当前目标算力为最后一个目标算力;
根据记录的各当前前向算力性能补偿耗时参数和各目标算力执行相应前向子任务的前向反馈预测时间,确定包含算力等待时长的实际前向反馈耗时信息;
其中,同一个目标算力执行子任务的训练耗时时间相同。
4.根据权利要求2所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述子任务训练耗时信息为各目标算力的后向反馈预测时间;所述通过依次比较每两个相邻目标算力的子任务训练耗时信息,确定包含算力等待时长的实际子任务耗时信息,包括:
对于后向反馈计算过程,预先定义后向算力性能补偿耗时参数;
以执行第一个后向子任务的逆向第一目标算力为当前目标算力,所述后向算力性能补偿耗时参数为所述逆向第一目标算力对应的第一后向反馈预测时间,比较所述第一后向反馈预测时间,和执行第二个后向子任务的逆向第二目标算力对应的第二后向反馈预测时间的数值,选择较大值更新后向算力性能补偿耗时参数;
将所述逆向第二目标算力作为当前目标算力,所述后向算力性能补偿耗时参数为更新后的后向算力性能补偿耗时参数,记录当前后向算力性能补偿耗时参数;
重复比较相邻目标算力的后向反馈预测时间,更新后向算力性能补偿耗时参数,并记录当前后向算力性能补偿耗时参数,直至当前目标算力为第一个目标算力;
根据记录的各当前后向算力性能补偿耗时参数和各目标算力执行相应后向子任务的后向反馈预测时间,确定包含算力等待时长的实际后向反馈耗时信息;
其中,同一个目标算力执行子任务的训练耗时时间相同。
5.根据权利要求2所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述根据仿真结果确定所述目标任务的训练耗时预测结果,包括:
调用单周期计算关系式,计算所述目标任务的单周期训练耗时信息;所述单周期计算关系式为:
;
根据所述目标任务的训练周期总数和所述单周期训练耗时信息,确定所述目标任务的训练耗时预测结果;
其中,T epoch 为单周期训练耗时信息,N为总训练数据集样本数量,batch_size为预设批尺寸,T FP 为一次迭代更新过程中的实际前向反馈耗时信息,T BP 为一次迭代更新过程中的实际后向反馈耗时信息。
6.根据权利要求3所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述根据记录的各当前前向算力性能补偿耗时参数和各目标算力执行相应前向子任务的前向反馈预测时间,确定包含算力等待时长的实际前向反馈耗时信息,包括:
调用前向反馈时间计算关系式,计算实际前向反馈耗时信息;所述前向反馈时间计算关系式为:
;
其中,T FP 为一次迭代更新过程中的实际前向反馈耗时信息,为前向算力性能补偿耗时参数数组,/>表示前向算力性能补偿耗时参数数组中各元素之和,/>表示第i个目标算力执行相应前向子任务FP时的前向反馈预测时间,n为目标算力总数。
7.根据权利要求4所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述根据记录的各当前后向算力性能补偿耗时参数和各目标算力执行相应后向子任务的后向反馈预测时间,确定包含算力等待时长的实际后向反馈耗时信息,包括:
调用后向反馈时间计算关系式,计算实际后向反馈耗时信息;所述后向反馈时间计算关系式为:
;
其中,T BP 为一次迭代更新过程中的实际后向反馈耗时信息,为后向算力性能补偿耗时参数数组,/>表示后向算力性能补偿耗时参数数组中各元素之和,表示第i个目标算力执行相应后向子任务BP时的后向反馈预测时间,n为目标算力总数。
8.根据权利要求1至7任意一项所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述调用预先构建的子任务训练耗时确定模型,根据所述目标任务特征确定各目标算力的子任务训练耗时信息,包括:
获取异构计算平台的历史层间并行任务对应的历史任务配置信息及相应的历史子任务训练耗时信息;
根据各历史任务配置信息及对应的历史子任务训练耗时信息,构建历史数据库,以作为子任务训练耗时确定模型;
以所述目标任务特征作为索引,通过检索所述历史数据库,得到各目标算力相匹配的子任务训练耗时信息。
9.根据权利要求8所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述获取异构计算平台的历史层间并行任务对应的历史任务配置信息及相应的历史子任务训练耗时信息,包括:
对异构计算平台的至少一个历史层间并行任务,获取执行当前历史层间并行任务的各历史算力的物理参数信息、各历史算力所承担的历史子任务的历史子任务特征,以作为历史任务配置信息;
获取各历史算力执行对应历史子任务的一次前向反向计算过程中的前向反馈计算时间和后向反馈计算时间,以作为历史子任务训练耗时信息。
10.根据权利要求9所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述获取执行当前历史层间并行任务的各历史算力的物理参数信息、各历史算力所承担的历史子任务的历史子任务特征,包括:
获取执行当前历史子任务的历史算力总数,当前历史子任务对应的子模型的模型精度、输入数据存储类型、批尺寸、各网络层的计算复杂度、激活函数种类及调用次数,以作为历史子任务特征。
11.根据权利要求9所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述获取执行当前历史层间并行任务的各历史算力的物理参数信息,包括:
获取各历史算力所在服务器的服务器性能参数;
获取各历史算力对应的异构计算芯片性能参数;
根据所述服务器性能参数和所述异构计算芯片性能参数作为相应历史算力的物理参数信息。
12.根据权利要求8所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述根据各历史任务配置信息及对应的历史子任务训练耗时信息,构建历史数据库之后,还包括:
获取新历史任务配置信息;
若所述历史数据库存在所述新历史任务配置信息相同的目标历史任务配置信息,则删除所述目标历史任务配置信息及其对应的历史子任务训练耗时信息,同时存储新历史任务配置信息及其相应的历史子任务训练耗时信息。
13.根据权利要求8所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述根据所述目标任务特征确定各目标算力的子任务训练耗时信息之后,还包括:
将所述目标任务对应的任务配置信息作为新历史任务配置信息;
若所述历史数据库存在所述新历史任务配置信息相同的目标历史任务配置信息,则删除所述目标历史任务配置信息及其对应的历史子任务训练耗时信息,同时存储所述目标任务的任务配置信息及其对应的子任务训练耗时信息。
14.根据权利要求1至7任意一项所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述调用预先构建的子任务训练耗时确定模型,根据所述目标任务特征确定各目标算力的子任务训练耗时信息,包括:
获取异构计算平台的历史层间并行任务对应的历史任务特征及相应的历史子任务训练耗时信息;
基于各历史任务特征,以历史子任务训练耗时信息作为相应历史任务特征的标签,构建训练样本数据集;
利用所述训练样本数据集对预先搭建的目标神经网络模型进行训练,并将训练好的目标神经网络模型作为子任务训练耗时确定模型。
15.根据权利要求14所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述历史子任务训练耗时信息包括历史前向反馈计算时间和历史后向反馈计算时间,所述根据所述目标任务特征确定各目标算力的子任务训练耗时信息,包括:
将所述目标任务特征输入至所述子任务训练耗时确定模型,得到执行所述目标任务的各目标算力在一次迭代更新过程中的前向反馈计算时间和后向反馈计算时间,以作为各目标算力的子任务训练耗时信息。
16.根据权利要求14所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述目标神经网络模型包括输入层、特征嵌入层、特征提取层和预测输出层;
所述特征嵌入层,用于将通过所述输入层接收到历史任务特征转换为目标维度的特征向量表示;
所述特征提取层,用于对所述特征嵌入层输出的特征向量表示进行语义信息提取;
所述预测输出层,用于基于所述特征提取层输出的语义信息预测子任务训练耗时,并输出子任务训练耗时信息。
17.根据权利要求16所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述特征提取层采用多个相连的转换器模型的编码器,所述预测输出层采用多层感知机。
18.根据权利要求14所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述利用所述训练样本数据集对预先搭建的目标神经网络模型进行训练,包括:
统计所述训练样本数据集所包含的历史任务特征数量;
当检测到当前历史任务特征数量满足预设模型触发条件,则自动触发对当前目标神经网络模型进行训练。
19.根据权利要求18所述的异构计算平台的任务仿真与耗时预测方法,其特征在于,所述当检测到当前历史任务特征数量满足预设模型触发条件,则自动触发对当前目标神经网络模型进行训练,包括:
当检测到所述训练样本数据集中的历史任务特征的新增数量大于预设增量阈值,则自动触发对当前目标神经网络模型进行训练。
20.一种异构计算平台的任务仿真与耗时预测装置,其特征在于,包括:
输入获取模块,用于获取异构计算平台采用层间并行方式执行目标任务的任务配置信息;所述任务配置信息包括目标任务特征、用于执行所述目标任务切分的各子任务的目标算力及对应处理顺序;
单步训练时长确定模块,用于调用预先构建的子任务训练耗时确定模型,根据所述目标任务特征确定各目标算力的子任务训练耗时信息;
仿真模块,用于根据各目标算力的子任务训练耗时信息、各子任务对应的目标算力及相应处理顺序,对采用层间并行方式执行所述目标任务的过程进行仿真;
训练耗时预测模块,用于根据仿真结果确定所述目标任务的训练耗时预测结果。
21.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至19任一项所述异构计算平台的任务仿真与耗时预测方法的步骤。
22.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至19任一项所述异构计算平台的任务仿真与耗时预测方法的步骤。
23.一种异构计算平台,其特征在于,包括多个异构计算芯片和处理器;
其中,所述处理器与各异构计算芯片均相连,用于执行存储器中存储的计算机程序时实现如权利要求1至19任一项所述异构计算平台的任务仿真与耗时预测方法的步骤。
24.根据权利要求23所述的异构计算平台,其特征在于,所述处理器部署于目标异构计算芯片;
其中,所述目标异构计算芯片为异构计算平台中满足预设计算存储性能需求条件的异构计算芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410382408.3A CN117971630B (zh) | 2024-04-01 | 异构计算平台及其任务仿真与耗时预测方法、装置、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410382408.3A CN117971630B (zh) | 2024-04-01 | 异构计算平台及其任务仿真与耗时预测方法、装置、设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117971630A true CN117971630A (zh) | 2024-05-03 |
CN117971630B CN117971630B (zh) | 2024-06-28 |
Family
ID=
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110533183A (zh) * | 2019-08-30 | 2019-12-03 | 东南大学 | 一种流水线分布式深度学习中异构网络感知的模型划分与任务放置方法 |
WO2021120719A1 (zh) * | 2019-12-19 | 2021-06-24 | 华为技术有限公司 | 神经网络模型更新方法、图像处理方法及装置 |
CN113177632A (zh) * | 2021-04-13 | 2021-07-27 | 支付宝(杭州)信息技术有限公司 | 一种基于流水线并行的模型训练方法、装置以及设备 |
CN115660078A (zh) * | 2022-12-29 | 2023-01-31 | 浪潮电子信息产业股份有限公司 | 一种分布式计算方法、系统、存储介质和电子设备 |
CN116244159A (zh) * | 2023-05-08 | 2023-06-09 | 浪潮电子信息产业股份有限公司 | 一种训练时长预测方法、装置、多元异构计算设备及介质 |
CN116450486A (zh) * | 2023-06-16 | 2023-07-18 | 浪潮电子信息产业股份有限公司 | 多元异构计算系统内节点的建模方法、装置、设备及介质 |
CN116720544A (zh) * | 2023-08-04 | 2023-09-08 | 浪潮电子信息产业股份有限公司 | 基于异构计算系统的模型训练耗时预测方法、设备及系统 |
CN116755876A (zh) * | 2023-05-23 | 2023-09-15 | 中国科学院信息工程研究所 | 一种大模型混合并行训练加速方法和系统 |
CN116954873A (zh) * | 2023-09-21 | 2023-10-27 | 浪潮电子信息产业股份有限公司 | 异构计算系统及其算力节点选择方法、装置、设备、介质 |
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110533183A (zh) * | 2019-08-30 | 2019-12-03 | 东南大学 | 一种流水线分布式深度学习中异构网络感知的模型划分与任务放置方法 |
WO2021120719A1 (zh) * | 2019-12-19 | 2021-06-24 | 华为技术有限公司 | 神经网络模型更新方法、图像处理方法及装置 |
CN113177632A (zh) * | 2021-04-13 | 2021-07-27 | 支付宝(杭州)信息技术有限公司 | 一种基于流水线并行的模型训练方法、装置以及设备 |
CN115660078A (zh) * | 2022-12-29 | 2023-01-31 | 浪潮电子信息产业股份有限公司 | 一种分布式计算方法、系统、存储介质和电子设备 |
CN116244159A (zh) * | 2023-05-08 | 2023-06-09 | 浪潮电子信息产业股份有限公司 | 一种训练时长预测方法、装置、多元异构计算设备及介质 |
CN116755876A (zh) * | 2023-05-23 | 2023-09-15 | 中国科学院信息工程研究所 | 一种大模型混合并行训练加速方法和系统 |
CN116450486A (zh) * | 2023-06-16 | 2023-07-18 | 浪潮电子信息产业股份有限公司 | 多元异构计算系统内节点的建模方法、装置、设备及介质 |
CN116720544A (zh) * | 2023-08-04 | 2023-09-08 | 浪潮电子信息产业股份有限公司 | 基于异构计算系统的模型训练耗时预测方法、设备及系统 |
CN116954873A (zh) * | 2023-09-21 | 2023-10-27 | 浪潮电子信息产业股份有限公司 | 异构计算系统及其算力节点选择方法、装置、设备、介质 |
Non-Patent Citations (1)
Title |
---|
孟彬彬;吴艳;: "面向云计算的分布式机器学习任务调度算法研究", 西安文理学院学报(自然科学版), no. 01, 15 January 2020 (2020-01-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023360B2 (en) | Systems and methods for configuring programmable logic devices for deep learning networks | |
US11544630B2 (en) | Automatic feature subset selection using feature ranking and scalable automatic search | |
US10970628B2 (en) | Training neural networks represented as computational graphs | |
US20180336453A1 (en) | Domain specific language for generation of recurrent neural network architectures | |
CN110366734A (zh) | 优化神经网络架构 | |
WO2022068623A1 (zh) | 一种模型训练方法及相关设备 | |
Hao et al. | The implementation of a deep recurrent neural network language model on a Xilinx FPGA | |
US11544105B2 (en) | Recommendations for scheduling jobs on distributed computing devices | |
CN112764893B (zh) | 数据处理方法和数据处理系统 | |
US11775811B2 (en) | Scheduling heterogeneous execution on heterogeneous hardware | |
CN111738488A (zh) | 一种任务调度方法及其装置 | |
CN113449859A (zh) | 一种数据处理方法及其装置 | |
CN113435582B (zh) | 基于句向量预训练模型的文本处理方法及相关设备 | |
CN116450486B (zh) | 多元异构计算系统内节点的建模方法、装置、设备及介质 | |
CN113886080A (zh) | 高性能集群任务调度方法、装置、电子设备及存储介质 | |
CN113792146A (zh) | 基于人工智能的文本分类方法、装置、电子设备及介质 | |
CN113342940A (zh) | 文本匹配分析方法、装置、电子设备及存储介质 | |
CN117971630B (zh) | 异构计算平台及其任务仿真与耗时预测方法、装置、设备 | |
Hosny et al. | Characterizing and optimizing EDA flows for the cloud | |
CN110019952A (zh) | 视频描述方法、系统及装置 | |
CN115469931B (zh) | 一种循环程序的指令优化方法、装置、系统、设备及介质 | |
CN117971630A (zh) | 异构计算平台及其任务仿真与耗时预测方法、装置、设备 | |
CN113961765B (zh) | 基于神经网络模型的搜索方法、装置、设备和介质 | |
CN114286985A (zh) | 用于预测内核调谐参数的方法和设备 | |
CN112633516A (zh) | 性能预测和机器学习编译优化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |