预训练范式提示学习方法一览(PET, Prefix-tuning,P-tuning,prompt tuning, PPT,SPoT, Prompt-tuning鲁棒性研究)

一:PET:完形填空任务Pattern-Exploiting Training(

它通过人工构建的模版与BERT的MLM模型结合,能够起到非常好的零样本、小样本乃至半监督学习效果,而且该思路比较优雅漂亮,因为它将预训练任务和下游任务统一起来了。
然而,人工构建这样的模版有时候也是比较困难的,而且不同的模版效果差别也很大,如果能够通过少量样本来自动构建模版,也是非常有价值的。

主要的思想是借助由自然语言构成的模版(英文常称Pattern或Prompt),将下游任务也转化为一个完形填空任务,这样就可以用BERT的MLM模型来进行预测了

在这里插入图片描述

离散 vs 连续
最早研究自动模版的工作,有些是挖掘实体关系,有些需要大量样本进行基于梯度搜索(如autoprompt),在离散空间下搜索的自然语言模版。也有梯度粗筛+代入模版精筛等等。而连续的Prefix-Tuning和P-tuning 放弃了“模版由自然语言构成”这一要求,从而将其变成了可以简单梯度下降求解的连续参数问题,效果还更好。可能prompt的关键在于它是怎么用的,不在于它由什么构成。

二:Prefix Tuning,在每层前面增加虚拟token

Prefix-Tuning 在模型输入前添加一个连续的且任务特定的向量序列(continuous task-specific vectors),称之为前缀(prefix)。前缀被视为一系列“虚拟 tokens”,但是它由不对应于真实 tokens 的自由参数组成。

与更新所有 PLM 参数的全量微调不同,Prefix-Tuning 固定 PLM 的所有参数,只更新优化特定任务的 prefix。
因此,在生产部署时,只需要存储一个大型 PLM 的副本和一个学习到的特定任务的 prefix,每个下游任务只产生非常小的额外的计算和存储开销。
在这里插入图片描述
Prefix-Tuning 在输入前添加前缀,即 Z=[prefix, x, y] , prefix为前缀序列的索引, 在模型每一层都添加前缀向量;

在实验中,作者进行了两组方法变体的对比分析:

  • [ Full vs Embedding-only ]:Embedding-only 方法只在 embedding 层添加前缀向量并优化,而 Full 代表的 Prefix-tuning 不仅优化 embedding 层添加前缀参数,还在模型所有层的激活添加前缀并优化。实验得到一个不同方法的表达能力增强链条:discrete prompting < embedding-only < prefix-tuning。同时,Prefix-tuning 可以直接修改模型更深层的表示,避免了跨越网络深度的长计算路径问题。
  • [ Prefix-tuning vs Infix-tuning ]:通过将可训练的参数放置在前面 和 中间来研究可训练参数位置对性能的影响,,这种方式成为 Infix-tuning。实验表明 Prefix-tuning 性能好于 Infix-tuning,因为 prefix 能够同时影响 和 的隐层激活,而 infix 只能够影响 的隐层激活。
  • 同时,研究表明前缀的 embedding 使用词表中真实单词的激活来初始化明显优于随机初始化。

Prefix-Tuning和Prompt Tuning最主要区别在于,Prefix-Tuning的前缀参数被插入到模

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值