当前位置: 首页 > 专利查询>之江实验室专利>正文

面向智能计算的分布式训练任务调度方法、系统和装置制造方法及图纸

技术编号:35370966 阅读:12 留言:0更新日期:2022-10-29 18:13
本发明专利技术提供一种面向智能计算的分布式训练任务调度方法、系统和装置,系统包括模型性能预测和分解模块、全局GPU资源调度器和各计算节点均配置的本地GPU资源调度器,全局GPU资源调度器在接收到模型性能预测和分解模块发送的子任务请求后,根据各子任务的资源消耗信息及多个计算节点的GPU运行情况,将各子任务分配到匹配的计算节点的GPU进行训练,并构建各子任务之间的通信拓扑,并在各计算节点的GPU训练对应子任务的过程中,监控各计算节点的GPU的计算资源运行情况,及根据所有计算节点的GPU的计算资源运行情况,控制子任务的调度。本发明专利技术能够提高计算集群的GPU和网络等资源的利用率,减少子任务训练的等待时间。减少子任务训练的等待时间。减少子任务训练的等待时间。

【技术实现步骤摘要】
面向智能计算的分布式训练任务调度方法、系统和装置


[0001]本专利技术涉及一种智能计算领域,尤其涉及一种面向智能计算的分布式训练任务调度方法、系统和装置。

技术介绍

[0002]深度学习的出现给自然语言处理、音视频处理、融媒体等领域带来了巨大的更新,但是随着深度学习模型越来越大,有些大模型的参数量甚至超过了几百亿,如此大规模的模型往往通过构建分布式机器学习系统来完成模型训练。同时,因为单张GPU算力有限,在模型训练的时候通过在多台机器和多张GPU卡上构建分布式训练方法来加快模型训练,已经成为一种非常普遍的方法。
[0003]分布式训练中,一个计算任务会分被分成多个子任务,并且被分配到不同GPU上执行,并且不同的分布式训练方法的通信效率和计算效率不同,当多个模型同时在计算集群中训练时,简单的调度方法显然无法发挥智能计算集群的最佳性能。当分布式训练的模型同时在智能计算集群训练时,如果仅依赖本地资源调度器,可能出现训练任务相互之间出现等待、GPU空闲、通信拥塞等问题。

技术实现思路

[0004]本专利技术的目的在于提供一种面向智能计算的分布式训练任务调度方法、系统和装置,解决了现有技术中单卡单任务调度无法充分利用分布式训练方法的协调调度特征,且无法充分挖掘分布式训练在智能计算集群的性能潜力问题。
[0005]本专利技术采用的技术方案如下:本专利技术实施例提供一种面向智能计算的分布式训练任务调度系统,计算集群包括多个计算节点,多个计算节点之间能够相互通信,各计算节点包括至少一CPU和至少一个GPU,所述系统包括:模型性能预测和分解模块:用于根据用户输入的待训练模型、目标完成时间和目标投入资源,确定所述待训练模型对应的分布式训练方式,并将所述待训练模型划分成多个子任务,以及确定各子任务的资源消耗信息,所述分布式训练方式包括数据并行、流水并行和混合并行中的一种,所述混合并行包括数据并行和流水并行,所述资源消耗信息包括计算消耗和内存消耗;全局GPU资源调度器:用于在接收到所述模型性能预测和分解模块发送的子任务请求后,根据各子任务的资源消耗信息及多个所述计算节点的GPU运行情况,将各子任务分配到匹配的计算节点的GPU进行训练,并构建各子任务之间的通信拓扑,并在各计算节点的GPU训练对应子任务的过程中,监控各计算节点的GPU的计算资源运行情况,以及根据所有计算节点的GPU的计算资源运行情况,控制子任务的调度,其中,所述子任务请求携带有所述待训练模型对应的分布式训练方式、多个所述子任务及各子任务的资源消耗信息;和各计算节点均配置的本地GPU资源调度器:用于根据所述分布式训练方式,对分配
到该计算节点的子任务进行本地调度。
[0006]本专利技术实施例还提供一种面向智能计算的分布式训练任务调度方法,计算集群包括多个计算节点,多个计算节点之间能够相互通信,各计算节点包括至少一CPU和至少一个GPU,所述方法包括:通过模型性能预测和分解模块根据用户输入的待训练模型、目标完成时间和目标投入资源,确定所述待训练模型对应的分布式训练方式,并将所述待训练模型划分成多个子任务,以及确定各子任务的资源消耗信息,所述分布式训练方式包括数据并行、流水并行和混合并行中的一种,所述混合并行包括数据并行和流水并行,所述资源消耗信息包括计算消耗和内存消耗;通过全局GPU资源调度器在接收到所述模型性能预测和分解模块发送的子任务请求后,根据各子任务的资源消耗信息及多个所述计算节点的GPU运行情况,将各子任务分配到匹配的计算节点的GPU进行训练,并构建各子任务之间的通信拓扑,并在各计算节点的GPU训练对应子任务的过程中,监控各计算节点的GPU的计算资源运行情况,以及根据所有计算节点的GPU的计算资源运行情况,控制子任务的调度,其中,所述子任务请求携带有所述待训练模型对应的分布式训练方式、多个所述子任务及各子任务的资源消耗信息;和通过各计算节点均配置的本地GPU资源调度器根据所述分布式训练方式,对分配到该计算节点的子任务进行本地调度。
[0007]本专利技术实施例还提供一种面向智能计算的分布式训练任务调度装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述任一项所述的面向智能计算的分布式训练任务调度方法。
[0008]本专利技术实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述任一项所述的一种面向智能计算的分布式训练任务调度方法。
[0009]本专利技术的有益效果是:通过设置全局GPU资源调度器,进行子任务的分配、各子任务之间的通信拓扑、各计算节点的GPU的计算资源运行情况的监控以及子任务的调度,提高计算集群的GPU和网络等资源的利用率,减少子任务训练的等待时间。
附图说明
[0010]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0011]图1为本专利技术一实施例提供的一种计算集群的结构示意图;图2为本专利技术另一实施例提供的一种面向智能计算的分布式训练任务调度系统的结构示意图;图3为本专利技术一实施例提供的一种模型性能预测和分解模块根据用户输入的待训练模型、目标完成时间和目标投入资源,确定待训练模型对应的分布式训练方式的实现方法流程示意图;图4为本专利技术一实施例提供的一种全局GPU资源调度器根据所有计算节点的GPU的计算资源运行情况,控制子任务的调度的实现方法流程示意图;
图5为本专利技术一实施例提供的一种全局GPU资源调度器的功能及全局GPU资源调度器与本地资源调度器的交互示意图;图6为本专利技术一实施例提供的一种各计算节点均配置的本地GPU资源调度器根据分布式训练方式,对分配到该计算节点的子任务进行本地调度的实现方法流程示意图;图7为本专利技术一实施例提供的一种第一调度策略的流程示意图;图8为本专利技术一实施例提供的一种第二调度策略的流程示意图;图9为本专利技术一实施例提供的一种面向智能计算的分布式训练任务调度方法流程示意图;图10为本专利技术一实施例提供的一种面向智能计算的分布式训练任务调度装置的结构框图。
[0012]附图标记:10、模型性能预测和分解模块;20、全局GPU资源调度器;30、本地GPU资源调度器。
具体实施方式
[0013]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0014]模型参数训练方法可包括数据并行和流水并行,其中,数据并行将模型复制到多个GPU中,通过集合通信或者参数服务器进行梯度交互和参数更新,训练过程可以分为梯度计算和梯度同步两个阶段,其中梯度计算的计算效果较高,GPU利用率较高,基本上没有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向智能计算的分布式训练任务调度系统,其特征在于,计算集群包括多个计算节点,多个计算节点之间能够相互通信,各计算节点包括至少一CPU和至少一个GPU,所述系统包括:模型性能预测和分解模块:用于根据用户输入的待训练模型、目标完成时间和目标投入资源,确定所述待训练模型对应的分布式训练方式,并将所述待训练模型划分成多个子任务,以及确定各子任务的资源消耗信息,所述分布式训练方式包括数据并行、流水并行和混合并行中的一种,所述混合并行包括数据并行和流水并行,所述资源消耗信息包括计算消耗和内存消耗;全局GPU资源调度器:用于在接收到所述模型性能预测和分解模块发送的子任务请求后,根据各子任务的资源消耗信息及多个所述计算节点的GPU运行情况,将各子任务分配到匹配的计算节点的GPU进行训练,并构建各子任务之间的通信拓扑,并在各计算节点的GPU训练对应子任务的过程中,监控各计算节点的GPU的计算资源运行情况,以及根据所有计算节点的GPU的计算资源运行情况,控制子任务的调度,其中,所述子任务请求携带有所述待训练模型对应的分布式训练方式、多个所述子任务及各子任务的资源消耗信息;和各计算节点均配置的本地GPU资源调度器:用于根据所述分布式训练方式,对分配到该计算节点的子任务进行本地调度。2.根据权利要求1所述的面向智能计算的分布式训练任务调度系统,其特征在于,所述计算资源运行情况包括子任务的等待时间和GPU利用率;所述全局GPU资源调度器在根据所有计算节点的GPU的计算资源运行情况,控制子任务的调度时,具体用于:对等待时长大于或等于预设时长阈值的子任务增加备份节点,所述备份节点是多个所述计算节点中除所述等待时长大于或等于预设时长阈值的子任务对应的当前计算节点外的其他计算节点,且所述备份节点的GPU利用率小于或等于预设利用率阈值;将所述等待时长大于或等于预设时长阈值的子任务对应的最新模型参数拷贝到所述备份节点,以将所述等待时长大于或等于预设时长阈值的子任务对应的最新模型参数以数据并行方式加入到所述备份节点在下一轮的迭代中参与该任务的训练中。3.根据权利要求2所述的面向智能计算的分布式训练任务调度系统,其特征在于,所述全局GPU资源调度器在将所述等待时长大于或等于预设时长阈值的子任务对应的最新模型参数拷贝到所述备份节点,以将所述等待时长大于或等于预设时长阈值的子任务对应的最新模型参数以数据并行方式加入到所述备份节点在下一轮的迭代中参与该任务的训练中时,具体用于:向所述备份节点的本地GPU资源调度器发送第一调度信息,所述第一调度信息携带所述等待时长大于或等于预设时长阈值的子任务对应的最新模型参数;所述备份节点的本地GPU资源调度器在接收到所述第一调度信息后,将所述等待时长大于或等于预设时长阈值的子任务对应的最新模型参数以数据并行方式加入到所述备份节点在下一轮的迭代中参与该任务的训练中。4.根据权利要求1所述的面向智能计算的分布式训练任务调度系统,其特征在于,当所述子任务对应的分布式训练方式为数据并行时,所述子任务的训练过程包括梯度计算阶段和梯度同步阶段,所述全局GPU资源调度器在根据所有计算节点的GPU的计算资源运行情况,控制子任务的调度时,具体用于:
根据所有数据并行的子任务所在的计算节点的GPU的计算资源运行情况,控制对应子任务的模型参数和中间变量的预取。5.根据权利要求4所述的面向智能计算的分布式训练任务调度系统,其特征在于,所述全局GPU资源调度器在根据所有数据并行的子任务所在的计算节点的GPU的计算资源运行情况,控制对应子任务的模型参数和中间变量的预取时,具体用于:在接收到参数服务器开始计算所有数据并行的子任务的全局梯度信息后,发送第二调度信息给数据并行的子任务对应的计算节点,以通过所述第二调度信息提示所述计算节点优先执行相应的数据并行的子任务,并从所述计算节点的GPU主存中将所述相应的数据并行的子任务对应的最新模型参数和中间变量拷贝回所述计算节点的GPU显存中;所述相应的数据并行的子任务对应的最新模型参数和中间变量是在所述相应的数据并行的子任务等待其他依赖子任务的计算结果期间,且预计的等待时长超过所述计算节点的CPU

GPU内存拷贝时间时,所述计算节点将所述相应的数据并行的子任务对应的模型参数和中间变量由所述计算节点的GPU显存中暂时迁移至所述计算节点的CPU主存中。6.根据权利要求1至5任一项所述的面向智能计算的分布式训练任务调度系统,其特征在于,所述全局GPU资源调度器在监控各计算节点的GPU的计算资源运行情况时,具体用于:周期性获取各计算节点的GPU的计算资源运行情况。7.根据权利要求6所述的面向智能计算的分布式训练任务调度系统,其特征在于,所述全局GPU资源调度器具体用于:周期性接收各计算节点向所述全局GPU资源调度器反馈的该计算节点的GPU的计算资源运行情况。8.根据权利要求1所述的面向智能计算的分布式训练任务调度系统,其特征在于,所述全局GPU资源调度器还用于:在所述待训练模型训练完成后,根据所述待训练模型的各子任务的历史分配信息,确定各子任务所在的计算节点;控制各子任务所在的计算节点回收该计算节点上训练对应的子任务时使用的本地资源;在确定所有计算节点资源回收结束后,释放全局GPU资源调度器上训练所述待训练模型时使用的资源。9.根据权利要求6所述的面向智能计算的分布式训练任务调度系统,其特征在于, 各计算节点均配置的本地GPU资源调度器在根据所述分布式训练方式,对分配到该计算节点的子任务进行本地调度时,具体用于:当根据所述分布式训练方式,确定分配到本地的子任务的训练类型,所述训练类型包括数据并行任务和流水并行任务;根据所述分配到本地的子任务的训练类型,确定所述分配到本地的子任务的本地调度策略;根据所述本地调度策略,对所述分配到本地的子任务进行本地调度;当所述训练类型为数据并行任务时,所述子任务的本地调度策略为第一调度策略;当所述训练类型为流水并行任务时,所述子任务的本地调度策略为第二调度策略。10.根据权利要求9所述的面向智能计算的分布式训练任务调度系统,其特征在于,当所述训练类型为数据并行任务时,所述子任务的训练过程包括梯度计算阶段和梯度同步阶
段;所述第一调度策略包括:获取当前子任务在所述梯度计算阶段的第一计算需求以及当前计算节点中其...

【专利技术属性】
技术研发人员:朱世强李勇程稳陈光曾令仿
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1