本说明书涉及计算机,尤其涉及一种基于异构集群的模型训练方法、装置及电子设备。
背景技术:
1、随着大模型的兴起,对大模型训练所需的计算资源也提出了更高的要求。异构集群属于由多个不同类型的中央处理器和不同类型的图像处理器组合而成的异构计算设备,调度异构集群包括的各类图像处理器共同完成大模型训练,从而满足大模型训练所需的算力资源。如何选择异构集群中的图像处理器从而充分发挥异构集群的算力能力来完成模型训练的任务,成为当前急需解决的问题。
技术实现思路
1、为克服相关技术中存在的问题,本说明书提供了一种基于异构集群的模型训练方法、装置及电子设备。
2、本技术实施例提供了一种基于异构集群的模型训练方法,所述方法包括:
3、获得异构集群包括的各gpu的算力资源以及异构集群的gpu拓扑结构图;
4、在获得待执行训练任务以及所述待执行训练任务所需的算力资源之后,选择算力资源满足所述待执行训练任务所需的算力资源的备选池作为预选池;所述备选池为将异构集群内的所有gpu按照支持的训练任务的类型是否相同进行划分得到的,同一备选池内的各gpu支持的训练任务的类型均相同;
5、从所述预选池中选择算力评估值满足预设要求的调度池;所述算力评估值依据所述预选池的负载均衡度、资源碎片率以及拓扑结构得分确定;所述负载均衡度及所述资源碎片率均基于所述预选池包括的gpu的算力资源确定,所述拓扑结构得分基于所述预选池的拓扑结构中各gpu之间的传输路径的长度确定,所述预选池的拓扑结构基于所述异构集群的gpu拓扑结构图确定;
6、将所述训练任务发送至所述调度池,以利用所述调度池中的各gpu相互配合训练所述训练任务指定的模型。
7、可选的,所述待执行训练任务所需的算力资源包括所述待执行训练任务所需的gpu卡型及gpu卡数;所述异构集群包括的各gpu的算力资源包括各gpu的卡型;
8、所述选择算力资源满足所述待执行训练任务所需的算力资源的备选池作为预选池,包括:
9、将备选池包括的gpu的卡型与所述待执行训练任务所需的gpu卡型一致,且备选池包括的gpu的卡数不小于所述待执行训练任务所需的gpu卡数的备选池作为初级备选池;
10、确定所述初级备选池当前可用的gpu资源,在所述初级备选池当前可用的gpu资源满足所述待执行训练任务所需的gpu资源时,将所述初级备选池作为所述预选池;所述待执行训练任务所需的gpu资源为根据所述待执行训练任务所需的gpu卡型、该gpu卡型对应的gpu资源、以及gpu卡数确定的。
11、可选的,所述从预选池中选择算力评估值满足预设要求的调度池,包括:
12、针对每一预选池,基于该预选池包括的gpu的数量、各gpu对应的gpu利用率的最大值以及各gpu对应的gpu利用率的平均值确定该预选池的负载均衡度和资源碎片率;
13、将该预选池的负载均衡度与第一权重的乘积、该预选池的资源碎片率与第二权重的乘积以及该预选池的拓扑结构得分与第三权重的乘积之和作为该预选池的算力评估值;
14、从各预选池中选择算力评估值最高的预选池作为所述调度池。
15、可选的,在获得异构集群包括的各gpu的算力资源之后,还包括:
16、在获得的异构集群包括的各gpu的算力资源中包括在异构集群中新增设的gpu的算力资源时,将所述异构集群内的所有gpu按照支持的训练任务的类型是否相同划分新的备份池,并进入选择算力资源满足所述待执行训练任务所需的算力资源的备选池作为预选池的步骤。
17、可选的,在获得异构集群包括的各gpu的算力资源之后,还包括:
18、获得异构集群包括的各gpu的监控指标数据,基于监控指标数据确定该监控指标数据对应的gpu为异常gpu时,若异常gpu位于备选池或预选池内,则将异常gpu从备选池或预选池中删除;若异常gpu位于调度池内,则将异常gpu从调度池内删除,并在该调度池中添加正常gpu;该正常gpu支持的训练任务的类型与异常gpu支持的训练任务的类型一致。
19、本技术实施例还提供了一种基于异构集群的模型训练装置,所述装置包括:
20、信息获取模块,用于获得异构集群包括的各gpu的算力资源以及异构集群的gpu拓扑结构图;
21、预选池确定模块,用于在获得待执行训练任务以及所述待执行训练任务所需的算力资源之后,选择算力资源满足所述待执行训练任务所需的算力资源的备选池作为预选池;所述备选池为将异构集群内的所有gpu按照支持的训练任务的类型是否相同进行划分得到的,同一备选池内的各gpu支持的训练任务的类型均相同;
22、调度池确定模块,用于从所述预选池中选择算力评估值满足预设要求的调度池;所述算力评估值依据所述预选池的负载均衡度、资源碎片率以及拓扑结构得分确定;所述负载均衡度及所述资源碎片率均基于所述预选池包括的gpu的算力资源确定,所述拓扑结构得分基于所述预选池的拓扑结构中各gpu之间的传输路径的长度确定,所述预选池的拓扑结构基于所述异构集群的gpu拓扑结构图确定;
23、模型训练模块,用于将所述训练任务发送至所述调度池,以利用所述调度池中的各gpu相互配合训练所述训练任务指定的模型。
24、可选的,述待执行训练任务所需的算力资源包括所述待执行训练任务所需的gpu卡型及gpu卡数;所述异构集群包括的各gpu的算力资源包括各gpu的卡型;
25、所述选择算力资源满足所述待执行训练任务所需的算力资源的备选池作为预选池,包括:
26、将备选池包括的gpu的卡型与所述待执行训练任务所需的gpu卡型一致,且备选池包括的gpu的卡数不小于所述待执行训练任务所需的gpu卡数的备选池作为初级备选池;
27、确定所述初级备选池当前可用的gpu资源,在所述初级备选池当前可用的gpu资源满足所述待执行训练任务所需的gpu资源时,将所述初级备选池作为所述预选池;所述待执行训练任务所需的gpu资源为根据所述待执行训练任务所需的gpu卡型、该gpu卡型对应的gpu资源、以及gpu卡数确定的;
28、和/或,所述从预选池中选择算力评估值满足预设要求的调度池,包括:
29、针对每一预选池,基于该预选池包括的gpu的数量、各gpu对应的gpu利用率的最大值以及各gpu对应的gpu利用率的平均值确定该预选池的负载均衡度和资源碎片率;
30、将该预选池的负载均衡度与第一权重的乘积、该预选池的资源碎片率与第二权重的乘积以及该预选池的拓扑结构得分与第三权重的乘积之和作为该预选池的算力评估值;
31、从各预选池中选择算力评估值最高的预选池作为所述调度池。
32、可选的,在获得异构集群包括的各gpu的算力资源之后,还包括:
33、在获得的异构集群包括的各gpu的算力资源中包括在异构集群中新增设的gpu的算力资源时,将所述异构集群内的所有gpu按照支持的训练任务的类型是否相同划分新的备份池,并进入选择算力资源满足所述待执行训练任务所需的算力资源的备选池作为预选池的步骤;
34、和/或,在获得异构集群包括的各gpu的算力资源之后,还包括:
35、获得异构集群包括的各gpu的监控指标数据,基于监控指标数据确定该监控指标数据对应的gpu为异常gpu时,若异常gpu位于备选池或预选池内,则将异常gpu从备选池或预选池中删除;若异常gpu位于调度池内,则将异常gpu从调度池内删除,并在该调度池中添加正常gpu;该正常gpu支持的训练任务的类型与异常gpu支持的训练任务的类型一致。
36、本技术实施例还提供了一种电子设备,所述电子设备包括:
37、处理器;以及
38、存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行上述任一方法中的步骤。
39、本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行上述任一方法中的步骤。
40、本技术的有益效果在于提供了一种基于异构集群的模型训练方法、装置及电子设备,获得异构集群的各gpu的算力资源及gpu拓扑结构图;接收到待执行训练任务后选择算力资源满足待执行训练任务所需的算力资源的备选池作为预选池,从预选池中选择算力评估值满足预设要求的调度池以利用调度池的各gpu完成训练任务。预选池的算力评估值基于预选池的负载均衡度、资源碎片率及拓扑结构得分确定,负载均衡度及资源碎片率基于预选池中的gpu的算力资源确定,拓扑结构得分基于预选池的拓扑结构中各gpu间的传输路径的长度确定。利用算力资源衡量各gpu的算力能力,结合负载均衡度、资源碎片率及预选池的拓扑结构选择调度池完成训练任务,充分发挥异构集群的能力。
1.一种基于异构集群的模型训练方法,其特征在于,所述方法包括:
2.根据权利要求1所述的异构集群的模型训练方法,其特征在于,所述待执行训练任务所需的算力资源包括所述待执行训练任务所需的gpu卡型及gpu卡数;所述异构集群包括的各gpu的算力资源包括各gpu的卡型;
3.根据权利要求1所述的异构集群的模型训练方法,其特征在于,所述从预选池中选择算力评估值满足预设要求的调度池,包括:
4.根据权利要求1所述的基于异构集群的模型训练方法,其特征在于,在获得异构集群包括的各gpu的算力资源之后,还包括:
5.根据权利要求1所述的基于异构集群的模型训练方法,其特征在于,在获得异构集群包括的各gpu的算力资源之后,还包括:
6.一种基于异构集群的模型训练装置,其特征在于,所述装置包括:
7.根据权利要求6所述的基于异构集群的模型训练装置,其特征在于,述待执行训练任务所需的算力资源包括所述待执行训练任务所需的gpu卡型及gpu卡数;所述异构集群包括的各gpu的算力资源包括各gpu的卡型;
8.根据权利要求6所述的基于异构集群的模型训练装置,其特征在于,在获得异构集群包括的各gpu的算力资源之后,还包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行如权利要求1至5任一所述方法中的步骤。
