CN116644791A - 模型参数调整方法、装置、设备及计算机可读存储介质 - Google Patents
模型参数调整方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116644791A CN116644791A CN202210134765.9A CN202210134765A CN116644791A CN 116644791 A CN116644791 A CN 116644791A CN 202210134765 A CN202210134765 A CN 202210134765A CN 116644791 A CN116644791 A CN 116644791A
- Authority
- CN
- China
- Prior art keywords
- parameter
- trained
- model
- parameters
- adjusted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000012549 training Methods 0.000 claims abstract description 181
- 239000013598 vector Substances 0.000 claims abstract description 166
- 238000011156 evaluation Methods 0.000 claims description 42
- 238000012360 testing method Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 239000011159 matrix material Substances 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008451 emotion Effects 0.000 description 13
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种模型参数调整方法、装置、设备及计算机可读存储介质;方法包括:获取训练好的预训练模型和所述训练好的预训练模型的待调整参数的第一参数维度;获取训练好的第一网络模型和预训练好的参数调整向量;其中,参数调整向量的参数个数小于待调整参数的参数个数;基于目标任务和训练好的第一网络模型对预训练好的参数调整向量继续训练,得到训练好的参数调整向量;基于训练好的第一网络模型和训练好的参数调整向量确定待调整参数的调整值;基于待调整参数的调整值对训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型。通过本申请,能够提高模型参数的调整效率。
Description
技术领域
本申请涉及人工智能技术,尤其涉及一种模型参数调整方法、装置、设备及计算机可读存储介质。
背景技术
近年来,深度学习技术被广泛应用于各个领域,基于深度学习的预处理模型将自然语言处理带入一个新时代。自从编码器(Transformer)模型架构提出后,预训练语言模型在各种自然语言处理任务上都取得了巨大的成功。预训练语言模型可以有效地捕获文本中的语法和语义,以生成用于下游自然语言处理(NLP,Natural Language Processing)任务的信息表示,从而通过少量样本的迁移学习,就可以很好的适配各种下游任务。
在对某个下游任务进行迁移学习的过程中,传统方法需要对模型的所有参数微调,并将参数保存下来。然而对于巨大的模型来说,会造成显存、硬盘存储的压力,也就是说,一方面训练过程中会占用很大的显存,导致难以训练;另一方面保存下来的模型参数会占用大量磁盘空间。
发明内容
本申请实施例提供一种模型参数调整方法、装置及计算机可读存储介质,能够提高参数调整效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种模型参数调整方法,包括:
获取训练好的预训练模型和所述训练好的预训练模型的待调整参数的第一参数维度;
获取训练好的第一网络模型和预训练好的参数调整向量;其中,所述训练好的第一网络模型的第二参数维度是基于所述预训练好的参数调整向量的第三参数维度和所述第一参数维度确定的,且所述参数调整向量的参数个数小于所述待调整参数的参数个数;
基于目标任务和所述训练好的第一网络模型对所述预训练好的参数调整向量继续训练,得到训练好的参数调整向量;
基于所述训练好的第一网络模型和所述训练好的参数调整向量确定所述待调整参数的调整值;
基于所述待调整参数的调整值对所述训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型
本申请实施例提供一种模型参数调整装置,包括:。
第一获取模块,用于获取训练好的预训练模型和所述训练好的预训练模型的待调整参数的第一参数维度;
第二获取模块,用于获取训练好的第一网络模型和预训练好的参数调整向量;其中,所述训练好的第一网络模型的第二参数维度是基于所述预训练好的参数调整向量的第三参数维度和所述第一参数维度确定的,且所述参数调整向量的参数个数小于所述待调整参数的参数个数;
第一训练模块,用于基于目标任务和所述训练好的第一网络模型对所述预训练好的参数调整向量继续训练,得到训练好的参数调整向量;
第一确定模块,用于基于所述训练好的第一网络模型和所述训练好的参数调整向量确定所述待调整参数的调整值;
参数调整模块,用于基于所述待调整参数的调整值对所述训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型。
在一些实施例中,该装置还包括:
第三获取模块,用于获取针对所述训练好的预训练模型采用的参数微调算法;
第二确定模块,用于基于所述参数微调算法,确定所述训练好的预训练模型的待调整参数和所述待调整参数的第一参数维度,所述第一参数维度为M*N,M和N为正整数。
在一些实施例中,该装置还包括:
第四获取模块,用于获取预设的参数调整向量,其中,所述参数调整向量的第三参数维度为R维向量,R为正整数,R小于M且R小于N;
第三确定模块,用于基于所述第一参数维度和所述第三参数维度确定所述第二参数维度,所述第二参数维度为M*N*R。
在一些实施例中,该装置还包括:
模型构建模块,用于基于所述第二参数维度构建第一网络模型;
第五获取模块,用于获取源任务,并获取所述源任务对应的第一训练数据和第一损失函数;
第二训练模块,用于利用所述第一训练数据和所述第一损失函数对第一网络模型和参数调整向量进行训练,得到训练好的第一网络模型和预训练好的参数调整向量。
在一些实施例中,第一训练模块还用于:
获取目标任务,并获取所述目标任务对应的第二训练数据和第二损失函数;
保持所述训练好的第一网络模型中的参数不变,利用所述第二训练数据和所述第二损失函数,对所述预训练好的参数调整向量继续进行训练,得到训练好的参数调整向量。
在一些实施例中,该第一确定模块,还用于:
获取所述训练好的第一网络模型的第一参数信息,获取所述训练好的参数调整向量的第二参数信息,其中,所述第一参数信息为M*N*R的矩阵参数值;所述第二参数信息为R维的向量参数值;
将所述第一参数信息和所述第二参数信息进行乘法计算,得到所述待调整参数的调整值。
在一些实施例中,该参数调整模块,还用于:
获取所述训练好的预训练模型中各个待调整参数的当前参数值;
基于所述各个待调整参数的当前参数值和所述各个待调整参数的调整值,确定所述各个待调整参数的更新参数值;
基于所述各个待调整参数的更新参数值和所述训练好的预训练模型的除所述待调整参数之外的其他参数的当前参数值,确定所述目标任务对应的训练好的目标模型。
在一些实施例中,该装置还包括:
第六获取模块,用于获取所述目标模型对应的测试数据,所述测试数据包括多个测试文本和各个测试文本对应的标签信息;
第一预测模块,用于利用所述目标模型对所述各个测试文本进行预测处理,得到所述各个测试文本对应的预测信息;
第四确定模块,用于基于所述各个测试文本对应的标签信息和预测信息确定所述目标模型的评估信息;
第一调整模块,用于当确定所述评估信息未达到预设的评估阈值时,继续调整所述参数调整向量的参数直至所述目标模型的评估信息达到评估阈值。
在一些实施例中,该装置还包括:
第七获取模块,用于获取所述目标任务对应的预测文本;
第二预测模块,用于利用所述训练好的目标模型对所述预测文本进行预测处理,得到所述预测文本的预测结果;
结果输出模块,用于输出所述预测文本的预测结果。
本申请实施例提供一种计算机设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本申请实施例提供的方法。
本申请实施例具有以下有益效果:
在本申请实施例提供的模型参数调整方法中,在获取到训练好的预训练模型和该预训练模型的待调整参数的第一参数维度;获取训练好的第一网络模型和预训练好的参数调整向量;其中,所述训练好的第一网络模型的第二参数维度是基于所述预训练好的参数调整向量的第三参数维度和所述第一参数维度确定的,且所述参数调整向量的参数个数小于所述待调整参数的参数个数;基于目标任务和所述训练好的第一网络模型对所述预训练好的参数调整向量继续训练,得到训练好的参数调整向量;基于所述训练好的第一网络模型和所述训练好的参数调整向量确定所述待调整参数的调整值;基于所述待调整参数的调整值对所述训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型,也就是说,在本申请实施例中,是通过调整参数调整向量来实现对预训练模型的待调整参数的调整,由于参数调整向量的参数个数是小于待调整参数的参数个数的,因此降低了调整复杂度,从而能够提高模型参数调整的效率。
附图说明
图1是本申请实施例提供的模型参数调整系统100的架构示意图;
图2为本申请实施例提供的服务器400的结构示意图;
图3为本申请实施例提供的模型参数调整方法的一种实现流程示意图;
图4为本申请实施例提供的创建第一网络模型的实现流程示意图;
图5为本申请实施例提供的模型参数调整方法的另一种实现流程示意图;
图6为本申请实施例提供的模型参数调整方法的再一种实现流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)预训练,就是指预先训练的一个模型或者指预先训练模型的过程;
2)预训练模型,是指通过预训练得到的模型;
3)参数微调,就是指将预训练过的模型作用于自己的数据集,并使参数适应自己数据集的过程。
为了更好地理解本申请实施例提供的模型参数调整方法,首先对相关技术中对预训练模型进行微调的模型参数调整方法进行说明。
在相关技术中,基于少参数微调的模型参数调整方法,可以有以下几种实现方式:
第一种实现方式、选取一小部分参数并固定剩余参数不动,例如BitFit算法;
第二种实现方式、对原参数的改变量做低秩分解,从而引入更少的训练参数,例如LoRA算法;
第三种实现方式、在输入中引入模型之外的参数,例如Prompt Tuning算法。
上述方法虽然在一定程度上减少了微调的参数,但需要微调并保存下来的参数量还是很大。例如对于GPT-3模型来说,利用传统的参数调整方法需要175255.8M参数,BitFit算法需要14.2M参数,Prompt Tuning算法需要3.2M参数,LoRA算法需要4.7M参数。
基于此,本申请实施例提供一种模型参数调整方法,该该方法可以和相关技术中的任意一种少参数微调方法(例如BitFit和LoRA等)进行结合,在几乎不损失性能的情况下进一步减少千倍需要微调的参数,并且可以适配各种各样的自然语言处理的下游任务,不仅能够提高模型参数调整的执行效率,还能够保证模型的预测效果。
下面说明本申请实施例提供的计算机设备的示例性应用,本申请实施例提供的计算机设备设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图1,图1是本申请实施例提供的模型参数调整系统100的架构示意图,如图1所示,该系统包括终端200、网络300和服务器400,其中,终端200通过网络300连接服务器400,网络300可以是广域网或者局域网,又或者是二者的组合。
终端200可以通过网络300向服务器400发送参数调整请求,该参数调整请求中携带有目标任务信息,服务器400在获取到参数调整请求后,获取目标任务信息,并获取训练好的预训练模型和所述训练好的预训练模型的待调整参数的第一参数维度,并且获取训练好的第一网络模型和预训练好的参数调整向量;其中,所述训练好的第一网络模型的第二参数维度是基于所述预训练好的参数调整向量的第三参数维度和所述第一参数维度确定的,且所述参数调整向量的参数个数小于所述待调整参数的参数个数,再基于目标任务和所述训练好的第一网络模型对所述预训练好的参数调整向量继续训练,得到训练好的参数调整向量,并且基于所述训练好的第一网络模型和所述训练好的参数调整向量确定所述待调整参数的调整值;基于所述待调整参数的调整值对所述训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型。服务器400将训练好的目标模型发送至终端200,终端200利用该训练好的目标模型对目标任务对应的测试数据进行预测处理,得到处理结果。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载智能终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图2,图2为本申请实施例提供的服务器400的结构示意图,图2所示的服务器400包括:至少一个处理器410、至少一个网络接口420、总线系统430和存储器440。服务器400中的各个组件通过总线系统430耦合在一起。可理解,总线系统430用于实现这些组件之间的连接通信。总线系统430除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统430。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器440可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器440可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器440包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器440旨在包括任意适合类型的存储器。
在一些实施例中,存储器440能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统441,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块442,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器440中的,模型参数调整装置443,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4431、第二获取模块4432、第一训练模块4433、第一确定模块4434和参数调整模块4435,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的模型参数调整方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application S pecific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logi c Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Devi ce)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
将结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的模型参数调整方法。
本申请实施例提供一种模型参数调整方法,应用于计算机设备,该计算机设备可以是终端,也可以是服务器,在本申请实施例中,以计算机设备为服务器为例进行说明。图3为本申请实施例提供的模型参数调整方法的一种实现流程示意图,将结合图3示出的步骤进行说明。
步骤S101,获取训练好的预训练模型和训练好的预训练模型的待调整参数的第一参数维度。
预训练模型是一种迁移学习的应用,利用几乎无限的文本,学习输入句子的每一个词的上下文相关的表示,隐式地学习到通用的语法语义知识。预训练模型可以将从开放领域学到的知识迁移到下游任务,以改善低资源任务,对低资源语言处理也非常有利。在将预训练模型应用到实际的下游任务时,只需要基于实际的下游任务对训练好的预训练模型的参数进行微调即可,因此预训练模型+微调机制具备很好的可扩展性,在支持一个新任务时,只需要利用该任务的标注数据进行微调即可。
在实际实现时,预训练模型的待调整参数可以是预训练模型的全部参数,也可以是预训练模型的部分参数。在本申请实施例提供的模型参数调整方法可以与相关技术中的少参数微调方法叠加应用,此时,在该步骤中预训练模型的待调整参数为该预训练模型的一小部分参数,也即待调整参数的第一参数维度是小于预训练模型的全体参数维度的,并且待调整参数的第一参数维度是由实际选用的少参数微调方法确定的。
步骤S102,获取训练好的第一网络模型和预训练好的参数调整向量。
在本申请实施例中,第一网络模型可以是超网络,超网络是用于加速模型训练的一种方式,其中,超网络并非一个具体的网络架构,而是包括有多个模型的集合,其中,多个模型类型相同,而参数不同。通过训练初始状态的超网络,能过调整超网络中每个模型的参数。训练完成的超网络,同样包括上述多个模型,不同的是,模型的参数经过了调节,实现了对超网络模型(也即第一网络模型)的训练。
其中,训练好的第一网络模型和预训练好的参数调整向量是利用源任务的训练数据得到的。源任务需要与目标任务在具有一定的相似性,例如都属于文本分类任务,或者都属于情感分析任务等,源任务和目标任务的不同之处在于应用的领域不同。所述训练好的第一网络模型的第二参数维度是基于所述预训练好的参数调整向量的第三参数维度和所述第一参数维度确定的,在实际实现时满足公式(1-1):
W0=Wh*Ir (1-1);
其中,Wh为第一网络模型的参数矩阵,Ir为参数调整向量,W0为待调整参数的参数调整矩阵。且所述参数调整向量的参数个数小于所述待调整参数的参数个数,实际上,参数调整向量的参数个数是远小于待调整参数的参数个数的。例如待调整参数的参数个数可以为20000个,而参数调整向量的参数个数仅为8个,或者为16个。
步骤S103,基于目标任务和训练好的第一网络模型对预训练好的参数调整向量继续训练,得到训练好的参数调整向量。
该步骤在实现时,固定训练好的第一网络模型的参数,并且固定预训练模型的参数,获取目标任务对应的第二训练数据,利用第二训练数据,对预训练好的参数调整向量继续训练,从而得到训练好的参数调整向量。对预训练好的参数调整向量继续进行训练,可以是对预训练好的参数调整向量中的各个向量值进行调整,并且利用预设的第二损失函数确定达到训练结束条件时,得到训练好的参数调整向量。
步骤S104,基于训练好的第一网络模型和训练好的参数调整向量确定所述待调整参数的调整值。
在本申请实施例中,由于第一网络模型的参数矩阵和参数调整向量以及待调整参数的参数调整矩阵是满足公式(1-1)的,在得到训练好的第一网络模型和训练好的参数调整向量之后,即可获取训练好的第一网络模型的参数矩阵和参数调整向量,然后通过公式(1-1)确定出待调整参数的调整值。也就是说,在本申请实施例中,在确定预训练模型的待调整参数的调整值时,只需要调整参数调整向量的向量值即可,由于参数调整向量中的参数个数远小于待调整参数的参数个数,因此能够极大地提高参数调整效率。
步骤S105,基于待调整参数的调整值对训练好的预训练模型的参数进行调整,得到目标任务对应的训练好的目标模型。
该步骤在实现时,首先获取所述训练好的预训练模型中各个待调整参数的当前参数值;然后基于所述各个待调整参数的当前参数值和所述各个待调整参数的调整值,确定所述各个待调整参数的更新参数值;再基于所述各个待调整参数的更新参数值和所述训练好的预训练模型的除所述待调整参数之外的其他参数的当前参数值,确定出目标任务对应的训练好的目标模型。
在本申请实施例提供的模型参数调整方法中,在获取到训练好的预训练模型和该预训练模型的待调整参数的第一参数维度;获取训练好的第一网络模型和预训练好的参数调整向量;其中,所述训练好的第一网络模型的第二参数维度是基于所述预训练好的参数调整向量的第三参数维度和所述第一参数维度确定的,且所述参数调整向量的参数个数小于所述待调整参数的参数个数;基于目标任务和所述训练好的第一网络模型对所述预训练好的参数调整向量继续训练,得到训练好的参数调整向量;基于所述训练好的第一网络模型和所述训练好的参数调整向量确定所述待调整参数的调整值;基于所述待调整参数的调整值对所述训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型,也就是说,在本申请实施例中,是通过调整参数调整向量来实现对预训练模型的待调整参数的调整,由于参数调整向量的参数个数是小于待调整参数的参数个数的,因此降低了调整复杂度,从而能够提高模型参数调整的效率。
在一些实施例中,在步骤S101之前,可以通过以下步骤确定预训练模型待调整参数和所述待调整参数的第一参数维度:
步骤S001,获取针对所述训练好的预训练模型采用的参数微调算法。
该参数微调算法可以是LoRA算法、BitFit算法等。
步骤S002,基于所述参数微调算法,确定所述训练好的预训练模型的待调整参数和所述待调整参数的第一参数维度。
在确定出参数微调算法后,可以基于选择的参数微调算法,确定预训练模型的待调整参数以及待调整参数的第一参数维度。第一参数维度为M*N,M和N为正整数,例如第一参数维度可以为200*100,也即M为200,N为100。
本申请实施例提供的参数模型调整方法,是可以与相关技术中提供的参数微调方法叠加使用的,也即通过本申请实施例提供的模型参数调整方法,能够在相关技术中参数微调方法的基础上,更进一步地降低参数调整量,从而进一步提高参数调整效率。
在一些实施例中,在步骤S102之前,还可以通过图4所述的各个步骤创建第一网络模型,并对第一网络模型和参数调整向量进行训练,以下结合图4对各个步骤进行说明。
步骤S201,获取预设的参数调整向量。
其中,所述参数调整向量的第三参数维度为R维向量。R为正整数,R小于M且R小于N,例如R可以为8或者16,在实际实现时,R是远小于M以及远小于N的,所欲R也就远小于M*N。
步骤S202,基于第一参数维度和第三参数维度确定第二参数维度。
其中,第二参数维度为M*N*R。
步骤S203,基于第二参数维度构建第一网络模型。
该第一网络模型可以是超网络。
步骤S204,获取源任务,并获取所述源任务对应的第一训练数据和第一损失函数。
获取到源任务之后,即可确定出实际需要处理的任务,以及该任务的应用领域,此时即可基于源任务获取对应的第一训练数据。第一训练数据包括多个第一训练文本和各个第一训练文本对应的第一文本标签,该第一文本标签与源任务的类型有关,比如,源任务为针对影评的情感分析任务,那么第一文本标签可以为积极情感,也可以为消极情感;再比如,源任务为文本分类任务,那么第一文本标签就是各个第一训练文本的类别。
步骤S205,利用所述第一训练数据和所述第一损失函数分别对第一网络模型和参数调整向量进行训练,得到训练好的第一网络模型和预训练好的参数调整向量。
该步骤在实现时,基于第一网络模型的模型参数和参数调整向量确定出预训练模型中待调整参数的初始调整值,然后基于该初始调整值对预训练模型中的待调整参数的参数值进行调整,从而得到调整后的预训练模型,之后利用调整后的预训练模型对第一训练数据中的各个第一训练文本进行预测处理,得到各个第一训练文本的预测信息,并基于各个第一训练文本的预测信息和各个第一训练文本的标签信息以及第一损失函数计算该调整后的预训练模型的损失值(loss),并将该损失值反向传播至第一网络模型和参数调整向量,从而对第一网络模型的模型参数值和参数调整向量的向量值进行调整,最终得到训练好的第一网络模型和预训练好的参数调整向量。
通过上述的步骤S201至步骤S205,能够利用源任务对应的第一训练数据,按照第一损失函数同时训练第一网络模型和参数调整向量,并固定预训练模型保持不动。训练结束后得到的第一网络模型能够定义以源任务为代表的一系列相似任务的优化本征空间,且这个优化本征空间的维度与参数调整向量的维度相同。在此基础上,所有的类似的任务都可以通过在这个本征空间中对参数调整向量进行优化、训练,从而得到目标任务对应的目标模型,能够极大的降低参数调整量,提高参数调整效率。
在一些实施例中,上述步骤S103“基于目标任务和所述训练好的第一网络模型对所述预训练好的参数调整向量继续训练,得到训练好的参数调整向量”可以通过以下步骤实现:
步骤S1031,获取目标任务,并获取所述目标任务对应的第二训练数据和第二损失函数。
在本申请实施例中,获取目标任务可以是获取目标任务针对的应用领域和所要执行的任务类型,第二损失函数可以与第一损失函数是相同的,也可以是不同的。目标任务和源任务所要执行的任务类型是相似或者说相同的,而应用领域是不同的,例如源任务可以的应用领域可以是影视评论领域,而目标任务的应用领域可以是商品评论领域。源任务和目标任务所要执行的任务类型可以都是情感分析任务。
步骤S1032,保持所述训练好的第一网络模型中的参数不变,利用所述第二训练数据和所述第二损失函数,对所述预训练好的参数调整向量继续进行训练,得到训练好的参数调整向量。
该步骤在实现时,保持训练好的第一网络模型中的参数不变,然后基于训练好的第一网络模型的模型参数和参数调整向量确定出预训练模型中待调整参数的中间调整值,然后基于该中间调整值对预训练模型中的待调整参数的参数值进行调整,得到再次调整后的预训练模型,之后利用调整后的预训练模型对第二训练数据中的各个第二训练文本进行预测处理,得到各个第二训练文本的预测信息,并基于各个第二训练文本的预测信息和各个第二训练文本的标签信息以及第二损失函数计算该再次调整后的预训练模型的损失值(loss),并将该损失值反向传播至参数调整向量,从而对参数调整向量的向量值进行调整,最终得到训练好的参数调整向量。
在需要确定目标任务对应的目标模型时,由于已经利用源任务对第一网络模型和参数调整向量进行了训练,得到了以源任务为代表的一系列相似任务的优化本征空间,此时可以通过上述步骤S1031至步骤S1032,在这个本征空间中对参数调整向量进行优化、训练,得到训练好的参数调整向量,之后既可以通过训练好的参数调整向量和训练好的第一网络模型对预训练模型中的待调整参数进行调整,也就是说只需要通过对参数调整向量进行调整,即可实现对预训练模型中待调整参数的调整,进而得到目标任务对应的目标模型,能够提高参数调整效率。
在一些实施例中,上述步骤S104“基于所述训练好的第一网络模型和所述训练好的参数调整向量确定所述待调整参数的调整值”,可以通过以下步骤实现:
步骤S1041,获取所述训练好的第一网络模型的第一参数信息,获取所述训练好的参数调整向量的第二参数信息。
其中,第一参数信息也即第一网络模型的参数矩阵,那么第一参数信息为M*N*R的矩阵参数值;第二参数信息为R维的向量参数值。
步骤S1042,将所述第一参数信息和所述第二参数信息进行乘法计算,得到所述待调整参数的调整值。
该步骤在实现时,是将M*N*R的矩阵参数值和R维的向量参数值进行乘法计算,从而得到参数调整矩阵,该参数调整矩阵包括M*N个待调整参数的调整值。待调整参数的调整值可以是正数,也可以是负数。
在一些实施例中,上述步骤S105“基于所述待调整参数的调整值对所述训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型”,可以通过以下步骤实现:
步骤S1051,获取所述训练好的预训练模型中各个待调整参数的当前参数值。
步骤S1052,基于所述各个待调整参数的当前参数值和所述各个待调整参数的调整值,确定所述各个待调整参数的更新参数值。
在实现时,可以将待调整参数的当前参数值和该待调整参数的调整值进行加法计算,从而得到该待调整参数的更新参数值。
步骤S1053,基于所述各个待调整参数的更新参数值和所述训练好的预训练模型的除所述待调整参数之外的其他参数的当前参数值,确定所述目标任务对应的训练好的目标模型。
通过上述的步骤S1051至步骤S1053,在得到待调整参数的调整值后,可以基于训练好的预训练模型中各个待调整参数的当前参数值和对应的调整值,确定各个待调整参数的更新参数值,而预训练模型中除待调整参数之外的其他参数的参数值不需要进行调整,即可得到该目标任务对应的训练好的目标模型,从而提高目标模型的调整效率。
基于前述的实施例,本申请实施例提供一种模型参数调整方法,应用于图1所示的网络架构,图5为本申请实施例提供的模型参数调整方法的另一种实现流程示意图,如图5所示,该流程包括:
步骤S301,终端获取目标任务信息。
在本申请实施例中,该目标任务信息可以包括执行的任务类型以及应用领域,在一些实施例中,目标任务信息还可以包括应用领域对应的应用平台,例如,当目标任务为针对商品评论的情感分析任务时,目标任务信息还可以包括实际的商品销售平台。
步骤S302,终端向服务器发送参数调整请求。
其中,该参数调整请求中携带有目标任务信息。
步骤S303,服务器获取训练好的预训练模型和该训练好的预训练模型的待调整参数的第一参数维度。
服务器在接收到参数调整请求后,解析该参数调整请求,获取目标任务信息,并基于目标任务信息中的任务类型获取训练好的预训练模型,并获取该预训练模型的待调整参数的第一参数维度。在实际实现过程中,待调整参数的第一参数维度可以是小于预训练模型中的参数总量的,也就是说,本申请实施例提供的模型参数调整方法是可以与相关技术中少参数模型调整方法叠加使用,从而能够进一步提高模型参数的调整效率。
步骤S304,服务器获取训练好的第一网络模型和预训练好的参数调整向量。
其中,所述训练好的第一网络模型的第二参数维度是基于所述预训练好的参数调整向量的第三参数维度和所述第一参数维度确定的,且所述参数调整向量的参数个数小于所述待调整参数的参数个数。
步骤S305,服务器基于目标任务和训练好的第一网络模型对预训练好的参数调整向量继续训练,得到训练好的参数调整向量。
步骤S306,服务器基于训练好的第一网络模型和训练好的参数调整向量确定待调整参数的调整值。
步骤S307,服务器基于待调整参数的调整值对训练好的预训练模型的参数进行调整,得到目标任务对应的训练好的目标模型。
需要说明的是,上述步骤S303至步骤S307的实现过程,与步骤S101至步骤S105的实现过程是相同的,在实际实现时可以参考步骤S101至步骤S105的实现过程。
步骤S308,服务器获取目标模型对应的测试数据。
在实现时,服务器可以是基于目标任务获取该目标模型对应的测试数据,其中,该测试数据包括多个测试文本和各个测试文本对应的标签信息。
步骤S309,服务器利用该目标模型对各个测试文本进行预测处理,得到各个测试文本对应的预测信息。
在实现时,将各个测试文本输入至目标任务对应的目标模型,从而对各个测试文本进行预测处理,得到各个测试文本的预测信息。例如,当目标任务为情感分析任务时,测试文本的预测信息即为情感分析预测结果。
步骤S310,服务器基于各个测试文本对应的标签信息和预测信息确定目标模型的评估信息。
其中,评估信息可以包括至少一种评估指标的指标值,评估指标可以是查全率、查准率、AUC。在实际实现时,各个评估指标对应有预设的评估阈值,在获取到目标模型的评估信息后,可以确定评估信息是否达到预设的评估阈值,当评估信息中包括一个评估指标的指标值,那么仅判断该指标值是否达到对应的评估阈值,在该指标值达到对应的评估阈值时,进入步骤S312,在该指标值未达到对应的评估阈值时,进入步骤S311;当评估信息中包括两个或两个以上评估指标的指标值,那么需要依次判断各个指标值是否达到对应的评估阈值,当各个指标值均达到对应的评估阈值时,进入步骤S312,当存在至少一个指标值未达到对应的评估阈值时,进入步骤S311。
步骤S311,当服务器确定所述评估信息未达到预设的评估阈值时,继续调整所述参数调整向量的参数直至所述目标模型的评估信息达到评估阈值。
该步骤在实现时,需要再次获取目标任务对应的第二训练数据,然后保持训练好的第一网络模型中的参数不变,利用新获取到的第二训练数据和第二损失函数,对所述预训练好的参数调整向量继续再次进行训练,得到再次训练好的参数调整向量,之后获取所述训练好的第一网络模型的第一参数信息,获取再次训练好的参数调整向量的第二参数信息,将第一参数信息和第二参数信息进行乘法计算,得到待调整参数的调整值,并利用待调整参数的调整值对训练好的预训练模型进行参数调整,再次得到目标任务对应的目标模型。
步骤S312,当确定该评估信息达到预设的评估阈值时,服务器将目标任务对应的目标模型发送至终端。
步骤S313,终端获取目标任务对应的预测文本。
该步骤在实现时,可以基于目标任务对应的应用领域获取对应的预测文本。
步骤S314,终端利用训练好的目标模型对预测文本进行预测处理,得到预测文本的预测结果。
这里,可以是将各个预测文本输入训练好的目标模型,从而利用训练好的目标模型对所述预测文本进行预测处理,得到所述预测文本的预测向量,然后在基于预测向量确定预测文本对应的预测结果。
步骤S315,终端输出所述预测文本的预测结果。
终端输出预测文本的预测结果可以是在终端的显示装置中呈现预测结果。
在一些实施例中,上述步骤S313至步骤S315也可以是由服务器实现的,在服务器获取到目标任务对应的目标模型后,可以向终端发送获取预测文件的获取请求,终端基于该获取请求,向服务器返回预测文本,服务器利用该目标模型对预测文本进行预测处理,从而得到预测文本的预测结果,然后服务器向终端返回该预测结果。
在本申请实施例提供的模型参数调整方法中,终端在将携带有目标任务信息的参数调整请求发送至服务器后,服务器响应于该参数调整请求获取训练好的预训练模型和该预训练模型的待调整参数的第一参数维度;并获取训练好的第一网络模型和预训练好的参数调整向量;其中,所述训练好的第一网络模型的第二参数维度是基于所述预训练好的参数调整向量的第三参数维度和所述第一参数维度确定的,且所述参数调整向量的参数个数小于所述待调整参数的参数个数;基于目标任务和所述训练好的第一网络模型对所述预训练好的参数调整向量继续训练,得到训练好的参数调整向量;基于所述训练好的第一网络模型和所述训练好的参数调整向量确定所述待调整参数的调整值;基于所述待调整参数的调整值对所述训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型,之后利用测试数据确定目标模型是否满足评估标准,如果不满足则继续调整参数调整向量,从而使得最终训练好的目标模型是满足评估标准的,从而保证最终训练好的目标模型的预测结果的准确性,服务器将最终训练好的目标模型发送至终端,以使得终端利用最终训练好的目标模型对预测文本进行预测处理,得到预测结果,如此,不仅能够提供模型参数调整的效率,并且还能保证最终得到的预测结果的准确性。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供一种模型参数方法,图6为本申请实施例提供的模型参数调整方法的再一种实现流程示意图,以下结合图6对该方法的各个步骤进行说明。
步骤S601,获取预训练模型的输入和输出以及损失函数。
步骤S602,在源任务上对超网络(Hyper Network)和本征向量(IntrinsicVector)训练。
这里的超网络对应其他实施例中的第一网络模型,本征向量对应其他实施例中的参数调整向量
步骤S603,在目标任务上基于超网络,只微调本征向量,解决目标任务对应的目标问题。
以下对上述各个步骤的实现过程进行说明。
本申请实施例提供的模型参数调整方法适配各种预训练模型、各种少参数微调方法、下游任务,所以实际使用的预训练模型(例如BART、T5等)、少参数微调方法(例如BitFit、LoRA等)、下游任务类型(例如情感分析等)可以自由选择。在本申请实施例中,采用了T5模型作为基础的模型进行说明。进一步地,可以是使用T5模型之中的T5BASE模型,它由12层Transformer构成,总的参数量大致是110M。该预训练模型的输入为一系列token(字)组成的序列X,输出为一系列token组成的序列Y。
例如对于情感分析,X={x1,...,x|X|}可以是:“我很喜欢这一部电影,上述句子的情感倾向为”,Y={y1,...,y|Y|}可以是:“积极的情感”。将X输入预训练模型之后,可以不断解码出序列Y。损失函数定义如公式(1-1)所示:
通过优化公式(1-1)所示的损失函数,并改变对应的参数(需要改变的参数由选用的微调方法决定),就可以让预训练模型学会处理对应的下游任务(例如情感分类)。
本申请实施例提供的模型参数调整方法包括两个阶段:第一个阶段选取一个源任务来学习出一个超网络和本征向量,第二阶段利用第一阶段训练好的超网络解决目标任务。
在第一阶段中,为了减少训练目标任务时的微调的参数量,首先选取一个源任务(源任务需要与目标任务在具有一定的相似性,例如都属于文本分类任务),并在源任务上训练超网络和本征向量。本申请实施例提供的模型参数调整方法可以是在相关技术中的少参数微调方法的基础上再次进行简化,所以适配的少参数微调方法可以自由选择。这里假设该少参数微调方法需要微调一个矩阵W0(该假设适用所有现有高效少参数微调方法),其维度为h1×h2。本征向量的定义为一个维度为hr的向量Ir,其中hr远小于h1和h2;超网络的定义为一个维度为h1×h2×hr的矩阵Wh。将超网络作用到本征向量上就可以生成需要的矩阵W0,如公式(1-2)所示:
W0=Wh(Ir) (1-2);
在源任务上,按照目标函数LLM同时训练Wh和Ir,并固定预训练模型保持不动。训练结束后得到的Wh定义了一个以源任务为代表的一系列相似任务的优化本征空间,且这个优化本征空间的维度为hr。在此基础上,所有的类似的任务都可以在这个本征空间中进行优化。由于该本征空间维度很低,所以需要的参数量也很小。
在步骤S602中,通过在源任务上同时训练Wh和Ir,得到了一个以源任务代表的一系列任务的维度为hr的优化本征空间。在第二阶段中,将仅在这个低维的优化空间中优化目标任务,从而让预训练模型学会如何解决目标任务。在实现时,仅保留第一阶段训练得到的Wh,并且在第二阶段中保持Wh固定不变,同时也保持预训练模型的参数固定不变,仅微调一个维度为hr的向量。根据公式(1-2),可以通过一个不断改变的Ir和一个固定的Wh得到适配当前目标任务的W0。第二阶段对于目标任务训练的损失函数与之前相同,也是LLM。相比于之前的少参数微调方法需要在训练中微调W0,一共有h1×h2个参数,而现在只需要微调hr个参数,由于hr远小于h1和h2,因此大大减少了需要微调的参数量。
在本申请实施例中使用新的框架预训练了一个模型,并在几个公开的情感分类问题数据集(源任务:SST-2,目标任务:Rotten Tomatoes/Yelp Polarity/Amazon Polarity)上进行了效果验证,结果见表1。其中,Finetune为传统下游任务微调方法,LoRA/BitFit为对比的基线少参数微调方法,Intrinsic LoRA/Intrinsic BitFit为本申请实施例提出的少参数微调方法(分别适配LoRA/BitFit)。
表1、不同参数微调方法的结果对比表
从表1中可以看出,本申请实施例提供的模型参数调整方法相比传统方法能够微调更少的参数,并且相比LoRA使用了0.00364%的参数,相比BitFit使用了0.0000909%的参数,达到与传统finetune相当的效果(准确率),这说明利用本申请实施例提供的模型参数的模型能够更加高效地训练预训练大模型。同时,验证了本申请实施例提供的模型参数调整方法可以适配LoRA和BitFit两种方法,体现了本申请实施例提供的模型参数调整方法可以广泛适配各种各样的现有少参数微调预训练模型的方法。
可以理解的是,在本申请实施例中,涉及到用户信息的内容,例如,第一训练数据和第二训练数据中的训练文本等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的模型参数调整装置443的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器440的模型参数调整装置443中的软件模块可以包括:
第一获取模块4431,用于获取训练好的预训练模型和所述训练好的预训练模型的待调整参数的第一参数维度;
第二获取模块4432,用于获取训练好的第一网络模型和预训练好的参数调整向量;其中,所述训练好的第一网络模型的第二参数维度是基于所述预训练好的参数调整向量的第三参数维度和所述第一参数维度确定的,且所述参数调整向量的参数个数小于所述待调整参数的参数个数;
第一训练模块4433,用于基于目标任务和所述训练好的第一网络模型对所述预训练好的参数调整向量继续训练,得到训练好的参数调整向量;
第一确定模块4434,用于基于所述训练好的第一网络模型和所述训练好的参数调整向量确定所述待调整参数的调整值;
参数调整模块4435,用于基于所述待调整参数的调整值对所述训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型。
在一些实施例中,该装置还包括:
第三获取模块,用于获取针对所述训练好的预训练模型采用的参数微调算法;
第二确定模块,用于基于所述参数微调算法,确定所述训练好的预训练模型的待调整参数和所述待调整参数的第一参数维度,所述第一参数维度为M*N,M和N为正整数。
在一些实施例中,该装置还包括:
第四获取模块,用于获取预设的参数调整向量,其中,所述参数调整向量的第三参数维度为R维向量,R为正整数,R小于M且R小于N;
第三确定模块,用于基于所述第一参数维度和所述第三参数维度确定所述第二参数维度,所述第二参数维度为M*N*R。
在一些实施例中,该装置还包括:
模型构建模块,用于基于所述第二参数维度构建第一网络模型;
第五获取模块,用于获取源任务,并获取所述源任务对应的第一训练数据和第一损失函数;
第二训练模块,用于利用所述第一训练数据和所述第一损失函数对第一网络模型和参数调整向量进行训练,得到训练好的第一网络模型和预训练好的参数调整向量。
在一些实施例中,第一训练模块4433还用于:
获取目标任务,并获取所述目标任务对应的第二训练数据和第二损失函数;
保持所述训练好的第一网络模型中的参数不变,利用所述第二训练数据和所述第二损失函数,对所述预训练好的参数调整向量继续进行训练,得到训练好的参数调整向量。
在一些实施例中,该第一确定模块4434,还用于:
获取所述训练好的第一网络模型的第一参数信息,获取所述训练好的参数调整向量的第二参数信息,其中,所述第一参数信息为M*N*R的矩阵参数值;所述第二参数信息为R维的向量参数值;
将所述第一参数信息和所述第二参数信息进行乘法计算,得到所述待调整参数的调整值。
在一些实施例中,该参数调整模块4435,还用于:
获取所述训练好的预训练模型中各个待调整参数的当前参数值;
基于所述各个待调整参数的当前参数值和所述各个待调整参数的调整值,确定所述各个待调整参数的更新参数值;
基于所述各个待调整参数的更新参数值和所述训练好的预训练模型的除所述待调整参数之外的其他参数的当前参数值,确定所述目标任务对应的训练好的目标模型。
在一些实施例中,该装置还包括:
第六获取模块,用于获取所述目标模型对应的测试数据,所述测试数据包括多个测试文本和各个测试文本对应的标签信息;
第一预测模块,用于利用所述目标模型对所述各个测试文本进行预测处理,得到所述各个测试文本对应的预测信息;
第四确定模块,用于基于所述各个测试文本对应的标签信息和预测信息确定所述目标模型的评估信息;
第一调整模块,用于当确定所述评估信息未达到预设的评估阈值时,继续调整所述参数调整向量的参数直至所述目标模型的评估信息达到评估阈值。
在一些实施例中,该装置还包括:
第七获取模块,用于获取所述目标任务对应的预测文本;
第二预测模块,用于利用所述训练好的目标模型对所述预测文本进行预测处理,得到所述预测文本的预测结果;
结果输出模块,用于输出所述预测文本的预测结果。
需要说明的是,本申请实施例针对模型参数调整装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的模型参数调整方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的模型参数调整方法,例如,如图3、图4以及图5示出的模型参数调整方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (13)
1.一种模型参数调整方法,其特征在于,所述方法包括:
获取训练好的预训练模型和所述训练好的预训练模型的待调整参数的第一参数维度;
获取训练好的第一网络模型和预训练好的参数调整向量;其中,所述训练好的第一网络模型的第二参数维度是基于所述预训练好的参数调整向量的第三参数维度和所述第一参数维度确定的,且所述参数调整向量的参数个数小于所述待调整参数的参数个数;
基于目标任务和所述训练好的第一网络模型对所述预训练好的参数调整向量继续训练,得到训练好的参数调整向量;
基于所述训练好的第一网络模型和所述训练好的参数调整向量确定所述待调整参数的调整值;
基于所述待调整参数的调整值对所述训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型。
2.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
获取针对所述训练好的预训练模型采用的参数微调算法;
基于所述参数微调算法,确定所述训练好的预训练模型的待调整参数和所述待调整参数的第一参数维度,所述第一参数维度为M*N,M和N为正整数。
3.根据权利要求2中所述的方法,其特征在于,所述方法还包括:
获取预设的参数调整向量,其中,所述参数调整向量的第三参数维度为R维向量,R为正整数,R小于M且R小于N;
基于所述第一参数维度和所述第三参数维度确定所述第二参数维度,所述第二参数维度为M*N*R。
4.根据权利要求3中所述的方法,其特征在于,所述方法还包括:
基于所述第二参数维度构建第一网络模型;
获取源任务,并获取所述源任务对应的第一训练数据和第一损失函数;
利用所述第一训练数据和所述第一损失函数对第一网络模型和参数调整向量进行训练,得到训练好的第一网络模型和预训练好的参数调整向量。
5.根据权利要求1中所述的方法,其特征在于,所述基于目标任务和所述训练好的第一网络模型对所述预训练好的参数调整向量继续训练,得到训练好的参数调整向量,包括:
获取目标任务,并获取所述目标任务对应的第二训练数据和第二损失函数;
保持所述训练好的第一网络模型中的参数不变,利用所述第二训练数据和所述第二损失函数,对所述预训练好的参数调整向量继续进行训练,得到训练好的参数调整向量。
6.根据权利要求1中所述的方法,其特征在于,所述基于所述训练好的第一网络模型和所述训练好的参数调整向量确定所述待调整参数的调整值,包括:
获取所述训练好的第一网络模型的第一参数信息,获取所述训练好的参数调整向量的第二参数信息,其中,所述第一参数信息为M*N*R的矩阵参数值;所述第二参数信息为R维的向量参数值;
将所述第一参数信息和所述第二参数信息进行乘法计算,得到所述待调整参数的调整值。
7.根据权利要求6中所述的方法,其特征在于,所述基于所述待调整参数的调整值对所述训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型,包括:
获取所述训练好的预训练模型中各个待调整参数的当前参数值;
基于所述各个待调整参数的当前参数值和所述各个待调整参数的调整值,确定所述各个待调整参数的更新参数值;
基于所述各个待调整参数的更新参数值和所述训练好的预训练模型的除所述待调整参数之外的其他参数的当前参数值,确定所述目标任务对应的训练好的目标模型。
8.根据权利要1至7任一项所述的方法,其特征在于,所述方法还包括:
获取所述目标模型对应的测试数据,所述测试数据包括多个测试文本和各个测试文本对应的标签信息;
利用所述目标模型对所述各个测试文本进行预测处理,得到所述各个测试文本对应的预测信息;
基于所述各个测试文本对应的标签信息和预测信息确定所述目标模型的评估信息;
当确定所述评估信息未达到预设的评估阈值时,基于调整所述参数调整向量的参数直至所述目标模型的评估信息达到评估阈值。
9.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
获取所述目标任务对应的预测文本;
利用所述训练好的目标模型对所述预测文本进行预测处理,得到所述预测文本的预测结果;
输出所述预测文本的预测结果。
10.一种参数模型调整装置,其特征在于,所述装置包括:
第一获取模块,用于获取训练好的预训练模型和所述训练好的预训练模型的待调整参数的第一参数维度;
第二获取模块,用于获取训练好的第一网络模型和预训练好的参数调整向量;其中,所述训练好的第一网络模型的第二参数维度是基于所述预训练好的参数调整向量的第三参数维度和所述第一参数维度确定的,且所述预训练好的参数调整向量的参数个数小于所述待调整参数的参数个数;
第一训练模块,用于基于目标任务和所述训练好的第一网络模型对所述预训练好的参数调整向量继续训练,得到训练好的参数调整向量;
第一确定模块,用于基于所述训练好的第一网络模型和所述训练好的参数调整向量确定所述待调整参数的调整值;
参数调整模块,用于基于所述待调整参数的调整值对所述训练好的预训练模型的参数进行调整,得到所述目标任务对应的训练好的目标模型。
11.一种计算机设备,其特征在于,所述计算机设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至9任一项所述的方法。
12.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至9任一项所述的方法。
13.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210134765.9A CN116644791A (zh) | 2022-02-14 | 2022-02-14 | 模型参数调整方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210134765.9A CN116644791A (zh) | 2022-02-14 | 2022-02-14 | 模型参数调整方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116644791A true CN116644791A (zh) | 2023-08-25 |
Family
ID=87617493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210134765.9A Pending CN116644791A (zh) | 2022-02-14 | 2022-02-14 | 模型参数调整方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116644791A (zh) |
-
2022
- 2022-02-14 CN CN202210134765.9A patent/CN116644791A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112487182B (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
US20210027023A1 (en) | Multi-turn dialogue response generation via mutual information maximization | |
CN109840287A (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
KR20190113928A (ko) | 강화 학습을 통한 디바이스 배치 최적화 | |
KR20180017622A (ko) | 병렬 처리에 기초한 번역 방법 및 장치 | |
CN111666416B (zh) | 用于生成语义匹配模型的方法和装置 | |
CN110402445B (zh) | 使用递归神经网络浏览序列数据的方法和系统 | |
CN112288075A (zh) | 一种数据处理方法及相关设备 | |
CN109978139B (zh) | 图片自动生成描述的方法、系统、电子装置及存储介质 | |
CN113239169A (zh) | 基于人工智能的回答生成方法、装置、设备及存储介质 | |
WO2023137911A1 (zh) | 基于小样本语料的意图分类方法、装置及计算机设备 | |
CN111310464A (zh) | 词向量获取模型生成方法、装置及词向量获取方法、装置 | |
CN113918681A (zh) | 基于片段抽取的阅读理解方法、系统、电子设备和存储介质 | |
CN112101042A (zh) | 文本情绪识别方法、装置、终端设备和存储介质 | |
CN110929532B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN116737895A (zh) | 一种数据处理方法及相关设备 | |
CN117056494B (zh) | 开放域问答的方法、装置、电子设备和计算机存储介质 | |
CN112132281B (zh) | 一种基于人工智能的模型训练方法、装置、服务器及介质 | |
CN109902273A (zh) | 关键词生成模型的建模方法和装置 | |
CN117453925A (zh) | 知识迁移方法、装置、设备、可读存储介质及程序产品 | |
CN117216547A (zh) | 模型训练方法、语言处理方法、装置及计算机设备 | |
CN116610795A (zh) | 文本检索方法及装置 | |
CN116644791A (zh) | 模型参数调整方法、装置、设备及计算机可读存储介质 | |
CN116957006A (zh) | 预测模型的训练方法、装置、设备、介质及程序产品 | |
CN111400484B (zh) | 一种关键词提取方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |