一种参数更新方法、装置、电子设备和存储介质制造方法及图纸

技术编号:33121075 阅读:13 留言:0更新日期:2022-04-17 00:20
本申请涉及计算机技术领域,尤其涉及人工智能技术领域,提供一种参数更新方法、装置、电子设备和存储介质,用以提高模型训练性能。其中,方法包括:获取训练样本数据集,基于待更新的自然语言模型中的模型状态量的总数目,确定匹配的目标参数更新模式;确定自然语言模型对应的数据并行粒度,基于目标参数更新模式及数据并行粒度,将模型状态量划分为多个状态量组,并分配至各个数据并行进程;通过数据并行进程,对自然语言模型进行参数更新,获得更新后的模型状态量组;通过数据并行进程之间进行通信,对更新后的模型状态量组进行聚合,获取更新后的全量模型状态量。由于本申请通过根据不同的参数规模自动选择不同的更新模式,提高模型训练效率。模型训练效率。模型训练效率。

【技术实现步骤摘要】
一种参数更新方法、装置、电子设备和存储介质


[0001]本申请涉及计算机
,尤其涉及人工智能
,提供一种参数更新方法、装置、电子设备和存储介质。

技术介绍

[0002]随着深度学习技术的发展,各种深度神经网络模型不断涌现。以自然语言模型为例,根据当前人工智能的趋势,越大的自然语言模型可以提供越好的准确性,网络深度也从几层扩大到成百上千层。虽然深层次的网络大大提高了精确率,但也使得网络模型参数越来越多、训练时间越来越长,成为深度学习技术快速发展和广泛应用的一大阻碍。
[0003]然而,在相关技术中,针对自然语言模型的预训练,主要是基于Collective(分布式)架构或Parameter server(参数服务器)架构来实现的。
[0004]但是,上述两种方式都是从模块角度考虑的,Collective架构很少被用于搜索推荐领域,而Parameter server架构则受服务器带宽的影响,因此,如何平衡模型训练时的内存效率和计算效率,提高模型训练性能是亟待解决的。

技术实现思路

[0005]本申请实施例提供一种参数更新方法、装置、电子设备和存储介质,用以针对不同参数规模提供不同训练方式,提高模型训练性能,平衡内存效率和计算效率。
[0006]本申请实施例提供的一种参数更新方法,包括:
[0007]获取包含多条训练样本的训练样本数据集,每条训练样本包括样本多媒体内容以及对应的样本标签;
[0008]基于待更新的自然语言模型中的模型状态量的总数目,以及预先构建的参数数目与参数更新模式之间的映射关系,确定与所述总数目相匹配的目标参数更新模式;
[0009]确定所述自然语言模型对应的数据并行粒度,基于所述目标参数更新模式及所述数据并行粒度,将所述模型状态量划分为相应的多个模型状态量组,以及将所述多个模型状态量组分别分配至各个数据并行进程;
[0010]通过所述各个数据并行进程,分别基于获得的模型状态量组及所述目标参数更新模式,以及所述训练样本数据集,对所述自然语言模型进行参数更新,分别获得所述各个数据并行进程各自对应的更新后的模型状态量组;
[0011]通过所述各个数据并行进程之间进行通信,对获得的更新后的各个模型状态量组进行聚合,获取更新后的全量模型状态量,其中,所述自然语言模型用于对待处理多媒体内容进行自然语言处理。
[0012]本申请实施例提供的一种参数更新装置,包括:
[0013]获取单元,用于获取包含多条训练样本的训练样本数据集,每条训练样本包括样本多媒体内容以及对应的样本标签;
[0014]确定单元,用于基于待更新的自然语言模型中的模型状态量的总数目,以及预先
构建的参数数目与参数更新模式之间的映射关系,确定与所述总数目相匹配的目标参数更新模式;
[0015]分配单元,用于确定所述自然语言模型对应的数据并行粒度,基于所述目标参数更新模式及所述数据并行粒度,将所述模型状态量划分为相应的多个模型状态量组,以及将所述多个模型状态量组分别分配至各个数据并行进程;
[0016]更新单元,用于通过所述各个数据并行进程,分别基于获得的模型状态量组及所述目标参数更新模式,以及所述训练样本数据集,对所述自然语言模型进行参数更新,分别获得所述各个数据并行进程各自对应的更新后的模型状态量组;
[0017]聚合单元,用于通过所述各个数据并行进程之间进行通信,对获得的更新后的各个模型状态量组进行聚合,获取更新后的全量模型状态量,其中,所述自然语言模型用于对待处理多媒体内容进行自然语言处理。
[0018]可选的,所述目标参数更新模式包括数据并行,所述分配单元具体用于:
[0019]根据所述模型状态量包含的各个权重张量所包含的元素的总数目,将所述模型状态量分别分配至所述各个数据并行进程,所述权重张量表征所述自然语言模型中各网络层所对应的权重矩阵。
[0020]可选的,所述目标参数更新模式包括模型并行与数据并行,所述分配单元具体用于:
[0021]按照每个模型进程组包含的数据并行进程的数量,对所述自然语言模型的网络结构进行切分,得到多个子模型;
[0022]针对多个模型进程组,分别执行以下操作:
[0023]将所述多个子模型各自包含的模型状态量,分别分配给一个模型进程组中的各个数据并行进程;
[0024]将所述一个模型进程组中的各个数据并行进程对应的子模型的模型状态量,分配给自身对应的数据并行组中的各个数据并行进程,其中,每个数据并行进程对应的模型状态量为一个模型状态量组。
[0025]可选的,所述目标参数更新模式为数据并行模式,所述更新单元具体用于:
[0026]将所述训练样本数据集按照所述数据并行粒度进行划分,获得多个训练样本组,并分别分配给各个数据并行进程;
[0027]针对所述各个数据并行进程,基于各自对应的训练样本数据,对各自对应的模型状态量组进行更新,获得对应的更新后的模型状态量组。
[0028]可选的,所述目标参数更新模式为包括数据并行与模型并行的第一混合并行模式,所述更新单元具体用于:
[0029]将所述自然语言模型按照对应的模型并行粒度进行切分,获得多个子模型,并分别分配给同一模型并行组中的各个数据并行进程;以及,将所述训练样本数据集按照所述数据并行粒度进行划分,获得多个训练样本组,并分别分配给同一数据并行组中的各个数据并行进程;
[0030]针对各个数据并行进程,按照每个模型并行组内部采用模型并行,每个数据并行组内部采用数据并行的方式,基于各自对应的训练样本数据,对各自对应的模型状态量组进行更新,获得对应的更新后的模型状态量组。
[0031]可选的,所述目标参数更新模式为包括数据并行与流水线并行的第二混合并行模式,所述更新单元具体用于:
[0032]将所述训练样本数据集按照所述数据并行粒度进行划分,获得多个训练样本组,并分别分配给同一数据并行组中的各个数据并行进程;
[0033]针对各个数据并行进程,按照每个数据并行组内部采用数据并行的方式,不同数据并行组之间采用流水线并行的方式,基于各自对应的训练样本数据,对各自对应的模型状态量组进行更新,获得对应的更新后的模型状态量组。
[0034]可选的,所述目标参数更新模式为包括模型并行、数据并行与流水线并行的第三混合并行模式,所述更新单元具体用于:
[0035]将所述训练样本数据集按照所述数据并行粒度进行划分,获得多个训练样本组,并分别分配给同一数据并行组中的各个数据并行进程;以及,将所述自然语言模型按照获取的模型并行粒度进行切分,获得多个子模型,并分别分配给同一模型并行组中的各个数据并行进程;
[0036]针对各个数据并行进程,按照每个模型并行组内部采用模型并行,每个数据并行组内部采用数据并行,不同数据并行组,不同模型并行组之间采用流水线并行的方式,基于各自对应的训练样本数据,对各自对应的模型状态量组进行更新,获得对应的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种参数更新方法,其特征在于,该方法包括:获取包含多条训练样本的训练样本数据集,每条训练样本包括样本多媒体内容以及对应的样本标签;基于待更新的自然语言模型中的模型状态量的总数目,以及预先构建的参数数目与参数更新模式之间的映射关系,确定与所述总数目相匹配的目标参数更新模式;确定所述自然语言模型对应的数据并行粒度,基于所述目标参数更新模式及所述数据并行粒度,将所述模型状态量划分为相应的多个模型状态量组,以及将所述多个模型状态量组分别分配至各个数据并行进程;通过所述各个数据并行进程,分别基于获得的模型状态量组及所述目标参数更新模式,以及所述训练样本数据集,对所述自然语言模型进行参数更新,分别获得所述各个数据并行进程各自对应的更新后的模型状态量组;通过所述各个数据并行进程之间进行通信,对获得的更新后的各个模型状态量组进行聚合,获取更新后的全量模型状态量,其中,所述自然语言模型用于对待处理多媒体内容进行自然语言处理。2.如权利要求1所述的方法,其特征在于,所述目标参数更新模式包括数据并行;则所述基于所述目标参数更新模式及所述数据并行粒度,将所述模型状态量划分为相应的多个模型状态量组,以及将所述多个模型状态量组分别分配至各个数据并行进程,包括:根据所述模型状态量包含的各个权重张量所包含的元素的总数目,将所述模型状态量分别分配至所述各个数据并行进程,所述权重张量表征所述自然语言模型中各网络层所对应的权重矩阵。3.如权利要求1所述的方法,其特征在于,所述目标参数更新模式包括模型并行与数据并行;则所述基于所述目标参数更新模式及所述数据并行粒度,将所述模型状态量划分为相应的多个模型状态量组,以及将所述多个模型状态量组分别分配至各个数据并行进程,包括:按照每个模型进程组包含的数据并行进程的数量,对所述自然语言模型的网络结构进行切分,得到多个子模型;针对多个模型进程组,分别执行以下操作:将所述多个子模型各自包含的模型状态量,分别分配给一个模型进程组中的各个数据并行进程;将所述一个模型进程组中的各个数据并行进程对应的子模型的模型状态量,分配给自身对应的数据并行组中的各个数据并行进程,其中,每个数据并行进程对应的模型状态量为一个模型状态量组。4.如权利要求1所述的方法,其特征在于,所述目标参数更新模式为数据并行模式;则所述通过所述各个数据并行进程,分别基于获得的模型状态量组及所述目标参数更新模式,以及所述训练样本数据集,对所述自然语言模型进行参数更新,分别获得所述各个数据并行进程各自对应的更新后的模型状态量组,包括:将所述训练样本数据集按照所述数据并行粒度进行划分,获得多个训练样本组,并分
别分配给各个数据并行进程;针对所述各个数据并行进程,基于各自对应的训练样本数据,对各自对应的模型状态量组进行更新,获得对应的更新后的模型状态量组。5.如权利要求1所述的方法,其特征在于,所述目标参数更新模式为包括数据并行与模型并行的第一混合并行模式;则所述通过所述各个数据并行进程,分别基于获得的模型状态量组及所述目标参数更新模式,以及所述训练样本数据集,对所述自然语言模型进行参数更新,分别获得所述各个数据并行进程各自对应的更新后的模型状态量组,包括:将所述自然语言模型按照对应的模型并行粒度进行切分,获得多个子模型,并分别分配给同一模型并行组中的各个数据并行进程;以及,将所述训练样本数据集按照所述数据并行粒度进行划分,获得多个训练样本组,并分别分配给同一数据并行组中的各个数据并行进程;针对各个数据并行进程,按照每个模型并行组内部采用模型并行,每个数据并行组内部采用数据并行的方式,基于各自对应的训练样本数据,对各自对应的模型状态量组进行更新,获得对应的更新后的模型状态量组。6.如权利要求1所述的方法,其特征在于,所述目标参数更新模式为包括数据并行与流水线并行的第二混合并行模式;则所述通过所述各个数据并行进程,分别基于获得的模型状态量组及所述目标参数更新模式,以及所述训练样本数据集,对所述自然语言模型进行参数更新,分别获得所述各个数据并行进程各自对应的更新后的模型状态量组,包括:将所述训练样本数据集按照所述数据并行粒度进行划分,获得多个训练样本组,并分别分配给同一数据并行组中的各个数据并行进程;针对各个数据并行进程,按照每个数据并行组内部采用数据并行的方式,不同数据并行组之间采用流水线并行的方式,基于各自对应的训练样本数据,对各自对应的模型状态量组进行更新,获得对应的更新后的模型状态量组。7.如权利要求1所述的方法,其特征在于,所述目标参数更新模式为包括模型并行、数据并行与流水线并行的第三混合并行模式;则所述通过所述各个数据并行进程,分别基于获得的模型状态量组及所述目标参数更新模式,以及所述训练样本数据集,对...

【专利技术属性】
技术研发人员:弓静
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1