语言模型的训练方法、装置及电子设备制造方法及图纸

技术编号:35273316 阅读:15 留言:0更新日期:2022-10-19 10:48
本公开提供了一种语言模型的训练方法、装置及电子设备,涉及人工智能领域,尤其涉及自然语言处理领域。具体实现方案为:基于第一无标签训练样本对教师语言模型进行预训练,获得预训练后的教师语言模型;基于第一有标签的多任务数据对预训练后的教师语言模型进行多任务训练,获得目标教师语言模型;基于第二无标签训练样本,利用目标教师语言模型对学生语言模型进行知识蒸馏,获得训练后的学生语言模型;基于有标签的下游任务数据对训练后的学生语言模型进行训练,获得目标语言模型。本方案使训练后的学生语言模型有较强的通用性和泛化性,也可以以提升目标语言模型的训练效率。也可以以提升目标语言模型的训练效率。也可以以提升目标语言模型的训练效率。

【技术实现步骤摘要】
语言模型的训练方法、装置及电子设备


[0001]本公开涉及计算机
,具体涉及人工智能及自然语言处理
,尤其涉及一种语言模型的训练方法、装置及电子设备。

技术介绍

[0002]随着人工智能技术的发展,机器学习尤其是深度学习已在自然语言等领域广泛应用,针对自然语言处理领域中的不同任务通常使用语言模型来实现。
[0003]在相关技术中,通过知识蒸馏的方式利用较大规模的语言模型来训练规模较小的语言模型,但是获取的语言模型的通用性和泛化性较差,且模型的效果也有待提高。

技术实现思路

[0004]本公开提供了一种语言模型的训练方法、装置及电子设备。
[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]下游训练模块,用于基于有标签的下游任务数据对所述训练后的学生语言模型进行训练,获得目标语言模型。
[0037]在本公开的一些实施例中,所述第一多任务训练模块具体用于:
[0038]将所述第一有标签的多任务数据输入至所述预训练后的教师语言模型,获得与每个任务各自对应预测结果;
[0039]根据所述与每个任务各自对应预测结果及其对应的标签,确定与每个任务各自对应的损失值;
[0040]根据所述与每个任务各自对应的损失值,确定多任务总损失值;
[0041]基于所述多任务总损失值对所述预训练后的教师语言模型的模型参数进行调整,直至得到所述目标教师语言模型。
[0042]作为一种可能的实施方式,所述蒸馏模块具体用于:
[0043]将所述第二无标签训练样本输入至所述目标教师语言模型,获得所述目标教师语言模型的目标网络层的输出结果;
[0044]将所述第二无标签训练样本输入至所述学生语言模型,获得所述学生语言模型的目标网络层的输出结果;
[0045]根据所述目标教师语言模型的目标网络层的输出结果和所述学生语言模型的目标网络层的输出结果,确定蒸馏损失值;
[0046]根据所述蒸馏损失值对所述学生语言模型进行训练,直至得到所述训练后的学生语言模型。
[0047]在本公开的另一些实施例中,所述装置还包括:
[0048]第二多任务训练模块,用于基于第二有标签的多任务数据对所述训练后的学生语言模型进行多任务训练,获得目标学生语言模型;
[0049]其中,所述下游训练模块具体用于:
[0050]基于所述有标签的下游任务数据对所述目标学生语言模型进行训练,获得所述目标语言模型。
[0051]在本公开的一些实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种语言模型的训练方法,包括:基于第一无标签训练样本对教师语言模型进行预训练,获得预训练后的教师语言模型;基于第一有标签的多任务数据对所述预训练后的教师语言模型进行多任务训练,获得目标教师语言模型;基于第二无标签训练样本,利用所述目标教师语言模型对学生语言模型进行知识蒸馏,获得训练后的学生语言模型;基于有标签的下游任务数据对所述训练后的学生语言模型进行训练,获得目标语言模型。2.根据权利要求1所述的方法,其中,所述基于第一有标签的多任务数据对所述预训练后的教师语言模型进行多任务训练,获得目标教师语言模型,包括:将所述第一有标签的多任务数据输入至所述预训练后的教师语言模型,获得与每个任务各自对应预测结果;根据所述与每个任务各自对应预测结果及其对应的标签,确定与每个任务各自对应的损失值;根据所述与每个任务各自对应的损失值,确定多任务总损失值;基于所述多任务总损失值对所述预训练后的教师语言模型的模型参数进行调整,直至得到所述目标教师语言模型。3.根据权利要求1所述的方法,所述基于第二无标签训练样本,利用所述目标教师语言模型对学生语言模型进行知识蒸馏,获得训练后的学生语言模型,包括:将所述第二无标签训练样本输入至所述目标教师语言模型,获得所述目标教师语言模型的目标网络层的输出结果;将所述第二无标签训练样本输入至所述学生语言模型,获得所述学生语言模型的目标网络层的输出结果;根据所述目标教师语言模型的目标网络层的输出结果和所述学生语言模型的目标网络层的输出结果,确定蒸馏损失值;根据所述蒸馏损失值对所述学生语言模型进行训练,直至得到所述训练后的学生语言模型。4.根据权利要求1所述的方法,还包括:基于第二有标签的多任务数据对所述训练后的学生语言模型进行多任务训练,获得目标学生语言模型;其中,所述基于有标签的下游任务数据对所述训练后的学生语言模型进行训练,获得目标语言模型,包括:基于所述有标签的下游任务数据对所述目标学生语言模型进行训练,获得所述目标语言模型。5.根据权利要求1

4中任一项所述的方法,其中,所述学生语言模型的数量为多个;所述基于第二无标签训练样本,利用所述目标教师语言模型对学生语言模型进行知识蒸馏,获得训练后的学生语言模型,包括:将所述第二无标签训练样本输入至所述目标教师语言模型,获得所述目标教师语言模
型的目标网络层的输出结果;将所述第二无标签训练样本分别输入至每个所述学生语言模型,获得每个所述学生语言模型的目标网络层的输出结果;根据所述目标教师语言模型的目标网络层的输出结果和每个所述学生语言模型的目标网络层的输出结果,确定每个学生语言模型的第一损失值;根据所述多个学生语言模型的目标网络层的输出结果之间的差异,确定每个所述学生语言模型的至少一个第二损失值;根据每个所述学生语言模型的第一损失值和每个所述学生语言模型的至少一个第二损失值,确定每个所述学生语言模型的蒸馏总损失值,并根据所述蒸馏总损失值对每个所述学生语言模型进行训练,获得多个训练后的学生语言模型。6.根据权利要求5所述的方法,其中,所述根据每个所述学生语言模型的第一损失值和每个所述学生语言模型的至少一个第二损失值,确定每个所述学生语言模型的蒸馏总损失值,包括:对每个所述学生语言模型的第一损失值和每个所述学生语言模型的至少一个第二损失值进行加权计算,并将加权计算的结果作为每个所述学生语言模型的蒸馏总损失值。7.一种语言模型的训练装置,包括:预训练模块,用于基于第一无标签训练样本对教师语言模型进行预训练,获得预训练后的教师语言模型;第一多...

【专利技术属性】
技术研发人员:刘炜新陈徐屹刘佳祥冯仕堃黄世维
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1