CN109993299A - 数据训练方法及装置、存储介质、电子装置 - Google Patents
数据训练方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN109993299A CN109993299A CN201711488171.3A CN201711488171A CN109993299A CN 109993299 A CN109993299 A CN 109993299A CN 201711488171 A CN201711488171 A CN 201711488171A CN 109993299 A CN109993299 A CN 109993299A
- Authority
- CN
- China
- Prior art keywords
- operator
- split
- training pattern
- submodels
- dense
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000005194 fractionation Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 239000012634 fragment Substances 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000013136 deep learning model Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Machine Translation (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据训练方法及装置、存储介质、电子装置,其中,该方法包括:确定样本数据和可用的集群资源;将总训练模型拆分为多个子模型;使用集群资源在多个子模型上并行训练样本数据。通过本发明,解决了相关技术中训练样本数据效率过低的技术问题。
Description
技术领域
本发明涉及人工智能领域,具体而言,涉及一种数据训练方法及装置、存储介质、电子装置。
背景技术
相关技术中,深度学习模型(Deep Learning Models)的训练需要消耗庞大的计算力,完成一次训练的耗时经常达到数天甚至数月。因此,为了加快深度学习模型的训练,通常采用增加处理设备,优化训练模型来实现,但第一种会加大网络资源的投入量,第二种在短时间内也很难实现。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种数据训练方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种数据训练方法,包括:确定样本数据和可用的集群资源;将总训练模型拆分为多个子模型;使用所述集群资源在所述多个子模型上并行训练所述样本数据。
根据本发明的另一个实施例,提供了一种数据训练装置,包括:确定模块,用于确定样本数据和可用的集群资源;拆分模块,用于将总训练模型拆分为多个子模型;训练模块,用于使用所述集群资源在所述多个子模型上并行训练所述样本数据。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,通过将总训练模型拆分为多个子模型,然后在多个子模型上并行训练样本数据,解决了相关技术中训练样本数据效率过低的技术问题,在不增加网络资源的情况下,提高了训练样本数据的速度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据训练方法的流程图;
图2是根据本发明实施例的数据训练装置的结构框图;
图3是本实施例提供的并行算法示意图;
图4是本实施例提供的基于输入拆分方案示意图;
图5是本实施例提供的Split-Concat算子优化方案示意图;
图6是本实施例提供的基于参数拆分方案示意图;
图7是根据本实施例提供的交互流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
在本实施例中提供了一种数据训练方法,图1是根据本发明实施例的数据训练方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,确定样本数据和可用的集群资源;
步骤S104,将总训练模型拆分为多个子模型;
步骤S106,使用集群资源在多个子模型上并行训练样本数据。
通过上述步骤,通过将总训练模型拆分为多个子模型,然后在多个子模型上并行训练样本数据,解决了相关技术中训练样本数据效率过低的技术问题,在不增加网络资源的情况下,提高了训练样本数据的速度。
可选地,上述步骤的执行主体可以为服务器,数据处理系统,集群平台等,但不限于此,可以应用在深度学习模型和神经网络模型的场景中。
可选地,将总训练模型拆分为多个子模型包括以下至少之一:将总训练模型拆分为多个第一子模型,其中,多个第一子模型并行连接;将总训练模型拆分为多个第二子模型,其中,多个第二子模型串行连接。
可选地,将总训练模型拆分为多个第一子模型包括以下之一:根据指示信息将总训练模型拆分为多个第一子模型;指示信息可以是用户输入的或者是系统生成的。根据算子的类型将总训练模型拆分为多个第一子模型,其中,总训练模型由一个或多个算子组成。
在一个示例中,根据指示信息将总训练模型拆分为多个第一子模型包括:
S11,获取指示信息,其中,指示信息用于指示总训练模型的批尺寸(batch size);批尺寸用于描述一次迭代输入多少个训练样本;
S12,将总训练模型拆分为N个输入为(B/N)×I的第一子模型,其中,B为第一批维度,第一批维度的大小与批尺寸的大小相同,I为总训练模型的输入向量的维度,N为大于1的整数。第一子模型包括子稠密算子。
在另一个示例中,根据算子的类型将总训练模型拆分为多个第一子模型包括:
S21,获取算子的类型,其中,算子的类型包括:稠密(Dense)算子,卷积(Conv)算子;
S22,将稠密算子拆分为N个计算参数为(I/N)×O的子稠密算子,其中,子稠密算子与稠密算子的输入张量(Tensor)相同,O为稠密算子的输出向量的维度,I为稠密算子的输入向量的维度,N为大于1的整数;将卷积算子拆分为N个子卷积算子,其中,子卷积算子的输入张量为卷积算子的输入张量相同,一个子稠密算子包括多个计算参数;其中,第一子模型包括以下至少之一:子稠密算子,子卷积算子。
可选的,将总训练模型拆分为多个第二子模型包括:
S31,解析总训练模型得到多个算子,其中,总训练模型包括Concat算子和Split算子,串行相邻的Concat算子和Split算子组成第一Concat-Split算子对;
S32,在第一Concat-Split算子对中,在Concat算子的输入张量与Split算子的输出张量相同时,在总训练模型中删除第一Concat-Split算子对中的Concat算子和Split算子后,将总训练模型拆分为多个第二子模型。
在本实施例中,确定样本数据和可用的集群资源包括:接收训练作业,从训练作业中获取对应的样本数据;确定集群当前空闲的第一处理器,以及接收指定的第二处理器信息,根据第二处理器信息在第一处理器中确定可用的处理器资源,其中,集群资源包括处理器资源。处理器可以是CPU,GPU,MPU等,
在本实施例中,使用集群资源在多个子模型上并行训练样本数据包括:将样本数据划分为M个分片后,并行输入到集群资源的M*K个子模型上进行训练,其中,K为配置一个子模型所需要的最小集群资源,M为大于0的整数,K为大于0的整数。根据M和K的取值可以实现以下三种并行方式:数据并行、模型并行,混合并行,M大于1时,数据并行,将M个不同的分片并行输入到子模型,K大于1时,模型并行,使用K子模型并行处理一个分片,混合并行则是两者叠加。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种数据训练装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的数据训练装置的结构框图,如图2所示,该装置包括:
确定模块20,用于确定样本数据和可用的集群资源;
拆分模块22,用于将总训练模型拆分为多个子模型;
训练模块24,用于使用集群资源在多个子模型上并行训练样本数据。
可选的,拆分模块包括以下至少之一:第一拆分单元,用于将总训练模型拆分为多个第一子模型,其中,多个第一子模型并行连接;第二拆分单元,用于将总训练模型拆分为多个第二子模型,其中,多个第二子模型串行连接。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本实施例是本申请的可选实施例,用于结合具体的模型实例对申请进行详细解释和说明:
为了加快深度学习模型的训练,可以使用并行计算的方法,即将一个训练分割为多个子部分,让每个子部分在不同的计算设备上同时完成计算,从而达到加快训练的目的。在深度学习并行计算中,包括数据并行和模型并行两大类并行算法,需要根据模型和计算集群的特征选择合适的并行算法。
本实施例是这样一种方法和系统:能够根据深度学习模型的特征、以及高性能集群的特征,选择合适的并行算法,并且自动对原始的深度学习模型进行变换,使之能够产生更大的计算并行度,达到更快的训练速度的目的。是一种用来实现让深度学习模型在高性能计算集群上自动完成并行训练的方法。
本实施例所要解决的问题是实现自动化并行训练深度学习模型:用户只需要指定训练模型使用的节点(本实施例以GPU为例进行说明)个数,以及要训练的模型(例如DNN(深度神经网络)、CNN(卷积神经网络)或RNN(循环神经网络)等),系统则自动选择并行训练算法,并对模型进行相应的变换,以尽可能提升算法的并行度,从而实现高效的并行训练。
本实施例提供一种实现自动化训练深度学习模型的系统,包括:应用管理器(Application Manager),资源管理器(Resource Manager)、作业调度器(Job Scheduler)和执行器(Executor)四个模块,下边对所述方法中每个模块的功能进行详细描述:
应用管理器:运行在高性能计算(High Performance Computing,简称为HPC)集群上的一个服务进程。负责实现训练作业的管理,包括作业的启动、停止,主控其它各个模块的工作。
资源管理器:运行在HPC集群上的一个服务进程。负责决定采用何种算法训练用户提交的深度学习模型,并在HPC集群上分配相应的资源。这个过程包括以下算法和流程:
步骤A.获取HPC集群上,节点(GPU)可用的显存大小M;
步骤B.获取用户指定使用的节点个数D;
步骤C.计算深度学习模型需要使用的显存大小R,其方法为:遍历深度学习模型的所有算子,求出所有算子的输出Tensor的大小;再加上模型中所有参数的大小。即:
在上式中,size(out(i))是算子i的输出大小,size(j)是参数j的大小,S是数据类型大小。例如,对于float32来说,其大小为4。是显存额外显存因子,不同的框架实际需要的显存要比计算的显存数大一些,默认取值为1.1。
步骤D.确定分配粒度G。分配粒度是为了放下一个模型所需要的最小分配的GPU个数。为了减少碎片产生,我们限制分配粒度必须是2的整数次幂,即1、2、4、8……。因此,最终的分配粒度为:
G=2N
N=min{n|2n>ceil(R/M)}
步骤E.确定数据并行度DP。数据并行度表示整个训练数据分为多少个分片,其计算公式为:DP=floor(D/G)。
步骤F.根据G和DP,在HPC上分配资源节点(GPU)总数为A为:A=DP*G。
限制用户指定的DP只能为2的整数次幂,那么A将会等于用户指定的节点数DP。
根据不同的DP和G,我们可以将并行训练算法分为数据并行、模型并行和混合并行。其方法为:多个节点组成一个复制组,复制组内的节点采用模型并行来进行训练,G定义了复制组内包含的节点数。一个训练作业则包含了多个复制组,复制组之间采用数据并行来进行训练,DP定义了一个训练作业包含的复制组数。图3是本实施例提供的并行算法示意图。
作业调度器:每个训练任务包含一个作业调度器进程,负责对深度学习模型进行变换以提升其并行度,然后将拆分后的模型指派给多个执行器,实现分布式并行训练。
增加深度学习并行度的方法是基于算子进行拆分,即通过将一个算子拆分为多个算子,使每个拆分后的算子能够在不同的节点上实现并行计算,从而增加了计算的并发度。拆分有两种方法:基于输入的拆分和基于参数的拆分。
图4是本实施例提供的基于输入拆分方案示意图,其中,Size为尺寸,Axis为坐标轴,Conv2D 1,Conv2D 2,Conv2D 3为示意的第1二维卷积,第2二维卷积,第3二维卷积,基于输入的拆分方法为:每个深度学习的迭代(step)中,用户会指定batch size,即一次迭代输入多少个训练样本。在向神经网络进行输入时,训练样本会增加一个batch维度,其大小为batch size。例如,如果原始算子的输入为I维向量,输出为O维向量,batch size为B,则输入可以表达为一个B×I的Tensor。对于一个接收输入为B×I的Tensor的算子,可以将其拆分为N个接收输入为(B/N)×I的Tensor的算子。为了实现拆分之后的算子和原算子等价,还需要增加Split算子和Concat算子。Split算子负责将原输入为B×I的Tensor拆分为N个(B/N)×I的Tensor,作为新的N个算子的输入;Concat算子负责将N个(B/N)×O的输出Tensor重新合并为一个B×O的Tensor。这样,我们就保证了拆分后的算子与拆分前的算子等价。
在基于输入的拆分方法之上,还可以优化以减少不必要的Split-Concat算子。图5是本实施例提供的Split-Concat算子优化方案示意图,OP(Operation)为算子,包括:对于相邻的Concat-Split算子对,如果Concat算子的输入Tensor的维度和大小,与Split算子的输出Tensor的维度和大小相等,且Concat的入度等于Split的出度,则这对Concat-Split算子都可以优化掉。
图6是本实施例提供的基于参数拆分方案示意图,基于参数的拆分包括:根据算子的类型实现不同的拆分方案。对于Dense算子,如果其输入的Tensor的大小为B×I,参数的Tensor大小为I×O,则输出的Tensor大小为B×O。将原始Dense算子拆分为N个Dense算子,每个Dense算子的输入仍然为B×I,参数的Tensor拆分为I×(O/N),则每个算子输出的Tensor大小为B×(O/N)。为了实现拆分之后的算子和原算子等价,还需要增加Split算子和Concat算子。Spilt算子负责将大小为I×O的参数Tensor拆分为N个大小为I×(O/N)的参数Tensor;Concat算子负责将N个B×(O/N)的输出Tensor重新合并为一个大小为B×O的Tensor。这样,我们就保证了拆分后的算子与拆分前的算子等价。
对于Conv(卷积)算子,则采用另外一种分配方案,即在Channel维度上进行拆分:即将大小B×H×W×C的输入Tensor拆分为B×H×W×(C/N)的Tensor,同时将大小为H×W×C的参数Tensor拆分为N个H×W×(C/N)的参数Tensor。最终,我们将得到N个大小为B×H×W×(C/N)的输出Tensor,在Channel维度上将其重新合并为B×H×W×C的输出Tensor,这样保证了就保证了拆分后的算子与拆分前的算子等价。
执行器:每个工作节点上包含一个执行器进程,负责执行分配到这个节点上的(部分)深度学习模型的训练。执行器分为Worker和Parameter Server两种,分别完成模型的参数的训练和参数的汇总。
本实施例还提出了一种在HPC集群上自动实现对深度学习模型并行训练的方法,可以自动选择合适的算法对深度学习模型进行并行训练,并且最大可能的提升算法并行度,保证高效率完成深度学习的训练。图7是根据本实施例提供的交互流程图,包括:
步骤A.用户向应用管理器提交训练作业,指定待训练的深度学习模型,以及希望使用的节点数,应用管理器将其发送给资源管理器;
步骤B.资源管理器计算分配粒度G和数据并行度DP,并通过G和DP确定并行算法(数据并行、模型并行或者混合并行);根据G和DP在HPC上分配空闲节点给这个训练作业;
步骤C.应用管理器启动作业调度器,并传递用户提交的模型、资源管理器分配到资源及其参数;
步骤D.作业调度器根据分配粒度G,按照基于输入拆分或基于参数拆分方法,将模型拆分为G个子模型,并对G个子模型执行Split-Concat算子优化;
步骤E.作业调度器启动DP*G个执行器,每G个执行器组成一个执行组,以模型并行方式训练;数据被划分为DP个分片,在DP个执行组上以数据并行方式训练;
步骤F.所有的执行器执行完毕,应用管理器获取最终训练好的模型,并删除训练作业,释放资源。
采用本实施例的方案,能够在用户仅仅指定希望使用的GPU个数情况下,根据深度学习模型的特征、以及高性能集群的特征,自动化的产生与之对应的、高效的并行计算方案,实现既能节省算法研发投入,又能更快的训练模型的目的。
实施例4
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,确定样本数据和可用的集群资源;
S2,将总训练模型拆分为多个子模型;
S3,使用集群资源在多个子模型上并行训练样本数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,确定样本数据和可用的集群资源;
S2,将总训练模型拆分为多个子模型;
S3,使用集群资源在多个子模型上并行训练样本数据。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种数据训练方法,其特征在于,包括:
确定样本数据和可用的集群资源;
将总训练模型拆分为多个子模型;
使用所述集群资源在所述多个子模型上并行训练所述样本数据。
2.根据权利要求1所述的方法,其特征在于,将总训练模型拆分为多个子模型包括以下至少之一:
将所述总训练模型拆分为多个第一子模型,其中,所述多个第一子模型并行连接;
将所述总训练模型拆分为多个第二子模型,其中,所述多个第二子模型串行连接。
3.根据权利要求2所述的方法,其特征在于,将所述总训练模型拆分为多个第一子模型:
根据算子的类型将所述总训练模型拆分为多个第一子模型,其中,所述总训练模型由一个或多个所述算子组成。
4.根据权利要求3所述的方法,其特征在于,根据算子的类型将所述总训练模型拆分为多个第一子模型包括:
获取所述算子的类型,其中,所述算子的类型包括:稠密算子;
将所述稠密算子拆分为N个输入为(B/N)×I的子稠密算子,其中,B为第一批维度,所述第一批维度的大小与指示的批尺寸的大小相同,I为所述稠密算子的输入向量的维度,N为大于1的整数,其中,所述第一子模型包括:所述子稠密算子。
5.根据权利要求3所述的方法,其特征在于,根据算子的类型将所述总训练模型拆分为多个第一子模型包括:
获取所述算子的类型,其中,所述算子的类型包括:稠密算子;
将所述稠密算子拆分为N个计算参数为I×(O/N)的子稠密算子,其中,所述子稠密算子与所述稠密算子的输入张量相同,O为所述稠密算子的输出向量的维度,I为所述稠密算子的输入向量的维度,N为大于1的整数,其中,所述第一子模型包括:所述子稠密算子。
6.根据权利要求3所述的方法,其特征在于,根据算子的类型将所述总训练模型拆分为多个第一子模型包括:
获取所述算子的类型,其中,所述算子的类型包括:卷积算子;
将所述卷积算子拆分为N个子卷积算子,其中,所述子卷积算子的输入张量为所述卷积算子的输入张量相同;
其中,所述第一子模型包括:所述子卷积算子。
7.根据权利要求2所述的方法,其特征在于,将所述总训练模型拆分为多个第二子模型包括:
解析所述总训练模型得到多个算子,其中,所述总训练模型包括Concat算子和Split算子,串行相邻的Concat算子和Split算子组成第一Concat-Split算子对;
在所述第一Concat-Split算子对中,在所述Concat算子的输入张量与所述Split算子的输出张量相同时,在所述总训练模型中删除所述第一Concat-Split算子对中的Concat算子和Split算子后,将所述总训练模型拆分为多个第二子模型。
8.根据权利要求1所述的方法,其特征在于,确定样本数据和可用的集群资源包括:
接收训练作业,从所述训练作业中获取对应的样本数据;确定集群当前空闲的第一处理器,以及接收指定的第二处理器信息,根据所述第二处理器信息在所述第一处理器中确定可用的处理器资源,其中,所述集群资源包括所述处理器资源。
9.根据权利要求1所述的方法,其特征在于,使用所述集群资源在所述多个子模型上并行训练所述样本数据包括:
将所述样本数据划分为M个分片后,并行输入到所述集群资源的M*K个子模型上进行训练,其中,K为配置一个子模型所需要的最小集群资源,M为大于0的整数,K为大于0的整数。
10.一种数据训练装置,其特征在于,包括:
确定模块,用于确定样本数据和可用的集群资源;
拆分模块,用于将总训练模型拆分为多个子模型;
训练模块,用于使用所述集群资源在所述多个子模型上并行训练所述样本数据。
11.根据权利要求10所述的装置,其特征在于,所述拆分模块包括以下至少之一:
第一拆分单元,用于将所述总训练模型拆分为多个第一子模型,其中,所述多个第一子模型并行连接;
第二拆分单元,用于将所述总训练模型拆分为多个第二子模型,其中,所述多个第二子模型串行连接。
12.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至9任一项中所述的方法。
13.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至9任一项中所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711488171.3A CN109993299B (zh) | 2017-12-29 | 2017-12-29 | 数据训练方法及装置、存储介质、电子装置 |
EP18897649.2A EP3734475A4 (en) | 2017-12-29 | 2018-11-06 | METHOD AND DEVICE FOR TRAINING DATA, STORAGE MEDIUM AND ELECTRONIC DEVICE |
US16/958,876 US20200342322A1 (en) | 2017-12-29 | 2018-11-06 | Method and device for training data, storage medium, and electronic device |
PCT/CN2018/114209 WO2019128475A1 (zh) | 2017-12-29 | 2018-11-06 | 数据训练方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711488171.3A CN109993299B (zh) | 2017-12-29 | 2017-12-29 | 数据训练方法及装置、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109993299A true CN109993299A (zh) | 2019-07-09 |
CN109993299B CN109993299B (zh) | 2024-02-27 |
Family
ID=67063035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711488171.3A Active CN109993299B (zh) | 2017-12-29 | 2017-12-29 | 数据训练方法及装置、存储介质、电子装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200342322A1 (zh) |
EP (1) | EP3734475A4 (zh) |
CN (1) | CN109993299B (zh) |
WO (1) | WO2019128475A1 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110503201A (zh) * | 2019-08-29 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种神经网络分布式并行训练方法与装置 |
CN110689115A (zh) * | 2019-09-24 | 2020-01-14 | 上海寒武纪信息科技有限公司 | 神经网络模型处理方法、装置、计算机设备及存储介质 |
CN110689121A (zh) * | 2019-09-24 | 2020-01-14 | 上海寒武纪信息科技有限公司 | 一种用多核处理器实现神经网络模型拆分方法及相关产品 |
CN110826708A (zh) * | 2019-09-24 | 2020-02-21 | 上海寒武纪信息科技有限公司 | 一种用多核处理器实现神经网络模型拆分方法及相关产品 |
CN110929887A (zh) * | 2020-02-17 | 2020-03-27 | 支付宝(杭州)信息技术有限公司 | 逻辑回归模型训练方法、装置及系统 |
CN111178542A (zh) * | 2019-11-18 | 2020-05-19 | 上海联影智能医疗科技有限公司 | 基于机器学习建模的系统和方法 |
CN111340237A (zh) * | 2020-03-05 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 数据处理和模型运行方法、装置和计算机设备 |
CN111782402A (zh) * | 2020-07-17 | 2020-10-16 | Oppo广东移动通信有限公司 | 数据处理方法、装置以及电子设备 |
CN112308205A (zh) * | 2020-06-28 | 2021-02-02 | 北京沃东天骏信息技术有限公司 | 基于预训练模型的模型改进方法及装置 |
WO2021027844A1 (zh) * | 2019-08-13 | 2021-02-18 | 中兴通讯股份有限公司 | 一种模型训练方法、装置、系统、预测方法及计算机可读存储介质 |
WO2021057746A1 (zh) * | 2019-09-24 | 2021-04-01 | 安徽寒武纪信息科技有限公司 | 神经网络处理方法、装置、计算机设备及存储介质 |
CN112884086A (zh) * | 2021-04-06 | 2021-06-01 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备、存储介质以及程序产品 |
CN113837374A (zh) * | 2020-06-23 | 2021-12-24 | 中兴通讯股份有限公司 | 神经网络的生成方法、设备及计算机可读存储介质 |
CN114091685A (zh) * | 2021-11-08 | 2022-02-25 | 北京百度网讯科技有限公司 | 深度学习框架的张量切分方法、装置、设备和存储介质 |
CN116701001A (zh) * | 2023-08-08 | 2023-09-05 | 国网浙江省电力有限公司信息通信分公司 | 目标任务分配方法、装置、电子设备及存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309479B (zh) * | 2020-02-14 | 2023-06-06 | 北京百度网讯科技有限公司 | 一种任务并行处理的实现方法、装置、设备和介质 |
CN111368941B (zh) * | 2020-04-10 | 2023-09-01 | 浙江大华技术股份有限公司 | 一种图像处理方法、装置以及计算机存储介质 |
KR20220064665A (ko) * | 2020-11-12 | 2022-05-19 | 삼성전자주식회사 | 인공지능 모델을 분산 처리하는 전자 장치 및 그 동작 방법 |
CN112508188B (zh) * | 2020-12-01 | 2024-06-14 | 北京奇艺世纪科技有限公司 | 一种分布式模型训练系统、方法、装置、设备和存储介质 |
CN112799834B (zh) * | 2021-01-26 | 2024-05-07 | 北京迈格威科技有限公司 | 训练数据分发方法、装置、电子设备及存储介质 |
CN112882830A (zh) * | 2021-02-03 | 2021-06-01 | 北京迈格威科技有限公司 | 显存管理、模型训练方法、装置、电子设备及存储介质 |
CN113011585B (zh) * | 2021-03-19 | 2023-09-26 | 上海西井科技股份有限公司 | 消除拼接算子的编译优化方法、系统、设备及存储介质 |
CN114169427B (zh) * | 2021-12-06 | 2022-10-04 | 北京百度网讯科技有限公司 | 基于端到端自适应的分布式训练方法、装置、设备 |
CN114091029B (zh) * | 2022-01-24 | 2022-06-21 | 深信服科技股份有限公司 | 恶意文件检测模型的训练系统、方法、设备、介质及平台 |
CN114943274B (zh) * | 2022-04-15 | 2024-07-19 | 支付宝(杭州)信息技术有限公司 | 模型训练方法、装置、存储介质、服务器、终端及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150019214A1 (en) * | 2013-07-10 | 2015-01-15 | Tencent Technology (Shenzhen) Company Limited | Method and device for parallel processing in model training |
CN104933463A (zh) * | 2015-07-07 | 2015-09-23 | 杭州朗和科技有限公司 | 深度神经网络模型的训练方法和设备 |
CN106033554A (zh) * | 2015-03-13 | 2016-10-19 | 中国科学院声学研究所 | 一种基于分段的两级深度学习模型的大数据处理方法 |
CN107025205A (zh) * | 2016-01-30 | 2017-08-08 | 华为技术有限公司 | 一种分布式系统中的训练模型的方法及设备 |
CN107316082A (zh) * | 2017-06-15 | 2017-11-03 | 第四范式(北京)技术有限公司 | 用于确定机器学习样本的特征重要性的方法及系统 |
CN107480717A (zh) * | 2017-08-16 | 2017-12-15 | 北京奇虎科技有限公司 | 训练作业处理方法及系统、计算设备、计算机存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8201171B2 (en) * | 2007-06-27 | 2012-06-12 | Microsoft Corporation | Adjacent data parallel and streaming operator fusion |
KR20130119285A (ko) * | 2012-04-23 | 2013-10-31 | 한국전자통신연구원 | 클러스터 컴퓨팅 환경에서의 자원 할당 장치 및 그 방법 |
US9639642B2 (en) * | 2013-10-09 | 2017-05-02 | Fujitsu Limited | Time series forecasting ensemble |
US9672474B2 (en) * | 2014-06-30 | 2017-06-06 | Amazon Technologies, Inc. | Concurrent binning of machine learning data |
US10474951B2 (en) * | 2015-10-23 | 2019-11-12 | Nec Corporation | Memory efficient scalable deep learning with model parallelization |
US10853130B1 (en) * | 2015-12-02 | 2020-12-01 | Color Genomics, Inc. | Load balancing and conflict processing in workflow with task dependencies |
US10354201B1 (en) * | 2016-01-07 | 2019-07-16 | Amazon Technologies, Inc. | Scalable clustering for mixed machine learning data |
CN106529682A (zh) * | 2016-10-28 | 2017-03-22 | 北京奇虎科技有限公司 | 一种在大数据集群中处理深度学习任务的方法和装置 |
EP3563304B1 (en) * | 2016-12-30 | 2022-03-09 | Intel Corporation | Deep learning hardware |
-
2017
- 2017-12-29 CN CN201711488171.3A patent/CN109993299B/zh active Active
-
2018
- 2018-11-06 US US16/958,876 patent/US20200342322A1/en active Pending
- 2018-11-06 WO PCT/CN2018/114209 patent/WO2019128475A1/zh unknown
- 2018-11-06 EP EP18897649.2A patent/EP3734475A4/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150019214A1 (en) * | 2013-07-10 | 2015-01-15 | Tencent Technology (Shenzhen) Company Limited | Method and device for parallel processing in model training |
CN106033554A (zh) * | 2015-03-13 | 2016-10-19 | 中国科学院声学研究所 | 一种基于分段的两级深度学习模型的大数据处理方法 |
CN104933463A (zh) * | 2015-07-07 | 2015-09-23 | 杭州朗和科技有限公司 | 深度神经网络模型的训练方法和设备 |
CN107025205A (zh) * | 2016-01-30 | 2017-08-08 | 华为技术有限公司 | 一种分布式系统中的训练模型的方法及设备 |
CN107316082A (zh) * | 2017-06-15 | 2017-11-03 | 第四范式(北京)技术有限公司 | 用于确定机器学习样本的特征重要性的方法及系统 |
CN107480717A (zh) * | 2017-08-16 | 2017-12-15 | 北京奇虎科技有限公司 | 训练作业处理方法及系统、计算设备、计算机存储介质 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021027844A1 (zh) * | 2019-08-13 | 2021-02-18 | 中兴通讯股份有限公司 | 一种模型训练方法、装置、系统、预测方法及计算机可读存储介质 |
CN110503201A (zh) * | 2019-08-29 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种神经网络分布式并行训练方法与装置 |
CN110826708B (zh) * | 2019-09-24 | 2022-05-31 | 安徽寒武纪信息科技有限公司 | 一种用多核处理器实现神经网络模型拆分方法及相关产品 |
CN110689115A (zh) * | 2019-09-24 | 2020-01-14 | 上海寒武纪信息科技有限公司 | 神经网络模型处理方法、装置、计算机设备及存储介质 |
CN110826708A (zh) * | 2019-09-24 | 2020-02-21 | 上海寒武纪信息科技有限公司 | 一种用多核处理器实现神经网络模型拆分方法及相关产品 |
WO2021057720A1 (zh) * | 2019-09-24 | 2021-04-01 | 安徽寒武纪信息科技有限公司 | 神经网络模型处理方法、装置、计算机设备及存储介质 |
WO2021057746A1 (zh) * | 2019-09-24 | 2021-04-01 | 安徽寒武纪信息科技有限公司 | 神经网络处理方法、装置、计算机设备及存储介质 |
CN110689121A (zh) * | 2019-09-24 | 2020-01-14 | 上海寒武纪信息科技有限公司 | 一种用多核处理器实现神经网络模型拆分方法及相关产品 |
CN111178542A (zh) * | 2019-11-18 | 2020-05-19 | 上海联影智能医疗科技有限公司 | 基于机器学习建模的系统和方法 |
CN111178542B (zh) * | 2019-11-18 | 2024-05-24 | 上海联影智能医疗科技有限公司 | 基于机器学习建模的系统和方法 |
CN110929887A (zh) * | 2020-02-17 | 2020-03-27 | 支付宝(杭州)信息技术有限公司 | 逻辑回归模型训练方法、装置及系统 |
CN111340237B (zh) * | 2020-03-05 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 数据处理和模型运行方法、装置和计算机设备 |
CN111340237A (zh) * | 2020-03-05 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 数据处理和模型运行方法、装置和计算机设备 |
CN113837374A (zh) * | 2020-06-23 | 2021-12-24 | 中兴通讯股份有限公司 | 神经网络的生成方法、设备及计算机可读存储介质 |
CN112308205A (zh) * | 2020-06-28 | 2021-02-02 | 北京沃东天骏信息技术有限公司 | 基于预训练模型的模型改进方法及装置 |
CN111782402A (zh) * | 2020-07-17 | 2020-10-16 | Oppo广东移动通信有限公司 | 数据处理方法、装置以及电子设备 |
CN111782402B (zh) * | 2020-07-17 | 2024-08-13 | Oppo广东移动通信有限公司 | 数据处理方法、装置以及电子设备 |
CN112884086A (zh) * | 2021-04-06 | 2021-06-01 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备、存储介质以及程序产品 |
CN114091685A (zh) * | 2021-11-08 | 2022-02-25 | 北京百度网讯科技有限公司 | 深度学习框架的张量切分方法、装置、设备和存储介质 |
CN114091685B (zh) * | 2021-11-08 | 2022-08-23 | 北京百度网讯科技有限公司 | 深度学习框架的张量切分方法、装置、设备和存储介质 |
CN116701001B (zh) * | 2023-08-08 | 2023-10-20 | 国网浙江省电力有限公司信息通信分公司 | 目标任务分配方法、装置、电子设备及存储介质 |
CN116701001A (zh) * | 2023-08-08 | 2023-09-05 | 国网浙江省电力有限公司信息通信分公司 | 目标任务分配方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20200342322A1 (en) | 2020-10-29 |
EP3734475A1 (en) | 2020-11-04 |
EP3734475A4 (en) | 2021-10-20 |
WO2019128475A1 (zh) | 2019-07-04 |
CN109993299B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109993299A (zh) | 数据训练方法及装置、存储介质、电子装置 | |
CN114756383A (zh) | 一种分布式计算方法、系统、设备及存储介质 | |
WO2021190761A1 (en) | Parallel computing scheme generation for neural networks | |
CN114997337B (zh) | 信息融合、数据通信方法、装置及电子设备和存储介质 | |
TW201717066A (zh) | 叢集運算架構的資源規劃方法、系統及裝置 | |
CN103942197B (zh) | 数据监控处理方法及设备 | |
CN111597043A (zh) | 一种全场景边缘计算方法、装置及系统 | |
CN106168993B (zh) | 电网实时仿真分析系统 | |
CN111738276A (zh) | 基于多核卷积神经网络的图像处理方法、装置及设备 | |
CN115437760A (zh) | 计算资源分配方法、电子设备、存储介质及程序产品 | |
CN116644804A (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
Yang et al. | Pico: Pipeline inference framework for versatile cnns on diverse mobile devices | |
CN116523045B (zh) | 一种面向多芯粒芯片的深度学习推理模拟器 | |
Lößer et al. | Bottlemod: Modeling data flows and tasks for fast bottleneck analysis | |
Wang et al. | Edge computing for artificial intelligence | |
CN112149826B (zh) | 深度神经网络推理计算中一种基于Profile图的优化方法 | |
CN116166440A (zh) | 一种基于动态管理的flink流批一体数据处理方法 | |
Franceschini et al. | Decentralized approach for efficient Simulation of DEVS models | |
CN112738225B (zh) | 基于人工智能的边缘计算方法 | |
Kallel et al. | MAGAD-BFS: A learning method for Beta fuzzy systems based on a multi-agent genetic algorithm | |
CN114254735A (zh) | 一种基于分布式的僵尸网络模型构建方法和装置 | |
CN115292044A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN117435308B (zh) | 一种基于并行计算算法的Modelica模型仿真方法及系统 | |
CN117724851B (zh) | 数据处理方法、装置、存储介质及设备 | |
CN116415667B (zh) | 数据处理方法、机器学习框架及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |