CN114860915A - 一种模型提示学习方法、装置、电子设备及存储介质 - Google Patents
一种模型提示学习方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114860915A CN114860915A CN202210626295.8A CN202210626295A CN114860915A CN 114860915 A CN114860915 A CN 114860915A CN 202210626295 A CN202210626295 A CN 202210626295A CN 114860915 A CN114860915 A CN 114860915A
- Authority
- CN
- China
- Prior art keywords
- language model
- model
- learning
- prompt
- round
- 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 121
- 238000012549 training Methods 0.000 claims abstract description 149
- 238000005457 optimization Methods 0.000 claims abstract description 60
- 239000011159 matrix material Substances 0.000 claims description 128
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 72
- 239000013598 vector Substances 0.000 description 39
- 230000006870 function Effects 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 17
- 230000008451 emotion Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000003058 natural language processing Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 9
- 230000000737 periodic effect Effects 0.000 description 9
- 238000003062 neural network model Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000006403 short-term memory Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Images
Classifications
-
- 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
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- 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
-
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本申请提供一种模型提示学习方法、装置、电子设备及存储介质,用于改善对预训练语言模型进行提示学习的效率较低的问题。该方法包括:获取预训练语言模型的本轮参数梯度值;获取学习后的优化器的本轮优化参数,使用本轮参数梯度值和本轮优化参数确定预训练语言模型的本轮参数更新量;使用本轮参数更新量对预训练语言模型进行提示学习,并根据预训练语言模型的输出数据计算预训练语言模型的下一轮参数梯度值,直到达到学习终止条件,获得学习后的语言模型。通过可学习的优化器来加速预训练语言模型的提示学习过程,避免了使用基于人工经验设计的传统优化策略来优化预训练语言模型的提示学习过程,有效地加速了预训练语言模型的提示学习效率。
Description
技术领域
本申请涉及自然语言处理(Natural Language Processing,NLP)、深度学习和提示学习的技术领域,具体而言,涉及一种模型提示学习方法、装置、电子设备及存储介质。
背景技术
预训练语言模型(Pre-training Language Models,PLM),又被简称为预训练模型,是指将大量的文本语料作为训练数据,使用训练数据对神经网络进行半监督机器学习,获得的神经网络模型。预训练语义模型具体例如:双向编码表示变形器(BidirectionalEncoder Representations from Transformer,BERT)模型、RoBERTa模型、SentenceBERT模型、GloVe模型和生成式预训练(Generative Pre-Training,GPT)模型等等。
目前,在对预训练语言模型进行提示学习时,大都采用的是传统的Adam或Adagrad等优化策略,具体例如:采用Adam或Adagrad等优化策略在PLM上训练一个基于特定NLP任务的提示(Prompt)矩阵,通常需要100多个周期(epoch)。因此,使用传统的优化策略对预训练语言模型进行提示学习的效率较低。
发明内容
本申请实施例的目的在于提供一种模型提示学习方法、装置、电子设备及存储介质,用于改善对预训练语言模型进行提示学习的效率较低的问题。
本申请实施例提供了一种模型提示学习方法,包括:获取预训练语言模型的本轮参数梯度值;获取学习后的优化器的本轮优化参数,使用本轮参数梯度值和本轮优化参数确定预训练语言模型的本轮参数更新量;使用本轮参数更新量对预训练语言模型进行提示学习,并根据预训练语言模型的输出数据计算预训练语言模型的下一轮参数梯度值,直到达到学习终止条件,获得学习后的语言模型。在上述方案的实现过程中,通过可学习的优化器来加速预训练语言模型的提示学习过程,即根据预训练语言模型的本轮参数梯度值和优化器的本轮优化参数确定预训练语言模型的本轮参数更新量,并使用本轮参数更新量对预训练语言模型进行提示学习;能够根据对应的数据和优化任务进行调解,给出每步最优的更新方向和更新大小,从而避免了使用基于人工经验设计的传统优化策略来优化预训练语言模型的提示学习过程,有效地加速了预训练语言模型的提示学习效率。
可选地,在本申请实施例中,获取预训练语言模型的本轮参数梯度值,包括:获取样本文本和样本标签;使用预训练语言模型对样本文本进行预测,获得预测类别;计算出样本标签和预测类别之间的损失值,并根据损失值确定本轮参数梯度值。在上述方案的实现过程中,通过计算出样本标签和预测类别之间的损失值,并根据损失值确定本轮参数梯度值,从而避免了使用基于人工经验设计的传统优化策略确定的本轮参数梯度值来优化预训练语言模型的提示学习过程,有效地加速了预训练语言模型的提示学习效率。
可选地,在本申请实施例中,优化器是长短期记忆LSTM网络,LSTM网络的本轮优化参数包括:本轮模型参数和本轮隐状态;使用本轮参数梯度值和本轮优化参数确定预训练语言模型的本轮参数更新量,包括:获取LSTM网络的本轮模型参数和本轮隐状态;根据本轮模型参数和本轮隐状态确定LSTM网络的下一轮隐状态和预训练语言模型的本轮参数更新量。在上述方案的实现过程中,通过根据本轮模型参数和本轮隐状态确定LSTM网络的下一轮隐状态和预训练语言模型的本轮参数更新量,从而避免了传统优化策略难以确定本轮隐状态的时序参数的问题,有效地加速了预训练语言模型的提示学习效率。
可选地,在本申请实施例中,获取LSTM网络的本轮模型参数,包括:获取LSTM网络的上一轮模型参数和上一轮参数更新量;根据上一轮模型参数和上一轮参数更新量确定本轮模型参数。在上述方案的实现过程中,通过根据上一轮模型参数和上一轮参数更新量确定本轮模型参数,从而避免了传统优化策略直接根据梯度和学习率确定本轮模型参数的情况,有效地加速了预训练语言模型的提示学习效率。
可选地,在本申请实施例中,预训练语言模型是Transformer类模型;使用本轮参数更新量对预训练语言模型进行提示学习,包括:根据本轮参数更新量修改Transformer类模型中的关注度矩阵,获得修改后的关注度矩阵,并基于修改后的关注度矩阵进行提示学习,并根据预训练语言模型的输出数据计算预训练语言模型的下一轮参数梯度值,直到达到学习终止条件,获得学习后的语言模型。在上述方案的实现过程中,通过根据本轮参数更新量修改Transformer类模型中的关注度矩阵,并基于修改后的关注度矩阵进行提示学习,从而避免了基于人工设计的提示模板进行提示学习导致学习效率低下的问题,有效地加速了预训练语言模型的提示学习效率。
可选地,在本申请实施例中,在获取学习后的优化器的本轮优化参数之前,还包括:根据预训练语言模型的期望输出值确定优化器的总损失值,并根据总损失值对优化器进行参数更新学习。在上述方案的实现过程中,通过根据预训练语言模型的期望输出值确定优化器的总损失值,并根据总损失值对优化器进行参数更新学习,从而避免了使用基于人工经验设计的传统优化策略来优化预训练语言模型的提示学习过程,有效地加速了预训练语言模型的提示学习效率。
可选地,在本申请实施例中,在获得学习后的语言模型之后,还包括:获取样本文本和提示模板,提示模板包括:输入空槽和答案空槽;将样本文本填充至提示模板中的输入空槽,获得填充模板;使用学习后的语言模型对填充模板中的答案空槽相应文本进行预测,获得预测答案文本。在上述方案的实现过程中,通过使用学习后的语言模型对填充模板中的答案空槽相应文本进行预测,获得预测答案文本,由于学习后的语言模型是经过L2O技术对该语言模型的提示学习过程进行优化后获得的,从而避免了使用基于人工经验设计的传统优化策略来优化预训练语言模型的提示学习过程,有效地加速了预训练语言模型的提示学习效率。
本申请实施例还提供了一种模型提示学习装置,包括:参数梯度获取模块,用于获取预训练语言模型的本轮参数梯度值;优化参数获取模块,用于获取学习后的优化器的本轮优化参数,使用本轮参数梯度值和本轮优化参数确定预训练语言模型的本轮参数更新量;模型提示学习模块,用于使用本轮参数更新量对预训练语言模型进行提示学习,并根据预训练语言模型的输出数据计算预训练语言模型的下一轮参数梯度值,直到达到学习终止条件,获得学习后的语言模型。
可选地,在本申请实施例中,参数梯度获取模块,包括:文本标签获取子模块,用于获取样本文本和样本标签;预测类别获取子模块,用于使用预训练语言模型对样本文本进行预测,获得预测类别;第一梯度确定子模块,用于计算出样本标签和预测类别之间的损失值,并根据损失值确定本轮参数梯度值。
可选地,在本申请实施例中,优化器是长短期记忆LSTM网络,LSTM网络的本轮优化参数包括:本轮模型参数和本轮隐状态;优化参数获取模块,包括:状态参数获取子模块,用于获取LSTM网络的本轮模型参数和本轮隐状态;状态更新确定子模块,用于根据本轮模型参数和本轮隐状态确定LSTM网络的下一轮隐状态和预训练语言模型的本轮参数更新量。
可选地,在本申请实施例中,预训练语言模型是Transformer类模型;模型提示学习模块,包括:关注矩阵修改子模块,用于根据本轮参数更新量修改Transformer类模型中的关注度矩阵,获得修改后的关注度矩阵,并基于修改后的关注度矩阵进行提示学习。
可选地,在本申请实施例中,模型提示学习装置,还包括:优化器参数更新模块,用于根据预训练语言模型的期望输出值确定优化器的总损失值,并根据总损失值对优化器进行参数更新学习。
可选地,在本申请实施例中,模型提示学习装置,还包括:提示模板获取模块,用于获取样本文本和提示模板,提示模板包括:输入空槽和答案空槽;填充模板获得模块,用于将样本文本填充至提示模板中的输入空槽,获得填充模板;语言模型预测模块,用于使用学习后的语言模型对填充模板中的答案空槽相应文本进行预测,获得预测答案文本。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请实施例中的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的模型提示学习方法的流程示意图;
图2示出的本申请实施例提供的Transformer类模型的网络结构示意图;
图3示出的本申请实施例提供的Transformer-Block的编码器和编码器中的多头注意力的网络结构示意图;
图4示出的本申请实施例提供的LSTM优化提示学习的过程示意图;
图5示出的本申请实施例提供的模型提示学习装置的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例中的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请实施例的详细描述并非旨在限制要求保护的本申请实施例的范围,而是仅仅表示本申请实施例中的选定实施例。基于本申请实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
可以理解的是,本申请实施例中的“第一”、“第二”用于区别类似的对象。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在介绍本申请实施例提供的模型提示学习方法之前,先介绍本申请实施例中所涉及的一些概念:
提示学习(Prompt Learning),又被称为基于提示的学习(Prompt-basedLearning),是指NLP领域中的一种使用预训练语言模型执行预测任务的学习范式,该学习范式主要包括:预训练(pre-trained)、提示(prompt)和预测(predict),该学习范式能够替代传统的基于微调(fine-tuning)的学习范式,传统的学习范式可以包括:预训练(pre-trained)和微调(fine-tuning)的学习范式。
学习优化(Learning to Optimize,L2O),是一种利用机器学习方式开发(develop)神经网络的训练优化过程的新方式(approach),L2O的主要目标是减少神经网络模型训练中的繁琐(laborious)迭代。L2O可以基于不同模型训练集合来进行自动设计优化方式,此处的不同模型包括但不限于:模型类型不同(例如使用GloVe模型、GPT模型、BERT模型、RoBERTa模型和SentenceBERT模型等等来训练优化器,然后使用优化器来训练想要训练的预训练语言模型,获得训练后的语言模型),和/或,模型数量不同(使用3个或5个BERT模型来训练优化器,然后使用优化器来训练想要训练的预训练语言模型,获得训练后的语言模型)。这种数据驱动(Data-Driven)过程生成方式能够有效地解决训练过程中的共性问题,该方式是完全不同于传统的基于理论驱动(Theory-Driven)的传统优化策略。
需要说明的是,本申请实施例提供的模型提示学习方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者服务器,设备终端例如:智能手机、个人电脑、平板电脑、个人数字助理或者移动上网设备等。服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。
下面介绍该模型提示学习方法适用的应用场景,这里的应用场景包括但不限于:在使用预训练语言模型对NLP下游任务进行预测(predict)推理时,可以先使用该模型提示学习方法对预训练语言模型的提示学习过程进行优化,即使用可学习的优化器来加速预训练语言模型的提示学习过程,此处的NLP下游任务包括但不限于:文本分类(TextClassification)、自然语言推理、知识探索(Knowledge Probing)、信息抽取、问题回答(Question Answering)、文本生成和多模态学习(Multi-modal Learning)等等。为了便于理解和说明,本申请实施例中均以文本情感分类作为NLP下游任务进行详细地说明,其它的NLP下游任务的技术原理也是类似的。
上述的提示(prompt)过程大概可以包括如下三个步骤,为了便于理解,下面以人工设计的静态且离散的提示模板对提示过程进行详细地说明:
第一个步骤,向预训练(pre-trained)获得的预训练语言模型中增加提示(PromptAddition),具体可以增加已填充的(人工设计的)提示模板或者(机器模型从提示模板中学习到的)提示向量,其中,已填充的(Filled)提示模板包括:已填充的输入空槽(Slot)和未填充的答案空槽(Slot)。具体地,挑选一个未填充的提示模板,例如:[X],总而言之,这是一部[Z]电影。其中,[X]代表输入空槽,输入空槽用于输入提示文本(例如:我喜欢这部电影,或者,我讨厌这部电影)或者提示向量,[Z]代表答案空槽,答案空槽用于被预训练语言模型即时生成答案文本或者答案向量。
第二个步骤,预训练语言模型根据已填充的提示模板(Slot)预测出答案空槽对应答案文本或者答案向量。具体地,已填充的提示模板具体例如:我喜欢这部电影,总而言之,这是一部[Z]电影。预训练语言模型可以预测出答案空槽对应答案文本是好的(good)、很棒的(fantastic)或者坏的(bad)。
第三个步骤,将答案空槽对应答案文本或者答案向量映射为输出的预测结果。如果是文本情感分类任务,那么可以将好的(good)和很棒的(fantastic)答案文本映射为正向情感类别,而将坏的(bad)映射为负向情感类别。
可以理解的是,上面均以人工设计的静态且离散的提示模板对提示过程进行详细地说明,但是在具体的实践过程中,还可以使用神经网络模型(例如优化器)生成动态且连续提示模板来进行上述的提示过程,下面将详细地介绍使用优化器来生成动态且连续提示模板来进行上述的提示过程。
本申请实施例提供的模型提示学习方法的主要思路是,将L2O技术应用于预训练语言模型PLM的提示学习过程中,即使用L2O技术学习后的优化器(该优化器是可学习的)来加速PLM的提示学习过程,从而避免了使用基于人工经验设计的传统优化策略(是不能学习的)来优化PLM的学习过程。具体地,L2O技术学习后的优化器的工作原理可以使用公式表示为:其中,θ表示模型中的权重参数,容易得知,θt+1和θt分别表示第t+1轮(例如次、时刻或者周期)和第t轮迭代模型的权重参数,α表示学习率超参数,f(θt)表示该预训练语言模型在第t轮(例如次或者周期)训练时的输出数据,表示该预训练语言模型在第t轮(例如第t次或者周期)训练时的本轮参数梯度值,g表示可学习的优化器计算出的预训练语言模型的参数更新量,φ表示L2O中的优化器的权重参数。因此,使用上述的模型提示学习方法能够有效地加速PLM的提示学习效率。
请参见图1示出的本申请实施例提供的模型提示学习方法的流程示意图;该模型提示学习方法的实施方式可以包括:
步骤S110:获取预训练语言模型的本轮参数梯度值。
可以理解的是,预训练语言模型可以是基于编码器-解码器(Encoder-Decoder)结构的Transformer类模型,此处的Transformer类模型是指使用了变形模块(Transformer-Block)的神经网络模型,Transformer类模型包括但不限于:BERT模型、RoBERTa模型、T5模型和SentenceBERT模型等等。由于Transformer类模型的种类和版本(不同层次和深度)有很多种,因此,在针对具体的NLP下游任务(例如文本分类)时,可以使用很多个Transformer类模型分别对每个优化器进行训练,获得多个训练优化器,然后,将多个训练优化器中准确率最高的训练优化器作为下面的学习后的优化器(该优化器具体学习训练过程将在下面详细地介绍)。
步骤S120:获取学习后的优化器的本轮优化参数,使用本轮参数梯度值和本轮优化参数确定预训练语言模型的本轮参数更新量。
优化器(Learnable Optimizer),是指模型权重参数可以被更新的神经网络模型(即可学习的优化器),该优化器用于对预训练语言模型的训练过程进行优化,即输出预训练语言模型参数的每一步更新方向和更新步长,以使预训练语言模型更快地结束训练过程并达到预测推理阶段。此处的优化器可以采用任何带时序结构的神经网络模型,具体例如:循环神经网络(Recurrent Neural Network,RNN)模型、长短期记忆(Long Short-TermMemory,LSTM)网络、双向长短记忆(Bidirectional Long Short-Term Memory,Bi-LSTM)网络、门控循环单元(Gated Recurrent Unit,GRU)和Transformer-Block等。为了便于理解和说明,本申请实施例中均LSTM网络进行详细地说明,在下面详细地说明确定LSTM的本轮参数更新量的过程,其它的带时序结构的神经网络模型的技术原理也是类似的。
步骤S130:使用本轮参数更新量对预训练语言模型进行提示学习,并根据预训练语言模型的输出数据计算预训练语言模型的下一轮参数梯度值,直到达到学习终止条件,获得学习后的语言模型。
在上述的实现过程中,通过可学习的优化器来加速预训练语言模型的提示学习过程,即根据预训练语言模型的本轮参数梯度值和优化器的本轮优化参数确定预训练语言模型的本轮参数更新量,并使用本轮参数更新量对预训练语言模型进行提示学习,能够根据对应的数据和优化任务进行调解,给出每步最优的更新方向和更新大小,从而避免了使用基于人工经验设计的传统优化策略来优化预训练语言模型的提示学习过程,有效地加速了预训练语言模型的提示学习效率。
请参见图2示出的本申请实施例提供的Transformer类模型的网络结构示意图;上述的预训练语言模型可以采用Transformer类模型,该Transformer类模型的具体结构可以包括:一个嵌入层(Embedding Layer)、多个堆叠的变形模块(Transformer-Block)和一个输出层(Output Layer)。其中,多个堆叠的变形模块是相互堆叠的(即依次连接的),由于图中的嵌入层、多个堆叠的变形模块和输出层也是依次连接的,因此,嵌入层和多个堆叠的变形模块中的任意一个变形模块的维度是相等的,该维度可以表示为[l,H],l表示嵌入层和变形模块的横向长度,H表示变形模块的纵向高度。
上述的嵌入层主要用于将输入的样本文本映射转换为矩阵向量,上述的嵌入层是与上述多个堆叠的变形模块中的第一个变形模块(例如图中的变形模块1)连接的。由于Transformer类模型无法直接处理样本文本,因此,需要嵌入层将样本文本映射转换为矩阵向量,具体的映射转换过程可以包括:将样本文本进行分词,获得多个词语,然后在样本文本中的每个语句中增加表示符号,例如图中的[CLS]和[SEP]分别表示文本语句的开始符号和结束符号,获得增加表示符号的多个词语。最后,将增加表示符号的多个词语中的每个词语(例如:喜欢)或表示符号(例如[CLS]和[SEP])转换映射为独热(one-hot)的表示向量,获得样本文本对应的矩阵向量,即矩阵向量是由多个表示向量构成的。其中,每个表示向量可以包括:位置嵌入(position embedding)编码和词嵌入(word embedding)向量,位置嵌入编码代表该表示向量在语句或者文本中的位置编码,词嵌入向量表示每个词语(例如:喜欢)或表示符号(例如[CLS]和[SEP])转换映射的独热编码。
上述的多个堆叠的变形模块(Transformer-Block)是Transformer类模型的核心组件,该多个堆叠的变形模块的总数量可以表示为L。此处多个堆叠的变形模块中的每个变形模块均包括多个编码器(Encoder)和多个解码器(Decoder);多个编码器是依次连接的(即如图2所示堆叠的),多个编码器中的最后一个编码器(例如图中的编码器M)分别再与多个解码器(即图中的从解码器1到解码器M)连接的,最后多个解码器再依次连接,最后一个解码器(例如图中的解码器M)用于输出最后的结果。其中,多个编码器中的每个编码器主要用于对矩阵向量进行多头注意力(Multi-Head Attentions)计算(下面将详细介绍这个过程),从而获得特征向量。也就是说,Transformer-Block是会对矩阵向量(又称词向量)进行切分,切分出的数量被称作“头”(Head),因此,被称为多头注意力(Multi-HeadAttentions)计算,具体的计算过程将在下面详细的介绍。
上述的输出层用于根据特征向量确定样本文本的预测类别,该输出层是与上述多个堆叠的变形模块中的最后一个变形模块(例如图中的变形模块M)连接的,即最后一层变形模块(Transformer-Block)是与输出层连接的。
作为步骤S110的一种可选实施方式,首次获取预训练语言模型的本轮参数梯度值,该本轮参数梯度值的获取过程可以包括:
步骤S111:获取样本文本和样本标签。
上述的样本文本和样本标签可以分开获取,具体例如:人工的搜集样本文本(例如:样本文本是“我喜欢这部电影”),并人工地识别样本文本的样本标签(如果样本文本是“我喜欢这部电影”,那么识别出的样本标签是正面情感);当然,也可以将样本文本和样本标签打包为训练数据集一起获取,这里以训练数据集一起获取为例进行说明。
上述步骤S111的实施方式有很多种,包括但不限于:第一种获得方式,接收其它终端设备发送的训练数据集,将训练数据集存储至文件系统、数据库或移动存储设备中;第二种获得方式,获取预先存储的训练数据集,具体例如:从文件系统、数据库或移动存储设备中获取训练数据集;第三种获得方式,使用浏览器等软件获取互联网上的训练数据集,或者使用其它应用程序访问互联网获得训练数据集。
步骤S112:使用预训练语言模型对样本文本进行预测,获得预测类别。
请参见图3示出的本申请实施例提供的Transformer-Block的编码器和编码器中的多头注意力的网络结构示意图;上述步骤S111至步骤S112的实施方式例如:获取样本文本和样本标签,使用预训练语言模型中的嵌入层(Embedding Layer)将样本文本映射转换为矩阵向量,并使用预训练语言模型中的每个变形模块中的编码器(Encoder)对矩阵向量进行多头注意力(Multi-Head Attentions)、向量相加(Add)、归一化(Normalize)和前馈(Feed Forward)等等计算(具体的计算过程参见图3),获得特征向量;使用预训练语言模型中的输出层根据特征向量确定样本文本的预测类别。
下面重点介绍多头注意力(Multi-Head Attentions)的计算过程,此处的多头(Multi-Head)的意思是指把输入的矩阵向量中的每个表示向量切分为h个维度,如果h=1,就表示不切分,如果h=8,就表示将每个表示向量切分为8份(即8个子向量)。此处的注意力(Attention)实际上是指对切分后的多个子向量进行加权和文本重新表示,即此处的注意力(Attention)可以体现为关注度矩阵,此处的关注度矩阵可以包括:查询矩阵(Query,简称为Q)、关键矩阵(Key,简称为K)和数值矩阵(Value,简称为V);其中,Q和K表示注意力(Attention)的权重。
可以理解的是,上述的多头注意力(Multi-Head Attentions)的计算过程中是需要将Q、K、V先按照头(Head)数量(例如h个)切分的,此处为了便于描述,仅以两个头(Head)数量为例对计算过程进行整体说明,实际中可以设置任意长度的头(Head)数量。该多头注意力的计算过程包括:线性投影、标度点积注意力(Scaled Dot-Product Attention)、拼接(Concat)和再次线性投影(Linear)的过程,具体例如:将第一查询矩阵Q1、第一关键矩阵K1和第一数值矩阵V1分别进行线性投影(Linear),然后将Q1、K1和V1三者投影后的特征进行标度点积注意力(Scaled Dot-Product Attention)处理,获得第一注意力矩阵;同理地,将第二查询矩阵Q2、第二关键矩阵K2和第二数值矩阵V2分别进行线性投影(Linear),然后将Q2、K2和V2三者投影后的特征进行标度点积注意力处理,获得第二注意力矩阵。然后,在h维度上将第一注意力矩阵和第二注意力矩阵进行拼接(Concat),获得拼接后的矩阵;最后,将拼接后的矩阵进行再次线性投影(Linear)处理,即可获得多头注意力(Multi-HeadAttentions)的输出数据。
上述的标度点积注意力(Scaled Dot-Product Attention)的计算过程可以使用公式表示为:其中,Q表示查询矩阵,K表示关键矩阵,KT表示关键矩阵的转置,V表示数值矩阵,Attention(Q,K,V)表示标度点积注意力的计算结果,dk表示关键矩阵的维度,表示尺度因子(scaling factor)。可以理解的是,由于输入包括了查询矩阵的维度(dq)、关键矩阵的维度(dk)和数值矩阵维度(dv),然而,此处需要计算的是查询矩阵与所有数值矩阵之间的点积,因此,需要将每个头(Head)的计算过程中均除以并使用softmax函数来获得数值矩阵(V)的权重值。
下面结合提示学习过程对变形模块中的编码器影响来进行说明,针对多个堆叠的变形模块(Transformer-Block)其中一个(即一层)进行具体介绍,每个变形模块的计算过程可以包括以下几个子过程:
第一个子过程,根据变形模块的输入计算出关注度矩阵中的Q和K。具体例如:假设第i层Transformer-Block的输入是xi,那么可以通过如下公式进行计算,获得关注度矩阵包括:Q、K和V。
其中,(h)表示第h个头(head),Q、K和V分别表示查询矩阵、关键矩阵和数值矩阵,xi表示第i层变形模块(Transformer-Block)的输入,分别表示查询矩阵、关键矩阵和数值矩阵第h个部分在线性映射时的权重(Weight)参数,bh,q、bh,k、bh,v分别表示查询矩阵、关键矩阵和数值矩阵第h个头(head)部分在线性映射时的偏置(Bias)参数,且
第二个子过程,根据关注度矩阵中的Q和K计算出自注意力(self-attention)。使用公式计算出自注意力(self-attention);其中,(h)表示第h个头(head),表示第i层变形模块(Transformer-Block)的自注意力(self-attention),softmax函数表示归一化指数函数,Q和K分别表示查询矩阵和关键矩阵,xi表示第i层变形模块(Transformer-Block)的输入,k表示预训练语言模型在内部计算的维度,通常来说k>d/h。
第三个子过程,根据自注意力(self-attention)修改关注度矩阵中的数值矩阵V,获得修改后的矩阵。通过如下公式对自注意力(self-attention)进行权重更新、维度拼接和归一化计算,从而修改关注度矩阵中的数值矩阵V,并获得修改后的矩阵。
其中,(h)表示第h个头(head),表示按照第h个头计算出来权重更新后的数值矩阵V,ui表示所有头(head)计算出来维度拼接和归一化计算后的数值矩阵V,表示第i层变形模块(Transformer-Block)的自注意力(self-attention),V(h)表示第h个头对应的数值矩阵,xi表示第i层变形模块(Transformer-Block)的输入,Wc,h表示拼接后的权重(Weight)矩阵或者权重(Weight)向量,bc,h表示拼接后的偏置(bias)矩阵或偏置(bias)向量,d表示原始维度,LayerNorm表示层的归一化(LayerNormalization),其具体公式为此处的层的归一化主要是为了避免梯度消失的问题出现,z代表输入的数据,σz代表输入的数据的方差或标准差,μz代表输入的数据的期望平均值,是可训练参数,主要用于调整函数曲线的形状(高矮胖瘦等)和顶点坐标。concat是P-tuning方式或者P-tuning V2方式的拼接操作(包括前置拼接、中间拼接和后置拼接),代表矩阵Wc,h的转置。
第四个子过程,使用ReLu激活函数对修改后的矩阵进行计算,并再次归一化,获得该变形模块的输出。具体例如:使用ReLu激活函数对修改后的矩阵进行计算,获得激活后的矩阵;对激活后的矩阵进行再次归一化,获得该变形模块的输出。即使用如下的公式对修改后的矩阵进行计算和再次归一化,获得该变形模块的输出。
其中,zi表示激活后的矩阵,分别表示第1层和第2层变形模块(Transformer-Block)中的第h个部分在线性映射时的权重(Weight)参数,分别表示第1层和第2层变形模块(Transformer-Block)中的第h个部分在线性映射时的偏置(Bias)参数,LayerNorm表示层的归一化(LayerNormalization),其含义同上面的描述,xi+1表示第i层变形模块(Transformer-Block)的输出,即第i+1层变形模块(Transformer-Block)的输入。
步骤S113:计算出样本标签和预测类别之间的损失值,并根据损失值确定本轮参数梯度值。
上述步骤S113的实施方式例如:可以理解的是,由于最后一层变形模块(Transformer-Block)是与输出层连接的,且该预训练语言模型的NLP下游任务是文本情感分类的任务,那么可以输出层设置为归一化指数函数(例如softmax函数),此时的输出层可以根据最后一层变形模块(Transformer-Block)的输出确定样本文本的预测类别。具体例如:假设该文本情感分类的任务有y个,那么可以根据如下公式计算出样本标签和预测类别之间的损失值。
其中,LogitsX表示样本文本的多个预测类别的概率列表(例如:正面情感0.9,负面情感0.1),softmax函数表示归一化指数函数,表示最后一层变形模块(Transformer-Block)的权重(Weight)参数中的第1个部分的子向量(由于程序中以0开始计数,因此这里是第1个),xL表示最后一层变形模块(Transformer-Block)的输出矩阵向量,xL[0]表示最后一层变形模块(Transformer-Block)的输出矩阵向量中的第1个部分的子向量(由于程序中以0开始计数,因此这里是第1个[CLS]对应的向量),表示最后一层变形模块(Transformer-Block)的偏置(bias)参数中的第1个部分的子向量(由于程序中以0开始计数,因此这里是第1个);argmax表示从多个预测类别的概率列表筛选出最大概率对应的预测类别(例如正面情感0.9和负面情感0.1筛选出最大概率对应的预测类别是正面情感作为最终预测类别),表示预训练语言模型最终输出的预测类别;CrossEntropyLoss表示交叉熵损失(Cross Entropy Loss)函数,L表示交叉熵损失函数计算出来的函数值,Y表示上面的样本标签。
最后,根据损失值计算出预训练语言模型在反向传播(Back Propagation)时的本轮参数梯度值,具体例如:使用损失值对预训练语言模型的权重(Weight)参数进行求导,获得该预训练语言模型在反向传播(Back Propagation)时的本轮参数梯度值,该本轮参数梯度值可以表示为其中,在该预训练语言模型的训练过程中,t表示该预训练语言模型的训练次数(例如第t次)或者训练周期(例如第t周期),θt表示该预训练语言模型在第t轮(例如次或者周期)训练时的权重参数,f(θt)表示该预训练语言模型在第t轮(例如次或者周期)训练时的输出数据。
在上述方案的实现过程中,通过计算出样本标签和预测类别之间的损失值,并根据损失值确定本轮参数梯度值,从而避免了使用基于人工经验设计的传统优化策略确定的本轮参数梯度值来优化预训练语言模型的提示学习过程,有效地加速了预训练语言模型的提示学习效率。
请参见图4示出的本申请实施例提供的LSTM优化提示学习的过程示意图;可以理解的是,上述的优化器可以是长短期记忆(Long Short-Term Memory,LSTM)网络或者双向长短记忆(Bidirectional Long Short-Term Memory,Bi-LSTM)网络。为了便于说明和理解,本申请实施例均以LSTM网络作为优化器进行详细地说明,上述的LSTM网络的本轮优化参数包括:本轮模型参数和本轮隐状态。上述的LSTM网络作为优化器时的工作原理可以使用公式表示为:其中,θ表示模型中的权重参数,容易得知,θt+1和θt分别表示第t+1轮(例如次、时刻或者周期)和第t轮迭代模型的权重参数,α表示学习率超参数,f(θt)表示该预训练语言模型在第t轮(例如次或者周期)训练时的输出数据,表示该预训练语言模型在第t轮(例如第t次或者周期)训练时的本轮参数梯度值,g表示可学习的优化器计算出的预训练语言模型的参数更新量,φ表示L2O中的优化器的权重参数。
作为步骤S120的一种可选实施方式,确定预训练语言模型的本轮参数更新量的实施方式可以包括:
步骤S121:获取LSTM网络的本轮模型参数和本轮隐状态。
上述步骤S121的实施方式例如:直接从LSTM网络中获取到本轮隐状态,并获取LSTM网络的上一轮模型参数θt-1和上一轮参数更新量gt-1;使用公式θt=θt-1+gt-1对上一轮模型参数和上一轮参数更新量进行计算,即可获得本轮模型参数;其中,θt表示本轮模型参数,θt-1表示上一轮模型参数,gt-1表示上一轮参数更新量。同理地,也可以使用公式θt+1=θt+gt对本轮模型参数和本轮参数更新量进行计算,即可获得下一轮模型参数;其中,θt+1表示下一轮模型参数,θt表示本轮模型参数,gt表示表示优化器计算出的预训练语言模型在t轮的参数更新量(即本轮参数更新量)。在上述方案的实现过程中,通过根据上一轮模型参数和上一轮参数更新量确定本轮模型参数,从而避免了传统优化策略直接根据梯度和学习率确定本轮模型参数的情况,有效地加速了预训练语言模型的提示学习效率。
步骤S122:根据本轮模型参数和本轮隐状态确定LSTM网络的下一轮隐状态和预训练语言模型的本轮参数更新量。
上述步骤S122的实施方式例如:使用公式对本轮模型参数和本轮隐状态进行计算,获得LSTM网络的下一轮隐状态和预训练语言模型的本轮参数更新量;其中,gt表示优化器计算出的预训练语言模型在t轮的参数更新量(即本轮参数更新量),ht+1表示LSTM网络的第t+1轮隐状态(即下一轮隐状态),m表示LSTM网络的计算过程,θt分别表示第t轮迭代模型的权重参数,f(θt)表示该预训练语言模型在第t轮(例如次或者周期)训练时的输出数据,表示该预训练语言模型在第t轮(例如次或者周期)训练时的本轮参数梯度值,ht表示LSTM网络的第t轮的隐状态参数(即本轮隐状态),φ表示L2O中的优化器(即LSTM网络)的权重参数。
作为步骤S130的一种可选实施方式,预训练语言模型是Transformer类模型;使用本轮参数更新量对预训练语言模型进行提示学习,包括:
步骤S131:根据本轮参数更新量修改Transformer类模型中的关注度矩阵,获得修改后的关注度矩阵。
上述步骤S131的实施方式例如:上面描述了Transformer类模型的基本计算操作过程,由于上述的K(h)(xi),V(h)(xi)的每一层的每一个头(head)的尺寸大小完全相同,因此为了便于理解,下面以一层的一个头(head)为例进行说明,假设提示(Prompt)矩阵表示为Pk、Pq和/或Pv(首次可以随机初始化获得提示矩阵,后续再使用本轮参数更新量确定提示矩阵),此处的提示矩阵Pk用于修改关注度矩阵中的关键矩阵(K),此处的提示矩阵Pq用于修改关注度矩阵中的查询矩阵(Q),此处的提示矩阵Pv用于修改关注度矩阵中的数值矩阵(V)。
在具体的实际过程中,可以使用提示矩阵修改关注度矩阵中的任意一个矩阵(即Q、K或V)、任意二个矩阵(即Q和K,或,K和V,或,Q和V)或者全部的三个矩阵(即Q、K和V),为了便于理解和说明,下面仅以修改关注度矩阵中的K和V为例说明。上面可以是随机初始化来获得提示矩阵Pk和Pv,然后,可以使用公式K′=concat(Pk,K);V′=concat(Pv,V)分别关注度矩阵中的关键矩阵K和数值矩阵V对进行分别修改,获得修改后的关注度矩阵K′和V′;其中,K′是修改后的关注度矩阵中的关键矩阵,V′是修改后的关注度矩阵中的数值矩阵,concat是P-tuning方式或者P-tuning V2方式的拼接操作(包括前置拼接、中间拼接和后置拼接)。
在上述方案的实现过程中,首次可以随机初始化获得提示矩阵,后续再使用本轮参数更新量确定提示矩阵,可以通过P-tuning方式或者P-tuning V2方式根据该提示矩阵来修改Transformer类模型中的关注度矩阵,并基于修改后的关注度矩阵进行提示学习,通过结合算法的历史优化来对每一步选出最优的策略,从而避免了基于人工设计的提示模板进行提示学习导致学习效率低下的问题,有效地加速了预训练语言模型的提示学习效率。
步骤S132:基于修改后的关注度矩阵对Transformer类模型进行提示学习,并根据预训练语言模型的输出数据计算预训练语言模型的下一轮参数梯度值,直到达到学习终止条件,获得学习后的语言模型。
上述步骤S132的实施方式例如:根据关注度矩阵中的Q和K′计算出修改后的自注意力,根据修改后的自注意力修改修改后的关注度矩阵中的数值矩阵V′,获得修改后的矩阵;使用ReLu激活函数对修改后的矩阵进行计算,并再次归一化,获得该预训练语言模型中的最后变形模块的输出数据,可以使用公式对该预训练语言模型中的最后一个变形模块的输出数据进行计算,获得预训练语言模型的下一轮参数梯度值;其中,f(θ)表示该预训练语言模型中的最后一个变形模块的输出数据,表示预训练语言模型的下一轮参数梯度值。由于此处的实施方式与上述步骤S111和步骤S112的实施方式类似,因此就不再赘述。依次循环对预训练语言模型进行上述的提示学习,直到达到学习终止条件,获得学习后的语言模型;其中,此处的学习终止条件有很多种,包括但不限于:学习到预设轮次(例如学习到第200轮),或者,总损失值小于预设损失值(例如10%),或者,总正确率大于预设比例(例如80%)等等。在上述方案的实现过程中,通过根据本轮参数更新量修改Transformer类模型中的关注度矩阵,并基于修改后的关注度矩阵进行提示学习,从而避免了基于人工设计的提示模板进行提示学习导致学习效率低下的问题,有效地加速了预训练语言模型的提示学习效率。
上述的模型提示学习方法的主要思路是,将L2O技术应用于预训练语言模型PLM的提示学习过程中,即使用L2O技术学习后的优化器(该优化器是可学习的)来加速PLM的提示学习过程,从而避免了使用基于人工经验设计的传统优化策略(是不能学习的)来优化PLM的学习过程。也就是说,通过可学习的优化器来加速预训练语言模型的提示学习过程,即根据预训练语言模型的本轮参数梯度值和优化器的本轮优化参数确定预训练语言模型的本轮参数更新量,并使用本轮参数更新量对预训练语言模型进行提示学习;能够根据对应的数据和优化任务进行调解,给出每步最优的更新方向和更新大小,从而避免了使用基于人工经验设计的传统优化策略来优化预训练语言模型的提示学习过程,有效地加速了预训练语言模型的提示学习效率。
作为模型提示学习方法的一种可选实施方式,在获取学习后的优化器的本轮优化参数之前,还可以对优化器进行学习(即更新优化器中的权重参数),包括:
步骤S210:根据预训练语言模型的期望输出值确定优化器的总损失值。
上述步骤S210的实施方式具体例如:可以使用期望公式对预训练语言模型的期望输出值进行计算,获得优化器的总损失值;其中,θ表示模型中的权重参数,容易得知,θt+1和θt分别表示第t+1轮(例如次、时刻或者周期)和第t轮的权重参数,T表示训练预训练语言模型的展开长度(unrolling length),可以理解为训练该模型的总轮数,f(θt)表示该预训练语言模型在第t轮(例如次或者周期)训练时的输出数据,表示该预训练语言模型在第t轮(例如次或者周期)训练时的本轮参数梯度值,gt表示可学习的优化器计算出的预训练语言模型在第t轮(例如次或者周期)训练时的参数更新量(即本轮参数更新量),φ表示L2O中的优化器(即LSTM网络)的权重参数,m表示LSTM网络的计算过程,ht表示LSTM网络的第t轮的隐状态参数(即本轮隐状态)ht+1表示LSTM网络的第t+1轮隐状态(即下一轮隐状态)。
步骤S220:根据总损失值对优化器进行参数更新学习,获得学习后的优化器。
上述步骤S220的实施方式具体例如:根据总损失值对优化器进行参数更新学习,直到达到学习终止条件(例如学习到20轮),即可获得学习后的优化器。在上述方案的实现过程中,通过根据预训练语言模型的期望输出值确定优化器的总损失值,并根据总损失值对优化器进行参数更新学习,从而避免了使用基于人工经验设计的传统优化策略来优化预训练语言模型的提示学习过程,有效地加速了预训练语言模型的提示学习效率。
作为模型提示学习方法的一种可选实施方式,在获得学习后的语言模型之后,还可以使用学习后的语言模型进行提示预测(即使用prompt模板来进行模型推理),提示预测的过程可以包括:
步骤S310:获取样本文本和提示模板,提示模板包括:输入空槽和答案空槽。
上述步骤S310的实施方式例如:获取样本文本,例如:我喜欢这部电影,或者,我讨厌这部电影。然后,获取挑选一个未填充的提示模板,例如:[X],总而言之,这是一部[Z]电影。其中,[X]代表输入空槽,输入空槽用于输入提示文本(例如:我喜欢这部电影,或者,我讨厌这部电影)或者提示向量,[Z]代表答案空槽,答案空槽用于被预训练语言模型即时生成答案文本或者答案向量。
步骤S320:将样本文本填充至提示模板中的输入空槽,获得填充模板。
上述步骤S320的实施方式例如:将样本文本填充至提示模板中的输入空槽,获得已填充的提示模板(即填充模板)具体例如:我喜欢这部电影,总而言之,这是一部[Z]电影。预训练语言模型可以预测出答案空槽对应答案文本是好的(good)、很棒的(fantastic)或者坏的(bad)。
步骤S330:使用学习后的语言模型对填充模板中的答案空槽相应文本进行预测,获得预测答案文本。
上述步骤S330的实施方式例如:使用学习后的语言模型对填充模板中的答案空槽相应文本进行预测,那么预训练语言模型可以预测出答案空槽对应的预测答案文本包括:好的(good)、很棒的(fantastic)或者坏的(bad)。
步骤S340:将预测答案文本映射为输出的预测结果。
上述步骤S340的实施方式例如:如果是文本情感分类任务,那么可以将好的(good)和很棒的(fantastic)答案文本映射为正向情感类别,而将坏的(bad)映射为负向情感类别。在上述方案的实现过程中,通过使用学习后的语言模型对填充模板中的答案空槽相应文本进行预测,获得预测答案文本,由于学习后的语言模型是经过L2O技术对该语言模型的提示学习过程进行优化后获得的,从而避免了使用基于人工经验设计的传统优化策略来优化预训练语言模型的提示学习过程,有效地加速了预训练语言模型的提示学习效率。
请参见图5示出的本申请实施例提供的模型提示学习装置的结构示意图;本申请实施例提供了一种模型提示学习装置400,包括:
参数梯度获取模块410,用于获取预训练语言模型的本轮参数梯度值。
优化参数获取模块420,用于获取学习后的优化器的本轮优化参数,使用本轮参数梯度值和本轮优化参数确定预训练语言模型的本轮参数更新量。
模型提示学习模块430,用于使用本轮参数更新量对预训练语言模型进行提示学习,并根据预训练语言模型的输出数据计算预训练语言模型的下一轮参数梯度值,直到达到学习终止条件,获得学习后的语言模型。
可选地,在本申请实施例中,参数梯度获取模块,包括:
文本标签获取子模块,用于获取样本文本和样本标签。
预测类别获取子模块,用于使用预训练语言模型对样本文本进行预测,获得预测类别。
第一梯度确定子模块,用于计算出样本标签和预测类别之间的损失值,并根据损失值确定本轮参数梯度值。
可选地,在本申请实施例中,优化器是长短期记忆LSTM网络,LSTM网络的本轮优化参数包括:本轮模型参数和本轮隐状态;优化参数获取模块,包括:
状态参数获取子模块,用于获取LSTM网络的本轮模型参数和本轮隐状态。
状态更新确定子模块,用于根据本轮模型参数和本轮隐状态确定LSTM网络的下一轮隐状态和预训练语言模型的本轮参数更新量。
可选地,在本申请实施例中,预训练语言模型是Transformer类模型;模型提示学习模块,包括:
关注矩阵修改子模块,用于根据本轮参数更新量修改Transformer类模型中的关注度矩阵,获得修改后的关注度矩阵,并基于修改后的关注度矩阵进行提示学习。
可选地,在本申请实施例中,模型提示学习装置,还包括:
优化器参数更新模块,用于根据预训练语言模型的期望输出值确定优化器的总损失值,并根据总损失值对优化器进行参数更新学习。
可选地,在本申请实施例中,模型提示学习装置,还包括:
提示模板获取模块,用于获取样本文本和提示模板,提示模板包括:输入空槽和答案空槽。
填充模板获得模块,用于将样本文本填充至提示模板中的输入空槽,获得填充模板。
语言模型预测模块,用于使用学习后的语言模型对填充模板中的答案空槽相应文本进行预测,获得预测答案文本。
应理解的是,该装置与上述的模型提示学习方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
本申请实施例提供的一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上的方法。
其中,计算机可读存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种模型提示学习方法,其特征在于,包括:
获取预训练语言模型的本轮参数梯度值;
获取学习后的优化器的本轮优化参数,使用所述本轮参数梯度值和所述本轮优化参数确定所述预训练语言模型的本轮参数更新量;
使用所述本轮参数更新量对所述预训练语言模型进行提示学习,并根据所述预训练语言模型的输出数据计算所述预训练语言模型的下一轮参数梯度值,直到达到学习终止条件,获得学习后的语言模型。
2.根据权利要求1所述的方法,其特征在于,所述获取预训练语言模型的本轮参数梯度值,包括:
获取样本文本和样本标签;
使用所述预训练语言模型对所述样本文本进行预测,获得预测类别;
计算出所述样本标签和所述预测类别之间的损失值,并根据所述损失值确定所述本轮参数梯度值。
3.根据权利要求1所述的方法,其特征在于,所述优化器是长短期记忆LSTM网络,所述LSTM网络的本轮优化参数包括:本轮模型参数和本轮隐状态;所述使用所述本轮参数值和所述本轮优化参数确定所述预训练语言模型的本轮参数更新量,包括:
获取所述LSTM网络的本轮模型参数和本轮隐状态;
根据所述本轮隐状态和所述本轮模型参数确定所述LSTM网络的下一轮隐状态和所述预训练语言模型的本轮参数更新量。
4.根据权利要求3所述的方法,其特征在于,所述获取所述LSTM网络的本轮模型参数,包括:
获取所述LSTM网络的上一轮模型参数和上一轮参数更新量;
根据所述上一轮模型参数和所述上一轮参数更新量确定所述本轮模型参数。
5.根据权利要求1所述的方法,其特征在于,所述预训练语言模型是Transformer类模型;所述使用所述本轮参数更新量对所述预训练语言模型进行提示学习,包括:
根据所述本轮参数更新量修改所述Transformer类模型中的关注度矩阵,获得修改后的关注度矩阵,并基于所述修改后的关注度矩阵进行提示学习。
6.根据权利要求1-5任一所述的方法,其特征在于,在所述获取学习后的优化器的本轮优化参数之前,还包括:
根据所述预训练语言模型的期望输出值确定所述优化器的总损失值,并根据所述总损失值对所述优化器进行参数更新学习。
7.根据权利要求1-5任一所述的方法,其特征在于,在所述获得学习后的语言模型之后,还包括:
获取样本文本和提示模板,所述提示模板包括:输入空槽和答案空槽;
将所述样本文本填充至所述提示模板中的输入空槽,获得填充模板;
使用所述学习后的语言模型对所述填充模板中的答案空槽相应文本进行预测,获得预测答案文本。
8.一种模型提示学习装置,其特征在于,包括:
参数梯度获取模块,用于获取预训练语言模型的本轮参数梯度值;
优化参数获取模块,用于获取学习后的优化器的本轮优化参数,使用所述本轮参数梯度值和所述本轮优化参数确定所述预训练语言模型的本轮参数更新量;
模型提示学习模块,用于使用所述本轮参数更新量对所述预训练语言模型进行提示学习,并根据预训练语言模型的输出数据计算预训练语言模型的下一轮参数梯度值,直到达到学习终止条件,获得学习后的语言模型。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210626295.8A CN114860915A (zh) | 2022-06-02 | 2022-06-02 | 一种模型提示学习方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210626295.8A CN114860915A (zh) | 2022-06-02 | 2022-06-02 | 一种模型提示学习方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114860915A true CN114860915A (zh) | 2022-08-05 |
Family
ID=82624054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210626295.8A Pending CN114860915A (zh) | 2022-06-02 | 2022-06-02 | 一种模型提示学习方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860915A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115345300A (zh) * | 2022-08-22 | 2022-11-15 | 北京智乎科技发展有限公司 | 一种模型提示矩阵学习方法、装置、设备以及存储介质 |
CN115563283A (zh) * | 2022-10-20 | 2023-01-03 | 北京大学 | 一种基于提示学习的文本分类方法 |
CN115631868A (zh) * | 2022-11-17 | 2023-01-20 | 神州医疗科技股份有限公司 | 一种基于提示学习模型的传染病预警直报方法和系统 |
CN116702737A (zh) * | 2023-08-07 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 文案生成方法、装置、设备、存储介质及产品 |
CN116894089A (zh) * | 2023-08-11 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 摘要生成方法、装置、设备、存储介质及产品 |
CN117216220A (zh) * | 2023-09-25 | 2023-12-12 | 福建实达集团股份有限公司 | 一种大语言模型的使用方法及装置 |
CN117313670A (zh) * | 2023-09-27 | 2023-12-29 | 北京百度网讯科技有限公司 | 文案生成方法、装置、电子设备以及存储介质 |
-
2022
- 2022-06-02 CN CN202210626295.8A patent/CN114860915A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115345300A (zh) * | 2022-08-22 | 2022-11-15 | 北京智乎科技发展有限公司 | 一种模型提示矩阵学习方法、装置、设备以及存储介质 |
CN115563283A (zh) * | 2022-10-20 | 2023-01-03 | 北京大学 | 一种基于提示学习的文本分类方法 |
CN115563283B (zh) * | 2022-10-20 | 2023-04-25 | 北京大学 | 一种基于提示学习的文本分类方法 |
CN115631868A (zh) * | 2022-11-17 | 2023-01-20 | 神州医疗科技股份有限公司 | 一种基于提示学习模型的传染病预警直报方法和系统 |
CN115631868B (zh) * | 2022-11-17 | 2023-04-21 | 神州医疗科技股份有限公司 | 一种基于提示学习模型的传染病预警直报方法和系统 |
CN116702737A (zh) * | 2023-08-07 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 文案生成方法、装置、设备、存储介质及产品 |
CN116702737B (zh) * | 2023-08-07 | 2023-12-01 | 腾讯科技(深圳)有限公司 | 文案生成方法、装置、设备、存储介质及产品 |
CN116894089A (zh) * | 2023-08-11 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 摘要生成方法、装置、设备、存储介质及产品 |
CN116894089B (zh) * | 2023-08-11 | 2023-12-15 | 腾讯科技(深圳)有限公司 | 摘要生成方法、装置、设备、存储介质及产品 |
CN117216220A (zh) * | 2023-09-25 | 2023-12-12 | 福建实达集团股份有限公司 | 一种大语言模型的使用方法及装置 |
CN117216220B (zh) * | 2023-09-25 | 2024-06-07 | 福建实达集团股份有限公司 | 一种大语言模型的使用方法及装置 |
CN117313670A (zh) * | 2023-09-27 | 2023-12-29 | 北京百度网讯科技有限公司 | 文案生成方法、装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114860915A (zh) | 一种模型提示学习方法、装置、电子设备及存储介质 | |
US11113479B2 (en) | Utilizing a gated self-attention memory network model for predicting a candidate answer match to a query | |
US20180137854A1 (en) | Machine reading method for dialog state tracking | |
CN111274362B (zh) | 一种基于transformer架构的对话生成方法 | |
US11481646B2 (en) | Selecting answer spans from electronic documents using neural networks | |
CN112417092B (zh) | 基于深度学习的智能化文本自动生成系统及其实现方法 | |
CN111368545B (zh) | 一种基于多任务学习的命名实体识别方法和装置 | |
CN111354333B (zh) | 一种基于自注意力的汉语韵律层级预测方法及系统 | |
WO2018156373A1 (en) | Sequence processing using online attention | |
US11886813B2 (en) | Efficient automatic punctuation with robust inference | |
CN109344242B (zh) | 一种对话问答方法、装置、设备及存储介质 | |
CN111930914A (zh) | 问题生成方法和装置、电子设备以及计算机可读存储介质 | |
CN110399454B (zh) | 一种基于变压器模型和多参照系的文本编码表示方法 | |
CN113837370A (zh) | 用于训练基于对比学习的模型的方法和装置 | |
CN113609284A (zh) | 一种融合多元语义的文本摘要自动生成方法及装置 | |
CN114528383A (zh) | 基于对比学习的预训练语言模型处理方法和智能问答系统 | |
CN114445832A (zh) | 基于全局语义的文字图像识别方法、装置及计算机设备 | |
CN114048301B (zh) | 一种基于满意度的用户模拟方法及系统 | |
CN114692624A (zh) | 一种基于多任务迁移的信息抽取方法、装置及电子设备 | |
CN114297220A (zh) | 一种数据处理方法、装置、计算机设备以及存储介质 | |
CN111797220A (zh) | 对话生成方法、装置、计算机设备和存储介质 | |
WO2024015591A1 (en) | Efficient decoding of output sequences using adaptive early exiting | |
CN114707518B (zh) | 面向语义片段的目标情感分析方法、装置、设备及介质 | |
CN116702765A (zh) | 一种事件抽取方法、装置及电子设备 | |
CN115357712A (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 |