一种集群训练节点分配方法、电子设备组成比例

技术编号:28783501 阅读:17 留言:0更新日期:2021-06-09 11:17
本发明专利技术涉及节点分配领域,尤其涉及一种集群训练节点分配方法、电子设备,包括:设置训练分配参数,提交集群训练任务;获取可用节点集合M,获取所有分组信息列表及选择的请求组别名称对应的节点列表,获取请求节点集合Y;获取预分配可用节点集合Z=M∩Y;检查预分配可用节点集合Z中的节点数是否满足请求节点数量;满足则建立容量为请求节点数量的分配执行节点集合;将指定节点放入分配执行节点集合;对预分配可用节点集合Z中的节点按优先级排序,并依次放入分配执行节点集合中直到装满;锁定分配执行节点,分发任务,开始任务训练。本发明专利技术的有益效果在于:优化节点分配方式,充分利用设备资源,减少训练任务的总体报错率、故障率。故障率。故障率。

【技术实现步骤摘要】
一种集群训练节点分配方法、电子设备


[0001]本专利技术涉及节点分配领域,尤其涉及一种集群训练节点分配方法、电子设备。

技术介绍

[0002]随着AI技术的发展,众多复杂的AI程序模型需要在计算集群上进行机器训练。由于多用户对集群节点资源的同时使用,在训练过程中,针对一个单机或多机训练任务,需要对节点计算机的资源进行分配。
[0003]现有技术中对节点计算机的分配是单向的、静态的,要么由用户直接选择训练组别训练节点计算机,要么系统根据剩余节点资源直接分配。并且除非用户主动禁用某报错较多的节点,在节点分配的时候一般不会根据运行状态进行调整,这种单向静态的分配方式难以实现计算资源分配的动态优化,让状态好的资源得到充分返回和利用。这容易造成资源分配不当,资源过载、报错较多,用户使用体验不佳的情况。

技术实现思路

[0004]本专利技术为克服上述的不足之处,目的在于提供一种集群训练节点分配方法、电子设备,动态调整节点分配,优化资源配置,提高用户体验。
[0005]本专利技术是通过以下方案达到上述目的:一种集群训练节点分配方法,包括以下步骤:
[0006](1)设置训练分配参数,提交集群训练任务;所述训练分配参数包括组别名称、请求节点数量、也可以包括指定节点编号;
[0007](2)获取可用节点集合M,获取所有分组信息列表及选择的请求组别名称对应的节点列表,获取请求节点集合Y;
[0008](3)获取预分配可用节点集合Z,可用节点集合M和请求节点集合Y取交集得到预分配可用节点集合Z=M∩Y;
[0009](4)检查预分配可用节点集合Z中的节点数是否满足请求节点数量,不满足则返回步骤(1);满足则建立容量为请求节点数量的分配执行节点集合;
[0010](5)将指定节点放入分配执行节点集合;
[0011](6)对预分配可用节点集合Z中的节点按预设规则进行优先级排序,并依次放入分配执行节点集合中,直到分配执行节点集合容量装满;
[0012](7)锁定分配执行节点集合中的节点,将训练任务分发至分配执行节点,开始任务训练,训练过程中对节点运行状态进行监控。
[0013]作为优选,所述步骤(1)还包括选择训练环境组件选项,训练环境组件选项包括:镜像文件名称、启动参数、外部环境变量、配置参数和配置文件名称,所述配置参数包括系统资源分配参数。
[0014]作为优选,所述可用节点集合为所有集群节点中运行状态正常、不在锁定状态、不被禁用且不执行任务的节点;
[0015]作为优选,选择的请求组别名称对应的节点列表后需要检查组别名称和列表节点编号是否合法。
[0016]作为优选,所述预设规则为:每个节点对应的运行状态分数从高到低优先级进行排序。
[0017]作为优选,所述运行状态分数获取方法为:初始阶段每个节点被赋予一个初始运行状态分数,在训练运行过程中,收集每个节点报错信息,每收到一个报错信息,该节点被扣一分。
[0018]作为优选,所述步骤(7)中锁定状态节的点会在满足以下情况之一时被解除:1、任务分发完成开始运行训练任务;2、5分钟超时解除。
[0019]一种电子设备,包括:存储模块、处理器、通讯总线、接口;所述存储模块包括内存、非易失性存储器,所述接口包括网络接口、其他外设接口;存储模块、处理器、网络接口、其他外设接口通过通讯总线连接。
[0020]本专利技术的有益效果在于:根据历史运行的情况反馈对同组节点分配优先级进行调整,节点的历史运行状态将会影响新任务分配时节点的优先级排序,优化了节点的分配方式,既能满足用户指定分组、指定节点,又能实现其他节点计算机更加动态、高效、灵活的配置,让运行状态良好的设备资源得到充分利用,从总体上优化资源配置,减少了任务训练的总体报错率、故障率。
附图说明
[0021]图1是本专利技术方法的流程示意图;
[0022]图2是实施本专利技术方法的一种电子设备的示意图。
具体实施方式
[0023]下面结合具体实施实例对本专利技术进行进一步描述,但本专利技术的保护范围并不仅限于此:
[0024]实施例:如图1所示,一种集群训练分配方法,包括以下步骤:
[0025](101)设置训练分配参数,提交集群训练任务;所述训练分配参数包括组别名称、请求节点数量n、也可以包括指定节点编号。
[0026]训练任务可以是机器学习算法模型训练程序,如神经网络模型训练程序,或其他深度学习模型训练程序。用户通过客户端开发模块进行训练任务开发与调试,确保训练任务可以初步跑通。开发完成后,可将训练任务上传至集群训练任务队列中等待任务分配。
[0027]本实施例中的集群包括多个节点,所述节点指计算机服务器,包括一块或多块GPU。深度学习中涉及到的运算大多是向量化的矩阵运算。GPU可以实现大规模并行运算,因此实践中通常采用GPU来运行训练任务所述GPU用于接收分发训练任务消息,根据训练任务消息将对应算法模型加载到GPU显存中,执行训练任务。
[0028]节点预先按算力的不同进行分组。将GPU显卡数量、类型的相同的分到同一组别,以确保同组节点的算力基本相同,每个组别有自己的组别名称。每组节点在初始化时会指定一个主节点,用以任务分发时调度队列任务信息,将本组任务分发给本组其他普通节点,任务分发完成后,主节点和普通节点一并完成任务执行训练。
[0029]节点组别可以由一个前端路由与多个树型结构的节点相连组成,训练任务由路由前端端口接收并传送至该组别节点。路由通过一定的负载均衡机制实现服务调度的运算,例如轮询机制、LRU调度机制,可以满足高并发运算需求。
[0030](102)获取可用节点集合M,获取所有分组信息列表及请求组别名称对应的节点列表。
[0031]可用节点集合M为所有集群节点中运行状态正常、不在锁定状态、不被禁用且不执行任务的节点。在所有集群节点中,部分节点可以人工禁用,部分节点正在执行任务。而确定分配执行节点到训练任务完成开始运行的过程会有一定延迟,在该延迟中,分配执行节点会被锁定。
[0032](103)检查所有分组信息列表及请求组别名称对应的节点列表的名称是否合法,若非法则返回步骤(101)。
[0033]节点预先按算力的不同进行分组。获取分组节点列表信息,还需要检查各个组别的名称是否合法,以及训练分配参数中的请求组别名称是否合法,并且该组别没有被禁用。在API接入训练任务的时候,有时候会出现输入组别名称非法的情况。非法组别名称,会导致获取失败。
[0034]在实施例中,如果组别名称合法,则根据请求组别名称获取节点列表。如果有非法命名的情况,则进行报错,并返回训练分配参数提交界面。
[0035]获取选择的请求组别名称对应的节点列表,检查列表节点编号是否合法。如果合法,则进行步骤(104),如果非法则提示非法命名,返回提交训练分配参数页面。
[0036]在实施例中,需要获取提交集群训练任务时一并提交训练分配参数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集群训练节点分配方法,其特征在于,包括以下步骤:(1)设置训练分配参数,提交集群训练任务;所述训练分配参数包括组别名称、请求节点数量、也可以包括指定节点编号;(2)获取可用节点集合M,获取所有分组信息列表及选择的请求组别名称对应的节点列表,获取请求节点集合Y;(3)获取预分配可用节点集合Z,可用节点集合M和请求节点集合Y取交集得到预分配可用节点集合Z=M∩Y;(4)检查预分配可用节点集合Z中的节点数是否满足请求节点数量,不满足则返回步骤(1);满足则建立容量为请求节点数量的分配执行节点集合;(5)将指定节点放入分配执行节点集合;(6)对预分配可用节点集合Z中的节点按预设规则进行优先级排序,并依次放入分配执行节点集合中,直到分配执行节点集合容量装满;(7)锁定分配执行节点集合中的节点,将训练任务分发至分配执行节点,开始任务训练,训练过程中对节点运行状态进行监控。2.根据权利要求1所述的一种集群训练节点分配方法,其特征在于所述步骤(1)还包括选择训练环境组件选项,训练环境组件选项包括:镜像文件名称、启动参数、外部环境变量、配置参数和配置文件名称,所述配置参数包括系统资源分配参数。3.根据权利要求1所述的一种集群训练节点分配方法,其特征在于,所述可用...

【专利技术属性】
技术研发人员:郑达韡徐进
申请(专利权)人:杭州幻方人工智能基础研究有限公司
类型:发明
国别省市:

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

1