一种模型训练方法和相关装置制造方法及图纸

技术编号:24011601 阅读:43 留言:0更新日期:2020-05-02 01:56
本申请实施例公开了一种模型训练方法和相关装置,在第i次训练迭代结束时,处理设备根据多个处理节点所训练的网络模型的模型参数确定模型参数均值,然后针对多个处理节点中的目标处理节点,处理设备确定目标处理节点对应的第一参数变化信息,该第一参数变化信息用于标识目标处理节点所训练的网络模型的模型参数基于第i次训练迭代产生的变化,最后处理设备根据模型参数均值和第一参数变化信息,确定在第i+1次训练迭代开始时目标处理节点所训练的网络模型的初始模型参数。由于在体现整体训练特点的模型均值的基础上,增加了体现各处理节点自身训练特点的参数变化信息,从而降低了最终完成训练时网络模型的性能损失问题。

A model training method and related devices

【技术实现步骤摘要】
一种模型训练方法和相关装置
本申请涉及数据处理领域,特别是涉及一种模型训练方法和相关装置。
技术介绍
随着人工智能技术的发展,通过神经网络模型可以为用户提供各类服务,例如语音识别、图像识别、搜索等。一个高质量的神经网络模型需要通过大量训练数据的训练后才能得到,当训练数据的数量级很大的情况下,完成训练所需要的时间非常可观,难以满足日益出现的服务需求。针对高训练耗时的问题,一些相关技术提出了多处理节点并行训练的解决方式。针对包括海量训练数据的数据集,通过多个处理节点分别对同一个初始模型进行并行训练,训练过程会包括多次训练迭代,在一次训练迭代结束时会将全部处理节点所训练模型的模型参数进行平均计算,将平均计算得出的模型参数作为下一次训练迭代时每个处理节点所训练模型的初始参数。消耗完训练数据后,将每个处理节点的模型进行融合,得到对应该数据集的网络模型。由于训练过程中每个处理节点都并行的从该数据集中调取训练数据,加快了训练数据的消耗速度,缩短了训练耗时。然而,由于上述相关技术所采用的模型参数平均方式,所得到的网络模型相对于单处理节点训练的网络模型具有一定程度的性能损失,性能损失的大小与并行训练所使用的处理节点数量具有线性关系。导致训练效率和训练质量难以两全。
技术实现思路
为了解决上述技术问题,本申请提供了一种模型训练方法和相关装置,通过在原有模型平均的基础上,进一步增加了针对于不同处理节点的第一变化信息作为个性化补偿,从而在强调了整体训练同质性的前提下突出了不同处理节点所采用模型参数的多样性,降低了最终完成训练时网络模型的性能损失问题。本申请实施例公开了如下技术方案:第一方面,本申请实施例提供了一种模型训练方法,在通过多个处理节点对网络模型进行并行训练的过程中包括k次训练迭代,所述方法包括:在第i次训练迭代结束时,处理设备根据所述多个处理节点所训练的所述网络模型的模型参数确定模型参数均值,k≥2,i≤k-1;针对所述多个处理节点中的目标处理节点,所述处理设备确定所述目标处理节点对应的第一参数变化信息,所述第一参数变化信息用于标识所述目标处理节点所训练的所述网络模型的模型参数基于第i次训练迭代产生的变化;所述处理设备根据所述模型参数均值和所述第一参数变化信息,确定在第i+1次训练迭代开始时所述目标处理节点所训练的所述网络模型的初始模型参数。第二方面,本申请实施例提供了一种用于模型训练的处理设备,在通过多个处理节点对网络模型进行并行训练的过程中包括k次训练迭代,所述处理设备包括第一确定单元、第二确定单元和第三确定单元:所述第一确定单元,用于在第i次训练迭代结束时,根据所述多个处理节点所训练的所述网络模型的模型参数确定模型参数均值,k≥2,i≤k-1;所述第二确定单元,用于针对所述多个处理节点中的目标处理节点,确定所述目标处理节点对应的第一参数变化信息,所述第一参数变化信息用于标识所述目标处理节点所训练的所述网络模型的模型参数基于第i次训练迭代产生的变化;所述第三确定单元,用于根据所述模型参数均值和所述第一参数变化信息,确定在第i+1次训练迭代开始时所述目标处理节点所训练的所述网络模型的初始模型参数。第三方面,本申请实施例提供了一种用于模型训练的设备,所述设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行第一方面所述的模型训练方法。第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的模型训练方法。由上述技术方案可以看出,在通过多个处理节点对网络模型进行并行训练的过程中包括了k次训练迭代,在其中一次训练迭代例如第i次训练迭代结束时,可以根据多个处理节点所训练网络模型的模型参数确定模型参数均值。在确定下一次训练迭代例如第i+1次训练迭代开始时各个处理节点所训练网络模型的初始模型参数时,可以将多个处理节点中的任意一个处理节点作为目标处理节点,确定用于标识目标处理节点所训练网络模型的模型参数基于第i次训练迭代产生的变化的第一参数变化信息。由于模型参数均值可以体现出并行训练过程中,在第i次训练迭代后的整体训练特点,相当于为多个处理节点设置了相同的训练起点,而第一参数变化信息可以体现目标处理节点自身所训练网络模型在训练样本下,通过第i次训练迭代的模型参数的变化趋势特点,相当于为目标处理节点引导了自身的训练方向,故基于此确定出的初始模型参数不仅可以体现模型并行训练的整体训练特点,也可以体现单个处理节点的自身模型训练特点,强调了整体训练同质性的前提下突出了不同处理节点所采用模型参数的多样性,降低了最终完成训练时网络模型的性能损失问题,在提高了训练效率的前提下保证了模型质量。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种现有技术中的模型训练方法的场景示意图;图2为本申请实施例提供的模型训练方法的应用场景示意图;图3为本申请实施例提供的一种模型训练方法的流程图;图4为本申请实施例提供的一种语音识别系统示意图;图5为本申请实施例提供的一种应用场景中模型训练方法的流程图;图6a为本申请实施例提供的一种用于模型训练的处理设备的结构图;图6b为本申请实施例提供的一种用于模型训练的处理设备的结构图;图7为本申请实施例提供的一种用于模型训练的设备的结构图;图8为本申请实施例提供的一种服务器的结构图。具体实施方式下面结合附图,对本申请的实施例进行描述。为了提高对复杂网络模型的训练速度,相关技术中通常会利用多个处理节点以并行训练的方式对复杂网络模型进行训练。在并行训练的过程中,由于不同处理节点拿到的训练数据的特点可能不同,不同处理节点所训练的网络模型之间可能会出现较大差异,为了缩小各个处理节点之间的训练差异,往往在一次或多次训练迭代结束时,对全部处理节点训练的网络模型的模型参数进行平均,并将该平均后得到的模型参数作为各处理节点下一次训练迭代开始时的初始模型参数。如图1所示,图1包括参数服务器(parameterserver)和多个处理节点(例如图中的5个处理节点),参数服务器作为中心处理节点,在某一次训练迭代结束时,从全部处理节点中获取此次迭代结束时训练的网路模型的模型参数进行平均,将模型参数均值返回给各个处理节点,作为各处理节点在下一次训练迭代开始时的初始模型参数。由于上述方法是将全部处理节点的模型参数进行平均,并将平均得到的均值作为每一个处理节点下一次训练迭代的初始模型参数,因此每一个处理节点接收到的初始模本文档来自技高网...

【技术保护点】
1.一种模型训练方法,其特征在于,在通过多个处理节点对网络模型进行并行训练的过程中包括k次训练迭代,所述方法包括:/n在第i次训练迭代结束时,处理设备根据所述多个处理节点所训练的所述网络模型的模型参数确定模型参数均值,k≥2,i≤k-1;/n针对所述多个处理节点中的目标处理节点,所述处理设备确定所述目标处理节点对应的第一参数变化信息,所述第一参数变化信息用于标识所述目标处理节点所训练的所述网络模型的模型参数基于第i次训练迭代产生的变化;/n所述处理设备根据所述模型参数均值和所述第一参数变化信息,确定在第i+1次训练迭代开始时所述目标处理节点所训练的所述网络模型的初始模型参数。/n

【技术特征摘要】
1.一种模型训练方法,其特征在于,在通过多个处理节点对网络模型进行并行训练的过程中包括k次训练迭代,所述方法包括:
在第i次训练迭代结束时,处理设备根据所述多个处理节点所训练的所述网络模型的模型参数确定模型参数均值,k≥2,i≤k-1;
针对所述多个处理节点中的目标处理节点,所述处理设备确定所述目标处理节点对应的第一参数变化信息,所述第一参数变化信息用于标识所述目标处理节点所训练的所述网络模型的模型参数基于第i次训练迭代产生的变化;
所述处理设备根据所述模型参数均值和所述第一参数变化信息,确定在第i+1次训练迭代开始时所述目标处理节点所训练的所述网络模型的初始模型参数。


2.根据权利要求1所述的方法,其特征在于,所述处理设备根据所述模型参数均值和所述第一参数变化信息,确定在第i+1次训练迭代开始时所述目标处理节点所训练的所述网络模型的初始模型参数,包括:
所述处理设备将所述第一参数变化信息作为增量对所述模型参数均值进行增量处理;
所述处理设备将增量处理的结果作为在第i+1次训练迭代开始时所述目标处理节点所训练的所述网络模型的初始模型参数。


3.根据权利要求1或2所述的方法,其特征在于,在i>1时,所述方法还包括:
所述处理设备确定所述目标处理节点对应的第二参数变化信息,所述第二参数变化信息用于标识所述目标处理节点所训练的所述网络模型的模型参数基于第i-1次训练迭代产生的变化;
所述处理设备根据所述模型参数均值和所述第一参数变化信息,确定在第i+1次训练迭代开始时所述目标处理节点所训练的所述网络模型的初始模型参数,包括:
所述处理设备根据所述模型参数均值、所述第一参数变化信息和所述第二参数变化信息,确定在第i+1次训练迭代开始时所述目标处理节点所训练的所述网络模型的初始模型参数。


4.根据权利要求1或2所述的方法,其特征在于,所述在第i次训练迭代结束时,处理设备根据所述多个处理节点所训练的所述网络模型的模型参数确定模型参数均值,包括:
所述处理设备在所述多个处理节点中确定作为待计算节点的处理节点,所述待计算节点的数量少于所述多个处理节点的数量;
所述处理设备根据所述待计算节点所训练的所述网络模型的模型参数确定所述模型参数均值。


5.根据权利要求4所述的方法,其特征在于,所述目标处理节点为所述待计算节点中的一个。


6.根据权利要求1或2所述的方法,其特征在于,所述网络模型包括语音识别中所采用的声学模型或语音模型。


7.根据权利要求1或2所述的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:黄羿衡田晋川
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1