CN117474084A - 预训练模型与下游序列任务双向迭代方法、设备及介质 - Google Patents
预训练模型与下游序列任务双向迭代方法、设备及介质 Download PDFInfo
- Publication number
- CN117474084A CN117474084A CN202311797012.7A CN202311797012A CN117474084A CN 117474084 A CN117474084 A CN 117474084A CN 202311797012 A CN202311797012 A CN 202311797012A CN 117474084 A CN117474084 A CN 117474084A
- Authority
- CN
- China
- Prior art keywords
- model
- task
- downstream
- training
- current
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 457
- 238000000034 method Methods 0.000 title claims description 94
- 230000002457 bidirectional effect Effects 0.000 title description 23
- 238000000605 extraction Methods 0.000 claims description 24
- 238000002372 labelling Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 11
- 238000003672 processing method Methods 0.000 claims description 9
- 230000008014 freezing Effects 0.000 claims description 3
- 238000007710 freezing Methods 0.000 claims description 3
- 230000006978 adaptation Effects 0.000 abstract description 16
- 230000003044 adaptive effect Effects 0.000 abstract description 13
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000006872 improvement Effects 0.000 description 7
- 238000011160 research Methods 0.000 description 6
- 230000002441 reversible effect Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241000761389 Copa Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000002679 ablation Methods 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000009966 trimming 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
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- 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
- G06N3/096—Transfer learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/041—Abduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Feedback Control In General (AREA)
Abstract
本申请实施例提供一种预训练模型与下游序列任务双向迭代方法、设备及介质,在本申请实施例中,提供一种新的基于软提示词的微调训练方式,在微调训练的每个轮次中,既包括历史下游任务到预训练模型的反馈链路,又包括预训练模型到当前下游任务的适应链路。针对每个当前轮次,基于反馈链路利用当前轮次之前出现的历史下游任务对预训练模型进行一次微调,以提升预训练模型的能力;基于适应链路利用当前轮次的当前下游任务对已经微调过的预训练模型进行二次微调,以训练更加适应下游任务的任务模型。由此,预训练模型能够更好地在下游任务中的落地应用,特别在少样本场景下能取得更好的模型性能。
Description
技术领域
本申请涉及机器学习技术领域,尤其涉及一种预训练模型与下游序列任务双向迭代方法、设备及介质。
背景技术
预训练模型是在大规模训练数据上进行有监督或无监督训练,从中学习到通用的共性知识,能够通过迁移学习或直接应用到下游任务上的通用模型,能够减轻模型在下游任务上的学习负担。例如,目前比较热门的大语言模型(Large Language Models,LLMs),通用语言生成模型(General Language Model,GLM)等均属于预训练模型。
预训练模型的训练过程分为预训练(Pretrain)和微调(Finetune)两个阶段,也被称为预训练后微调范式(Pretrain-then-Finetune)。预训练阶段利用大量训练数据学习得到上下文无关(context-free)的通用特征,以辅助下游任务的学习;微调阶段着眼于学习上下文相关(context-aware)的特征表达,以得到适于下游任务的任务模型。
随着预训练模型的广泛应用,预训练模型的垂直应用与下游迁移成为重要的研究方向之一,重点解决预训练模型在下游任务中落地应用时的能力提升问题。但是,目前国内外的研究大多局限于预训练和微调这两个阶段、模型复杂度以及扩充数据集几个方面,亟需一种创新性的解决方案能够提升预训练模型的性能,使预训练模型能够更好地在下游任务中的落地应用。
发明内容
本申请的多个方面提供一种预训练模型与下游序列任务双向迭代方法、设备及介质,用以使预训练模型能够更好地在下游任务中的落地应用。
本申请实施例提供一种预训练模型与下游序列任务双向迭代方法,包括:确定当前轮次的初始预训练模型,当前轮次的初始预训练模型是上一轮次进行微调得到的目标预训练模型;利用当前轮次之前出现的历史下游任务的训练数据,对当前轮次的初始预训练模型进行基于软提示词的微调,以得到当前轮次的目标预训练模型;利用当前轮次中出现的当前下游任务的训练数据,对当前轮次的目标预训练模型进行基于软提示词的微调,以得到当前下游任务对应的任务模型。
本申请实施例还提供一种下游任务处理方法,包括:获取待处理下游任务的任务数据、待处理下游任务对应的任务模型和任务模型推理使用的软提示词;根据软提示词和任务数据,生成模型输入数据;将模型输入数据输入任务模型,以得到模型输出数据;其中,任务模型是根据本申请实施例提供的预训练模型与下游序列任务双向迭代方法训练得到的。
本申请实施例还提供一种电子设备,包括:存储器和处理器;存储器,用于存储计算机程序;处理器耦合至存储器,用于执行计算机程序以用于执行本申请实施例预训练模型与下游序列任务双向迭代方法或下游任务处理方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机存储介质,当计算机程序被处理器执行时,致使处理器能够实现本申请实施例提供的预训练模型与下游序列任务双向迭代方法或下游任务处理方法中的步骤。
在本申请实施例中,提供一种新的基于软提示词的微调训练方式,在微调训练的每个轮次中,既包括历史下游任务到预训练模型的反馈链路,又包括预训练模型到当前下游任务的适应链路。针对每个当前轮次,基于反馈链路利用当前轮次之前出现的历史下游任务对预训练模型进行一次微调,以提升预训练模型的能力;基于适应链路利用当前轮次的当前下游任务对已经微调过的预训练模型进行二次微调,以训练更加适应下游任务的任务模型。在本申请实施例中,通过下游任务反哺提升预训练模型能力,使得预训练模型在垂直下游任务上有更好的表现,呈现预训练模型与下游任务双向迭代的关系,解决下游任务理解不足、预训练模型在垂直下游任务有领域迁移性不足的问题,使得预训练模型能够更好地在下游任务中落地应用,特别是在少样本场景下能够取得更好的模型性能。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种预训练模型与下游序列任务双向迭代方法的流程图;
图2a为本申请实施例提供的以5T模型为例16-shot样本下软提示词与模型准确性之间的关系示意图;
图2b为本申请实施例提供的以5T模型为例32-shot样本下软提示词与模型准确性之间的关系示意图;
图2c为本申请实施例提供的以5T模型为例100-shot样本下软提示词与模型准确性之间的关系示意图;
图3a为本申请实施例提供的一种示例性的预训练模型与下游任务双向迭代的过程示意图;
图3b为本申请实施例提供的一种示例性每个轮次中反馈链路与适应链路的微调示意图;
图4为本申请实施例提供的一种下游任务处理方法的流程图;
图5为本申请实施例提供的一种示例性的应用场景图;
图6为本申请实施例提供的一种双向迭代装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
随着预训练模型的飞速发展,预训练模型的模型层数、模型参数量以及训练数据量均在不断增加,预训练模型得以涌现出新的能力,例如渐进式的理解以及类人的推理等。模型能力逐渐提升,使得预训练模型能够容纳更多的通用知识,与此同时,也导致模型对计算资源的消耗急剧上升,对数据量的需求持续增加。于是,零样本学习(Zero-shotLearning)成为评价预训练模型能力的重要指标之一,一方面是因为微调超大预训练模型的计算代价往往难以负担,另一方面是出于超大规模预训练模型在零样本学习或小样本学习(Few-shot Learning)场景下已能达到与微调相近的结果。
为了解决预训练模型在下游任务中落地应用时的能力提升问题,国内外对于预训练进行了相关研究,有的研究重点关注预训练后微调的两阶段过程,并以提出更好、更高效的预训练模型为目标;有些研究是通过提升模型复杂度、扩充数据集等提高预训练模型能力,以获得更通用的预训练模型,并在零样本学习的场景下直接运用到下游任务中。
无论是哪些研究,都没有对预训练任务与下游任务共同建模,忽略了下游任务对预训练模型的影响,也忽略了下游任务的训练数据可能为预训练模型带来的性能提升。另外,由于没有考虑预训练任务和下游任务之间的差异,导致在利用连续的高质量标记样本进行预训练时,很难实现良好的少样本或零样本性能。在本申请实施例中,在预训练模型的微调过程中引入下游任务,实现预训练任务与下游任务的双向迭代,利用历史下游任务对预训练模型进行微调,通过下游任务反哺提升预训练模型的能力,进而利用反哺后的预训练模型对当前下游任务进行微调得到当前下游任务的任务模型,使得预训练模型在垂直下游任务上有更好的表现,呈现预训练模型与时序下游任务双向迭代的关系,解决了下游任务理解不足、预训练模型在垂直下游任务有领域迁移性不足的问题,使得预训练模型能够更好地在下游任务中落地应用,特别是在少样本场景下能取得更好的模型性能。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例提供的一种预训练模型与下游序列任务双向迭代方法的流程图。参见图1,该方法可以包括以下步骤:
101、确定当前轮次的初始预训练模型,当前轮次的初始预训练模型是上一轮次进行微调得到的目标预训练模型;
102、利用当前轮次之前出现的历史下游任务的训练数据,对当前轮次的初始预训练模型进行基于软提示词的微调,以得到当前轮次的目标预训练模型;
103、利用当前轮次中出现的当前下游任务的训练数据,对当前轮次的目标预训练模型进行基于软提示词的微调,以得到当前下游任务对应的任务模型。
其中,历史下游任务和当前下游任务是按照不同任务触发时间出现在不同轮次中的。
本实施例提供的预训练模型与下游序列任务双向迭代方法涉及预训练后微调范式。预训练后微调范式,首先在大数据集上训练一个具有强泛化能力的预训练模型(Pre-trained Model),然后在特定的下游任务(DownstreamTask)上进行微调,以得到适应不同场景和需求的任务模型。
在本申请实施例中,可以预先得到原始的预训练模型,关于对原始的预训练模型的泛化训练过程不做限定。例如,可以利用一些基础任务产生的训练数据采用无监督学习的方法,通过自动地学习训练数据的统计规律和语义信息来构建原始的预训练模型。其中,根据预训练模型的功能不同,基于基础任务的训练数据进行预训练的过程会有所不同。以预训练模型为大语言模型为例,基于基础任务的训练数据进行预训练的过程包括通过上文的词来预测下一个词和掩码填充等等。在本申请实施例中,原始的预训练模型通过基础任务的训练过程,可以学习到更丰富的通用知识和相关表示,具有较高的泛化能力和鲁棒性。
在本实施例中,通过利用特定的下游任务的训练数据对预训练模型进行微调得到的模型,可以称作为任务模型,下游任务是指在预训练模型基础上具体应用于实际问题的任务,其是更加具体的应用形态。例如,下游任务为以商品类目预测作为任务目标的下游任务、以商品特征提取作为任务目标的任务或以商品内容理解作为任务目标的下游任务,其中,这些不同的下游任务的任务目标各不相同,呈现为高度多样化的目标。不同下游任务的数据分布各有各的特点,也即呈现为异构的数据分布。也就是说,下游任务具有高度多样化的目标和异构的数据分布,通过下游任务微调预训练模型得到的任务模型在下游任务上的表现更好,模型性能和适应性得到了提高。
在本实施例中,下游任务具有时序特性,各下游任务以顺序模式依次出现而不是一次性出现,将以时间先后顺序依次出现的多个下游任务记为下游序列任务(也可称作为时序下游任务)。也就是说,预训练模型的应用需求是随着时间的推移而从不同场景中发现的。在本实施例中,对预训练模型和顺序出现的下游任务之间的双向知识传递问题进行建模,简称为预训练模型与下游任务双向迭代关系,并将预训练模型与下游任务双向迭代关系引入到预训练模型的微调阶段,得到一种新的微调方式。在该新的微调方式中,包括来自下游任务到预训练模型的反馈链路(Feedback)以及来自预训练模型到下游任务的适应链路(Adaption)。其中,反馈链路是指利用下游任务对预训练模型进行微调以得到新的预训练模型的链路,该链路上的微调主要是对预训练模型进行更新,让预训练模型积累不同下游任务之间共享的通用知识;适应链路是指针对下游任务对预训练模型进行微调以得到适合下游任务的任务模型的链路,该链路上的微调主要目的是让预训练模型学习下游任务的特定知识,以使预训练模型在下游任务上有更好的表现。
其中,预训练模型与下游任务双向迭代可以理解为预训练模型与下游任务之间相互促进的关系。在本实施例中,下游任务以顺序模式依次出现而不是一次性出现,预训练模型的应用需求随着时间推移而有所不同。对于某个特定的下游任务,不同于传统方案中独立于其他下游任务,在对预训练模型的微调过程中,该特定的下游任务会分别参与微调过程中的适应链路和反馈链路,具体地,一方面可以参与预训练模型到下游任务的适应链路,即利用它对预训练模型进行微调以得到该下游任务的任务模型;另一方面可以参与下游任务到预训练模型的反馈链路,即利用它对预训练模型进行更新,辅助预训练模型学习下游任务之间共享的通用知识,实现下游任务对预训练任务的反哺,进而提升预训练模型的能力,而反哺后的预训练模型又会在后续下游任务上有更好的表现,呈现为双向迭代的关系,解决了下游任务理解不足、预训练模型在垂直的下游任务有领域迁移性不足的问题。
在本实施例中,为了建模下游任务的时序特性,按照下游任务到来的顺序将各个下游任务划分到微调训练过程中的不同轮次(Round)中,这样随着下游任务的不断到来,可以对预训练模型进行不断更新迭代,不断丰富预训练模型学习到的下游任务之间的通用知识,使得预训练任务在下游任务上具有更好的性能表现。在每个轮次中,包括一个或多个下游任务。
在本实施例中,可以预先确定采用本申请实施例提供的方法的一个或多个目标应用场景。例如,可以从电商维度,将某电商提供的各种电商应用(例如二手交易应用、综合类应用、海淘类应用等)涉及的应用场景均作为本实施例中的目标应用场景,或者,也可以从应用类型为例,将某种类型的应用(例如即时通讯类应用、电商类应用或游戏类应用)涉及的应用场景作为基本实施例中的目标应用场景;当然,还可以从其它维度来确定本实施例中的目标应用场景。针对目标应用场景,随着时间推移,可以不断收集出现的依赖于预训练模型的下游任务。例如,对于电商应用场景,可能会出现商品特征提取任务、用户画像生成任务、商品类目预测任务、商品图像生成任务、3D数字人生成任务等下游任务。
在本实施例中,并不限定将下游任务划分到不同轮次所采用的划分为方式。例如,可以不断积累到来的下游任务的数量,当到来的下游任务达到指定数量或位于指定数量范围时,将这些下游任务划分到一个轮次中;然后,随着下游任务的不断到来,重新对这些下游任务进行积累直到再次达到指定数量或位于指定数量范围内时,重新划分新一轮次,以此类推。又例如,也可以按照设定的时间间隔对下游任务进行轮次划分,假设设定的时间间隔为1小时,则随着时间的推移,将在每个1小时内到来的下游任务划分到一个轮次中。又例如,也可以按照事件触发对下游任务进行轮次划分,例如每当发生设定触发事件时,将在两个相邻设定触发事件之间到来的下游任务划分到一个轮次中,触发事件可以根据应用需求而定。又例如,也可以根据模型训练人员的划分指令对下游任务进行轮次划分,例如每当接收到划分指令时,将在相邻两次切分指令之间到来的下游任务划分到同一轮次中。
无论采用何种方式对下游任务进行轮次划分,其中,出现在相同轮次的下游任务的任务触发时间相同或相近,出现在不同轮次的下游任务的任务触发时间不同,具有较大的差异性,任务触发时间是指下游任务出现或到来时间,任务触发时间越早,其所属轮次的次序越靠前。例如,下游任务分别有2023 11-13 9:00的商品类目预测任务、2023 11-13 9:00的商品特征提取任务、2023 11-13 10:00的商品内容理解任务、2023 11-13 10:00的电商Query(查询词)理解任务、2023 11-13 11:00的相似商品推荐任务、2023 11-13 11:00的商品场景图生成任务。整个微调训练的轮次按照时间先后顺序依次为:轮次1(Round 1)、轮次2(Round 2)、轮次3(Round 3)。其中,轮次1出现的下游任务有2023 11-13 9:00的商品类目预测任务、2023 11-13 9:00的商品特征提取任务。轮次2出现的下游任务有2023 11-1310:00的商品内容理解任务、2023 11-13 10:00的电商Query(查询)理解任务。轮次3出现的下游任务有2023 11-13 11:00的相似商品推荐任务、2023 11-13 11:00的商品场景图生成任务。
在本实施例中,对预训练模型进行多个轮次的微调训练,在每个轮次中,先对预训练模型进行反馈链路上的微调,再对经反馈链路上微调后的预训练模型进行适应链路上的微调。针对每个轮次的微调训练,一方面确定当前轮次之前出现的历史下游任务,这些历史下游任务是出现在历史轮次中的下游任务,一方面确定当前轮次中出现的当前下游任务。其中,历史下游任务和当前下游任务是按照不同任务触发时间出现在不同轮次中的。为便于描述和区分,将当前轮次中出现的下游任务称为当前下游任务,当前下游任务的任务触发时间位于当前轮次对应的时间分为内,将在当前轮次之前出现的下游任务称为历史下游任务,历史下游任务是在当前轮次之前相应的历史轮次中出现的下游任务。或者,也可以将当前轮次之前出现的历史下游任务理解为源任务(Source Task),将当前轮次中出现的当前下游任务理解为目标任务(Target Task)。举例来说,相对轮次1来说,2023 11-13 9:00的商品类目预测任务、2023 11-13 9:00的商品特征提取任务是轮次1的当前下游任务,但是,随着时间的推移,当出现轮次2和轮次3时,相对于轮次2和轮次3时,轮次1中的下游任务会成为在轮次2和轮次3之前出现的历史下游任务。
在本实施例中,对预训练模型与下游任务之间的双向知识传递进行建模,包括下游任务到预训练模型的反馈链路和预训练模型到下游任务的适应链路。其中,在将下游任务划分为不同轮次的情况下,在每个轮次中都包含反馈链路和适应链路,如图2a所示,具体地,反馈链路是指利用当前轮次之前出现的历史下游任务对预训练模型进行微调,让预训练模型学习这些历史下游任务之间共享的通用知识;适应链路是指利用当前轮次中出现的当前下游任务对反馈链路上经过微调后的预训练模型(也可以称为反馈模型)再次进行微调,让预训练模型学习当前下游任务的特定知识,进而得到当前下游任务的任务模型。这样,针对每个当前轮次,通过反馈链路提升预训练模型的通用能力,通过适应链路训练更加适应下游任务的任务模型。
在本实施例中,在利用反馈链路提升预训练模型的通用能力时,为了便于描述和区分,将每个轮次中的预训练模型区分为初始预训练模型和目标预训练模型;其中,每个轮次中的初始预训练模型是本轮次中需要经过反馈链路进行微调训练的预训练模型,也是上一轮次中的目标预训练模型;每个轮次中的目标预训练模型事本轮次中经过反馈链路进行微调训练得到的预训练模型,也是下一轮次中的初始预训练模型。对于非第1个轮次,该轮次中的初始预训练模型是上一轮次中的目标预训练模型;对于非最后一个轮次,该轮次中的目标预训练模型也是下一轮次中的初始预训练模型,具体可参见图2a所示。
在此说明,对于第1个轮次,将经过大数据集训练过的具有通用性的预训练模型作为第0个轮次进行微调得到的目标预训练模型,也即作为第1个轮次的初始预训练模型。相应地,对于第1个轮次,可以从训练通用性的预训练模型的任务中选择若干个任务作为第1个轮次之前出现的历史下游任务。本实施例中,每个轮次的初始预训练模型并不相同,预训练模型是通过反馈链路不断微调的。
以当前轮次为例,说明利用反馈链路对预训练模型进行微调训练的过程,具体为:针对当前轮次,确定当前轮次的初始预训练模型;利用当前轮次之前出现的历史下游任务的训练数据,对当前轮次的初始预训练模型进行基于软提示词(soft prompt)的微调,以得到当前轮次的目标预训练模型。基于软提示词(soft prompt)的微调属于提示微调(prompttuning)方式。软提示词可以在微调过程中不断被优化的,软提示词通常包含一个嵌入向量或一串数字数据,通过将嵌入向量或数字数据添加到模型输入的开头作为提示信息来引导模型的输出结果,随着模型的不断微调,软提示词可不断被优化,可以从模型中学习更准确的知识。在本申请实施例中,利用软提示词体现下游任务的专有知识,例如可以是下游任务相关的关键词、上下文等信息,用于指导预训练模型更好地理解和处理模型输入并给出更加符合下游任务需求的输出;并且随着模型的不断微调,软提示词可不断被优化,可以更加准确的反映下游任务的专有知识,不断引导预训练模型的输出,使得预训练模型更加适合下游任务中,提高预训练模型在下游任务上的表现。
在本申请实施例中,利用历史下游任务对预训练模型进行微调,其目标是积累不同下游任务之间共享的通用知识。然而,并非每个下游任务的知识对其他下游任务都有帮助。为了将任务特定的知识与通用知识分离开来,在本申请实施例中,为每个下游任务引入了软提示词,并提出了基于可学习提示词的多任务反馈算法,以利用当前轮次之前出现的历史下游任务的训练数据,对当前轮次的初始预训练模型进行基于软提示词的微调,以得到当前轮次的目标预训练模型。在本申请实施例中,在对当前轮次的初始预训练模型进行基于软提示词的微调过程中,并不限定历史下游任务之间的顺序,这些历史下游任务之间的顺序可以是随机混合的,也可以是按照出现的先后顺序进行排序的。
在本实施例中,无论是历史下游任务还是当前下游任务,每个下游任务都具有训练数据,这些训练数据是经过标注的训练数据,包括模型输入数据和标注结果。例如,历史下游任务的训练数据包括模型输入数据和标注结果,相应地,当前下游任务的训练数据也包括模型输入数据和标注结果。在此说明,随着时间的推移,不断出现的下游任务的类型和任务目的是不同的。根据下游任务类型的不同,下游任务的训练数据中包含的模型输入数据也会有所不同。例如,对于商品类目预测任务,其对应的模型输入数据可以是商品文本描述、商品详细信息或商品图片等多模态数据,标注结果表征诸如衣服、酒水或饮料等商品类目。对于商品内容理解任务,其对应的模型输入数据可以是商品文本描述、商品详细信息或商品图片等多模态数据,标注结果是商品类目体系、属性体系以及商品是什么等商品知识。基于此,可以利用当前轮次之前出现的历史下游任务的训练数据,对当前轮次的初始预训练模型进行基于软提示词的微调,以得到当前轮次的目标预训练模型。本实施例对当前轮次的初始预训练模型进行基于软提示词的微调的方式不做限制。
进一步可选的,利用当前轮次之前出现的历史下游任务的训练数据,对当前轮次的初始预训练模型进行基于软提示词的微调,以得到当前轮次的目标预训练模型的实现方式为:生成当前轮次之前出现的历史下游任务各自对应的第一软提示词;将第一软提示词嵌入对应历史下游任务的训练数据中,以得到历史下游任务的新的训练数据;根据历史下游任务的新的训练数据,对当前轮次的初始预训练模型进行微调,以得到当前轮次的目标预训练模型。
具体而言,针对当前轮次之前出现的任一历史下游任务,生成该历史下游任务的软提示词,在此,将为当前轮次之前出现的任一历史下游任务所生成的软提示词称作为第一软提示词。本实施例对第一软提示词的生成方式不做限制。下面介绍几种可选的生成方式:
方式1:针对任一历史下游任务,为其随机初始化第一软提示词。
方式2:针对任一历史下游任务,根据任一历史下游任务对应的任务模型推理使用的第四软提示词,为其生成第一软提示词。
具体而言,第四软提示词是任一历史下游任务对应的任务模型推理使用的软提示词。相比方式1得到的第一软提示词,方式2得到的第一软提示词能够更好地体现该历史下游任务的特定知识,有利于模型更好、更快地收敛,进而提高基于此微调得到的目标预训练模型的性能。
方式3:针对任一历史下游任务,根据任一历史下游任务之前的历史下游任务对应的第二软提示词,为其生成第一软提示词。
具体而言,对任一历史下游任务,其第二软提示词是对其之前的历史下游任务对应的第一软提示词进行优化得到的软提示词。任一历史下游任务之前的历史下游任务是指在该历史下游任务所出现轮次之前轮次所出现的历史下游任务,任一历史下游任务之前的历史下游任务的任务触发时间早于任一历史下游任务的任务触发时间。对任一历史下游任务之前的历史下游任务对应的第二软提示词进行诸如加权求和、求均值、累加等各种统计分析,得到该历史下游任务的第一软提示词。相比方式2得到的第一软提示词,方式3得到的第一软提示词能够体现之前历史下游任务的特定知识,有利于模型更好、更快地收敛,进而提高基于此微调得到的目标预训练模型性能。
在本实施例中,在得到当前轮次之前出现的历史下游任务各自对应的第一软提示词后,将第一软提示词嵌入对应历史下游任务的训练数据中,以得到历史下游任务的新的训练数据。具体而言,当前轮次之前出现的历史下游任务的训练数据包括模型输入数据和标注结果,将第一软提示词嵌入对应的模型输入数据中,得到新的模型输入数据,以更新当前轮次之前出现的历史下游任务的训练数据,历史下游任务的新的训练数据包括标注结果和已经嵌入第一软提示词的新的模型输入数据。例如,可以将历史下游任务的第一软提示词(具体为向量)嵌入到该历史下游任务对应的模型输入数据(具体为向量)的前部,得到新的模型输入数据(具体为向量),在微调过程中使用的新的模型输入数据实际上包括作用于模型主网络部分的原始模型输入数据和任务特定的软提示词部分。
可选的,为了提高模型性能,根据历史下游任务的新的训练数据,对当前轮次的初始预训练模型进行微调,以得到当前轮次的目标预训练模型的实现方式为:将历史下游任务的新的训练数据中的模型输入数据,输入当前轮次的初始预训练模型中,以得到历史下游任务的模型输入数据的预测结果;根据历史下游任务的模型输入数据的预测结果和历史下游任务的新的训练数据中对应的标注结果计算第一损失值;根据第一损失值,调整当前轮次的初始预训练模型的模型参数,以得到当前轮次的目标预训练模型;以及根据第一损失值,优化历史下游任务对应的第一软提示词,以得到第二软提示词。
具体而言,第一损失值反映历史下游任务的模型输入数据的预测结果和历史下游任务的新的训练数据中对应的标注结果之间的误差信息。计算第一损失值使用的损失函数例如包括但不限于:log 对数损失函数、交叉熵损失函数(Cross-entropy loss function)和用于解决数据不平衡问题的 Focal loss 损失函数。以使第一损失值最小化为目标,通过反向传播和梯度下降等更新当前轮次的初始预训练模型的模型参数,得到当前轮次的目标预训练模型。实际应用中,可以按需设置一个目标损失值,若第一损失值大于目标损失值,则说明第一损失值尚未达到最小化,则需要继续进行模型参数调整,并继续进行模型训练。若第一损失值小于或等于目标损失值,则说明第一损失值已经符合模型训练结束条件,当前轮次中反馈链路上对预训练模型的微调训练结束。
在本实施例中,在反馈链路上对初始预训练模型进行微调过程中,除了调整初始预训练模型中主网络的模型参数之外,还可以根据第一损失值,优化参与模型训练的各个历史下游任务对应的第一软提示词,以得到各个历史下游任务对应的第二软提示词。在此过程中,第一软提示词可看作待优化的模型参数的拓展,按照与主网络模型参数同样方式计算梯度,并进行反向传播和梯度下降等更新。随着对软提示词的优化学习,可以减轻下游任务对模型参数的误导效应,有利于进一步提高得到的目标预训练模型的性能。
实际应用中,可以优化当前轮次之前各个历史下游任务对应的第一软提示词,也可以优化当前轮次之前部分历史下游任务对应的第一软提示词,对此不做限制。进一步可选的,根据第一损失值,优化历史下游任务对应的第一软提示词,以得到第二软提示词时,可以根据第一损失值,对最近至少一个历史轮次中出现的历史下游任务对应的第一软提示词进行优化,以得到第二软提示词,并对当前轮次之前的其他历史轮次中出现的历史下游任务对应的第一软提示词进行冻结,也即保持当前轮次之前的其他历史轮次中出现的历史下游任务对应的第一软提示词的固定不变。其中,至少一个历史轮次可以是前一历史轮次,也可以是最近两个历史轮次,具体可根据应用需求而定,对此不做限定。举例来说,当前轮次是第5个轮次,对第4个轮次中出现的历史下游任务对应的软提示词进行优化,而第1个轮次、第2个轮次和第3个轮次的中出现的历史下游任务对应的软提示词固定不变。在本实施例中,选择对近期历史下游任务的软提示词进行更新,对于时间较远的历史下游任务的软提示词进行冻结,一定程度上可降低主网络的模型参数对下游任务的过拟合;而通过历史下游任务的训练数据不断对初始预训练模型进行模型参数的持续学习,可以让模型实现更强的泛化能力,并在少样本场景下取得更好的性能。
在本实施例中,对于每个轮次,在反馈链路上利用历史下游任务对初始预训练模型进行基于软提示词的微调之后,可以得到该轮次的目标预训练任务,进而可以针对该轮次中出现的当前下游任务对目标预训练任务进行适应链路上的微调,以得到与当前下游任务适配的任务模型。其中,在在适应链路上对目标预训练模型进行微调以得到与当前下游任务适配的任务模型时,利用当前轮次中出现的当前下游任务的训练数据,对当前轮次的目标预训练模型进行基于软提示词的微调,以得到当前下游任务对应的任务模型。值得注意的是,若当前轮次中出现了多个当前下游任务,则可以针对每个当前下游任务分别对目标预训练任务进行适应链路上的微调,以得到每个当前下游任务各自适配的任务模型,具体为:利用当前轮次中出现的每个当前下游任务的训练数据,分别对当前轮次的目标预训练模型进行基于软提示词的微调,以得到每个当前下游任务对应的任务模型。举例来说,2023 11-13 9:00的商品类目预测任务、2023 11-13 9:00的商品特征提取任务是轮次1的当前下游任务,则轮次1输出的任务模型有商品类目预测模型和商品特征提取模型。
本实施例对当前轮次的目标预训练模型进行基于软提示词的微调的方式不做限制。进一步可选的,为了提高模型性能,利用当前轮次中出现的当前下游任务的训练数据,对当前轮次的目标预训练模型进行基于软提示词的微调,以得到当前下游任务对应的任务模型的实现方式为:生成当前下游任务对应的第三软提示词;将第三软提示词嵌入当前下游任务的训练数据中,以得到当前下游任务的新的训练数据;根据当前下游任务的新的训练数据,对当前轮次的目标预训练模型进行微调,以得到当前下游任务对应的任务模型以及任务模型推理使用的第四软提示词。
具体而言,针对当前轮次出现的任一当前下游任务,生成该当前下游任务的软提示词,在此,将为当前轮次出现的任一当前下游任务所生成的软提示词称作为第三软提示词。本实施例对第三软提示词的生成方式不做限制。下面介绍几种可选的生成方式:
方式1:为当前下游任务随机初始化第三软提示词。
方式2:根据当前轮次之前出现的历史下游任务对应的第一软提示词,生成当前下游任务对应的第三软提示词。相比方式1得到的第三软提示词,方式2得到的第三软提示词能够更好地提高模型性能。
可选地,可以对历史下游任务对应的第一软提示词进行加权求和、求平均等方式,得到当前下游任务对应的第三软提示词;或者,也可以从历史下游任务对应的第一软提示词中随机选择一个,或者选择质量较优的,作为当前下游任务对应的第三软提示词。
方式3:根据当前轮次之前出现的历史下游任务对应的第二软提示词,生成当前下游任务对应的第三软提示词。相比方式2得到的第三软提示词,方式3得到的第三软提示词能够更好地提高模型性能。
可选地,可以对历史下游任务对应的第二软提示词进行加权求和、求平均等方式,得到当前下游任务对应的第三软提示词;或者,也可以从历史下游任务对应的第二软提示词中随机选择一个,或者选择质量较优的,作为当前下游任务对应的第三软提示词。
在本实施例中,在得到当前轮次出现的当前下游任务各自对应的第三软提示词后,将第三软提示词嵌入对应当前下游任务的训练数据中,以得到当前下游任务的新的训练数据。具体而言,当前轮次出现的当前下游任务的训练数据包括模型输入数据和标注结果,将第三软提示词嵌入对应的模型输入数据中,得到新的模型输入数据,以更新当前轮次出现的当前下游任务的训练数据,当前下游任务的新的训练数据包括标注结果和已经嵌入第三软提示词的新的模型输入数据。在训练当前下游任务的任务模型时,可以优化第三软提示词,在此将优化第三软提示词得到的任务模型推理使用的软提示词称作为第四软提示词。
可选的,为了提高模型性能,在训练当前下游任务的任务模型时,可以冻结当前轮次的目标预训练模型的模型参数,并优化当前下游任务的第三软提示词。于是,作为一种示例,根据当前下游任务的新的训练数据,对当前轮次的目标预训练模型进行微调,以得到当前下游任务对应的任务模型以及任务模型推理使用的第四软提示词的实现方式为:将当前下游任务的新的训练数据中的模型输入数据,输入当前轮次的目标预训练模型中,以得到当前下游任务的模型输入数据的预测结果;根据当前下游任务的模型输入数据的预测结果和当前下游任务的新的训练数据中对应的标注结果计算第二损失值;冻结当前轮次的目标预训练模型的模型参数,以将目标预训练模型为当前下游任务的任务模型,并根据第二损失值,优化当前下游任务对应的第三软提示词,以得到任务模型推理使用的第四软提示词。
具体而言,第二损失值反映当前下游任务的模型输入数据的预测结果和当前下游任务的新的训练数据中对应的标注结果之间的误差信息。计算第二损失值使用的损失函数例如包括但不限于:log 对数损失函数、交叉熵损失函数和用于解决数据不平衡问题的Focal loss 损失函数。以使第二损失值最小化为目标,优化当前下游任务对应的第三软提示词。实际应用中,可以按需设置一个目标损失值,若第二损失值大于目标损失值,则说明第二损失值尚未达到最小化,则继续进行模型训练。若第二损失值小于或等于目标损失值,则说明第二损失值已经最小化,当前轮次的反馈链路的微调训练结束。可学习的软提示词的引入减轻了下游任务对模型参数的误导效应。
可选的,为了提高模型性能,在训练当前下游任务的任务模型时,可以调整当前轮次的目标预训练模型的模型参数,并优化当前下游任务的第三软提示词。于是,作为另一种示例,根据当前下游任务的新的训练数据,对当前轮次的目标预训练模型进行微调,以得到当前下游任务对应的任务模型以及任务模型推理使用的第四软提示词的实现方式为:将当前下游任务的新的训练数据中的模型输入数据,输入当前轮次的目标预训练模型中,以得到当前下游任务的模型输入数据的预测结果;根据当前下游任务的模型输入数据的预测结果和当前下游任务的新的训练数据中对应的标注结果计算第二损失值;根据第二损失值,优化当前轮次的目标预训练模型的模型参数和当前下游任务对应的第三软提示词,以得到当前下游任务对应的任务模型和任务模型推理使用的第四软提示词。
具体而言,第二损失值反映当前下游任务的模型输入数据的预测结果和当前下游任务的新的训练数据中对应的标注结果之间的误差信息。计算第二损失值使用的损失函数例如包括但不限于:log 对数损失函数、交叉熵损失函数和用于解决数据不平衡问题的Focal loss 损失函数。以使第二损失值最小化为目标,通过反向传播和梯度下降等更新当前轮次的目标预训练模型的模型参数,直至第二损失值最小化。在第二损失值最小化后,将当前的目标预训练模型作为当前下游任务对应的任务模型。实际应用中,可以按需设置一个目标损失值,若第二损失值大于目标损失值,则说明第二损失值尚未达到最小化,则需要继续进行模型参数调整,并继续进行模型训练。若第二损失值小于或等于目标损失值,则说明第二损失值已经最小化,当前轮次的适应链路的微调训练结束。
在本实施例中,以使第二损失值最小化为目标,优化当前下游任务对应的第三软提示词,可学习的软提示词的引入减轻了下游任务对模型参数的误导效应。需要说明的是,以使第二损失值最小化为目标仅为优化结束条件的一种示例,并不限于此,例如还可以使第二损失值不算缩小至设定范围内为目标。
在本实施例中,因下游任务不同,对应的任务模型有所不同。例如,下游任务为商品类目预测任务,任务模型为商品类目预测模型;又例如,下游任务为商品特征提取任务,任务模型为商品特征提取模型;又例如,下游任务为商品内容理解任务,任务模型为商品内容理解模型;但并不限于上述举例。
本申请实施例提供的技术方案,提供一种新的基于软提示词的微调训练方式,在微调训练的每个轮次中,既包括历史下游任务到预训练模型的反馈链路,又包括预训练模型到当前下游任务的适应链路。针对每个当前轮次,基于反馈链路利用当前轮次之前出现的历史下游任务对预训练模型进行微调,以提升预训练模型的能力;基于适应链路利用当前轮次的当前下游任务对已经微调过的预训练模型进行微调,以训练更加适应下游任务的任务模型。实现了下游任务反哺提升预训练模型能力,而反哺后的预训练模型在垂直的下游任务上有更好的表现,呈现预训练模型与下游序列任务双向迭代的关系,解决了下游任务理解不足、预训练模型在垂直的下游任务有领域迁移性不足的问题,预训练模型能够更好地在下游任务中的落地应用,特别在少样本场景下能取得更好的模型性能。
为了体现本申请实施例提供给的基于预训练模型与下游任务双向迭代的模型微调方法的性能,将本申请实施例提供的模型微调方法与一些传统预训练方法在多个判别式模型以及生成式模型上进行了广泛的实验,实验结果从目标任务上的模型微调效果、模型微调效率等方面对本申请实施例提供的模型微调方法与传统预训练方法的效果进行了比较说明,充分说明了本申请实施例提供的基于预训练模型与下游任务双向迭代的模型微调方法的有效性以及必要性。相关实验数据以及比对分析具体如下:
(1)在BERT(Bidirectional Encoder Representation from Transformers)模型架构和Roberta(A Robustly Optimized BERT,强力优化的BERT)模型架构上,分别对多种类型的下游任务选择模型参数微调或提示词微调,将本申请实施例提供的模型微调方法得到的预训练模型和传统预训练模型进行了性能比较,具体如表1所示。
其中,BERT模型是基于Transformer模型的双向编码器表示,是一个预训练的语言表征模型;Transformer模型是一个利用注意力机制来提高模型训练速度的模型。RoBERTa模型是BERT模型的改进版。
在表1中,FT表示在模型训练过程中仅微调预训练模型的模型参数;PT表示在模型训练过程中仅微调软提示词;BiKTFT表示在采用预训练模型与下游任务双向迭代方法进行模型训练过程中采用模型参数微调方式,FTBiKTPT表示在采用预训练模型与下游任务双向迭代方法进行模型训练过程中采用软提示词微调。BERT-base(FT)表示采用微调模型参数的方式训练得到的传统BERT模型,BERT-base(FTPT)表示采用同时微调模型参数和软提示词方式训练得到的传统BERT模型,BERT-base(BiKTPT)表示在本申请实施例提供的方法中采用微调模型参数方式得到的BERT模型。BERT-base(PT)表示采用微调软提示词的方式训练得到的传统BERT模型,BERT-base(PTMT)表示采用微调软提示词的方式训练得到的传统BERT模型,与BERT-base(PT)的区别在于软提示词的初始化是不同的,BERT-base(PTMT)的软提示词是在源任务上进行多任务学习得到的,BERT-base(PT)的软提示词是随机初始化得到的;BERT-base(BiKTPT)表示在本申请实施例提供的方法中采用微调软提示词的方式得到的BERT模型。RoBERTa-base(PT)表示采用微调软提示词的方式训练得到的传统RoBERTa模型,RoBERTa-base(PTMT)表示采用微调软提示词的方式训练得到的传统RoBERTa模型,与RoBERTa-base(PT)的区别在于软提示词的初始化是不同的,RoBERTa-base(PTMT)的软提示词是在源任务上进行多任务学习得到的,RoBERTa-base(PT)的软提示词是随机初始化得到的;RoBERTa -base(BiKTPT)表示在本申请实施例提供的方法中采用微调软提示词的方式得到的RoBERTa模型。
表1中的BoolQ、CB、COPA、MRC、RTE、WiC、SNLI、PAWS、IMDB分别表示不同类型的下游任务。其中,BoolQ是一个问答任务,其输入包括一个问题和一段文本,标签分为语言形式的{no, yes}和判别模型的{0, 1}。CB是一个文本蕴涵任务,其输入包括一个前提和一个假设,标签分为语言形式的{neutral, contradiction, entailment}和判别模型的{0, 1,2}。COPA是一个因果推理任务,其输入包括一个问题主题、一个前提和两个选项,标签为语言形式的{choice1, choice2}。对于判别模型,在实验过程中,将一个样本转化为两个数据,每个数据只包含一个选项。如果选项是正确的,标签为1;否则为0。
MRC是一个问答任务,其输入包括一个段落、一个问题和一个答案,标签分为语言形式的{false, true}和判别模型的{0, 1}。RTE是一个文本蕴涵分析任务,其输入是两个句子。标签分为语言形式的{not entailment, entailment}和判别模型的{0, 1}。WiC是一个词义消歧任务,其输入是两个句子,标签分为语言形式的{false, true}和判别模型的{0, 1}。SNLI是一个自然语言推理任务,其输入是两个句子,标签分为语言形式的{neutral, contradiction, entailment}和判别模型的{0, 1, 2}。PAWS是一个同义识别任务,其输入是来自维基百科页面的两个句子,标签分为语言形式的{not entailment,entailment}和判别模型的{0, 1}。IMDB是一个情感分类任务,其输入是来自电影评论的一个句子,标签分为语言形式的{negative, positive}和判别模型的{0, 1}。
如下表1可知,在BERT模型基础上进行模型参数微调或提示词微调,本申请实施例训练得到的预训练模型在各个实验任务上平均拥有3.0%以及6.7%的提升。另外,在Roberta模型基础上进行提示词微调,本申请实施例训练得到的预训练模型在各个实验任务上平均拥有9.2%的效果提升。
表1
(2)在少样本(few-shot)学习场景下,基于生成式T5模型进行提示词微调,在16-shot(16样本学习)、32-shot(32样本学习)、100-shot(100样本学习)等少样本场景下,将本申请实施例提供的模型微调方法得到的预训练模型和传统预训练模型进行了性能比较,并且本申请实施例训练得到的预训练模型在不同样本数量上分别拥有8.8%、10.2%、8.5%的效果提升,参见表2。其中,T5(Text-to-Text Transfer Transformer)模型将每个文本处理问题都看成“Text-to-Text”问题,即将文本作为输入,生成新的文本作为输出。
表2
(3)为了验证本申请实施例提供的预训练模型与下游任务双向迭代方法的可拓展性,在不同模型参数量的模型上进行实验。在BERT-base模型或BERT-large模型上进行提示词微调,与传统模型相比,本申请实施例提供的模型微调方法得到的预训练模型分别得到了6.7%、6.5%的提升;在T5-small模型、T5-base模型上进行提示词微调,与传统模型相比,本申请实施例提供的模型微调方法得到的预训练模型6.0%、8.5%的效果提升,具体可参见表3。不同模型参数量是指BERT-base模型和BERT-large模型的参数量不同,T5-small模型和T5-base模型的参数量不同。相对而言,BERT-base模型是模型参数量较少的BERT模型;BERT-large模型是模型参数量较多的BERT模型;T5-small模型是模型参数量较少的T5模型,T5-base模型是模型参数量较多的T5模型。表3表征不同模型参数量情况下,本申请实施例提供的模型微调方法得到的预训练模型与传统模型之间的效果对比表。
表3
(4)对本申请实施例提供的模型微调方法中在反馈链路中是否引入可学习的软提示词进行了消融实验,在BERT-base 模型、RoBERTa-base 模型和T5模型上,对引入软提示词和不引入软提示词的模型性能进行了比对分析,引入软提示词的方法分别能够得到1.0%、0.3%以及超过3%的效果提升,具体参见表4。
表4
在本申请实施例中,并未限定软提示词的长度,可以根据应用需求和对模型性能的要求灵活设置软提示词的长度。软提示词的长度属于超参数,可以通过设置该超参数来确定或修改软提示词的长度。软提示词的长度不同,对模型性能(主要是模型准确度)会有一定影响。在本实施例中,以T5模型为例,分别针对不同少样本场景,分析了软提示词长度与模型准确性之间的关系示意图。
图2a反映了不同软提示词长度(Prompt Size)下,针对16-shot场景,基于T5模型进行基于软提示词的微调的表现对比图。图2a中的横轴表示软提示词长度,纵轴表示模型的平均准确度(Accuracy)。
图2b反映了不同软提示词长度(Prompt Size)下,针对32-shot场景,基于T5模型进行基于软提示词的微调的表现对比图。图2b中的横轴表示软提示词长度,纵轴表示模型的平均准确度(Accuracy)。
图2c反映了不同软提示词长度(Prompt Size)下,针对100-shot场景,基于T5模型进行基于软提示词的微调的表现对比图。图2c中的横轴表示软提示词长度,纵轴表示模型的平均准确度(Accuracy)。
为了更好地理解预训练模型与下游序列任务双向迭代方法,下面结合图3a和图3b进行介绍。
首先,准备下游序列任务,下游序列任务包括多个任务触发时间不同的下游任务,例如下游任务分别有2023 11-13 9:00的商品类目预测任务、2023 11-13 9:00的商品特征提取任务、2023 11-13 10:00的商品内容理解任务、2023 11-13 10:00的电商Query(查询词)理解任务、2023 11-13 11:00的相似商品推荐任务、2023 11-13 11:00的模特图生成任务。整个微调训练的轮次按照时间先后顺序依次为:轮次1(Round 1)、轮次2(Round 2)、轮次3(Round 3)。其中,轮次1出现的下游任务有2023 11-13 9:00的商品类目预测任务、202311-13 9:00的商品特征提取任务。轮次2出现的下游任务有2023 11-13 10:00的商品内容理解任务、2023 11-13 10:00的电商Query(查询)理解任务。轮次3出现的下游任务有202311-13 11:00的相似商品推荐任务、2023 11-13 11:00的模特图生成任务。
接着,参见图3a,在预训练阶段,基于多个不同基础任务的训练数据进行预训练得到预训练模型,预训练模型是经过大数据集训练过的具有通用性的模型,该预训练模型可以理解为原始的预训练模型。
接着,参见图3a,在预训练之后进行多个轮次的微调训练。每个轮次的微调训练既包括反馈链路又包括适应链路。
参见图3b,反馈链路利用当前轮次之前出现的若干个历史下游任务的训练数据对当前轮次的初始预训练模型进行基于软提示词的微调,得到当前轮次的目标预训练模型。在基于反馈链路的微调训练中,既要调整初始预训练模型的模型参数,又要优化历史下游任务对应的软提示词。其中,图3b中的四角星表示“微调”,也即调整模型参数或优化软提示词。
值得注意的是,每个轮次的初始预训练模型有所不同,除了第1个轮次的初始预训练模型是预训练阶段输出的原始的预训练模型,其他轮次的初始预训练模型是上一个轮次的目标预训练模型。
参见图3b,历史下游任务的新的模型输入数据是嵌入软提示词的模型输入数据,将各个历史下游任务的新的模型输入数据输入至当前轮次的初始预训练模型进行基于软提示词的微调,得到当前轮次的初始预训练模型输出的预测结果,根据各个历史下游任务的标注结果和预测结果之间的损失值调整当前轮次的初始预训练模型的模型参数,得到当前轮次的目标预训练模型。另外,还根据各个历史下游任务的标注结果和预测结果之间的损失值优化各个历史下游任务的软提示词。
参见图3b,在基于适应链路进行微调训练时,一种是微调当前轮次的目标预训练模型的模型参数和优化当前下游任务的软提示词。另一种是,冻结当前轮次的目标预训练模型的模型参数和优化当前下游任务的软提示词。无论是哪一种微调训练,首先需要确定当前轮次出现的当前下游任务的软提示词,可以基于当前轮次之前出现的各个历史下游任务的软提示词进行加权求和、求均值等各种方式得到。图3b中,填充灰色的方格表示历史下游任务的软提示词,填充黑色的方格表示当前下游任务的软提示词,黑色六角星表示冻结。
参见图3b,当前下游任务的新的模型输入数据是嵌入软提示词的模型输入数据,将各个当前下游任务的新的模型输入数据输入至当前轮次的目标预训练模型进行基于软提示词的微调,得到当前轮次的目标预训练模型输出的预测结果,根据当前下游任务的标注结果和预测结果之间的损失值调整或冻结当前轮次的目标预训练模型的模型参数,得到当前轮次的与当前下游任务对应的任务模型。另外,还根据当前下游任务的标注结果和预测结果之间的损失值优化当前下游任务的软提示词,以得到当前下游任务在任务模型推理时所使用的软提示词。
在基于上述预训练模型与下游序列任务双向迭代方法获取下游任务的任务模型之后,可以利用任务模型进行下游任务处理。为此,本申请实施例还提供一种下游任务处理方法。图4为本申请实施例提供的一种下游任务处理方法的流程图。参见图4,该方法可以包括以下步骤:
401、获取待处理下游任务的任务数据、待处理下游任务对应的任务模型和任务模型推理使用的软提示词。
402、根据软提示词和任务数据,生成模型输入数据。
403、将模型输入数据输入任务模型,以得到模型输出数据。
在一些可选的实施例中,任务数据包括多模态数据,任务模型为多模态大模型,能够以多模态数据为输入数据进行推理,多模态大模型具有较好的推理性能。
在本实施例中,因下游任务不同,对应的任务模型有所不同。例如,下游任务为商品类目预测任务,任务模型为商品类目预测模型;在待处理下游任务为商品类目预测任务时,将与商品类目预测相关的多模态数据和软提示词进行拼接,得到模型输入数据,将模型输入数据输入商品类目预测模型进行类目预测,得到商品类目预测结果。
又例如,下游任务为商品特征提取任务,任务模型为商品特征提取模型;在待处理下游任务为商品特征提取任务时,将与商品特征提取任务相关的多模态数据和软提示词进行拼接,得到模型输入数据,将模型输入数据输入商品特征提取模型进行特征提取,得到商品特征。
又例如,下游任务为商品内容理解任务,任务模型为商品内容理解模型;在待处理下游任务为商品内容理解任务时,将与商品内容理解任务相关的多模态数据和软提示词进行拼接,得到模型输入数据,将模型输入数据输入商品内容理解模型进行内容理解,得到商品内容理解结果。
本申请实施例提供的下游任务处理方法,由于任务模型采用预训练模型与下游序列任务双向迭代方法训练得到,任务模型在下游任务中能够更好地落地应用,具有较好的模型性能。
值得注意的是,前述各个实施例中,输入各种模型中的数据可以向量形式的数据,基于一种软提示词得到另一种软提示词时,可以是基于一种向量形式的软提示词得到另一种向量形式的软提示词,对此不做限制。
为了更好地理解本申请实施例提供的技术方案,下面介绍具体的场景实施例。
场景实施例1:
使用提供二手商品交易的电商平台(可以称作为二手电商平台)的用户越来越多,但是,二手电商平台在商品信息结构化方面存在一些问题,例如难以提取商品属性和商品类目等。与此同时,二手电商平台积累了大量的多模态商品数据和搜索问题(Query),这为训练二手电商领域的多模态预训练模型奠定了基础。尽管有许多开源的多模态预训练模型在通用领域数据上进行了训练,但它们并不能很好地理解商品信息或提供完整的商品特征空间,且并没有充分利用下游任务对预训练模型的反哺能力。
为此,参见图5中①所示,首先,云服务器收集提供二手商品交易服务的电商平台中的多模态商品数据和搜索问题等各种数据,多模态商品数据包含了多模态的信息,如图像、文本等,多模态商品数据能使模型能够更好地理解商品信息和提供更全面的商品特征表达。接着,参见图5中②所示,云服务器利用多模态商品数据和搜索问题进行预训练得到的二手电商领域的通用多模态预训练模型。通用多模态预训练模型可以是通用的多模态大模型。最后,参见5中③所示,云服务器进行多个轮次的微调训练,得到应用于不同垂直的下游任务的任务模型。进而结合多模态预训练模型和下游任务反哺机制需要不同下游任务的任务模型。例如,任务模型包括但不限于:商品类目预测模型、商品特征提取模型和商品内容理解模型。这些下游任务的任务模型可以部署在二手电商平台中,以供二手电商平台执行商品类目预测任务、商品特征提取任务和商品内容理解任务,进而提高二手电商平台的用户体验和服务质量。
场景实施例2:
云服务器利用多模态商品数据和搜索问题进行预训练得到的二手电商领域的通用多模态预训练模型,还可以应用于电商场景的各种垂直下游任务。例如,可以应用于提供一手商品交易服务的电商平台(可以称作为一手电商平台)。例如,一手电商平台有视频内容理解任务、模特主图生成任务和相似商品推荐任务。则云服务器进行多个轮次的微调训练,得到应用于不同垂直的下游任务的任务模型。进而结合多模态预训练模型和下游任务反哺机制需要不同下游任务的任务模型。例如,任务模型包括但不限于:视频内容理解模型、模特主图生成模型和相似商品推荐模型。这些下游任务的任务模型可以部署在一手电商平台中,以供一手电商平台执行视频内容理解任务、模特主图生成任务和相似商品推荐任务,进而提高一手电商平台的用户体验和服务质量。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤103的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A,步骤103的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图6为本申请实施例提供的一种双向迭代装置的结构示意图。如图6所示,该装置可以包括:
确定模块61,用于确定当前轮次的初始预训练模型,当前轮次的初始预训练模型是上一轮次进行微调得到的目标预训练模型;
反馈训练模块62,用于利用当前轮次之前出现的历史下游任务的训练数据,对当前轮次的初始预训练模型进行基于软提示词的微调,以得到当前轮次的目标预训练模型;
适应训练模块63,用于利用当前轮次中出现的当前下游任务的训练数据,对当前轮次的目标预训练模型进行基于软提示词的微调,以得到当前下游任务对应的任务模型。
进一步可选的,反馈训练模块62,具体用于:生成当前轮次之前出现的历史下游任务各自对应的第一软提示词;将第一软提示词嵌入对应历史下游任务的训练数据中,以得到历史下游任务的新的训练数据;根据历史下游任务的新的训练数据,对当前轮次的初始预训练模型进行微调,以得到当前轮次的目标预训练模型。
进一步可选的,反馈训练模块62生成当前轮次之前出现的历史下游任务各自对应的第一软提示词时,具体用于:针对任一历史下游任务,根据任一历史下游任务之前的历史下游任务对应的第二软提示词,为其生成第一软提示词;或者针对任一历史下游任务,根据任一历史下游任务对应的任务模型推理使用的第四软提示词,为其生成第一软提示词;或者针对任一历史下游任务,为其随机初始化第一软提示词。
进一步可选的,反馈训练模块62根据历史下游任务的新的训练数据,对当前轮次的初始预训练模型进行微调,以得到当前轮次的目标预训练模型时,具体用于:
将历史下游任务的新的训练数据中的模型输入数据,输入当前轮次的初始预训练模型中,以得到历史下游任务的模型输入数据的预测结果;根据历史下游任务的模型输入数据的预测结果和历史下游任务的新的训练数据中对应的标注结果计算第一损失值;根据第一损失值,调整当前轮次的初始预训练模型的模型参数,以得到当前轮次的目标预训练模型;以及根据第一损失值,优化历史下游任务对应的第一软提示词,以得到第二软提示词。
进一步可选的,反馈训练模块62根据第一损失值,优化历史下游任务对应的第一软提示词,以得到第二软提示词时,具体用于:根据第一损失值,对最近至少一个历史轮次中出现的历史下游任务对应的第一软提示词进行优化,以得到第二软提示词。
进一步可选的,适应训练模块63,具体用于:生成当前下游任务对应的第三软提示词;将第三软提示词嵌入当前下游任务的训练数据中,以得到当前下游任务的新的训练数据;根据当前下游任务的新的训练数据,对当前轮次的目标预训练模型进行微调,以得到当前下游任务对应的任务模型以及任务模型推理使用的第四软提示词。
进一步可选的,适应训练模块63生成当前下游任务对应的第三软提示词时,具体用于:根据当前轮次之前出现的历史下游任务对应的第二软提示词,生成当前下游任务对应的第三软提示词;或者根据当前轮次之前出现的历史下游任务对应的第一软提示词,生成当前下游任务对应的第三软提示词;或者为当前下游任务随机初始化第三软提示词。
进一步可选的,适应训练模块63根据当前下游任务的新的训练数据,对当前轮次的目标预训练模型进行微调,以得到当前下游任务对应的任务模型以及任务模型推理使用的第四软提示词时,具体用于:将当前下游任务的新的训练数据中的模型输入数据,输入当前轮次的目标预训练模型中,以得到当前下游任务的模型输入数据的预测结果;根据当前下游任务的模型输入数据的预测结果和当前下游任务的新的训练数据中对应的标注结果计算第二损失值;冻结当前轮次的目标预训练模型的模型参数,以将目标预训练模型为当前下游任务的任务模型,并根据第二损失值,优化当前下游任务对应的第三软提示词,以得到任务模型推理使用的第四软提示词。
进一步可选的,适应训练模块63根据当前下游任务的新的训练数据,对当前轮次的目标预训练模型进行微调,以得到当前下游任务对应的任务模型以及任务模型推理使用的第四软提示词时,具体用于:将当前下游任务的新的训练数据中的模型输入数据,输入当前轮次的目标预训练模型中,以得到当前下游任务的模型输入数据的预测结果;根据当前下游任务的模型输入数据的预测结果和当前下游任务的新的训练数据中对应的标注结果计算第二损失值;根据第二损失值,优化当前轮次的目标预训练模型的模型参数和当前下游任务对应的第三软提示词,以得到当前下游任务对应的任务模型和任务模型推理使用的第四软提示词。
进一步可选的,当前下游任务包括以下至少一个:商品类目预测任务、商品特征提取任务和商品内容理解任务;和/或,任务模型为多模态大模型。
图6所示的装置可以执行图1所示实施例所示的方法,其实现原理和技术效果不再赘述。对于上述实施例中的图6所示的装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7为本申请实施例提供的一种电子设备的结构示意图。如图7所示,该电子设备包括:存储器71和处理器72;
存储器71,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器71可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-AccessMemory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable read only memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read-Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器72,与存储器71耦合,用于执行存储器71中的计算机程序,以用于:执行预训练模型与下游序列任务双向迭代方法或下游任务处理方法中的步骤。
进一步可选的,如图7所示,该电子设备还包括:通信组件73、显示器74、电源组件75、音频组件76等其它组件。图7中仅示意性给出部分组件,并不意味着电子设备只包括图7所示组件。另外,图7中虚线框内的组件为可选组件,而非必选组件,具体可视电子设备的产品形态而定。本实施例的电子设备可以实现为台式电脑、笔记本电脑、智能手机或IOT(物联网,Internet of things)设备等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的电子设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图7中虚线框内的组件;若本实施例的电子设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图7中虚线框内的组件。
关于处理器执行各动作的详细实施过程可参见前述方法实施例或设备实施例中的相关描述,在此不再赘述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器能够实现上述方法实施例中可由电子设备执行的各步骤。
上述通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi(WirelessFidelity,无线保真)、2G(2Generation,2代)、3G(3Generation,3代)、4G(4Generation,4代)/LTE(long Term Evolution,长期演进)、5G(5Generation,5代)等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(Near FieldCommunication,NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RadioFrequency Identification,RFID)技术,红外数据协会(The Infrared DataAssociation,IrDA)技术,超宽带(Ultra Wide Band,UWB)技术,蓝牙(Bluetooth,BT)技术和其他技术来实现。
上述显示器包括屏幕,其屏幕可以包括液晶显示器(Liquid Crystal Display,LCD)和触摸面板(Touch Panel,TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
上述电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(microphone,MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(Central ProcessingUnit,CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变化内存(Phase Change RAM,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(DynamicRandom Access Memory,DRAM)、其他类型的随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(Digital versatile disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (15)
1.一种预训练模型与下游序列任务双向迭代方法,其特征在于,包括:
确定当前轮次的初始预训练模型,当前轮次的初始预训练模型是上一轮次进行微调得到的目标预训练模型;
利用当前轮次之前出现的历史下游任务的训练数据,对当前轮次的初始预训练模型进行基于软提示词的微调,以得到当前轮次的目标预训练模型;
利用当前轮次中出现的当前下游任务的训练数据,对所述当前轮次的目标预训练模型进行基于软提示词的微调,以得到所述当前下游任务对应的任务模型。
2.根据权利要求1所述的方法,其特征在于,利用当前轮次之前出现的历史下游任务的训练数据,对当前轮次的初始预训练模型进行基于软提示词的微调,以得到当前轮次的目标预训练模型,包括:
生成当前轮次之前出现的历史下游任务各自对应的第一软提示词;
将所述第一软提示词嵌入对应历史下游任务的训练数据中,以得到所述历史下游任务的新的训练数据;
根据所述历史下游任务的新的训练数据,对当前轮次的初始预训练模型进行微调,以得到当前轮次的目标预训练模型。
3.根据权利要求2所述的方法,其特征在于,生成当前轮次之前出现的历史下游任务各自对应的第一软提示词,包括:
针对任一历史下游任务,根据所述任一历史下游任务之前的历史下游任务对应的第二软提示词,为其生成第一软提示词;
或者
针对任一历史下游任务,根据所述任一历史下游任务对应的任务模型推理使用的第四软提示词,为其生成第一软提示词;
或者
针对任一历史下游任务,为其随机初始化第一软提示词。
4.根据权利要求2所述的方法,其特征在于,根据所述历史下游任务的新的训练数据,对当前轮次的初始预训练模型进行微调,以得到当前轮次的目标预训练模型,包括:
将所述历史下游任务的新的训练数据中的模型输入数据,输入当前轮次的初始预训练模型中,以得到所述历史下游任务的模型输入数据的预测结果;
根据所述历史下游任务的模型输入数据的预测结果和所述历史下游任务的新的训练数据中对应的标注结果计算第一损失值;
根据所述第一损失值,调整当前轮次的初始预训练模型的模型参数,以得到当前轮次的目标预训练模型;以及
根据所述第一损失值,优化所述历史下游任务对应的第一软提示词,以得到第二软提示词。
5.根据权利要求4所述的方法,其特征在于,根据所述第一损失值,优化所述历史下游任务对应的第一软提示词,以得到第二软提示词,包括:
根据所述第一损失值,对最近至少一个历史轮次中出现的历史下游任务对应的第一软提示词进行优化,以得到第二软提示词。
6.根据权利要求1-5任一项所述的方法,其特征在于,利用当前轮次中出现的当前下游任务的训练数据,对所述当前轮次的目标预训练模型进行基于软提示词的微调,以得到所述当前下游任务对应的任务模型,包括:
生成当前下游任务对应的第三软提示词;
将所述第三软提示词嵌入当前下游任务的训练数据中,以得到当前下游任务的新的训练数据;
根据所述当前下游任务的新的训练数据,对当前轮次的目标预训练模型进行微调,以得到当前下游任务对应的任务模型以及所述任务模型推理使用的第四软提示词。
7.根据权利要求6所述的方法,其特征在于,生成当前下游任务对应的第三软提示词,包括:
根据当前轮次之前出现的历史下游任务对应的第二软提示词,生成当前下游任务对应的第三软提示词;
或者
根据当前轮次之前出现的历史下游任务对应的第一软提示词,生成当前下游任务对应的第三软提示词;
或者
为当前下游任务随机初始化第三软提示词。
8.根据权利要求7所述的方法,其特征在于,根据所述当前下游任务的新的训练数据,对当前轮次的目标预训练模型进行微调,以得到当前下游任务对应的任务模型以及所述任务模型推理使用的第四软提示词,包括:
将当前下游任务的新的训练数据中的模型输入数据,输入当前轮次的目标预训练模型中,以得到当前下游任务的模型输入数据的预测结果;
根据当前下游任务的模型输入数据的预测结果和当前下游任务的新的训练数据中对应的标注结果计算第二损失值;
冻结当前轮次的目标预训练模型的模型参数,以将所述目标预训练模型为所述当前下游任务的任务模型,并根据所述第二损失值,优化当前下游任务对应的第三软提示词,以得到所述任务模型推理使用的第四软提示词。
9.根据权利要求7所述的方法,其特征在于,根据所述当前下游任务的新的训练数据,对当前轮次的目标预训练模型进行微调,以得到当前下游任务对应的任务模型以及所述任务模型推理使用的第四软提示词,包括:
将当前下游任务的新的训练数据中的模型输入数据,输入当前轮次的目标预训练模型中,以得到当前下游任务的模型输入数据的预测结果;
根据当前下游任务的模型输入数据的预测结果和当前下游任务的新的训练数据中对应的标注结果计算第二损失值;
根据所述第二损失值,优化当前轮次的目标预训练模型的模型参数和当前下游任务对应的第三软提示词,以得到当前下游任务对应的任务模型和所述任务模型推理使用的第四软提示词。
10.根据权利要求1至5任一项所述的方法,其特征在于,所述当前下游任务包括以下至少一个:商品类目预测任务、商品特征提取任务和商品内容理解任务;
和/或,所述任务模型为多模态大模型。
11.一种下游任务处理方法,其特征在于,包括:
获取待处理下游任务的任务数据、所述待处理下游任务对应的任务模型和所述任务模型推理使用的软提示词;
根据所述软提示词和所述任务数据,生成模型输入数据;
将所述模型输入数据输入所述任务模型,以得到模型输出数据;
其中,所述任务模型是根据权利要求1-10任一项所述方法训练得到的。
12.根据权利要求11所述的方法,其特征在于,所述任务数据包括多模态数据,所述任务模型为多模态大模型。
13.根据权利要求11或12所述的方法,其特征在于,将所述模型输入数据输入所述任务模型,以得到模型输出数据,包括:
在所述待处理下游任务为商品类目预测任务时,将所述模型输入数据输入商品类目预测模型进行类目预测,得到商品类目预测结果,所述模型输入数据由与商品类目预测相关的多模态数据和所述软提示词拼接得到;
在所述待处理下游任务为商品特征提取任务时,将所述模型输入数据输入商品特征提取模型进行特征提取,得到商品特征,所述模型输入数据由与商品特征提取任务相关的多模态数据和所述软提示词拼接得到;
在所述待处理下游任务为商品内容理解任务时,将所述模型输入数据输入商品内容理解模型进行内容理解,得到商品内容理解结果,所述模型输入数据由商品内容理解任务相关的多模态数据和所述软提示词拼接得到。
14.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求1-13任一项所述方法中的步骤。
15.一种存储有计算机程序的计算机存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求1-13任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311797012.7A CN117474084B (zh) | 2023-12-25 | 2023-12-25 | 预训练模型与下游序列任务双向迭代方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311797012.7A CN117474084B (zh) | 2023-12-25 | 2023-12-25 | 预训练模型与下游序列任务双向迭代方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117474084A true CN117474084A (zh) | 2024-01-30 |
CN117474084B CN117474084B (zh) | 2024-05-03 |
Family
ID=89633254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311797012.7A Active CN117474084B (zh) | 2023-12-25 | 2023-12-25 | 预训练模型与下游序列任务双向迭代方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117474084B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118296387A (zh) * | 2024-06-05 | 2024-07-05 | 烟台海颐软件股份有限公司 | 基于模型双向迭代的训练样本的优化方法及其优化系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613273A (zh) * | 2020-12-16 | 2021-04-06 | 上海交通大学 | 多语言bert序列标注模型的压缩方法及系统 |
CN113987209A (zh) * | 2021-11-04 | 2022-01-28 | 浙江大学 | 基于知识指导前缀微调的自然语言处理方法、装置、计算设备和存储介质 |
CN115906918A (zh) * | 2022-11-28 | 2023-04-04 | 北京百度网讯科技有限公司 | 预训练模型的微调方法及其装置 |
US20230135179A1 (en) * | 2021-10-21 | 2023-05-04 | Meta Platforms, Inc. | Systems and Methods for Implementing Smart Assistant Systems |
CN116361431A (zh) * | 2023-01-19 | 2023-06-30 | 阿里巴巴(中国)有限公司 | 模型训练方法、对话生成方法、电子设备和相关装置 |
CN116595170A (zh) * | 2023-04-20 | 2023-08-15 | 扬州大学附属医院(扬州市第一人民医院) | 一种基于软提示的医疗文本分类方法 |
CN116861242A (zh) * | 2023-07-12 | 2023-10-10 | 清华大学深圳国际研究生院 | 基于语言判别提示的语言感知多语言预训练与微调方法 |
CN116884559A (zh) * | 2023-07-20 | 2023-10-13 | 联影智能医疗科技(北京)有限公司 | 一种基于语言模型的影像报告生成方法和系统 |
CN116910272A (zh) * | 2023-08-09 | 2023-10-20 | 西安工程大学 | 基于预训练模型t5的学术知识图谱补全方法 |
US20230342552A1 (en) * | 2022-04-25 | 2023-10-26 | Salesforce, Inc. | Systems and methods for contextualized and quantized soft prompts for natural language understanding |
-
2023
- 2023-12-25 CN CN202311797012.7A patent/CN117474084B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613273A (zh) * | 2020-12-16 | 2021-04-06 | 上海交通大学 | 多语言bert序列标注模型的压缩方法及系统 |
US20230135179A1 (en) * | 2021-10-21 | 2023-05-04 | Meta Platforms, Inc. | Systems and Methods for Implementing Smart Assistant Systems |
CN113987209A (zh) * | 2021-11-04 | 2022-01-28 | 浙江大学 | 基于知识指导前缀微调的自然语言处理方法、装置、计算设备和存储介质 |
US20230342552A1 (en) * | 2022-04-25 | 2023-10-26 | Salesforce, Inc. | Systems and methods for contextualized and quantized soft prompts for natural language understanding |
CN115906918A (zh) * | 2022-11-28 | 2023-04-04 | 北京百度网讯科技有限公司 | 预训练模型的微调方法及其装置 |
CN116361431A (zh) * | 2023-01-19 | 2023-06-30 | 阿里巴巴(中国)有限公司 | 模型训练方法、对话生成方法、电子设备和相关装置 |
CN116595170A (zh) * | 2023-04-20 | 2023-08-15 | 扬州大学附属医院(扬州市第一人民医院) | 一种基于软提示的医疗文本分类方法 |
CN116861242A (zh) * | 2023-07-12 | 2023-10-10 | 清华大学深圳国际研究生院 | 基于语言判别提示的语言感知多语言预训练与微调方法 |
CN116884559A (zh) * | 2023-07-20 | 2023-10-13 | 联影智能医疗科技(北京)有限公司 | 一种基于语言模型的影像报告生成方法和系统 |
CN116910272A (zh) * | 2023-08-09 | 2023-10-20 | 西安工程大学 | 基于预训练模型t5的学术知识图谱补全方法 |
Non-Patent Citations (4)
Title |
---|
WOOJEONG JIN等: "A Good Prompt Is Worth Millions of Parameters: Low-resource Prompt-based Learning for Vision-Language Models", 《COMPUTER VISION AND PATTERN RECOGNITION》, 15 March 2022 (2022-03-15), pages 1 - 13 * |
YIBO CHEN等: "Iterative Prompt Refinement for Mining Gene Relationships from ChatGPT", 《BIORXIV》, 23 December 2023 (2023-12-23), pages 1 - 33 * |
吕海啸等: "前缀调优的少样本命名实体识别", 《CNKI网络首发》, 9 November 2023 (2023-11-09), pages 1 - 13 * |
张翔然等: "PromptWE:一种融合解释的提示学习事实核查模型", 《CNKI网络首发》, 27 October 2023 (2023-10-27), pages 1 - 10 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118296387A (zh) * | 2024-06-05 | 2024-07-05 | 烟台海颐软件股份有限公司 | 基于模型双向迭代的训练样本的优化方法及其优化系统 |
CN118296387B (zh) * | 2024-06-05 | 2024-08-06 | 烟台海颐软件股份有限公司 | 基于模型双向迭代的训练样本的优化方法及其优化系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117474084B (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2749970C1 (ru) | Способ сжатия модели нейронной сети, а также способ и устройство для перевода языкового корпуса | |
US20220292262A1 (en) | System and method for hybrid question answering over knowledge graph | |
US20210142794A1 (en) | Speech processing dialog management | |
CN107330120B (zh) | 询问应答方法、询问应答装置及计算机可读存储介质 | |
WO2019076286A1 (zh) | 一种语句的用户意图识别方法和装置 | |
EP3885966B1 (en) | Method and device for generating natural language description information | |
US11200885B1 (en) | Goal-oriented dialog system | |
CN114330281B (zh) | 自然语言处理模型的训练方法、文本处理方法和装置 | |
CN117474084B (zh) | 预训练模型与下游序列任务双向迭代方法、设备及介质 | |
US11875125B2 (en) | System and method for designing artificial intelligence (AI) based hierarchical multi-conversation system | |
CN113590769B (zh) | 任务驱动型多轮对话系统中的状态追踪方法及装置 | |
CN111832316A (zh) | 语义识别的方法、装置、电子设备和存储介质 | |
CN113314119A (zh) | 语音识别智能家居控制方法及装置 | |
US20230409615A1 (en) | Systems and Methods for Providing User Experiences on Smart Assistant Systems | |
CN111832315A (zh) | 语义识别的方法、装置、电子设备和存储介质 | |
CN110990598A (zh) | 资源检索方法、装置、电子设备及计算机可读存储介质 | |
US11393454B1 (en) | Goal-oriented dialog generation using dialog template, API, and entity data | |
US20240185846A1 (en) | Multi-session context | |
US12002451B1 (en) | Automatic speech recognition | |
CN117332770A (zh) | 文本匹配方法、装置、设备、存储介质和程序产品 | |
CN111222011B (zh) | 一种视频向量确定方法和装置 | |
CN113326706A (zh) | 一种跨语言检索方法、装置和电子设备 | |
CN116150324A (zh) | 对话模型的训练方法、装置、设备及介质 | |
CN113254611A (zh) | 提问推荐方法及装置、电子设备及存储介质 | |
CN114970494A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |