[发明专利]基于tensorflow的多任务弹性调度方法及系统在审
申请号: | 202011456701.8 | 申请日: | 2020-12-10 |
公开(公告)号: | CN112463340A | 公开(公告)日: | 2021-03-09 |
发明(设计)人: | 李迅;周覃;张彦铎;尹健南;王重九;崔恒 | 申请(专利权)人: | 武汉工程大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06T1/20;G06N20/00 |
代理公司: | 湖北武汉永嘉专利代理有限公司 42102 | 代理人: | 许美红 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 tensorflow 任务 弹性 调度 方法 系统 | ||
1.一种基于tensorflow的多任务弹性调度方法,其特征在于,包括以下步骤:
S1:利用任务管理系统对进入集群中的任务进行预处理,允许集群中存在多个任务同时进行;
S2:从任务管理系统的配置文件中获取集群中所有GPU资源数量,利用可用GPU数量为训练任务划分数据集,将每部分数据集划分到指定GPU;
S3:在每个GPU上为任务弹性分配显存资源,弹性扩展空闲GPU以提升训练速度;
S4:在每部分数据集上完成梯度下降,获得每部分的当前梯度;
S5:利用群集间的通信将梯度进行累加得到当前的总梯度;
S6:将总梯度广播至每个GPU,再进行下一次梯度下降。
2.根据权利要求1所述的基于tensorflow的多任务弹性调度方法,其特征在于,步骤S1中,对加入到系统中的所有任务,任务管理程序依据关键字为每个任务生成一个特定的进程leader。
3.根据权利要求1所述的基于tensorflow的多任务弹性调度方法,其特征在于,步骤S2中,根据加入到任务中总GPU数量划分数据集,每份数据集都不相同但数量一致并都能保证完成当前的梯度下降。
4.根据权利要求1所述的基于tensorflow的多任务弹性调度方法,其特征在于,步骤S3中,获取分配的训练机器数量和GPU数量,集群中的训练机器称为worker,以size参数标记所有GPU数量,以参数local_rank标记每个worker上的GPU,根据size=local_rank*worker,循环修改所有GPU显存占比。
5.根据权利要求3所述的基于tensorflow的多任务弹性调度方法,其特征在于,当多任务加入到集群中之后,计划整体的资源分配,对于先头作业,集群属于空载,任务管理系统相应提升显存用量,当集群逐渐满载,任务管理系统则自适应降低显存分配,直到满载时无法为作业申请显存。
6.根据权利要求3所述的基于tensorflow的多任务弹性调度方法,其特征在于,在训练作业初始时,程序会进入train入口正常进行训练,新的GPU加入时,作业将暂停;由于集群的特性,每次梯度下降,最新的检查点checkpoint默认保存在第一个worker0节点,将最新的模型参数广播至所有worker,然后程序会进入到断点入口breakpoint,此时所有的GPU节点都将延续使用最新的模型参数,并不会影响梯度的下降。
7.根据权利要求1所述的方法,其特征在于,所述方法中:每N个worker节点与其他两个worker节点通信2*(N-1)次;在通信的过程中,一个节点接收并发送数据缓冲区传来的块,在第一个N-1迭代中,接收的值被添加到节点缓冲区中,在第二个N-1迭代中,接收的值代替数据缓冲区中的值,其中N为大于1的整数。
8.根据权利要求1所述的方法,其特征在于,步骤S4中:将数据集下载到每个GPU中,完成一次计算,每个GPU都有一个梯度值,每次只与相邻训练机器worker进行梯度累加;N-1次之后完成所有梯度的累加;再将梯度同步到所有节点, N-1次完成所有节点同步,即完成一次梯度下降,反复这个过程,直到损失函数收敛完成训练。
9.一种基于tensorflow的多任务弹性调度方法及系统,其特征在于,包括:
作业管理模块,利用任务管理系统对进入集群中的任务进行预处理,允许集群中存在多个任务同时进行;
数据集分组模块,用于从任务管理系统的配置文件中获取集群中所有GPU资源数量,利用可用GPU数量为训练任务划分数据集,将每部分数据集划分到指定GPU;
GPU扩展模块,用于在每个GPU上为任务弹性分配显存资源,弹性扩展空闲GPU以提升训练速度;
同步累加模块,用于在每部分数据集上完成梯度下降,获得每部分的当前梯度;利用群集间的通信将梯度进行累加得到当前的总梯度;将总梯度广播至每个GPU,再进行下一次梯度下降。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述基于tensorflow的多任务弹性调度方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉工程大学,未经武汉工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011456701.8/1.html,转载请声明来源钻瓜专利网。