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

训练模型分配方法组成比例

技术编号:39600642 阅读:10 留言:0更新日期:2023-12-03 20:00
本申请涉及一种训练模型分配方法

【技术实现步骤摘要】
训练模型分配方法、装置、计算机设备和存储介质


[0001]本申请涉及深度学习
,特别是涉及一种训练模型分配方法

装置

计算机设备和存储介质


技术介绍

[0002]在近年来的深度学习模型训练中,使用更多的训练数据和更大的模型趋势未改

更大的模型可以带来更精准强大的语义理解和推理能力,但随着规模计算的普及和数据集的增大,使得模型的参数数量也以指数级的速度增长,更大的模型和数据量意味着更多的计算量和存储需求,也意味着更久的训练时间

[0003]现有技术采用并行化的策略来加速模型训练,使用硬件加速器来横向扩展(
scale out
)深度神经网络训练主要有两种模式:数据并行和模型并行

数据并行通过将输入模型的数据集分片,并分别分配至不同的计算处理器来实现加速模型训练

模型并行将一个模型的内存和计算分配至多个计算处理器,以此来解决一个模型在单个计算处理器上无法容纳的问题,其解决方法是把模型分配至多个机器节点的计算处理器之上

[0004]然而现有技术中对于模型和模型训练数据的分配方式,因此存在多个机器节点在异构通信网络下训练效率低的问题


技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种能够提高模型训练效率的训练模型分配方法

装置

计算机设备和存储介质

[0006]第一方面,本申请提供了一种训练模型分配方法,所述方法包括:获取待训练模型的模型信息和训练数据集;其中,所述模型信息包括待训练模型的层级信息和计算参数信息,所述层级信息包括所述待训练模型的层级数量,所述计算参数信息包括待训练模型每个层级的计算任务数,以及每个计算任务所需的计算处理器数量;将所述训练模型根据所述层级信息划分为至少两个子模型,并将各所述子模型分配至训练集群中各机器节点;将各所述子模型根据所述计算参数信息划分为至少两个子模型切片,并将各所述子模型切片分配至训练集群中各机器节点的各计算处理器;将所述训练数据集根据所述计算参数信息划分为至少两个训练子数据集,并将各所述训练子数据集分配至训练集群中各计算处理器;根据所述训练集群中所有计算处理器,以及所述所有计算处理器对应的子模型切片和训练数据子集,对待训练模型进行训练

[0007]在一个实施例中,所述将所述训练模型根据所述层级信息划分为至少两个子模型,并将各所述子模型分配至训练集群中各机器节点包括:将所述训练模型根据层级信息,划分为至少两个子模型;
根据所述层级信息,将所述计算集群中各机器节点划分为流水线并行组;根据所述层级信息,将所述待训练模型的各子模型分配至对应所述流水线并行组中各机器节点

[0008]在一个实施例中,所述根据所述层级信息,将所述计算集群中各机器节点划分为流水线并行组,包括:根据所述层级信息,确定所述待训练模型的层级数量;将所述层级数量确定为流水线并行数量;根据所述流水线并行数量,将所述计算集群中各机器节点分配至相应的流水线并行组;若所述流水线并行数量小于所述训练集群中机器节点的数量,则至少一个所述流水线并行组包括至少两个机器节点;其中,同一所述流水线并行组中至少两个机器节点具有不同的通信协议

[0009]在一个实施例中,所述将各所述子模型根据所述计算参数信息划分为至少两个子模型切片,并将各所述子模型切片分配至训练集群中各机器节点的各计算处理器包括:将各所述子模型根据所述计算参数信息,划分为至少两个子模型切片;根据所述计算参数信息,将所述训练集群中各机器节点的各计算处理器划分为张量并行组;根据所述计算参数信息,将各所述子模型切片分配至对应所述张量并行组中各计算处理器

[0010]在一个实施例中,所述根据所述计算参数信息,将所述训练集群中各机器节点的各计算处理器划分为张量并行组,包括:根据所述计算参数信息,确定各所述子模型的子模型切片数量;将所述子模型切片数量确定为张量并行数;根据所述张量并行数,将各机器节点的所述各计算处理器分配至相应的张量并行组;其中,同一所述张量并行组中的所有计算处理器属于同一机器节点

[0011]在一个实施例中,所述将所述训练数据集根据所述计算参数信息划分为至少两个训练子数据集,并将各所述训练子数据集分配至训练集群中各计算处理器包括:将所述训练数据集根据所述计算参数信息,划分为至少两个训练子数据集;根据所述计算参数信息,将所述训练集群中各机器节点的各计算处理器划分为数据并行组;根据所述计算参数信息,将各所述训练子数据集分配至对应所述数据并行组中各计算处理器

[0012]在一个实施例中,所述根据所述计算参数信息,将所述训练集群中各机器节点的各计算处理器划分为数据并行组包括:根据每个计算参数信息所需的计算处理器数量,确定数据并行数;根据所述数据并行数,将至少两个计算处理器组确定为数据并行组;其中,所述数据并行组中的各计算处理器所在机器节点具有相同的通信协议

[0013]第二方面,本申请还提供了一种训练模型分配装置

所述装置包括:数据获取模块,用于获取待训练模型的模型信息和训练数据集;其中,所述模型信息包括待训练模型的层级信息和计算参数信息,所述层级信息包括所述待训练模型的层级
数量,所述计算参数信息包括待训练模型每个层级的计算任务数,以及每个计算任务所需的计算处理器数量;第一分配模块,用于将所述训练模型根据所述层级信息划分为至少两个子模型,并将各所述子模型分配至训练集群中各机器节点;第二分配模块,用于将各所述子模型根据所述计算参数信息划分为至少两个子模型切片,并将各所述子模型切片分配至训练集群中各机器节点的各计算处理器;第三分配模块,用于将所述训练数据集根据所述计算参数信息划分为至少两个训练子数据集,并将各所述训练子数据集分配至训练集群中各计算处理器;模型训练模块,用于根据所述训练集群中所有计算处理器,以及所述所有计算处理器对应的子模型切片和训练数据子集,对待训练模型进行训练

[0014]第三方面,本申请还提供了一种计算机设备

所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取待训练模型的模型信息和训练数据集;其中,所述模型信息包括待训练模型的层级信息和计算参数信息,所述层级信息包括所述待训练模型的层级数量,所述计算参数信息包括待训练模型每个层级的计算任务数,以及每个计算任务所需的计算处理器数量;将所述训练模型根据所述层级信息划分为至少两个子模型,并将各所述子模型分配至训练集群中各机器节点;将各所述子模型根据所述计算参数信息划分为至少两个子模型切片,并将各所述子模型切片分配至训练集群中各机器节点的各计算处理器;将所述训练数据集根据所述计算参数信息划分为至少两个训练子数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种训练模型分配方法,其特征在于,所述方法包括:获取待训练模型的模型信息和训练数据集;其中,所述模型信息包括待训练模型的层级信息和计算参数信息,所述层级信息包括所述待训练模型的层级数量,所述计算参数信息包括待训练模型每个层级的计算任务数,以及每个计算任务所需的计算处理器数量;将所述训练模型根据所述层级信息划分为至少两个子模型,并将各所述子模型分配至训练集群中各机器节点;将各所述子模型根据所述计算参数信息划分为至少两个子模型切片,并将各所述子模型切片分配至训练集群中各机器节点的各计算处理器;将所述训练数据集根据所述计算参数信息划分为至少两个训练子数据集,并将各所述训练子数据集分配至训练集群中各计算处理器;根据所述训练集群中所有计算处理器,以及所述所有计算处理器对应的子模型切片和训练数据子集,对待训练模型进行训练
。2.
根据权利要求1所述的方法,其特征在于,所述将所述训练模型根据所述层级信息划分为至少两个子模型,并将各所述子模型分配至训练集群中各机器节点包括:将所述训练模型根据层级信息,划分为至少两个子模型;根据所述层级信息,将所述计算集群中各机器节点划分为流水线并行组;根据所述层级信息,将所述待训练模型的各子模型分配至对应所述流水线并行组中各机器节点
。3.
根据权利要求2所述的方法,其特征在于,所述根据所述层级信息,将所述计算集群中各机器节点划分为流水线并行组,包括:根据所述层级信息,确定所述待训练模型的层级数量;将所述层级数量确定为流水线并行数量;根据所述流水线并行数量,将所述计算集群中各机器节点分配至相应的流水线并行组;若所述流水线并行数量小于所述训练集群中机器节点的数量,则至少一个所述流水线并行组包括至少两个机器节点;其中,同一所述流水线并行组中至少两个机器节点具有不同的通信协议
。4.
根据权利要求1所述的方法,其特征在于,所述将各所述子模型根据所述计算参数信息划分为至少两个子模型切片,并将各所述子模型切片分配至训练集群中各机器节点的各计算处理器包括:将各所述子模型根据所述计算参数信息,划分为至少两个子模型切片;根据所述计算参数信息,将所述训练集群中各机器节点的各计算处理器划分为张量并行组;根据所述计算参数信息,将各所述子模型切片分配至对应所述张量并行组中各计算处理器
。5.
根据权利要求4所述的方法,其特征在于,所述根据所述计算参数信息,将所述训练集群中各机器节点的各计算处理器划分为张量并行组,包括:根据所述计算参数信息,确定各所述子模型...

【专利技术属性】
技术研发人员:杨非彭爽孙柠汪芳羽谈科潘爱民
申请(专利权)人:之江实验室
类型:发明
国别省市:

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

1