模型旁路调优方法及装置与流程
未命名
08-26
阅读:143
评论:0

1.本公开涉及机器学习技术领域,尤其涉及一种模型旁路调优方法及装置。
背景技术:
2.近年来,随着机器学习技术的发展,越来越多的目标模型得以应用于各种领域,如计算机视觉、自然语言处理和文本处理等。为了保证目标模型符合要求并且提高模型的训练效率,目前常见的是对已经预训练好的目标模型进行进一步训练。但是因为目标模型往往具有较高的计算复杂度和较大的参数量,这使得对预训练好的目标模型进行进一步训练,同样面临耗时长和目标模型待调优的参数量大的问题。
3.在实现本公开构思的过程中,发明人发现相关技术中至少存在如下技术问题:目标模型训练面临待调优参数量大和耗时长的问题。
技术实现要素:
4.有鉴于此,本公开实施例提供了一种模型旁路调优方法、装置、电子设备及计算机可读存储介质,以解决现有技术中,目标模型训练面临待调优参数量大和耗时长的问题。
5.本公开实施例的第一方面,提供了一种模型旁路调优方法,包括:构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络;对构建第一旁路网络和第二旁路网络后的目标模型进行训练:冻结目标模型中除第一旁路网络和第二旁路网络之外的其它网络层的网络参数,对第一旁路网络和第二旁路网络进行训练;利用训练后的目标模型执行目标任务。
6.本公开实施例的第二方面,提供了一种模型旁路调优装置,包括:第一构建模块,被配置为构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;第二构建模块,被配置为利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络;训练模块,被配置为对构建第一旁路网络和第二旁路网络后的目标模型进行训练:冻结目标模型中除第一旁路网络和第二旁路网络之外的其它网络层的网络参数,对第一旁路网络和第二旁路网络进行训练;执行模块,被配置为利用训练后的目标模型执行目标任务。
7.本公开实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
8.本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
9.本公开实施例与现有技术相比存在的有益效果是:因为本公开实施例通过构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层
的第二旁路网络;对构建第一旁路网络和第二旁路网络后的目标模型进行训练:冻结目标模型中除第一旁路网络和第二旁路网络之外的其它网络层的网络参数,对第一旁路网络和第二旁路网络进行训练;利用训练后的目标模型执行目标任务,因此,采用上述技术手段,可以解决现有技术中,目标模型训练面临待调优参数量大和耗时长的问题,进而减少待调优参数量和训练耗时。
附图说明
10.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
11.图1是本公开实施例提供的一种模型旁路调优方法的流程示意图(一);
12.图2是本公开实施例提供的一种模型旁路调优方法的流程示意图(二);
13.图3是本公开实施例提供的一种原始目标模型的结构示意图;
14.图4是本公开实施例提供的一种模型旁路调优装置的结构示意图;
15.图5是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
16.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
17.图1是本公开实施例提供的一种模型旁路调优方法的流程示意图(一)。图1的模型旁路调优方法可以由计算机或服务器,或者计算机或服务器上的软件执行。如图1所示,该模型旁路调优方法包括:
18.s101,构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;
19.s102,利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络;
20.s103,对构建第一旁路网络和第二旁路网络后的目标模型进行训练:冻结目标模型中除第一旁路网络和第二旁路网络之外的其它网络层的网络参数,对第一旁路网络和第二旁路网络进行训练;
21.s104,利用训练后的目标模型执行目标任务。
22.现有技术,为了保证目标模型符合要求,常常是对已经预训练好的目标模型进行进一步训练,因为目标模型具有较大的待调优参数量,所以实际上对预训练好的目标模型进行进一步训练,同样面临耗时长的问题。对目标模型进一步训练存在训练耗时长,是因为目标模型具有较大的待调优参数量,如果构建目标模型某些网络层的旁路网络,用训练旁路网络来替代训练目标模型,就可以减少训练耗时。所以基于上述考虑,本公开实施例构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性
层的第二旁路网络,在训练时,冻结目标模型原有网络层的网络参数,对第一旁路网络和第二旁路网络进行训练。由于目标模型原有网络层仅为第一旁路网络和第二旁路网络提供输入,因此反向传播的复杂度取决于第一旁路网络和第二旁路网络的规模,并不需要直接在目标模型上执行反向传播,因此是可以明显提升训练效率的。
23.目标模型可以是基于掩码语言模型任务预训练后的bert模型、albert模型、roberta模型、simbert或者debert模型,目标任务可以为文本分类任务。
24.当然,可以预料到的,目标任务可以为其它任务,目标模型可以为其它模型,比如目标任务可以为目标检测任务,目标模型可以为目标检测模型。
25.第一矩阵初始化后服从正态分布,第二矩阵初始化后为零矩阵。
26.假设嵌入层或者线性层的参数矩阵为d*d,那么嵌入层或者线性层的第一矩阵可以为r*d,嵌入层或者线性层的第二矩阵可以为d*r,其中,r可以自行设置。
27.根据本公开实施例提供的技术方案,构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络;对构建第一旁路网络和第二旁路网络后的目标模型进行训练:冻结目标模型中除第一旁路网络和第二旁路网络之外的其它网络层的网络参数,对第一旁路网络和第二旁路网络进行训练;利用训练后的目标模型执行目标任务,因此,采用上述技术手段,可以解决现有技术中,目标模型训练面临待调优参数量大和耗时长的问题,进而减少待调优参数量和训练耗时。
28.利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,包括:嵌入层对应的第一矩阵后接嵌入层对应的第二矩阵,作为嵌入层的第一旁路网络;第一旁路网络的输入和嵌入层的输入相同,第一旁路网络的输出和嵌入层的输出相加作为嵌入层下一个网络层的输入。
29.第一旁路网络的输入也就是嵌入层对应的第一矩阵的输入,可以理解为第一旁路网络的输入依次经过嵌入层对应的第一矩阵和第二矩阵处理,得到第一旁路网络的输出,然后第一旁路网络的输出和嵌入层的输出相加作为嵌入层下一个网络层的输入。
30.假设嵌入层的参数矩阵为d*d,嵌入层的第一矩阵为r*d,嵌入层的第二矩阵为d*r,那么第一旁路网络的输入依次经过嵌入层对应的第一矩阵和第二矩阵处理,得到的第一旁路网络的输出也为d*d,所以第一旁路网络的输出和嵌入层的输出可以直接相加,作为嵌入层下一个网络层的输入。
31.利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络,包括:线性层对应的第一矩阵后接线性层对应的第二矩阵,作为线性层的第二旁路网络;第二旁路网络的输入和线性层的输入相同,第二旁路网络的输出和线性层的输出相加作为线性层下一个网络层的输入。
32.构建线性层的第二旁路网络和构建嵌入层的第一旁路网络类似,不再赘述。
33.利用训练后的目标模型执行目标任务之前,方法还包括:构建目标模型的嵌入层、线性层以及除嵌入层和线性层之外的其它网络层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络,利用其它网络层对应的第一矩阵和第二矩阵构建其它网络层的第三旁路网络;对构建第一旁路网络、第二旁路网络和第三旁路网络后的目
标模型进行训练:冻结目标模型中除第一旁路网络、第二旁路网络和第三旁路网络之外的其它网络层的网络参数,对第一旁路网络、第二旁路网络和第三旁路网络进行训练。
34.其它网络层是目标模型原有的网络层,也就是构建第一旁路网络、第二旁路网络和第三旁路网络前目标模型所拥有的网络层。
35.本公开实施例构建了其它网络层的第三旁路网络,使得目标模型的旁路网络更加丰富,进而提高目标模型的训练效果。
36.在一个可选实施例中,构建目标模型的嵌入层、线性层以及除嵌入层和线性层之外的其它网络层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络,利用其它网络层对应的第一矩阵和第二矩阵构建其它网络层的第三旁路网络;利用第一旁路网络、第二旁路网络和第三旁路网络构建目标模型的旁路网络;对构建旁路网络后的目标模型进行训练:冻结目标模型中除旁路网络之外的其它网络层的网络参数,对旁路网络进行训练。
37.需要说明的是,其它网络层被冻结后,其它网络层仍然是参与训练的,只是不会更新自身的网络参数,更形象的说,其它网络层是参与训练中的计算的,只是不会更新自身的网络参数。比如嵌入层和嵌入层下一个网络层都被冻结,嵌入层仍然会对其输入计算其输出,然后第一旁路网络的输出和嵌入层的输出相加作为嵌入层下一个网络层的输入。
38.冻结目标模型中其它网络层的网络参数,对旁路网络进行训练,实际上和不冻结网络层对目标模型整体进行训练一样,只是不更新其它网络层的网络参数,仅更新旁路网络的网络参数。
39.本公开中关于冻结部分网络层对目标模型中的部分网络层进行训练的多个实施例均是类似的。
40.图2是本公开实施例提供的一种模型旁路调优方法的流程示意图(二)。
41.如图2所示,包括:
42.s201,构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;
43.s202,利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络;
44.s203,冻结目标模型中第一旁路网络和第二旁路网络的网络参数;对目标模型中除第一旁路网络和第二旁路网络之外的其它网络层进行训练;
45.s204,利用训练后的目标模型执行目标任务。
46.本公开实施例是利用第一旁路网络和第二旁路网络提升目标模型的精度,在训练上并不节省时间。
47.根据本公开实施例提供的技术方案,构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络;冻结目标模型中第一旁路网络和第二旁路网络的网络参数;对目标模型中除第一旁路网络和第二旁路网络之外的其它网络层进行训练;利用训练后的目标模型执行目标任务,因此,采用上述技术手段,可以解决现有技术中,目标模型训练面临效果差的问题,进而提高目标模型的训练效果。
48.图3是本公开实施例提供的一种原始目标模型的结构示意图。如图3所示,该目标模型分为嵌入层、注意力层和全连接层。注意力层,包括:线性层、q向量参数矩阵、k向量参数矩阵、v向量参数矩阵、matmul层、scale层、mask层、softmax层和全连接层。
49.原始目标模型是指构建旁路网络前的目标模型。
50.嵌入层的输出经过q向量参数矩阵时其与q向量参数矩阵相乘,得到q向量;嵌入层的输出经过k向量参数矩阵时其与k向量参数矩阵相乘,得到k向量;嵌入层的输出经过v向量参数矩阵时其与v向量参数矩阵相乘,得到v向量。嵌入层用于将输入文本转换为矩阵;matmul层让多个输入相乘;scale层用于池化;mask层用于遮掩标签防止标签泄露;softmax层用于分类;全连接层用于特征聚合。
51.上述所有可选技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
52.下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
53.图4是本公开实施例提供的一种模型旁路调优装置的示意图。如图4所示,该模型旁路调优装置包括:
54.第一构建模块401,被配置为构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;
55.第二构建模块402,被配置为利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络;
56.训练模块403,被配置为对构建第一旁路网络和第二旁路网络后的目标模型进行训练:冻结目标模型中除第一旁路网络和第二旁路网络之外的其它网络层的网络参数,对第一旁路网络和第二旁路网络进行训练;
57.执行模块404,被配置为利用训练后的目标模型执行目标任务。
58.现有技术,为了保证目标模型符合要求,常常是对已经预训练好的目标模型进行进一步训练,因为目标模型具有较大的待调优参数量,所以实际上对预训练好的目标模型进行进一步训练,同样面临耗时长的问题。对目标模型进一步训练存在训练耗时长,是因为目标模型具有较大的待调优参数量,如果构建目标模型某些网络层的旁路网络,用训练旁路网络来替代训练目标模型,就可以减少训练耗时。所以基于上述考虑,本公开实施例构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络,在训练时,冻结目标模型原有网络层的网络参数,对第一旁路网络和第二旁路网络进行训练。由于目标模型原有网络层仅为第一旁路网络和第二旁路网络提供输入,因此反向传播的复杂度取决于第一旁路网络和第二旁路网络的规模,并不需要直接在目标模型上执行反向传播,因此是可以明显提升训练效率的。
59.目标模型可以是基于掩码语言模型任务预训练后的bert模型、albert模型、roberta模型、simbert或者debert模型,目标任务可以为文本分类任务。
60.当然,可以预料到的,目标任务可以为其它任务,目标模型可以为其它模型,比如目标任务可以为目标检测任务,目标模型可以为目标检测模型。
61.第一矩阵初始化后服从正态分布,第二矩阵初始化后为零矩阵。
62.假设嵌入层或者线性层的参数矩阵为d*d,那么嵌入层或者线性层的第一矩阵可以为r*d,嵌入层或者线性层的第二矩阵可以为d*r,其中,r可以自行设置。
63.根据本公开实施例提供的技术方案,构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络;对构建第一旁路网络和第二旁路网络后的目标模型进行训练:冻结目标模型中除第一旁路网络和第二旁路网络之外的其它网络层的网络参数,对第一旁路网络和第二旁路网络进行训练;利用训练后的目标模型执行目标任务,因此,采用上述技术手段,可以解决现有技术中,目标模型训练面临待调优参数量大和耗时长的问题,进而减少待调优参数量和训练耗时。
64.可选地,第二构建模块402还被配置为嵌入层对应的第一矩阵后接嵌入层对应的第二矩阵,作为嵌入层的第一旁路网络;第一旁路网络的输入和嵌入层的输入相同,第一旁路网络的输出和嵌入层的输出相加作为嵌入层下一个网络层的输入。
65.第一旁路网络的输入也就是嵌入层对应的第一矩阵的输入,可以理解为第一旁路网络的输入依次经过嵌入层对应的第一矩阵和第二矩阵处理,得到第一旁路网络的输出,然后第一旁路网络的输出和嵌入层的输出相加作为嵌入层下一个网络层的输入。
66.假设嵌入层的参数矩阵为d*d,嵌入层的第一矩阵为r*d,嵌入层的第二矩阵为d*r,那么第一旁路网络的输入依次经过嵌入层对应的第一矩阵和第二矩阵处理,得到的第一旁路网络的输出也为d*d,所以第一旁路网络的输出和嵌入层的输出可以直接相加,作为嵌入层下一个网络层的输入。
67.可选地,第二构建模块402还被配置为线性层对应的第一矩阵后接线性层对应的第二矩阵,作为线性层的第二旁路网络;第二旁路网络的输入和线性层的输入相同,第二旁路网络的输出和线性层的输出相加作为线性层下一个网络层的输入。
68.构建线性层的第二旁路网络和构建嵌入层的第一旁路网络类似,不再赘述。
69.可选地,训练模块403还被配置为构建目标模型的嵌入层、线性层以及除嵌入层和线性层之外的其它网络层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络,利用其它网络层对应的第一矩阵和第二矩阵构建其它网络层的第三旁路网络;对构建第一旁路网络、第二旁路网络和第三旁路网络后的目标模型进行训练:冻结目标模型中除第一旁路网络、第二旁路网络和第三旁路网络之外的其它网络层的网络参数,对第一旁路网络、第二旁路网络和第三旁路网络进行训练。
70.其它网络层是目标模型原有的网络层,也就是构建第一旁路网络、第二旁路网络和第三旁路网络前目标模型所拥有的网络层。
71.本公开实施例构建了其它网络层的第三旁路网络,使得目标模型的旁路网络更加丰富,进而提高目标模型的训练效果。
72.可选地,训练模块403还被配置为构建目标模型的嵌入层、线性层以及除嵌入层和线性层之外的其它网络层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络,利用其它网络层对应的第一矩阵和第二矩阵构建其它网络层的第三旁路网络;利用第一旁路网络、第二旁路网络和第三旁路网络构建目标模型的旁路网络;对构建
旁路网络后的目标模型进行训练:冻结目标模型中除旁路网络之外的其它网络层的网络参数,对旁路网络进行训练。
73.需要说明的是,其它网络层被冻结后,其它网络层仍然是参与训练的,只是不会更新自身的网络参数,更形象的说,其它网络层是参与训练中的计算的,只是不会更新自身的网络参数。比如嵌入层和嵌入层下一个网络层都被冻结,嵌入层仍然会对其输入计算其输出,然后第一旁路网络的输出和嵌入层的输出相加作为嵌入层下一个网络层的输入。
74.冻结目标模型中其它网络层的网络参数,对旁路网络进行训练,实际上和不冻结网络层对目标模型整体进行训练一样,只是不更新其它网络层的网络参数,仅更新旁路网络的网络参数。
75.本公开中关于冻结部分网络层对目标模型中的部分网络层进行训练的多个实施例均是类似的。
76.可选地,第一构建模块401还被配置为构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;
77.可选地,第二构建模块401还被配置为利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络;
78.可选地,训练模块403还被配置为冻结目标模型中第一旁路网络和第二旁路网络的网络参数;对目标模型中除第一旁路网络和第二旁路网络之外的其它网络层进行训练;
79.可选地,执行模块404还被配置为利用训练后的目标模型执行目标任务。
80.本公开实施例是利用第一旁路网络和第二旁路网络提升目标模型的精度,在训练上并不节省时间。
81.根据本公开实施例提供的技术方案,构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络;冻结目标模型中第一旁路网络和第二旁路网络的网络参数;对目标模型中除第一旁路网络和第二旁路网络之外的其它网络层进行训练;利用训练后的目标模型执行目标任务,因此,采用上述技术手段,可以解决现有技术中,目标模型训练面临效果差的问题,进而提高目标模型的训练效果。
82.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
83.图5是本公开实施例提供的电子设备5的示意图。如图5所示,该实施例的电子设备5包括:处理器501、存储器502以及存储在该存储器502中并且可在处理器501上运行的计算机程序503。处理器501执行计算机程序503时实现上述各个方法实施例中的步骤。或者,处理器501执行计算机程序503时实现上述各装置实施例中各模块/单元的功能。
84.电子设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备5可以包括但不仅限于处理器501和存储器502。本领域技术人员可以理解,图5仅仅是电子设备5的示例,并不构成对电子设备5的限定,可以包括比图示更多或更少的部件,或者不同的部件。
85.处理器501可以是中央处理单元(central processing unit,cpu),也可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
86.存储器502可以是电子设备5的内部存储单元,例如,电子设备5的硬盘或内存。存储器502也可以是电子设备5的外部存储设备,例如,电子设备5上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。存储器502还可以既包括电子设备5的内部存储单元也包括外部存储设备。存储器502用于存储计算机程序以及电子设备所需的其它程序和数据。
87.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
88.集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
89.以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
技术特征:
1.一种模型旁路调优方法,其特征在于,包括:构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;利用所述嵌入层对应的所述第一矩阵和所述第二矩阵构建所述嵌入层的第一旁路网络,利用所述线性层对应的第一矩阵和第二矩阵构建所述线性层的第二旁路网络;对构建所述第一旁路网络和所述第二旁路网络后的所述目标模型进行训练:冻结所述目标模型中除所述第一旁路网络和所述第二旁路网络之外的其它网络层的网络参数,对所述第一旁路网络和所述第二旁路网络进行训练;利用训练后的所述目标模型执行目标任务。2.根据权利要求1所述的方法,其特征在于,所述目标模型是基于掩码语言模型任务预训练后的bert模型、albert模型、roberta模型、simbert或者debert模型;所述目标任务为文本分类任务。3.根据权利要求1所述的方法,其特征在于,所述第一矩阵初始化后服从正态分布,所述第二矩阵初始化后为零矩阵。4.根据权利要求1所述的方法,其特征在于,利用所述嵌入层对应的所述第一矩阵和所述第二矩阵构建所述嵌入层的第一旁路网络,包括:所述嵌入层对应的所述第一矩阵后接所述嵌入层对应的所述第二矩阵,作为所述嵌入层的第一旁路网络;所述第一旁路网络的输入和所述嵌入层的输入相同,所述第一旁路网络的输出和所述嵌入层的输出相加作为所述嵌入层下一个网络层的输入。5.根据权利要求1所述的方法,其特征在于,利用所述线性层对应的第一矩阵和第二矩阵构建所述线性层的第二旁路网络,包括:所述线性层对应的所述第一矩阵后接所述线性层对应的所述第二矩阵,作为所述线性层的第二旁路网络;所述第二旁路网络的输入和所述线性层的输入相同,所述第二旁路网络的输出和所述线性层的输出相加作为所述线性层下一个网络层的输入。6.根据权利要求1所述的方法,其特征在于,对构建所述第一旁路网络和所述第二旁路网络后的所述目标模型进行训练,包括:冻结所述目标模型中所述第一旁路网络和所述第二旁路网络的网络参数;对所述目标模型中除所述第一旁路网络和所述第二旁路网络之外的其它网络层进行训练。7.根据权利要求1所述的方法,其特征在于,利用训练后的所述目标模型执行所述目标任务之前,所述方法还包括:构建所述目标模型的所述嵌入层、所述线性层以及除所述嵌入层和所述线性层之外的其它网络层各自对应的第一矩阵和第二矩阵;利用所述嵌入层对应的所述第一矩阵和所述第二矩阵构建所述嵌入层的第一旁路网络,利用所述线性层对应的第一矩阵和第二矩阵构建所述线性层的第二旁路网络,利用所述其它网络层对应的第一矩阵和第二矩阵构建所述其它网络层的第三旁路网络;对构建所述第一旁路网络、所述第二旁路网络和所述第三旁路网络后的所述目标模型进行训练:冻结所述目标模型中除所述第一旁路网络、所述第二旁路网络和所述第三旁路
网络之外的其它网络层的网络参数,对所述第一旁路网络、所述第二旁路网络和所述第三旁路网络进行训练。8.一种模型旁路调优装置,其特征在于,包括:第一构建模块,被配置为构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;第二构建模块,被配置为利用所述嵌入层对应的所述第一矩阵和所述第二矩阵构建所述嵌入层的第一旁路网络,利用所述线性层对应的第一矩阵和第二矩阵构建所述线性层的第二旁路网络;训练模块,被配置为对构建所述第一旁路网络和所述第二旁路网络后的所述目标模型进行训练:冻结所述目标模型中除所述第一旁路网络和所述第二旁路网络之外的其它网络层的网络参数,对所述第一旁路网络和所述第二旁路网络进行训练;执行模块,被配置为利用训练后的所述目标模型执行目标任务。9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
技术总结
本公开涉及机器学习技术领域,提供了一种模型旁路调优方法及装置。该方法包括:构建目标模型的嵌入层和线性层各自对应的第一矩阵和第二矩阵;利用嵌入层对应的第一矩阵和第二矩阵构建嵌入层的第一旁路网络,利用线性层对应的第一矩阵和第二矩阵构建线性层的第二旁路网络;对构建第一旁路网络和第二旁路网络后的目标模型进行训练:冻结目标模型中除第一旁路网络和第二旁路网络之外的其它网络层的网络参数,对第一旁路网络和第二旁路网络进行训练;利用训练后的目标模型执行目标任务。采用上述技术手段,解决现有技术中,目标模型训练面临待调优参数量大和耗时长的问题。面临待调优参数量大和耗时长的问题。面临待调优参数量大和耗时长的问题。
技术研发人员:暴宇健 汪骞 王灏
受保护的技术使用者:深圳须弥云图空间科技有限公司
技术研发日:2023.05.29
技术公布日:2023/8/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/