模型训练、推理、构建方法、装置、设备及存储介质与流程
未命名
07-20
阅读:126
评论:0
1.本公开涉及信息技术领域,尤其涉及一种模型训练、推理、构建方法、装置、设备及存储介质。
背景技术:
2.目前,预训练模型(pre-trained model)可作为下游任务的初始化模型。通过迁移学习方法,对该预训练模型中的部分结构进行轻量化的调整,从而使得调整后的模型可以处理下游任务。
3.但是,实现轻量化调整的结构与该预训练模型是紧密耦合的,导致针对预训练模型的调优训练方法不够灵活。
技术实现要素:
4.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种模型训练、推理、构建方法、装置、设备及存储介质,以提高针对预训练模型的调优训练方法的灵活性。
5.第一方面,本公开实施例提供一种机器学习模型训练方法,所述机器学习模型包括预训练模型和至少一个待训练结构,所述预训练模型包括至少一个目标结构,所述至少一个待训练结构和所述至少一个目标结构一一对应,存在对应关系的待训练结构和目标结构并联连接,所述方法包括:
6.获取目标任务的样本数据,所述样本数据包括待处理数据和所述待处理数据的标注结果;
7.将所述待处理数据输入到所述机器学习模型,使得存在对应关系的所述待训练结构和所述目标结构并行处理输入数据,所述输入数据是所述待处理数据或是根据所述待处理数据得到的数据;
8.根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果,所述机器学习模型的输出信息与所述调整后的处理结果相关;
9.根据所述输出信息和所述标注结果,对所述至少一个待训练结构中的参数进行调整。
10.第二方面,本公开实施例提供一种机器学习模型推理方法,所述机器学习模型包括预训练模型和至少一个已训练结构,所述至少一个已训练结构是根据第一方面所述的方法训练得到的,所述预训练模型包括至少一个目标结构,所述至少一个已训练结构和所述至少一个目标结构一一对应,存在对应关系的已训练结构和目标结构并联连接,所述方法包括:
11.获取目标任务的目标数据;
12.将所述目标数据输入到所述机器学习模型,使得存在对应关系的所述已训练结构
和所述目标结构并行处理输入数据,所述输入数据是所述目标数据或是根据所述目标数据得到的数据;
13.根据所述已训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果;
14.根据所述调整后的处理结果,确定所述目标数据的输出结果。
15.第三方面,本公开实施例提供一种机器学习模型构建方法,所述方法包括:
16.根据目标任务,确定预训练模型中待调整的至少一个目标结构;
17.获取至少一个待训练结构,使得所述至少一个待训练结构和所述至少一个目标结构一一对应;
18.将存在对应关系的待训练结构和目标结构进行并联连接,得到机器学习模型,所述机器学习模型包括所述预训练模型和所述至少一个待训练结构,针对所述至少一个待训练结构的训练方法采用如第一方面所述的方法。
19.第四方面,本公开实施例提供一种图像处理方法,所述方法包括:
20.获取待处理的目标图像;
21.将所述目标图像输入到机器学习模型,所述机器学习模型包括预训练模型和至少一个已训练结构,所述至少一个已训练结构是根据如第一方面所述的方法训练得到的,所述预训练模型包括至少一个目标结构,所述至少一个已训练结构和所述至少一个目标结构一一对应,存在对应关系的已训练结构和目标结构并联连接,且存在对应关系的所述已训练结构和所述目标结构并行处理输入数据,所述输入数据是所述目标图像或是根据所述目标图像得到的数据;
22.根据所述已训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果;
23.根据所述调整后的处理结果,确定所述目标图像的图像处理结果。
24.第五方面,本公开实施例提供一种机器学习模型训练装置,所述机器学习模型包括预训练模型和至少一个待训练结构,所述预训练模型包括至少一个目标结构,所述至少一个待训练结构和所述至少一个目标结构一一对应,存在对应关系的待训练结构和目标结构并联连接,所述装置包括:
25.获取模块,用于获取目标任务的样本数据,所述样本数据包括待处理数据和所述待处理数据的标注结果;
26.输入模块,用于将所述待处理数据输入到所述机器学习模型,使得存在对应关系的所述待训练结构和所述目标结构并行处理输入数据,所述输入数据是所述待处理数据或是根据所述待处理数据得到的数据;
27.第一调整模块,用于根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果,所述机器学习模型的输出信息与所述调整后的处理结果相关;
28.第二调整模块,用于根据所述输出信息和所述标注结果,对所述至少一个待训练结构中的参数进行调整。
29.第六方面,本公开实施例提供一种电子设备,包括:
30.存储器;
31.处理器;以及
32.计算机程序;
33.其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面至第四方面所述的方法。
34.第七方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面至第四方面所述的方法。
35.本公开实施例提供的模型训练、推理、构建方法、装置、设备及存储介质,通过在预训练模型的基础上增加至少一个待训练结构,使得预训练模型中的至少一个目标结构和该至少一个待训练结构一一对应,并且存在对应关系的待训练结构和目标结构并联连接,使得存在对应关系的待训练结构和目标结构可并行处理输入数据。进一步,根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,使得待训练结构的输出可影响到该机器学习模型最终的输出信息。进一步,根据该输出信息和预设的标注结果,对至少一个待训练结构中的参数进行调整。从而实现了对预训练模型的调优训练。由于待训练结构是并联到预训练模型中的目标结构上的,因此,降低了待训练结构和预训练模型的耦合度,从而提高了针对预训练模型的调优训练方法的灵活性。
附图说明
36.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
37.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
38.图1为本公开实施例提供的机器学习模型训练方法流程图;
39.图2为本公开实施例提供的应用场景的示意图;
40.图3为现有技术中的预训练模型的示意图;
41.图4为本公开实施例提供的机器学习模型的结构示意图;
42.图5为本公开实施例提供的统一框架;
43.图6为现有技术中的prefix的示意图;
44.图7为本公开实施例提供的prefix的并行结构的示意图;
45.图8为现有技术中的prompt的示意图;
46.图9为本公开实施例提供的prompt的并行结构的示意图;
47.图10为现有技术中的adapter的示意图;
48.图11为本公开实施例提供的adapter的并行结构的示意图;
49.图12为本公开另一实施例提供的多个并联结构的示意图;
50.图13为本公开另一实施例提供的第一预设结构的示意图;
51.图14为本公开另一实施例提供的第二预设结构的示意图;
52.图15为本公开另一实施例提供的第三预设结构的示意图;
53.图16为本公开另一实施例提供的多个预设结构并联的示意图;
54.图17为本公开另一实施例提供的多个待训练结构分别实例化的示意图;
55.图18为本公开另一实施例提供的机器学习模型推理方法流程图;
56.图19为本公开另一实施例提供的机器学习模型构建方法流程图;
57.图20为本公开另一实施例提供的图像处理方法流程图;
58.图21为本公开另一实施例提供的应用场景的示意图;
59.图22为本公开实施例提供的机器学习模型训练装置的结构示意图;
60.图23为本公开实施例提供的电子设备实施例的结构示意图。
具体实施方式
61.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
62.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
63.需要说明的是,本技术所涉及的机器学习模型在训练阶段、推理阶段所适用的目标任务(包括但不限于用户设定的目标任务、根据实际应用需求确定的目标任务等)、样本数据和目标数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
64.另外,本技术提供的机器学习模型训练方法、推理方法会涉及到如下的几个术语解释,详细内容如下:
65.预训练模型(pre-trained model):在具有代表性的数据集上进行大规模训练、调优后产出的模型。通常用于作为下游任务训练时候的初始化模型,以加快训练速度或获得更好的效果。
66.基础模型(foundation model):在不同领域中,通过大量数据、强大的算力、精心设计的结构而训练出来的模型,可以适应一系列下游任务。
67.迁移学习(transfer learning):从已学习的相关任务中,通过转移知识来改进新任务的学习。迁移学习是一种机器学习方法,就是把为任务a开发的模型作为初始点,重新使用在为任务b开发模型的过程中。
68.参数高效的迁移学习方法(parameter-efficient transfer learning,petl):在预训练模型的基础之上,通过修改少部分参数或增加少量额外参数的调优训练方法。
69.transformer:一种网络架构,通常由若干层编码器和解码器组成。
70.vision transformer:一种网络架构,是transformer架构在视觉领域上的迁移应用。
71.transformer block:一个transformer的子块,通常由多头注意力和前馈网络组成。
72.多头注意力(multi-head attention,mha):通常是将查询(query)、键(key)、值(value)进行相关向量计算的模块。
73.前馈网络(feed-forward network,ffn):通常是由多个全连接层和激活函数组成。
74.多层感知机(multi-layer perceptron,mlp):一个网络模块,通常由一个或多个隐藏层和激活函数组成。
75.adapter:一种调优训练方法,通常作用在前馈网络中,是由两个全连接层和一个激活函数组成的小模块。
76.prompt:一种调优训练方法,通常是借助一个和输入相拼接的可学习参数进行调优训练。
77.prefix:一种调优训练方法,通常是借助和多头注意力层中的键(key)和值(value)相拼接的两个可学习参数进行调优训练。
78.通常情况下,预训练模型(pre-trained model)可作为下游任务的初始化模型。通过迁移学习方法,对该预训练模型中的部分结构进行轻量化的调整,从而使得调整后的模型可以处理下游任务。但是,实现轻量化调整的结构与该预训练模型是紧密耦合的,导致针对预训练模型的调优训练方法不够灵活。针对该问题,本公开实施例提供了一种模型训练、推理、构建方法,下面结合具体的实施例对该方法进行介绍。
79.图1为本公开实施例提供的机器学习模型训练方法流程图。该方法可以由机器学习模型训练装置执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于电子设备中,例如服务器或终端中,其中,终端具体包括手机、电脑或平板电脑等。服务器具体可以是云端的服务器,该机器学习模型训练方法可以由云端来执行,在云端可以部署有若干计算节点(云服务器),每个计算节点中都具有计算、存储等处理资源。在云端,可以组织由多个计算节点来提供某种服务,当然,一个计算节点也可以提供一种或多种服务。云端提供该服务的方式可以是对外提供服务接口,用户调用该服务接口以使用相应的服务。服务接口包括软件开发工具包(software development kit,简称sdk)、应用程序接口(application programming interface,简称api)等形式。另外,本实施例所述的机器学习模型训练方法可以适用于如图2所示的应用场景。如图2所示,该应用场景包括终端21和服务器22,其中,服务器22可以对机器学习模型进行训练,然后将训练完成后的机器学习模型保留在本地或部署到终端21或其他服务器上。
80.在本实施例中,所述机器学习模型包括预训练模型和至少一个待训练结构,所述预训练模型包括至少一个目标结构,所述至少一个待训练结构和所述至少一个目标结构一一对应,存在对应关系的待训练结构和目标结构并联连接。
81.由于预训练模型可以作为下游任务训练时候的初始化模型,因此,在预训练模型的基础上,采用参数高效的迁移学习方法进一步对预训练模型中已有的部分参数进行修改,或者保持预训练模型中已有参数不变的情况下给预训练模型增加新的参数,相当于对预训练模型进一步调优训练,使得预训练模型可以演化为能够处理下游任务的机器学习模型。
82.如图3所示,假设预训练模型是transformer,transformer包括多个子块(block),每个子块的结构如图3所示的31。假设该预训练模型已经具备一定数量的参数,但是,将该预训练模型应用到下游任务时,通过该预训练模型已经的参数对下游任务中的待处理数据进行处理时,无法达到预期的性能指标。因此,需要对该预训练模型中已有的部分参数进行
修改,或者保持预训练模型中已有参数不变的情况下给预训练模型增加新的参数,使得预训练模型可以演化为能够处理下游任务的机器学习模型。本实施例以增加新的参数为例,如图4所示,本实施例可以在预训练模型的基础上,增加一些待训练结构,得到如图4所示的待训练的机器学习模型,每个待训练结构的内部分别包括一个或多个待训练的参数。进一步,根据下游任务中的样本数据对该待训练的机器学习模型进行训练,具体的,对该待训练的机器学习模型中的一个或多个待训练结构进行训练。也就是说,在训练过程中,可以保持预训练模型内已有的参数不变,而不断调整各个待训练结构内部的参数。当训练完成时,各个待训练结构内部的参数可视为新增加的参数。例如,预训练模型已有的参数是50个,新增加的参数是5个,那么如图4所示的机器学习模型在训练完成时具备了55个参数,相当于对预训练模型已有的参数进行了扩展,同时采用更多的参数对下游任务中的待处理数据进行处理时,可达到预期的性能指标,例如预期的精准度。
83.也就是说,本公开实施例通过重新审视参数高效迁移学习方法的设计范式,推导出了一个用于参数高效迁移学习的统一框架(unified tuning,u-tuning),具体的,该框架由冻结参数的操作模块(op)和统一的调优模块(u-tuner)组成。操作模块(op)具体可以是预训练模型或预训练模型内部的部分结构,例如图4所示的mha、ffn、子块等。统一的调优模块(u-tuner)具体可以是如图4所示的待训练结构。如图4所示,mha、ffn、子块分别并联有一个待训练结构,因此,将预训练模型中并联有待训练结构的部分结构记为目标结构。例如图4所示的机器学习模型包括3个目标结构和3个待训练结构,3个目标结构和3个待训练结构一一对应,存在对应关系的待训练结构和目标结构并联连接。可以理解的是,如图4所示的机器学习模型只是一种示意性的说明,本实施例并不限定目标结构的个数和待训练结构的个数。另外,本实施例对目标结构也不做具体限定,例如,目标结构除了可以是mha、ffn、子块之外,还可以是mha或ffn内部的子层,例如ffn中的前向反馈层(feed forward)。此外,在其他实施例中,目标结构还可以是transformer。
84.下面结合图2和图4对该机器学习模型的训练方法进行详细介绍,如图1所示,该方法具体步骤如下:
85.s101、获取目标任务的样本数据,所述样本数据包括待处理数据和所述待处理数据的标注结果。
86.例如,将下游任务记为目标任务,服务器22可以获取目标任务的样本数据,该样本数据包括待处理数据和所述待处理数据的标注结果。例如,该目标任务是图像分类任务。待处理数据可以是样本图像,待处理数据的标注结果可以是该样本图像的分类标签。例如,该样本图像是场景图像,该样本图像的分类标签是场景的分类标签,例如自然风景或办公环境。本实施例并不限定服务器22获取样本数据的方式。例如,服务器22本地可存储有该目标任务的样本数据。或者,服务器22可以从终端21或其他服务器接收该目标任务的样本数据。再或者,服务器22可以从网络中抓取该目标任务的样本数据。
87.s102、将所述待处理数据输入到所述机器学习模型,使得存在对应关系的所述待训练结构和所述目标结构并行处理输入数据,所述输入数据是所述待处理数据或是根据所述待处理数据得到的数据。
88.例如,服务器22可以将该样本图像输入到如图4所示的机器学习模型中,即该样本图像可作为如图4所示的输入(input)40。或者,如图4所示的输入40还可以是该样本图像的
表示向量。再或者,如图4所示的输入40是对该样本图像进行初始化处理之后的图像,该初始化处理不限于图像裁剪、图像缩放、图像锐化、亮度调整等。也就是说,如图4所示的输入40可以是样本图像,或者是根据样本图像得到的数据。
89.此外,根据该样本图像得到的数据还可以是该机器学习模型中中间层输出的中间结果。例如图4所示,按照从下到上的顺序看,如果子块41是该顺序中的第一个子块,则如图4所示的输入40可以是该样本图像。如果子块41不是该顺序中的第一个子块,例如,子块41是该顺序中的第二个子块,那么如图4所示的输入40可以是第一个子块对样本图像进行处理后输出的中间结果。同理,对于子块41的内部而言,子块41的输入数据(即输入到子块41的数据)和待训练结构42的输入数据(即输入到待训练结构42的数据)分别是如图4所示的输入40,mha的输入数据和待训练结构43的输入数据分别是如图4所示的输入40。ffn的输入数据和待训练结构44的输入数据分别是运算符45输出的中间结果。
90.由于存在对应关系的所述待训练结构和所述目标结构并联连接,因此,存在对应关系的所述待训练结构和所述目标结构可并行处理输入数据,只是对于不同的对应关系而言,该输入数据可能会不同。例如,子块41和待训练结构42并行处理的输入数据是输入40,ffn和待训练结构44并行处理的输入数据是根据输入40得到的数据。
91.s103、根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果,所述机器学习模型的输出信息与所述调整后的处理结果相关。
92.例如以图4所示的mha和待训练结构43为例,由于mha和待训练结构43并联连接,因此,mha和待训练结构43并行处理相应的输入数据,假设待训练结构43对该输入数据进行处理后得到的结果记为第一处理结果,mha对该输入数据进行处理后得到的结果记为第二处理结果,则根据第一处理结果可以调整第二处理结果。例如,第一处理结果和第二处理结果是相同维度的向量,在第二处理结果的基础上加上该第一处理结果,即可实现对第二处理结果的调整,使得第二处理结果变为一个新的处理结果,该新的处理结果记为调整后的处理结果。具体的,该调整过程可以由如图4所示的运算符45来实现。
93.同理,在ffn和待训练结构44并行处理相应的输入数据之后,根据待训练结构44对该输入数据的处理结果调整ffn对该输入数据的处理结果,得到调整后的处理结果,该调整过程通过运算符46来实现。
94.同理,在子块41和待训练结构42并行处理相应的输入数据之后,根据待训练结构42对该输入数据的处理结果调整子块41对该输入数据的处理结果,得到调整后的处理结果,该调整过程通过运算符47来实现。
95.另外,如图4所示的子块41只是该机器学习模型中的一个子块,子块41的输出即运算符47的输出可进一步作为子块41的上一个子块的输入,上一个子块对该输入的处理过程类似于图4所示的子块41对输入40的处理过程,此处不再赘述。依次类推,经过该机器学习模型中最上面一个子块处理后,可得到该机器学习模型的输出信息,该输出信息与如上所述的调整后的处理结果相关。也就是说,如上所述的调整后的处理结果参与到了从该机器学习模型的输入到该机器学习模型的输出信息的计算过程中,即如图4所示的各个待训练结构的输出会影响到该机器学习模型的输出信息。
96.s104、根据所述输出信息和所述标注结果,对所述至少一个待训练结构中的参数
进行调整。
97.例如,根据该机器学习模型的输出信息和待处理数据的标注结果之间的相似度或差值,调整该如图4所示的各个待训练结构中的参数,使得该机器学习模型的输出信息和待处理数据的标注结果在后续的迭代训练过程中逐渐的相似。示例性地,可根据该机器学习模型的输出信息和待处理数据之间的梯度数据,引导参数调整。其中,梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大。也正是基于此原理,可以引导参数的调整方向,使得该机器学习模型的输出信息向待处理数据的标注结果靠近。
98.另外,当如图4所示的各个待训练结构被训练完成时,如图4所示的机器学习模型还可称为调优后的预训练模型。
99.本公开实施例通过在预训练模型的基础上增加至少一个待训练结构,使得预训练模型中的至少一个目标结构和该至少一个待训练结构一一对应,并且存在对应关系的待训练结构和目标结构并联连接,使得存在对应关系的待训练结构和目标结构可并行处理输入数据。进一步,根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,使得待训练结构的输出可影响到该机器学习模型最终的输出信息。进一步,根据该输出信息和预设的标注结果,对至少一个待训练结构中的参数进行调整。从而实现了对预训练模型的调优训练。由于待训练结构是并联到预训练模型中的目标结构上的,因此,降低了待训练结构和预训练模型的耦合度,从而提高了针对预训练模型的调优训练方法的灵活性。
100.如图5所示的结构是本实施例为参数高效的迁移学习提供的一个统一的框架,该框架称之为u-tuning。u-tuning由冻结参数的操作模块(op)和统一的调优模块(u-tuner)组成,并且冻结参数的操作模块(op)和统一的调优模块(u-tuner)并联连接。u-tuner还可记为统一的轻量化可训练结构。该框架允许灵活插入u-tuner。实验表明该框架具备足够的通用性,且该框架可以在各种不同的下游任务上实现较好的性能,例如具有较高的泛化性和高性能。另外,通过该框架不仅可以实现现有的参数高效迁移学习方法,还可以实现新的参数高效迁移学习方法。
101.如图5所示,x表示输入,op可以是transformer结构或transformer结构中的部分结构。op(x)表示通过op中的参数对输入进行处理后的结果,该op中的参数是预训练模型中已有的参数。当u-tuner是待训练结构时,u-tuner(x)表示通过u-tuner中的参数对输入进行处理后的结果。op(x)+u-tuner(x)表示根据u-tuner(x)对op(x)进行调整后的结果。
102.在上述实施例的基础上,所述预训练模型包括多个子块,所述子块包括多头注意力层和前馈网络,所述多头注意力层或所述前馈网络包括多个子层;所述至少一个目标结构是所述子层、所述多头注意力层、所述前馈网络、所述子块、所述预训练模型中的至少一个。
103.如图4所示,预训练模型包括多个子块,每个子块包括多头注意力层和前馈网络,多头注意力层和前馈网络分别包括多个子层。如上所述的op可以是子层、多头注意力层、前馈网络、子块、或预训练模型。
104.可见,本实施例中的待训练结构可以对预训练模型内部各个层级的部分结构生效、甚至可以对预训练模型生效。也就是说,本实施例通过待训练结构不仅可以调优预训练
模型内部各个层级的部分结构的输出分布,还可以调优预训练模型的输出分布。而在现有的调优训练方法中,实现轻量化调整的结构仅对预训练模型内部的部分结构生效,例如,仅对mha或ffn生效,使得剩余未被调整的部分结构无法适应下游任务的数据分布。因此,本实施例相比于现有技术而言,可提高调优后的预训练模型对下游任务的适应性。
105.本实施例对现有的参数高效迁移学习方法进行了研究,发现每一种现有的参数高效迁移学习方法可以等价地表示为现有操作(例如transformer中的mha或ffn)和新引入子结构(例如类似于mha或ffn的结构)的并行组合形式。
106.例如图6所示是现有的prefix的示意图。mha中包括如图4所示的3个已知参数,分别是wq、wk、wv。wq、wk、wv分别是投影权重。wq、wk、wv属于预训练模型中已有的参数。假设输入记为x,当x和wq结合时,例如x和wq相乘可得到q,q表示查询(query)的表示向量。当x和wk结合时,例如x和wk相乘可得到k,k表示键(key)的表示向量。当x和wv结合时,例如x和wv相乘可得到v,v表示值(value)的表示向量。k
pre
表示拼接在k上待训练的参数,v
pre
表示拼接在v上待训练的参数。现有的prefix通过k
pre
和v
pre
对预训练模型进行调优训练。具体的,图6所示的mha的输出mha
pre
可以表示如下公式(1):
107.mha
pre
=attn(xwq,[k
pre
;xwk],[v
pre
;xwv])
ꢀꢀꢀꢀꢀꢀ
(1)
[0108]
其中,x表示输入。attn表示mha内部对xwq、[k
pre
;xwk]、[v
pre
;xwv]这三个向量进行计算的方法。[k
pre
;xwk]表示k
pre
和xwk拼接后得到的向量。[v
pre
;xwv]表示v
pre
和xwv拼接后得到的向量。
[0109]
根据如上的公式(1)可以推导出如下的公式(2):
[0110]
mha
′
pre
=(1-λ)attn(q,k,v)+λattn(q,k
pre
,v
pre
)
ꢀꢀ
(2)
[0111]
其中,λ表示权重系数。因此,在本实施例中,可以根据如图6所示的结构推导出如图7所示的平行结构。该平行结构包括现有操作71和新引入子结构72。现有操作71的输出是attn(q,k,v),新引入子结构72的输出是attn(q,k
pre
,v
pre
)。该平行结构整体的输出是公式(2)中的mha
′
pre
。现有操作71和新引入子结构72可以并行计算。
[0112]
图8所示为现有的prompt的示意图。例如,现有的prompt借助于一个和输入相拼接的可学习参数对预训练模型进行调优训练。该可学习参数的维度和该输入的维度相同。具体的,图8所示的mha的输出mha
pro
可以表示如下公式(3):
[0113]
mha
pro
=attn([x;x
pro
]wq,[x;x
pro
]wk,[x;x
pro
]wv)
ꢀꢀꢀꢀꢀꢀ
(3)
[0114]
其中,x表示输入。x
pro
表示可学习参数。[x;x
pro
]表示x和x
pro
拼接后得到的向量。wq、wk、wv分别是mha中的投影权重,wq、wk、wv属于预训练模型中已有的参数。
[0115]
根据如上的公式(3)可以推导出如下的公式(4):
[0116]
mha
′
pro
=(1-λ)attn(q,k,v)+λattn(q,k
pro
,v
pro
)
ꢀꢀꢀꢀ
(4)
[0117]
其中,λ表示权重系数。k
pro
=x
pro
wk。v
pro
=x
pro
wv。因此,在本实施例中,可以根据如图8所示的结构推导出如图9所示的平行结构。该平行结构包括现有操作91和新引入子结构92。现有操作91的输出是attn(q,k,v),新引入子结构92的输出是attn(q,k
pro
,v
pro
)。该平行结构整体的输出是公式(4)中的mha
′
pro
。现有操作91和新引入子结构92可以并行计算。
[0118]
图10所示为现有的adapter的示意图。例如,adapter通常是作用在ffn中的由两个全连接层和一个激活函数组成的小模块上。图10所示的adapter的输出可以表示为如下公式(5):
[0119][0120]
其中,x表示输入。表示激活函数,即图10所示的非线性层(non-linear)。w
down
和w
up
分别表示可学习参数。根据如上的公式(5)可以推导出如下的公式(6):
[0121][0122]
其中,表示激活函数。因此,在本实施例中,可以根据如图10所示的结构推导出如图11所示的平行结构。该平行结构包括现有操作111和新引入子结构112。现有操作111的输出是ffn(x),新引入子结构112的输出是该平行结构整体的输出是公式(6)中的ffn
′
adapter
。现有操作111和新引入子结构112可以并行计算。也就是说,现有技术中带有adapter的ffn可以等价为原始ffn模块和带有mlp层的ffn模型的并联。
[0123]
根据如上图6-图11可知,现有的调优方法可以概括为一个统一的公式,如下公式(7)所示:
[0124]
x
′
=op(x)+u-tuner(x)
ꢀꢀꢀꢀ
(7)
[0125]
其中,op表示transformer中已有的操作,例如,现有操作71、现有操作91、现有操作111。u-tuner表示统一调优器,例如,新引入子结构72、新引入子结构92、新引入子结构112。u-tuner的输出即u-tuner(x)用于对op的输出分布例如op(x)进行调整。调整后的结果表示为x
′
。
[0126]
在本实施例中,由于op和u-tuner是并联连接,因此,对op的实例化和对u-tuner的实例化可以是相互独立的。例如,将op实例化为mha或ffn中的子层,或者实例化为mha或ffn,再或者实例化为transformer子层,或者还可以实例化为transformer。将u-tuner实例化为新引入子结构72、新引入子结构92或新引入子结构112。或者将u-tuner实例化为新引入子结构72、新引入子结构92和新引入子结构112中至少两个的并联组合。也就是说,对op的实例化不影响对u-tuner的实例化,对u-tuner的实例化也不影响对op的实例化。因此,对op和u-tuner分别实例化之后得到的实例化组合形式,并不限于图7、图9、图11所示的平行结构。在图7、图9、图11所示的平行结构中,对op的实例化和对u-tuner的实例化类似,例如图7中,op被实例化为mha,u-tuner被实例化为新引入子结构72,新引入子结构72内部的计算过程类似于mha内部的计算过程。而在其他实施例中,对op的实例化和对u-tuner的实例化可以不相似,例如,op被实例化为mha,u-tuner被实例化为新引入子结构112。另外,u-tuner不仅可以被实例化为一个新引入子结构,还可以被实例化为多个新引入子结构的并联组合。例如图12所示,op被实例化为mha,u-tuner被实例化为新引入子结构72和新引入子结构112的并联组合。也就是说,将op的各种实例化形式和u-tuner的各种实例化形式进行组合后可生成各种新的调优方法。
[0127]
另外,可以理解的是,调优训练方法不限于adapter、prompt、prefix。当出现新的调优训练方法时,还可以出现新的平行结构,从而出现不同于新引入子结构72、新引入子结构92和新引入子结构112的其他新引入子结构。在这种情况下,还可以进一步对u-tuner的实例化进行扩展,使得u-tuner的实例化更加灵活多样。从而使得op和u-tuner分别实例化之后得到的实例化组合形式进一步灵活多样,从而实现新的参数高效迁移方法。也就是说,通过丰富u-tuner的实例化,可以轻松扩展到新的调优方法。
[0128]
此外,本实施例可以将u-tuner附加到预训练模型内部各个层级的部分结构上,例如,不仅可以附加到mha和ffn,还可以附加到mha或ffn内的子层,或附加到transformer中的子块,甚至可以附加到transformer上。提高了u-tuner的适用范围。
[0129]
由于op可以是子层、多头注意力层、前馈网络、子块、或预训练模型,因此,op项可以与预训练模型的设计保持对齐,这种对齐方式允许op保留预训练模型的泛化能力。另外,由于op可以是子层、多头注意力层、前馈网络、子块、或预训练模型,即op可以被实例化为预训练模型中的任意一个结构,使得u-tuner可以调优预训练模型中任意一个结构的输出分布,以适应各种下游任务中的数据分布。从而增加了u-tuning框架和公式(7)的灵活性。
[0130]
另外,由于op的实例化和u-tuner的实例化是解耦的,因此,u-tuner被实例化之后的结构不一定需要与op被实例化之后的结构一致。例如,当op被实例化为mha时,u-tuner不限于被实例化为新引入子结构72或新引入子结构92,例如可以被实例化为新引入子结构112。这与现有的调优方法形成了较为明显的对比,例如图6、图8、图10依次是prefix、prompt、adapter的示意图,由于虚线框内的参数与mha或ffn中已有的参数紧密耦合,因此,虚线框内的参数所参与的计算方法类似于mha或ffn内部的计算方法。而图5所示的结构中,由于op的实例化和u-tuner的实例化解耦,因此,u-tuner内部对输入的计算方法可以不同于op内部对输入的计算方法。例如,图6所示的prefix,k
pre
和v
pre
参与到mha内部的计算过程中,并且k
pre
和v
pre
作用于mha。如图7所示的新引入子结构72中的k
pre
和v
pre
参与的计算方法即λattn(q,k
pre
,v
pre
)类似于mha内部的计算方法(1-λ)attn(q,k,v),但是,新引入子结构72不仅可以作用于mha,还可以作用于ffn,即新引入子结构72中的k
pre
和v
pte
不仅可以作用于mha,还可以作用于ffn。另外,由于op的实例化和u-tuner的实例化解耦,因此,还可以更加灵活的将u-tuner插入到预训练模型中,或者是从预训练模型中灵活的移除。使得u-tuner具有较高的灵活性,有助于将添加有u-tuner之后的预训练模型部署到各种下游任务上。
[0131]
上述实施例介绍了在待训练的机器学习模型中可以增加至少一个待训练结构,可选的,所述至少一个待训练结构分别包括多个预设结构中的至少一个;针对存在对应关系的所述待训练结构和所述目标结构,所述待训练结构包括的至少一个预设结构分别与所述目标结构并联连接。
[0132]
例如,多个预设结构分别是如上所述的新引入子结构72、新引入子结构92和新引入子结构112。以图4所示的机器学习模型为例,待训练结构42、待训练结构43、待训练结构44中的部分结构可以为空,其他部分结构被实例化。或者,待训练结构42、待训练结构43、待训练结构44分别被实例化。当待训练结构42、待训练结构43、待训练结构44分别被实例化时,任意一个待训练结构可以被实例化为新引入子结构72、新引入子结构92和新引入子结构112中的一个、或多个的并联组合。另外,各个待训练结构的实例化过程可以相互独立、互不影响。
[0133]
当图4所示的机器学习模型中的mha记为目标结构时,该目标结构可以是图12所示的71,与该目标结构对应的待训练结构可以是如图12所示的新引入子结构72和新引入子结构112的并联组合。并且新引入子结构72和新引入子结构112分别与该目标结构并联连接,即目标结构(如图12所示的71)、新引入子结构72和新引入子结构112三者并联连接。
[0134]
可选的,所述多个预设结构中的第一预设结构包括第一待训练参数、第二待训练参数、以及第一已知参数;当所述待训练结构包括所述第一预设结构时,所述第一预设结构
对所述输入数据的处理,包括:根据所述输入数据和所述第一已知参数计算得到第一中间值;根据所述第一待训练参数、所述第二待训练参数、以及所述第一中间值,计算所述第一预设结构对所述输入数据的处理结果。
[0135]
例如,当图7所示的现有操作71概括抽象为op时,新引入子结构72可概括抽象为如图13所示的预设结构131,预设结构131记为第一预设结构。如图13所示,该第一预设结构包括第一待训练参数k
pre
、第二待训练参数v
pre
,另外,该第一预设结构中还可以包括第一已知参数,第一已知参数是wq。该第一预设结构对输入数据x的处理过程具体可以是:根据输入数据x和第一已知参数wq计算得到第一中间值q,例如x和wq相乘可得到q。进一步,根据第一待训练参数k
pre
、第二待训练参数v
pre
、以及第一中间值q,计算该第一预设结构对输入数据x的处理结果,该处理结果具体可以是attn(q,k
pre
,v
pre
)。
[0136]
可选的,所述多个预设结构中的第二预设结构包括第三待训练参数、第一已知参数、第二已知参数和第三已知参数,所述待训练参数的维度和所述输入数据的维度相同;当所述待训练结构包括所述第二预设结构时,所述第二预设结构对所述输入数据的处理,包括:根据所述输入数据和所述第一已知参数计算得到第一中间值;根据所述第三待训练参数和所述第二已知参数计算得到第二中间值;根据所述第三待训练参数和所述第三已知参数计算得到第三中间值;根据所述第一中间值、所述第二中间值和所述第三中间值,计算所述第二预设结构对所述输入数据的处理结果。
[0137]
例如,当图9所示的现有操作91概括抽象为op时,新引入子结构92可概括抽象为如图14所示的预设结构141,预设结构141记为第二预设结构。如图14所示,该第二预设结构包括可学习参数x
pro
,该可学习参数x
pro
记为第三待训练参数。另外,该第二预设结构还可以包括第一已知参数、第二已知参数和第三已知参数,第一已知参数可以是wq,第二已知参数可以是wk,第三已知参数可以是wv。该可学习参数x
pro
的维度和输入数据x的维度相同。第二预设结构对输入数据x的处理过程具体可以是:根据输入数据x和第一已知参数wq计算得到第一中间值q,例如x和wq相乘可得到q。根据可学习参数x
pro
和第二已知参数wk计算得到第二中间值k
pro
,k
pro
=x
pro
wk。根据可学习参数x
pro
和第三已知参数wv计算得到第三中间值v
pro
,v
pro
=x
pro
wv。进一步,根据第一中间值q、所述第二中间值k
pro
和所述第三中间值v
pro
,计算所述第二预设结构对所述输入数据的处理结果,该处理结果记为attn(q,k
pro
,v
pro
)。
[0138]
可选的,所述多个预设结构中的第三预设结构包括第四待训练参数和第五待训练参数;当所述待训练结构包括所述第三预设结构时,所述第三预设结构对所述输入数据的处理,包括:根据所述第四待训练参数和所述输入数据计算得到第四中间值;对所述第四中间值进行非线性处理,得到非线性处理结果;根据所述非线性处理结果和所述第五待训练参数,计算所述第三预设结构对所述输入数据的处理结果。
[0139]
例如,当图11所示的现有操作111概括抽象为op时,新引入子结构112可概括抽象为如图15所示的预设结构151,预设结构151记为第三预设结构。如图15所示,该第三预设结构包括第四待训练参数w
down
和第五待训练参数w
up
;第三预设结构对输入数据x的处理过程具体可以是:根据第四待训练参数w
down
和输入数据x计算得到第四中间值,例如xw
down
。对第四中间值进行非线性处理,得到非线性处理结果,例如根据非线性处理结果和第五待训练参数w
up
,计算所述第三预设结构对所述输入数据的处理结果,
例如该处理结果是
[0140]
可选的,所述待训练结构对所述输入数据的第一处理结果包括所述至少一个预设结构分别对所述输入数据的处理结果;根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,包括:根据所述至少一个预设结构分别对应的缩放因子、以及所述至少一个预设结构分别对所述输入数据的处理结果,调整所述目标结构对所述输入数据的第二处理结果。
[0141]
另外,如图13、图14、图15所示,第一预设结构131、第二预设结构141和第三预设结构151中分别包括一个缩放因子scale。该缩放因子可用于表示根据第一预设结构131、第二预设结构141或第三预设结构151对输入数据的处理结果调整op对输入数据的处理结果时的调整程度。例如,第一预设结构131中的缩放因子scale表示根据第一预设结构131对输入数据的处理结果调整op对输入数据的处理结果时的调整程度。例如,运算符号132输出的结果表示为如下公式(8):
[0142]
mha
pre
=(1-λ)attn(q,k,v)+scale*λattn(q,k
pre
,v
pre
)
ꢀꢀꢀ
(8)
[0143]
例如图16所示,op对应的待训练结构包括第二预设结构141和第三预设结构151,该待训练结构对输入数据的第一处理结果包括第二预设结构141和第三预设结构151分别对输入数据的处理结果。假设op对输入数据的处理结果记为第二处理结果,根据第一处理结果调整第二处理结果时,具体可以根据第三预设结构151对应的缩放因子scale_1、第二预设结构141对应的缩放因子scale_2、以及第二预设结构141和第三预设结构151分别对输入数据的处理结果,调整第二处理结果。例如,op对输入数据的处理结果即第二处理结果是attn(q,k,v),第二预设结构141对输入数据的处理结果是attn(q,k
pro
,v
pro
),第三预设结构151对输入数据的处理结果是调整后的第二处理结果是运算符号161的输出,例如,运算符号161的输出可表示为如下公式(9):
[0144][0145]
此外,在图4的基础上,对各个待训练结构进行实例化之后,可以得到图17所示的示意图,具体的,待训练结构42被实例化为第三预设结构151,待训练结构43被实例化为第一预设结构131,待训练结构44被实例化为第二预设结构141。第三预设结构151对应的缩放因子记为scale_1、第二预设结构141对应的缩放因子记为scale_2,第一预设结构131对应的缩放因子记为scale_3。
[0146]
本实施例通过缩放因子可进一步提高灵活性,以及在不同模型之间取得平衡。同时为并行的u-tuner引入了基于通道的缩放因子。具体的,该缩放因子可以是固定的常量、单个可学习的变量或参数、或者可以是根据输入数据得到的数据(例如对输入数据进行压缩得到的数据)。
[0147]
另外,由于本实施例通过冻结预训练模型中大部分的参数,而对预训练模型中少部分的参数进行调整,或者是增加新的少部分的参数。通过引入少部分的参数可实现更好的效果。
[0148]
本实施例提出了一个统一的范式u-tuning,其中两个核心运算符op和u-tuner分
别表示要优化的子模块和并行的调优方法,调优方法可以独立于主分支op。另外,op和u-tuner这两部分不限于如上所述的方法,还可以扩展到更多的其他方法。此外,u-tuning将u-tuner通过残差(例如运算符161)连接到原始模块例如op,实现了即插即用。使得调优后的预训练模型可以快速的适配于各种下游任务。实验表明该范式在迁移学习方面取得了很好的结果并为参数高效调优方法提供了新的视角。
[0149]
例如当图4所示的机器学习模型中的待训练结构被训练好之后,可得到训练完成的机器学习模型,此时被训练好的待训练结构可称为已训练结构。采用该训练完成的机器学习模型执行下游任务的过程是该训练完成的机器学习模型的使用阶段或推理阶段。
[0150]
图18为本公开另一实施例提供的机器学习模型推理方法流程图。所述机器学习模型包括预训练模型和至少一个已训练结构,所述至少一个已训练结构是根据如上所述的训练方法训练得到的,所述预训练模型包括至少一个目标结构,所述至少一个已训练结构和所述至少一个目标结构一一对应,存在对应关系的已训练结构和目标结构并联连接。在本实施例中,该方法可以由机器学习模型推理装置执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于电子设备中,例如服务器或终端中,其中,终端具体包括手机、电脑或平板电脑等。服务器具体可以是云端的服务器,该机器学习模型推理方法可以由云端来执行。具体的,该方法具体步骤如下:
[0151]
s1701、获取目标任务的目标数据。
[0152]
例如,目标任务是图像分类任务,目标数据是图像分类任务中待分类的目标图像。服务器22可以从终端21或其他服务器中获取目标图像。
[0153]
s1702、将所述目标数据输入到所述机器学习模型,使得存在对应关系的所述已训练结构和所述目标结构并行处理输入数据,所述输入数据是所述目标数据或是根据所述目标数据得到的数据。
[0154]
例如,该训练完成的机器学习模型可保留在服务器22本地,当服务器22获取到目标图像后,将该目标图像输入到该训练完成的机器学习模型中,使得该机器学习模型中存在对应关系的已训练结构和目标结构并行处理输入数据,该输入数据是输入到该已训练结构的数据和输入到目标结构的数据,由于存在对应关系的已训练结构和目标结构是并联连接的,因此,输入到该已训练结构和输入到目标结构的数据相同。具体的,该输入数据可以是目标图像,或者是根据目标图像得到的数据。根据目标图像得到的数据例如是该目标图像的表示向量、或者是该机器学习模型中其他中间层对该目标图像处理后的结果。
[0155]
s1703、根据所述已训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果。
[0156]
例如,根据已训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果。该调整过程类似于如上所述的根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果的过程,此处不再赘述。
[0157]
s1704、根据所述调整后的处理结果,确定所述目标数据的输出结果。
[0158]
具体的,调整后的处理结果可参与到从该机器学习模型的输入到该机器学习模型的输出信息的计算过程中,即各个已训练结构的输出会影响到该机器学习模型的输出信息。该机器学习模型的输出信息是该机器学习模型对目标图像的图像处理结果,该图像处
理结果可以是针对该目标图像的分类结果、检测结果、分割结果等。
[0159]
本实施例通过在预训练模型的基础上增加至少一个已训练结构,使得预训练模型中的至少一个目标结构和该至少一个已训练结构一一对应,并且存在对应关系的已训练结构和目标结构并联连接,使得存在对应关系的已训练结构和目标结构可并行处理输入数据。进一步,根据所述已训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,使得该机器学习模型最终的输出信息更加精准。
[0160]
图19为本公开另一实施例提供的机器学习模型构建方法流程图。该方法可以由机器学习模型构建装置执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于电子设备中,例如服务器或终端中,其中,终端具体包括手机、电脑或平板电脑等。服务器具体可以是云端的服务器,该机器学习模型构建方法可以由云端来执行。在本实施例中,该方法具体步骤如下:
[0161]
s1801、根据目标任务,确定预训练模型中待调整的至少一个目标结构。
[0162]
例如以图3所示的预训练模型为例,在将预训练模型适用于目标任务时,需要对该预训练模型进行调优训练。具体的,可以根据该目标任务,确定该预训练模型中待调整的至少一个目标结构,例如,待调整的至少一个目标结构是如图3所示的mha、ffn和子块。
[0163]
s1802、获取至少一个待训练结构,使得所述至少一个待训练结构和所述至少一个目标结构一一对应。
[0164]
如图3所示,假设待调整的目标结构有3个,那么为了给每个目标结构并联连接一个待训练结构,云端需要获取3个待训练结构,使得3个待训练结构和3个目标结构一一对应。
[0165]
s1803、将存在对应关系的待训练结构和目标结构进行并联连接,得到机器学习模型,所述机器学习模型包括所述预训练模型和所述至少一个待训练结构,针对所述至少一个待训练结构的训练方法采用如上所述的训练方法。
[0166]
例如,在每个目标结构上分别并联连接一个待训练结构,得到如图4所示的机器学习模型。使得该机器学习模型包括预训练模型和3个待训练结构,针对3个待训练结构的训练方法可以采用如上所述的模型训练方法,此处不再赘述。
[0167]
本实施例通过根据目标任务,确定预训练模型中待调整的至少一个目标结构。进一步,获取至少一个待训练结构,使得所述至少一个待训练结构和所述至少一个目标结构一一对应,将存在对应关系的待训练结构和目标结构进行并联连接,得到机器学习模型,使得该机器学习模型的结构可以适用于该目标任务的需求。
[0168]
由于采用训练完成的机器学习模型执行下游任务的过程是该训练完成的机器学习模型的使用阶段或推理阶段。在该使用阶段或推理阶段中,该下游任务不限于图像处理任务,例如,还可以是视频处理任务、文本处理任务、多模态处理任务等。也就是说,在训练完成的机器学习模型的使用阶段或推理阶段中,该训练完成的机器学习模型的输入不限于图像这种模态的输入,还可以是其他模态的输入,例如,视频输入、文本输入、多模态输入等。其中,多模态可以是图像、视频、文本、音频等多种模态中的至少两种。下面以图像处理任务为例,介绍该使用阶段或推理阶段中,通过该训练完成的机器学习模型对图像的处理方法。
[0169]
图20为本公开另一实施例提供的图像处理方法流程图。该方法可以由云端服务器
来执行。该方法具体步骤如下:
[0170]
s1901、获取待处理的目标图像。
[0171]
例如图21所示,云端服务器202从终端201接收待处理的目标图像。
[0172]
s1902、将所述目标图像输入到机器学习模型,所述机器学习模型包括预训练模型和至少一个已训练结构,所述至少一个已训练结构是根据如上所述的训练方法训练得到的,所述预训练模型包括至少一个目标结构,所述至少一个已训练结构和所述至少一个目标结构一一对应,存在对应关系的已训练结构和目标结构并联连接,且存在对应关系的所述已训练结构和所述目标结构并行处理输入数据,所述输入数据是所述目标图像或是根据所述目标图像得到的数据。
[0173]
例如,云端服务器202可以将该目标图像输入到机器学习模型,该机器学习模型可以是训练完成的机器学习模型。该机器学习模型包括预训练模型和至少一个已训练结构。已训练结构是采用如上所述的训练方法对类似于图4中的待训练结构进行训练后得到的。该预训练模型包括至少一个目标结构,所述至少一个已训练结构和所述至少一个目标结构一一对应,存在对应关系的已训练结构和目标结构并联连接,且存在对应关系的所述已训练结构和所述目标结构并行处理输入数据,该输入数据是输入到该已训练结构的数据和输入到目标结构的数据,由于存在对应关系的已训练结构和目标结构是并联连接的,因此,输入到该已训练结构和输入到目标结构的数据相同。具体的,该输入数据可以是目标图像,或者是根据目标图像得到的数据。根据目标图像得到的数据例如是该目标图像的表示向量、或者是该机器学习模型中其他中间层对该目标图像处理后的结果。
[0174]
s1903、根据所述已训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果。
[0175]
例如,根据已训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果。该调整过程类似于如上所述的根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果的过程,此处不再赘述。
[0176]
s1904、根据所述调整后的处理结果,确定所述目标图像的图像处理结果。
[0177]
例如,调整后的处理结果可参与到从该机器学习模型的输入到该机器学习模型的输出信息的计算过程中,即各个已训练结构的输出会影响到该机器学习模型的输出信息。该机器学习模型的输出信息是该机器学习模型对目标图像的图像处理结果。例如,目标图像是场景图像,该机器学习模型对该目标图像的图像处理结果是该目标图像的分类标签,例如自然风景。
[0178]
本实施例通过在预训练模型的基础上增加至少一个已训练结构,使得预训练模型中的至少一个目标结构和该至少一个已训练结构一一对应,并且存在对应关系的已训练结构和目标结构并联连接,使得存在对应关系的已训练结构和目标结构可并行处理输入数据。进一步,根据所述已训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,使得该机器学习模型对目标图像的图像处理结果更加精准。
[0179]
图22为本公开实施例提供的机器学习模型训练装置的结构示意图。所述机器学习模型包括预训练模型和至少一个待训练结构,所述预训练模型包括至少一个目标结构,所述至少一个待训练结构和所述至少一个目标结构一一对应,存在对应关系的待训练结构和
目标结构并联连接。本公开实施例提供的机器学习模型训练装置可以执行机器学习模型训练方法实施例提供的处理流程,如图22所示,机器学习模型训练装置210包括:
[0180]
获取模块211,用于获取目标任务的样本数据,所述样本数据包括待处理数据和所述待处理数据的标注结果;
[0181]
输入模块212,用于将所述待处理数据输入到所述机器学习模型,使得存在对应关系的所述待训练结构和所述目标结构并行处理输入数据,所述输入数据是所述待处理数据或是根据所述待处理数据得到的数据;
[0182]
第一调整模块213,用于根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果,所述机器学习模型的输出信息与所述调整后的处理结果相关;
[0183]
第二调整模块214,用于根据所述输出信息和所述标注结果,对所述至少一个待训练结构中的参数进行调整。
[0184]
可选的,所述预训练模型包括多个子块,所述子块包括多头注意力层和前馈网络,所述多头注意力层或所述前馈网络包括多个子层;
[0185]
所述至少一个目标结构是所述子层、所述多头注意力层、所述前馈网络、所述子块、所述预训练模型中的至少一个。
[0186]
可选的,所述至少一个待训练结构分别包括多个预设结构中的至少一个;
[0187]
针对存在对应关系的所述待训练结构和所述目标结构,所述待训练结构包括的至少一个预设结构分别与所述目标结构并联连接。
[0188]
可选的,所述待训练结构对所述输入数据的第一处理结果包括所述至少一个预设结构分别对所述输入数据的处理结果;第一调整模块213根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果时,具体用于:
[0189]
根据所述至少一个预设结构分别对应的缩放因子、以及所述至少一个预设结构分别对所述输入数据的处理结果,调整所述目标结构对所述输入数据的第二处理结果。
[0190]
可选的,所述多个预设结构中的第一预设结构包括第一待训练参数、第二待训练参数、以及第一已知参数;当所述待训练结构包括所述第一预设结构时,所述第一预设结构对所述输入数据的处理,包括:
[0191]
根据所述输入数据和所述第一已知参数计算得到第一中间值;
[0192]
根据所述第一待训练参数、所述第二待训练参数、以及所述第一中间值,计算所述第一预设结构对所述输入数据的处理结果。
[0193]
可选的,所述多个预设结构中的第二预设结构包括第三待训练参数、第一已知参数、第二已知参数和第三已知参数,所述待训练参数的维度和所述输入数据的维度相同;
[0194]
当所述待训练结构包括所述第二预设结构时,所述第二预设结构对所述输入数据的处理,包括:
[0195]
根据所述输入数据和所述第一已知参数计算得到第一中间值;
[0196]
根据所述第三待训练参数和所述第二已知参数计算得到第二中间值;
[0197]
根据所述第三待训练参数和所述第三已知参数计算得到第三中间值;
[0198]
根据所述第一中间值、所述第二中间值和所述第三中间值,计算所述第二预设结构对所述输入数据的处理结果。
[0199]
可选的,所述多个预设结构中的第三预设结构包括第四待训练参数和第五待训练参数;
[0200]
当所述待训练结构包括所述第三预设结构时,所述第三预设结构对所述输入数据的处理,包括:
[0201]
根据所述第四待训练参数和所述输入数据计算得到第四中间值;
[0202]
对所述第四中间值进行非线性处理,得到非线性处理结果;
[0203]
根据所述非线性处理结果和所述第五待训练参数,计算所述第三预设结构对所述输入数据的处理结果。
[0204]
图22所示实施例的机器学习模型训练装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0205]
以上描述了机器学习模型训练装置的内部功能和结构,该装置可实现为一种电子设备。图23为本公开实施例提供的电子设备实施例的结构示意图。如图23所示,该电子设备包括存储器221和处理器222。
[0206]
存储器221用于存储程序。除上述程序之外,存储器221还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
[0207]
存储器221可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0208]
处理器222与存储器221耦合,执行存储器221所存储的程序,以用于:
[0209]
获取目标任务的样本数据,所述样本数据包括待处理数据和所述待处理数据的标注结果;
[0210]
将所述待处理数据输入到所述机器学习模型,使得存在对应关系的所述待训练结构和所述目标结构并行处理输入数据,所述输入数据是所述待处理数据或是根据所述待处理数据得到的数据;
[0211]
根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果,所述机器学习模型的输出信息与所述调整后的处理结果相关;
[0212]
根据所述输出信息和所述标注结果,对所述至少一个待训练结构中的参数进行调整。
[0213]
进一步,如图23所示,电子设备还可以包括:通信组件223、电源组件224、音频组件225、显示器226等其它组件。图23中仅示意性给出部分组件,并不意味着电子设备只包括图23所示组件。
[0214]
通信组件223被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件223经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件223还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)
技术,蓝牙(bt)技术和其他技术来实现。
[0215]
电源组件224,为电子设备的各种组件提供电力。电源组件224可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
[0216]
音频组件225被配置为输出和/或输入音频信号。例如,音频组件225包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器221或经由通信组件223发送。在一些实施例中,音频组件225还包括一个扬声器,用于输出音频信号。
[0217]
显示器226包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
[0218]
另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的机器学习模型训练方法、机器学习模型推理方法、机器学习模型构建方法、或图像处理方法。
[0219]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0220]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种机器学习模型训练方法,其中,所述机器学习模型包括预训练模型和至少一个待训练结构,所述预训练模型包括至少一个目标结构,所述至少一个待训练结构和所述至少一个目标结构一一对应,存在对应关系的待训练结构和目标结构并联连接,所述方法包括:获取目标任务的样本数据,所述样本数据包括待处理数据和所述待处理数据的标注结果;将所述待处理数据输入到所述机器学习模型,使得存在对应关系的所述待训练结构和所述目标结构并行处理输入数据,所述输入数据是所述待处理数据或是根据所述待处理数据得到的数据;根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果,所述机器学习模型的输出信息与所述调整后的处理结果相关;根据所述输出信息和所述标注结果,对所述至少一个待训练结构中的参数进行调整。2.根据权利要求1所述的方法,其中,所述预训练模型包括多个子块,所述子块包括多头注意力层和前馈网络,所述多头注意力层或所述前馈网络包括多个子层;所述至少一个目标结构是所述子层、所述多头注意力层、所述前馈网络、所述子块、所述预训练模型中的至少一个。3.根据权利要求1所述的方法,其中,所述至少一个待训练结构分别包括多个预设结构中的至少一个;针对存在对应关系的所述待训练结构和所述目标结构,所述待训练结构包括的至少一个预设结构分别与所述目标结构并联连接。4.根据权利要求3所述的方法,其中,所述待训练结构对所述输入数据的第一处理结果包括所述至少一个预设结构分别对所述输入数据的处理结果;根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,包括:根据所述至少一个预设结构分别对应的缩放因子、以及所述至少一个预设结构分别对所述输入数据的处理结果,调整所述目标结构对所述输入数据的第二处理结果。5.根据权利要求3所述的方法,其中,所述多个预设结构中的第一预设结构包括第一待训练参数、第二待训练参数、以及第一已知参数;当所述待训练结构包括所述第一预设结构时,所述第一预设结构对所述输入数据的处理,包括:根据所述输入数据和所述第一已知参数计算得到第一中间值;根据所述第一待训练参数、所述第二待训练参数、以及所述第一中间值,计算所述第一预设结构对所述输入数据的处理结果。6.根据权利要求3所述的方法,其中,所述多个预设结构中的第二预设结构包括第三待训练参数、第一已知参数、第二已知参数和第三已知参数,所述待训练参数的维度和所述输入数据的维度相同;当所述待训练结构包括所述第二预设结构时,所述第二预设结构对所述输入数据的处理,包括:
根据所述输入数据和所述第一已知参数计算得到第一中间值;根据所述第三待训练参数和所述第二已知参数计算得到第二中间值;根据所述第三待训练参数和所述第三已知参数计算得到第三中间值;根据所述第一中间值、所述第二中间值和所述第三中间值,计算所述第二预设结构对所述输入数据的处理结果。7.根据权利要求3所述的方法,其中,所述多个预设结构中的第三预设结构包括第四待训练参数和第五待训练参数;当所述待训练结构包括所述第三预设结构时,所述第三预设结构对所述输入数据的处理,包括:根据所述第四待训练参数和所述输入数据计算得到第四中间值;对所述第四中间值进行非线性处理,得到非线性处理结果;根据所述非线性处理结果和所述第五待训练参数,计算所述第三预设结构对所述输入数据的处理结果。8.一种机器学习模型推理方法,其中,所述机器学习模型包括预训练模型和至少一个已训练结构,所述至少一个已训练结构是根据如权利要求1-7中任一项所述的方法训练得到的,所述预训练模型包括至少一个目标结构,所述至少一个已训练结构和所述至少一个目标结构一一对应,存在对应关系的已训练结构和目标结构并联连接,所述方法包括:获取目标任务的目标数据;将所述目标数据输入到所述机器学习模型,使得存在对应关系的所述已训练结构和所述目标结构并行处理输入数据,所述输入数据是所述目标数据或是根据所述目标数据得到的数据;根据所述已训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果;根据所述调整后的处理结果,确定所述目标数据的输出结果。9.一种机器学习模型构建方法,其中,所述方法包括:根据目标任务,确定预训练模型中待调整的至少一个目标结构;获取至少一个待训练结构,使得所述至少一个待训练结构和所述至少一个目标结构一一对应;将存在对应关系的待训练结构和目标结构进行并联连接,得到机器学习模型,所述机器学习模型包括所述预训练模型和所述至少一个待训练结构,针对所述至少一个待训练结构的训练方法采用如权利要求1-7中任一项所述的方法。10.一种图像处理方法,其中,所述方法包括:获取待处理的目标图像;将所述目标图像输入到机器学习模型,所述机器学习模型包括预训练模型和至少一个已训练结构,所述至少一个已训练结构是根据如权利要求1-7中任一项所述的方法训练得到的,所述预训练模型包括至少一个目标结构,所述至少一个已训练结构和所述至少一个目标结构一一对应,存在对应关系的已训练结构和目标结构并联连接,且存在对应关系的所述已训练结构和所述目标结构并行处理输入数据,所述输入数据是所述目标图像或是根据所述目标图像得到的数据;
根据所述已训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果;根据所述调整后的处理结果,确定所述目标图像的图像处理结果。11.一种机器学习模型训练装置,其中,所述机器学习模型包括预训练模型和至少一个待训练结构,所述预训练模型包括至少一个目标结构,所述至少一个待训练结构和所述至少一个目标结构一一对应,存在对应关系的待训练结构和目标结构并联连接,所述装置包括:获取模块,用于获取目标任务的样本数据,所述样本数据包括待处理数据和所述待处理数据的标注结果;输入模块,用于将所述待处理数据输入到所述机器学习模型,使得存在对应关系的所述待训练结构和所述目标结构并行处理输入数据,所述输入数据是所述待处理数据或是根据所述待处理数据得到的数据;第一调整模块,用于根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,得到调整后的处理结果,所述机器学习模型的输出信息与所述调整后的处理结果相关;第二调整模块,用于根据所述输出信息和所述标注结果,对所述至少一个待训练结构中的参数进行调整。12.一种电子设备,其中,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-10中任一项所述的方法。13.一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-10中任一项所述的方法。
技术总结
本公开涉及一种模型训练、推理、构建方法、装置、设备及存储介质。本公开通过在预训练模型的基础上增加至少一个待训练结构,使得预训练模型中的至少一个目标结构和该至少一个待训练结构一一对应,并且存在对应关系的待训练结构和目标结构并联连接,使得存在对应关系的待训练结构和目标结构可并行处理输入数据。进一步,根据所述待训练结构对所述输入数据的第一处理结果调整所述目标结构对所述输入数据的第二处理结果,使得待训练结构的输出可影响到该机器学习模型最终的输出信息。由于待训练结构是并联到预训练模型中的目标结构上的,因此,降低了待训练结构和预训练模型的耦合度,从而提高了针对预训练模型的调优训练方法的灵活性。灵活性。灵活性。
技术研发人员:江泽胤子 毛超杰 黄子渊
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2023.02.28
技术公布日:2023/7/19
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
