【NLP】Pre-train,Prompt,and Predict

本文探讨了自然语言处理(NLP)的两大转变,从基于监督学习到预训练微调,再到预训练、提示和预测的模式。文章详细介绍了提示(Prompting)的概念,包括其基础、设计和应用。预训练语言模型的角色、训练目标和方法也进行了阐述。此外,文章还讨论了提示工程、答案工程和多提示学习,以及提示方法的训练策略和NLP的应用场景。
摘要由CSDN通过智能技术生成

目录

一、 NLP的两大巨变

二、 Prompting的正式描述

2.1 NLP中基于监督的学习

2.2 Prompting的基础

2.3 Prompting设计的几个方面

三、预训练语言模型

3.1 训练目标

3.2 噪声函数

3.3计算的方向

3.4典型的预训练方法

四、Prompt Engineering

4.1 Prompt Shape

4.2 手动prompt模板

4.3 自动prompt模板

五、 答案工程

5.1 答案形式

5.2 答案空间的设计方法

六、Multi-Prompt Learning

6.1 组合式提示

6.2 强化式提示

6.3 合成式提示

6.4 分解式提示

七、提示方法的训练策略

7.1 训练设置

7.2 参数更新方法

八、应用

8.6 应用于文本生成

8.7 应用于文本生成的评估

Reference


一、 NLP的两大巨变

基于完全监督的学习,即只在目标任务的输入输出例子的数据集上训练特定任务的模型,已经在机器学习各领域上充分发挥了作用,NLP也不例外。为了学习高质量的模型,早期的NLP模型主要依赖于特征工程,即工程师利用其专业知识来定义提取原数据集,从而在学习中能被注意到。随着神经网络模型的出现,特征提取与模型的训练可以同步进行,问题的侧重点转移到了架构工程上,即构建合适的网络模型来提取数据特征。

近些年新兴的基于预训练、微调的范式正取代以往的学习方式,这也成为了NLP领域的第一次巨变。这个范式下,一个具有固定架构的模型被预训练为语言模型(LM),而后基于大量原始数据集的LM可以学习到可适用于普遍任务的通用特征。之后通过引入额外的参数及特定任务的目标函数来进行微调从而适应下游任务。问题转移到了目标工程上,即选择合适的训练目标适用于预训练和微调两个阶段(如损失函数)。

如今我们正处于第二次巨变中,即“预训练微调”结构正在被“预训练、提示和预测”结构取代,即通过一些提示信息如填空、翻译等,通过无监督的方式训练单一的LM直接用于解决大量的问题。通过提示来控制模型的行文,问题也就转移到了提示工程,即找到最合适的提示。

二、 Prompting的正式描述

2.1 NLP中基于监督的学习

利用条件概率P(y|x;\theta)预测,其中x为输入,y为输出。通过包含输入输出的数据集来学习模型的参数\theta,要求我们有完整的数据集。

2.2 Prompting的基础

想法的最初来源于我们没有大量的数据来进行有监督的学习。prompting通过学习一个LM对输入文本本身的概率进行建模,预测y的概率。共分为添加提示、搜索答案、答案映射三个步骤。

2.2.1 Prompt Addition

定义一个构造函数x=f_{prompt}(x)将输入文本x修改为LM中使用的模式串。

构造函数共两步:1.应用一个模板,共有两个槽一个是输入槽[X]一个是答案槽[Z],后者用于存放升温答案文本,以后将映射到y。2.用输入文本x填入槽[X]中。

其中槽的数量可以根据不同任务改变,答案槽在文本中间的称作cloze prompt,在末尾被称作perfix prompt

2.2.2 Answer Search

搜索得分最高的答案,使整个LM得分最大

定义函数f_{fill}(x^{'},z)为在x’的答案槽中填入词z,同时对每一个可能的答案z给一个分类用的分数,如Z={开心,平静,难过,死去活来}->{++,+,-,--}。

最后定义搜索函数\hat{z} = searchP(f_{fill}(x^{'},z);\theta) \ \ \ \ z\in{Z}

搜索函数可以使搜索搜索最高分输出的argmax搜索也可以是按照LM概率分布随机生成输出的抽样。

2.2.3 Answer Mapping

从得分最高的答案z到最高分对应的输出y在答案为一时是一样的(翻译等NLG任务),在有多个答案时(如同义词)就要在搜索到的答案和输出值间构造一个映射。

2.3 Prompting设计的几个方面

1.预训练模型

2.提示工程 即如何构造f_{prompt}函数

3 答案工程 不同任务对应的Z集合不同

4 拓展范式 将上述框架进行拓展

5 基于Prompt来训练参数

三、预训练语言模型

3.1 训练目标

预训练LM的主要任务几乎都包括对一段文本x的预测概率目标。

Standard Language Model(SLM)目标即使训练模型以优化语料库中文本的概率P(x),通过自回归预测,通常为从左至右。

替代SLM的一种方法为降噪目标,利用噪声函数修改输入文本,在降噪文本下预测原句子的概率,共有两种常见形式。

Corrupted Text Reconstructed(CTR)仅对输入句子的噪声部分计算损失,将文本恢复至未损失的状态。

Full Text Reconstruction(FTR)计算整个输入文本的损失来重构文本,无论其是否经过噪声处理。

训练目标在确定其对特定提示任务的适用性起着重要作用。如SLM更适合于prefix prompt,CTR、FTR更适合cloze prompt;SLM和FTR更适合文本生成任务。

3.2 噪声函数

mask在不同层次上用一个特殊token替代原词,一个或多个,可以随机选择也可以人为设计。

Replace用另一个token替换原词。

Delete将若干个词从文本中删除,不增加其他token。

Permutation将文本先分块再排列。

3.3计算的方向

分为从左到右、双向、混合、随机几种情况,主要利用注意力模型中的masked参数实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值