数据训练方法及装置、存储介质、电子装置制造方法及图纸

技术编号:21572703 阅读:30 留言:0更新日期:2019-07-10 15:42
本发明专利技术提供了一种数据训练方法及装置、存储介质、电子装置,其中,该方法包括:确定样本数据和可用的集群资源;将总训练模型拆分为多个子模型;使用集群资源在多个子模型上并行训练样本数据。通过本发明专利技术,解决了相关技术中训练样本数据效率过低的技术问题。

Data training methods and devices, storage media and electronic devices

【技术实现步骤摘要】
数据训练方法及装置、存储介质、电子装置
本专利技术涉及人工智能领域,具体而言,涉及一种数据训练方法及装置、存储介质、电子装置。
技术介绍
相关技术中,深度学习模型(DeepLearningModels)的训练需要消耗庞大的计算力,完成一次训练的耗时经常达到数天甚至数月。因此,为了加快深度学习模型的训练,通常采用增加处理设备,优化训练模型来实现,但第一种会加大网络资源的投入量,第二种在短时间内也很难实现。针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
技术实现思路
本专利技术实施例提供了一种数据训练方法及装置、存储介质、电子装置。根据本专利技术的一个实施例,提供了一种数据训练方法,包括:确定样本数据和可用的集群资源;将总训练模型拆分为多个子模型;使用所述集群资源在所述多个子模型上并行训练所述样本数据。根据本专利技术的另一个实施例,提供了一种数据训练装置,包括:确定模块,用于确定样本数据和可用的集群资源;拆分模块,用于将总训练模型拆分为多个子模型;训练模块,用于使用所述集群资源在所述多个子模型上并行训练所述样本数据。根据本专利技术的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。根据本专利技术的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。通过本专利技术,通过将总训练模型拆分为多个子模型,然后在多个子模型上并行训练样本数据,解决了相关技术中训练样本数据效率过低的技术问题,在不增加网络资源的情况下,提高了训练样本数据的速度。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的数据训练方法的流程图;图2是根据本专利技术实施例的数据训练装置的结构框图;图3是本实施例提供的并行算法示意图;图4是本实施例提供的基于输入拆分方案示意图;图5是本实施例提供的Split-Concat算子优化方案示意图;图6是本实施例提供的基于参数拆分方案示意图;图7是根据本实施例提供的交互流程图。具体实施方式下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。实施例1在本实施例中提供了一种数据训练方法,图1是根据本专利技术实施例的数据训练方法的流程图,如图1所示,该流程包括如下步骤:步骤S102,确定样本数据和可用的集群资源;步骤S104,将总训练模型拆分为多个子模型;步骤S106,使用集群资源在多个子模型上并行训练样本数据。通过上述步骤,通过将总训练模型拆分为多个子模型,然后在多个子模型上并行训练样本数据,解决了相关技术中训练样本数据效率过低的技术问题,在不增加网络资源的情况下,提高了训练样本数据的速度。可选地,上述步骤的执行主体可以为服务器,数据处理系统,集群平台等,但不限于此,可以应用在深度学习模型和神经网络模型的场景中。可选地,将总训练模型拆分为多个子模型包括以下至少之一:将总训练模型拆分为多个第一子模型,其中,多个第一子模型并行连接;将总训练模型拆分为多个第二子模型,其中,多个第二子模型串行连接。可选地,将总训练模型拆分为多个第一子模型包括以下之一:根据指示信息将总训练模型拆分为多个第一子模型;指示信息可以是用户输入的或者是系统生成的。根据算子的类型将总训练模型拆分为多个第一子模型,其中,总训练模型由一个或多个算子组成。在一个示例中,根据指示信息将总训练模型拆分为多个第一子模型包括:S11,获取指示信息,其中,指示信息用于指示总训练模型的批尺寸(batchsize);批尺寸用于描述一次迭代输入多少个训练样本;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是根据本专利技术实施例的数据训练装置的本文档来自技高网...

【技术保护点】
1.一种数据训练方法,其特征在于,包括:确定样本数据和可用的集群资源;将总训练模型拆分为多个子模型;使用所述集群资源在所述多个子模型上并行训练所述样本数据。

【技术特征摘要】
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所述的方法,其特征在于,将所述总训练模型拆分为多个第二子模型包括:解析所述总训...

【专利技术属性】
技术研发人员:韩炳涛
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1