0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Prompt范式你们了解多少

深度学习自然语言处理 来源:李rumor 作者:rumor 2021-09-10 10:22 次阅读

卷友们好,我是rumor。

之前我学习Prompt范式的源起PET后就鸽了很久,相信卷友们已经把Prompt的论文都追完了,把我远远地落在了后面。周末我不甘被卷,奋起直追,连刷三篇paper,希望能赶上大家学习的步伐。

Prefix-tuning- Optimizing continuous prompts for generation

P-tuning-GPT Understands, Too

Prompt-tuning-The Power of Scale for Parameter-Efficient Prompt Tuning

自动化Prompt

Prompt范式的第一个阶段,就是在输入上加Prompt文本,再对输出进行映射。但这种方式怎么想都不是很优雅,无法避免人工的介入。即使有方法可以批量挖掘,但也有些复杂(有这个功夫能标不少高质量语料),而且模型毕竟是黑盒,对离散文本输入的鲁棒性很差:

323a6c1c-112f-11ec-8fb8-12bb97331649.jpg

怎么办呢?离散的不行,那就连续的呗

用固定的token代替prompt,拼接上文本输入,当成特殊的embedding输入,这样在训练时也可以对prompt进行优化,就减小了prompt挖掘、选择的成本。

如何加入Prompt

前面的想法非常单纯,但实际操作起来还是需要些技巧的。

Prefix-tuning

Prefix-tuning是做生成任务,它根据不同的模型结构定义了不同的Prompt拼接方式,在GPT类的自回归模型上采用[PREFIX, x, y],在T5类的encoder-decoder模型上采用[PREFIX, x, PREFIX‘, y]:

3246ea32-112f-11ec-8fb8-12bb97331649.jpg

值得注意的还有三个改动:

把预训练大模型freeze住,因为大模型参数量大,精调起来效率低,毕竟prompt的出现就是要解决大模型少样本的适配

作者发现直接优化Prompt参数不太稳定,加了个更大的MLP,训练完只保存MLP变换后的参数就行了

实验证实只加到embedding上的效果不太好,因此作者在每层都加了prompt的参数,改动较大

P-tuning

P-tuning是稍晚些的工作,主要针对NLU任务。对于BERT类双向语言模型采用模版(P1, x, P2, [MASK], P3),对于单向语言模型采用(P1, x, P2, [MASK]):

3254d11a-112f-11ec-8fb8-12bb97331649.jpg

同时加了两个改动:

考虑到预训练模型本身的embedding就比较离散了(随机初始化+梯度传回来小,最后只是小范围优化),同时prompt本身也是互相关联的,所以作者先用LSTM对prompt进行编码

在输入上加入了anchor,比如对于RTE任务,加上一个问号变成[PRE][prompt tokens][HYP]?[prompt tokens][MASK]后效果会更好

P-tuning的效果很好,之前的Prompt模型都是主打小样本效果,而P-tuning终于在整个数据集上超越了精调的效果:

32612dde-112f-11ec-8fb8-12bb97331649.jpg

虽然P-tuning效果好,但实验对比也有些问题,它没有freeze大模型,而是一起精调的,相当于引入了额外的输入特征,而平时我们在输入加个词法句法信息也会有提升,所以不能完全肯定这个效果是prompt带来的。同时随着模型尺寸增大,精调也会更难。

Prompt-tuning

Prompt-tuning就更加有信服力一些,纯凭Prompt撬动了大模型。

Prompt-tuning给每个任务定义了自己的Prompt,拼接到数据上作为输入,同时freeze预训练模型进行训练,在没有加额外层的情况下,可以看到随着模型体积增大效果越来越好,最终追上了精调的效果:

326f312c-112f-11ec-8fb8-12bb97331649.jpg

同时,Prompt-tuning还提出了Prompt-ensembling,也就是在一个batch里同时训练同一个任务的不同prompt,这样相当于训练了不同「模型」,比模型集成的成本小多了。

其他Trick

除了怎么加Prompt之外,Prompt向量的初始化和长度也有所讲究。

Prompt初始化

Prefix-tuning采用了任务相关的文字进行初始化,而Prompt-tuning发现在NLU任务上用label文本初始化效果更好。不过随着模型尺寸的提升,这种gap也会最终消失。

3285c892-112f-11ec-8fb8-12bb97331649.jpg

Prompt长度

从Prompt-tuning的实验可以看到,长度在10-20时的表现已经不错了,同时这个gap也会随着模型尺寸的提升而减小。

329143c0-112f-11ec-8fb8-12bb97331649.jpg

总结

要说上次看PET时我对Prompt范式还是将信将疑,看完这几篇之后就比较认可了。尤其是Prompt-tuning的一系列实验,确实证明了增加少量可调节参数可以很好地运用大模型,并且模型能力越强,所需要的prompt人工调参就越少。

这种参数化Prompt的方法除了避免「人工」智能外,还有一方面就是省去了Y的映射。因为在精调的过程中,模型的输出就被拿捏死了,而且Prompt-tuning还用label初始化Prompt,更加让模型知道要输出啥。

Finally,终于追上了前沿,大家的鬼点子可真多啊。

来源:李rumor

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PET
    PET
    +关注

    关注

    1

    文章

    43

    浏览量

    18674
  • MLPM
    +关注

    关注

    0

    文章

    2

    浏览量

    6798
  • prompt
    +关注

    关注

    0

    文章

    13

    浏览量

    2659

原文标题:Prompt范式,真香

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    HarmonyOS NEXT应用元服务开发控件状态变化场景

    例如下图,播放暂停按钮对应着两种状态,在状态切换时需要实时变化对应的标注信息。 import prompt from \'@system.prompt\' const
    发表于 10-28 15:13

    PPEC:零成本技术交底,赋能电源开发新范式

    。二、电源开发方案合作 PPEC电源开发模式:基于客户需求进行样机研发,并交付全套开发生产技术资料,研发费用可抵PPEC芯片货款,实现“0“成本技术交底,赋能电源开发新范式。▍客户需求:客户提出需求
    发表于 09-06 19:06

    MEMS谐振传感器新范式:热噪声驱动的传感器的可行性与动态检测性能

    resonant sensors”的研究论文,提出了一种新的微纳谐振传感器范式——热噪声驱动的谐振传感器, 构建了该范式下传感器信噪比、动态范围与频率稳定性等性能指标的理论框架,并实验验证了热噪声驱动的传感器的可行性与动态检测性能,为纳米尺度下可在室温和常压下工作、更简
    的头像 发表于 06-29 10:57 9366次阅读
    MEMS谐振传感器新<b class='flag-5'>范式</b>:热噪声驱动的传感器的可行性与动态检测性能

    esp32 console显示丢失第一个字符的原因?

    uart_config = ESP_CONSOLE_DEV_UART_CONFIG_DEFAULT(); /* Prompt to be printed before each line. * This can
    发表于 06-19 07:49

    以守为攻,零信任安全防护能力的新范式

    (Zero Trust Security)被提出,并逐渐成为提升网络安全防护能力的新范式。本文主要探讨攻击路径的演变、零信任体系在各个阶段的防护作用,并探讨零信任体系未来可能的发展方向。 攻击路径 攻击路径是指攻击者利用一系列的步骤和方法,在
    的头像 发表于 05-27 10:18 876次阅读
    以守为攻,零信任安全防护能力的新<b class='flag-5'>范式</b>

    你们能用定时器能达到1us的精度吗?

    你们能用定时器能达到1us的精度么
    发表于 05-16 07:19

    鸿蒙ArkUI:【从代码到UI显示的整体渲染流程】

    方舟开发框架(简称ArkUI)是鸿蒙开发的UI框架,提供如下两种开发范式,我们 **只学声明式开发范式**
    的头像 发表于 05-13 16:06 753次阅读
    鸿蒙ArkUI:【从代码到UI显示的整体渲染流程】

    STM8L151G6串口进不了中断的原因?

    (); __enable_interrupt();//**************开总中断 while (1) { /*Prompt_Tone(4); delay_ms(500); Prompt_Tone(0
    发表于 04-30 07:48

    150年创新不止 A.O.史密斯展现未来智能家居新范式

    好水,乐享健康生活"理念震撼亮相N4馆。从智慧五恒系统到好风好水健康厨房,从150年旗舰/经典系列再到旗下年轻时尚品牌佳尼特……A.O.史密斯自主开发的"高端智慧互联一站式好风好水解决方案"夺人眼球、人气爆棚,为在场观众清晰勾勒出了未来智能家居的新范式。   智慧五恒
    的头像 发表于 04-24 23:32 232次阅读

    复盘与分析:Sora是如何成功的?

    从技术路线看,依旧遵从LLM范式“大力出奇迹”,通过patches向量化与transformer架构结合,使得训练数据能够使用大小、尺寸、分辨率不同的视频,能够让模型学习到视频的规律乃至世界的规律;使用GPT生成prompt,在训练和推理过程中解决了模态之间的对齐问题,大
    的头像 发表于 02-25 16:44 517次阅读
    复盘与分析:Sora是如何成功的?

    如何从训练集中生成候选prompt 三种生成候选prompt的方式

    这个“gradient”怎么得到的了呢,这是个啥玩意,怎么还有梯度?注意,注意。人家是带引号的!比喻成梯度。这玩意有什么用呢。 文章指出给定一批error samples(当前prompt无法
    的头像 发表于 01-12 11:29 822次阅读
    如何从训练集中生成候选<b class='flag-5'>prompt</b> 三种生成候选<b class='flag-5'>prompt</b>的方式

    了解PWM“死区”吗?

    了解PWM“死区”吗?
    的头像 发表于 11-24 16:47 910次阅读
    你<b class='flag-5'>了解</b>PWM“死区”吗?

    workflow异步任务调度编程范式

    ,workflow是一个异步任务调度编程范式,封装了6种异步资源:CPU计算、GPU计算、网络、磁盘I/O、定时器、计数器,以回调函数模式提供给用户使用,概括起来实际上主要是两个功能:1、屏蔽阻塞调用的影响,使阻塞调用的开发接口变为异步的,充分利用计算资
    的头像 发表于 11-09 09:42 452次阅读
    workflow异步任务调度编程<b class='flag-5'>范式</b>

    你们正点原子的mini四轴飞行器的控制器是多少位的?

    你们正点原子的mini四轴飞行器的控制器是多少位的
    发表于 11-08 07:40

    FPC阻抗你们用什么软件模拟呀

    FPC阻抗你们用什么软件模拟呀,比如25um的PI,铜厚12um,线宽0.1和0.12mm,阻抗相差多少
    发表于 11-03 19:36