一种深度学习训练任务的工作方法及装置制造方法及图纸

技术编号:22944334 阅读:14 留言:0更新日期:2019-12-27 17:07
本发明专利技术提供了一种深度学习训练任务的工作方法及装置,通过根据单服务器或多服务器节点中GPU剩余资源情况为多种深度学习训练任务类型分配GPU,达到了可以在保证GPU利用率的同时兼顾多种类深度学习训练任务的效果。其中,所述方法包括:获取用户输入的深度学习训练任务参数;从所述任务参数中确定所述深度学习训练任务类型,所述深度学习训练任务类型包括:单机型、多机型;根据不同的深度学习训练任务类型按照不同的策略进行GPU选取;根据所述GPU的位置选取与所述GPU之间通信距离最短的CPU进行工作。

【技术实现步骤摘要】
一种深度学习训练任务的工作方法及装置
本申请涉及深度学习领域,尤其涉及一种深度学习训练任务的工作方法及装置。
技术介绍
深度学习训练技术是目前发展十分迅速的一项崭新技术。随着用于深度学习训练业务的数据量的增加以及对于训练速度要求的提高,对于算力的需求也在显著增加。训练任务对于基础资源的需求从单服务器单GPU训练发展到单服务器多GPU训练以及多服务器多GPU训练,GPU服务器集群的整体规模也在显著提升。作为集群中使用率较高,且相对于CPU、内存更加稀缺的资源,GPU的利用率通常决定了深度学习训练任务的整体效率。而如何做到在保证GPU利用率的同时做到兼顾单机型任务和多机型任务成为一个亟待解决的问题,在现有技术中缺乏一种能够解决上述问题的深度学习训练任务的工作方法。
技术实现思路
为了解决现有技术存在的上述技术问题,本申请提供了一种深度学习训练任务的工作方法及装置,通过对单服务器节点以及多服务器节点中GPU中的剩余资源的合理分配解决了现有技术中无法在保证GPU利用率的同时做到兼顾单机型任务和多机型任务的问题。本专利技术提供了一种深度学习训练任务的工作方法,包括:获取用户输入的深度学习训练任务参数;从所述任务参数中确定所述深度学习训练任务类型,所述深度学习训练任务类型包括:单机型、多机型;当所述任务类型为单机型时,根据所述深度学习训练任务参数在单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;根据所述GPU的位置选取与所述GPU之间通信距离最短的CPU进行工作。可选的,所述深度学习训练任务参数包括:神经网络模型、数据集、训练批量大小Batchsize和训练方式。可选的,所述根据所述深度学习训练任务参数选择剩余资源最小的GPU进行工作包括:选择满足所述申请网络模型、数据集和Batchsize条件的剩余资源最小的GPU进行工作。可选的,所述根据所述深度学习训练任务参数在服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:通过BestFit算法根据所述深度学习训练任务参数计算出服务器节点中在满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作。可选的,所述单机型任务包括:单机单卡型任务或单机多卡型任务。可选的,所述多机型任务包括:多机多卡Ring-AllReduce型任务或多机多卡PS-Worker型任务。可选的,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:当所述任务类型为多机多卡PS-Worker型任务时,优先从单一CPU子树中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一CPU子树中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU时,从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一服务器节点中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU,在多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当都不存在时,等待下次调度。可选的,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:当所述任务类型为多机多卡Ring-AllReduce型任务时,优先从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若不存在,从多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若都不存在,等待下次调度。可选的,在所述获取用户输入的深度学习训练任务参数前进一步包括:根据每台服务器资源情况,为每台服务器建立资源拓扑结构,所述资源拓扑结构用于显示服务器中GPU节点之间的通信开销。可选的,在所述获取用户输入的深度学习训练任务参数前进一步包括:根据服务器节点之间的网络互联方式和网络拓扑,建立服务器节点之间的拓扑结构,所述拓扑结构用于显示服务器节点之间的通信速度。可选的,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作进一步包括:当存在满足条件的单一服务器节点时,在所述单一服务器节点中选择通信开销最低的GPU进行工作;当不存在满足条件的单一服务器节点时,在多个服务器节点的组合中选取通信速度相同且最小的一组GPU进行工作。可选的,在所述获取用户输入的深度学习训练任务参数前进一步包括:动态更新各个节点和各个GPU卡的资源使用情况。本申请还提供了一种深度学习训练任务的工作装置,所述装置包括:获取单元,用于获取用户输入的深度学习训练任务参数;辨别单元,用于从所述任务参数中确定所述深度学习训练任务的类型;其中,所述深度学习训练任务类型包括:单机型、多机型;第一分配单元,用于为所述训练任务分配GPU节点;其中,当所述任务类型为单机型时,根据所述深度学习训练任务参数在单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;第二分配单元,用于根据所述GPU的位置为所述训练任务分配与所述GPU之间通信距离最短的CPU进行工作。可选的,所述深度学习训练任务参数包括:神经网络模型、数据集、训练批量大小Batchsize和训练方式。可选的,所述第一分配单元包括:第一选择单元:用于筛选出满足所述申请网络模型、数据集和Batchsize条件的剩余资源最小的GPU。可选的,所述第一分配单元包括:计算单元,用于通过BestFit算法根据所述深度学习训练任务参数计算出本文档来自技高网...

【技术保护点】
1.一种深度学习训练任务的工作方法,其特征在于,包括:/n获取用户输入的深度学习训练任务参数;/n从所述任务参数中确定所述深度学习训练任务类型,所述深度学习训练任务类型包括:单机型、多机型;/n当所述任务类型为单机型时,根据所述深度学习训练任务参数在单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;/n当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;/n根据所述GPU的位置选取与所述GPU之间通信距离最短的CPU进行工作。/n

【技术特征摘要】
1.一种深度学习训练任务的工作方法,其特征在于,包括:
获取用户输入的深度学习训练任务参数;
从所述任务参数中确定所述深度学习训练任务类型,所述深度学习训练任务类型包括:单机型、多机型;
当所述任务类型为单机型时,根据所述深度学习训练任务参数在单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;
当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作;
根据所述GPU的位置选取与所述GPU之间通信距离最短的CPU进行工作。


2.根据权利要求1所述的方法,其特征在于,所述深度学习训练任务参数包括:神经网络模型、数据集、训练批量大小Batchsize和训练方式。


3.根据权利要求2所述的方法,其特征在于,所述根据所述深度学习训练任务参数选择剩余资源最小的GPU进行工作包括:
选择满足所述申请网络模型、数据集和Batchsize条件的剩余资源最小的GPU进行工作。


4.根据权利要求1所述的方法,其特征在于,所述根据所述深度学习训练任务参数在服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:
通过BestFit算法根据所述深度学习训练任务参数计算出服务器节点中满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作。


5.根据权利要求1所述的方法,其特征在于,所述单机型任务包括:单机单卡型任务或单机多卡型任务。


6.根据权利要求1所述的方法,其特征在于,所述多机型任务包括:多机多卡Ring-AllReduce型任务或多机多卡PS-Worker型任务。


7.根据权利要求6所述的方法,其特征在于,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:
当所述任务类型为多机多卡PS-Worker型任务时,优先从单一CPU子树中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一CPU子树中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU时,从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当单一服务器节点中不存在满足所述深度学习训练任务参数的剩余资源最小的GPU,在多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小的GPU;当都不存在时,等待下次调度。


8.根据权利要求6所述的方法,其特征在于,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作包括:
当所述任务类型为多机多卡Ring-AllReduce型任务时,优先从单一服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若不存在,从多个服务器节点中寻找是否存在满足所述深度学习训练任务参数的剩余资源最小且可成闭环结构的GPU;若都不存在,等待下次调度。


9.根据权利要求1所述的方法,其特征在于,在所述获取用户输入的深度学习训练任务参数前进一步包括:
根据每台服务器资源情况,为每台服务器建立资源拓扑结构,所述资源拓扑结构用于显示服务器中GPU节点之间的通信开销。


10.根据权利要求1所述的方法,其特征在于,在所述获取用户输入的深度学习训练任务参数前进一步包括:
根据服务器节点之间的网络互联方式和网络拓扑,建立服务器节点之间的拓扑结构,所述拓扑结构用于显示服务器节点之间的通信速度。


11.根据权利要求1所述的方法,其特征在于,所述当所述任务类型为多机型时,根据所述深度学习训练任务参数先从单一服务器节点中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作,若不存在满足条件的单一服务器节点,从多个服务器节点的组合中选择满足所述深度学习训练任务参数且剩余资源量最小的GPU进行工作进一步包括:
当存在...

【专利技术属性】
技术研发人员:赵仁明陈培
申请(专利权)人:广东浪潮大数据研究有限公司
类型:发明
国别省市:广东;44

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

1