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

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

3天内不再提示

Zero-shot-CoT是multi-task的方法

深度学习自然语言处理 来源:NLP日志 作者:NLP日志 2022-06-15 10:53 次阅读

1 简介

Prompt learning中的prompt如同一种心理暗示,可以驱使语言模型按照特定的方向去预测。就像一种解题技巧,只要加入了它,就能更准确的解决问题。在之前prompt系列的文章中,我们介绍过各种形式的prompt,也强调过一个合适的prompt对于下游任务的效果影响重大,为此如何寻找一个合适的prompt的显得尤为重要。

今天介绍一个最近刚被发现的“宝藏prompt”,Let’s think step by step,通过使用特定的prompt“Let’s think step by step”和相应的两阶段prompt技巧,提高了大规模语言模型在的推理能力,在多个推理相关的zero-shot任务取得惊人的提升,远超之前的zero-shot方法。

2背景

大规模预训练语言模型借助于针对特定任务设计的prompt(无论是few shot还是zero shot),在单步骤的system-1任务上有着出色表现,但是对于那些缓慢和需要多步推理的system-2任务表现不佳。(system-1跟system-2是心理学家定义的一些推理任务,可以理解为system-1是那些一步就可以推出答案的任务,,而system-2则是那些需要通过多步推理才能解决的任务)。

为了解决大规模语言模型在system-2任务中表现不佳的问题,CoT(Chain of thought prompting)被提出来,它将原本的few shot的样例,调整为逐步推理的答案,从而让语言模型去学习few shot样例的逐步推理过程,从而控制模型推理能力的方向,在复杂的system-2任务中获得明显提升。细节可以见下图中的样例,其中左上角就是原本的few shot prompt,而右上角就是将few shot样例调整为逐步推理样例的CoT(为了跟后面的Zero-shot-CoT区分而称为Few-shot- CoT),可以看出Few-shot-CoT是将few shot样例里的推理过程展开了,让语言模型能更好的学习其中的细节。

c009e2c2-ebed-11ec-ba43-dac502259ad0.png

图1:Few-shot, Few-shot-CoT, Zero-shot, Zero-shot-CoT示例

3 Zero-shot-CoT

跟前面提及的Few-shot Cot不同,Zero-shot-CoT不需要经过调整的逐步推理的few shot样例,也不同大多数prompt,它不依赖于特定的任务,可以利用当前问题逐步的推理过程推导得到一个简单的prompt模版,从而控制语言模型预测的方向。Zero-shot Cot的核心是利用“Let’s think step by step”去抽取当前问题的逐步推理过程。虽然Zero-shot-CoT的概念很简单,它的巧妙之处在于整个过程使用了两次prompt,具体过程如下,同时可以查看下图样例加深理解。

a)推论抽取

首先将问题X通过一个简单的模版”Q:[X].A:[Z]”调整为一个prompt,其中[X]是一个输入槽位,通过问题X来填充,而[Z]是一个触发器槽位,用一个人工构建的触发器句子来填充,使得语言模型可以从中抽取回答问题X所需的逐步推理过程,论文中用的触发器句子是“Let’s think step by step.”。然后将构造好的模版输入到语言模型,从而生成后续的句子Z(可以使用任何解码策略,论文为了简便使用了贪婪解码策略)。

b)答案抽取

将第一步构造好的模版Q:[X].A:[Z],生成的句子Z,和一个新的触发器句子[A]拼接到一起输入到同一个语言模型,利用语言模型生成的结果进行解析得到最终的答案。这一步的触发器句子[A]跟第一步的触发器句子不同,它依赖于具体的答案形式,例如图中样例用的触发器句子是“Therefore, the answer (arabic numerals) is”

c02c2ab2-ebed-11ec-ba43-dac502259ad0.png

图2: Zero-shot-Cot全过程

Zero-shot-CoT跟Few-shot-CoT的区别在于,对于每个任务,Few-shot-CoT需要谨慎的人工工程将few shot样例转化为特定的答案格式,就是其中的逐步推理过程,而Zero-shot-CoT则不需要这些工程,只需要调用两次语言模型即可实现。Zero-shot-CoT跟Zero-shot的区别在于,Zero-shot-Cot多了生成多步推论的过程,最终输入语言模型的文本会更加丰富,语言模型能按照逐步推论的方向进行预测,从而更好的控制语言模型的输出。

4 实验结果

论文在算术推理跟常识推理相关的任务做了实验,有以下一些实验结论。

a)Zero-shot-CoT在需要多步推理的算术推理任务,符号推理任务,其他逻辑推理任务上大幅超越zero-shot,在不需要多步推理的算数推理任务上(SingleEq和AddSub)上跟zero-shot水平相当。在常识推理任务上,Zero-shot-Cot表现没有提升。

c05b4054-ebed-11ec-ba43-dac502259ad0.png

图3: Zero-shot-CoT跟Zero-shot在多个任务上的表现

b)在算术推理任务中,虽然Zero-shot-CoT不及Few-shot-CoT,但明显优于标准的Few-shot,即便是带8个样例的Fes-shot方法。

c06f2268-ebed-11ec-ba43-dac502259ad0.png

图4: 在多步算法推理任务上多种方法的效果对比

c)对于常识推理问题,Zero-shot-CoT通常能生成灵活合理的推论,即便最终预测是错误的(下图左边样例)。同时当模型发现很难将答案选项缩小时,Zero-shot-CoT经常输出多个答案选项(下图右边样例)。

c0b67492-ebed-11ec-ba43-dac502259ad0.png

图5: Zero-shot-CoT在常识推理任务的若干bad case

5讨论

a)语言模型规模跟zero-shot推理是否相关?

大规模语言模型能带来更合理的推理。对于不需要多步推理的任务,zero-shot表现随着语言模型规模的增长可能不增长或者增长非常缓慢,但是对于需要多步推理的任务,随着语言模型规模的增长,zero-shot的效果飞速增长。

c0cd946a-ebed-11ec-ba43-dac502259ad0.png

图6:模型规模的影响

b)Prompt的选择是否影响Zero-shot-CoT

如果文本被撰写成有利于深度推理的样子,模型效果也会得到提升。不同的prompt会驱使模型表示出迥然不同的推理能力,具体的差异取决了实际句子。在论文实验中,其中一个prompt”Let’s think step by step”取得最优的效果。

c114572e-ebed-11ec-ba43-dac502259ad0.png

图7:不同prompt对于Zero-shot-CoT的影响

c)大规模语言模型的推理能力

部分研究表明预训练模型通常不擅长推理任务,但是通过让它进行逐步推理可以极大程度的提升它的推理性能,而不是通过微调。论文的实验也佐证了大规模语言模型是一个合适的zero-shot推理器。

d)Multi-task prompting

大多数prompt都是针对特定任务而设计的,但是Zero-shot-CoT是支持多任务的,具有更强的泛化能力,能应用到更多不同的任务中去。Zero-shot-CoT可以为作为一种参考,不仅加速应用大规模语言模型进行逻辑推理的研究,也加速发现其他大规模语言模型的广泛感知能力的研究。

6总结

个人觉得,相比其他prompt相关的文章,Zero-shot-CoT通过两阶段的prompt过程设计,摆脱了prompt工程的限制,也不受限于具体的任务,更好的控制模型的预测方向。虽然思想跟Few-shot-CoT很像,但是摆脱了其中的精心设计的将few shot样例转化为合适的prompt的过程。这一点还是很有价值的。

但是,看完这个文章还是有不少的疑问。文章提及Zero-shot-CoT是multi-task的方法,但是只在推理相关的任务上进行实验,Let’s think step by step”在非推理的任务上也会是最优选择吗?在其他任务上,Zero-shot-CoT能取得多少增益?对于其他语言而言,找到自身最佳的“Let’s think step by step”只能把所有可能的prompt都测试一遍吗?有其他自动化的手段吗?有没有跨语言的“Let’s think step by step”?

参考文献

1.(2022,) Large Language Models are Zero-Shot Reasoners

https://arxiv.org/pdf/2205.11916.pdf

审核编辑 :李倩

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

    关注

    29

    文章

    5566

    浏览量

    79260
  • 语言模型
    +关注

    关注

    0

    文章

    523

    浏览量

    10274

原文标题:提示学习 | Let’s think step by step

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

收藏 人收藏

    评论

    相关推荐

    ​Banana Pi BPi-M4 Zero 开源硬件开发板评测试: 全志科技H618 方案设计

    Banana Pi 推出了全志 H618 开发系统的第二个版本,标记为 V2.0,名称为 BPi-M4 Zero,采用 Raspberry Pi Zero 格式。不久前,我们写过BPi-M4
    的头像 发表于 12-03 17:58 318次阅读
    ​Banana Pi BPi-M4 <b class='flag-5'>Zero</b> 开源硬件开发板评测试: 全志科技H618 方案设计

    COT型纹波威廉希尔官方网站 的稳定性分析与设计

    电子发烧友网站提供《COT型纹波威廉希尔官方网站 的稳定性分析与设计.pdf》资料免费下载
    发表于 09-18 11:18 0次下载
    <b class='flag-5'>COT</b>型纹波威廉希尔官方网站
的稳定性分析与设计

    Multi-Scaler IP的Linux示例以及Debug(上)

    本篇文章介绍了在 ZCU106 上创建 Video Multi-Scaler IP 的 AMD Vivado™ Design Tool 和 Petalinux 工程;在 ZCU106 上 Run 生成的 Image,并测试生成的图像文件,以及常见问题的 Debug。
    的头像 发表于 09-18 10:03 389次阅读
    <b class='flag-5'>Multi</b>-Scaler IP的Linux示例以及Debug(上)

    应用COT与Flybuck技术的低成本小功率辅助电源解决方案

    电子发烧友网站提供《应用COT与Flybuck技术的低成本小功率辅助电源解决方案.pdf》资料免费下载
    发表于 08-30 11:33 0次下载
    应用<b class='flag-5'>COT</b>与Flybuck技术的低成本小功率辅助电源解决方案

    AN-1481在恒定导通时间(COT)调节器设计中控制输出纹波并实现ESR独立性

    电子发烧友网站提供《AN-1481在恒定导通时间(COT)调节器设计中控制输出纹波并实现ESR独立性.pdf》资料免费下载
    发表于 08-26 11:40 0次下载
    AN-1481在恒定导通时间(<b class='flag-5'>COT</b>)调节器设计中控制输出纹波并实现ESR独立性

    OpenAI收购远程协作公司Multi

    近日,人工智能领域的领军企业OpenAI再度出手,收购了由前Dropbox产品经理Alexander Embiricos和前谷歌工程师Charley Ho联合创办的远程协作公司Multi。这是继收购Rockset之后,OpenAI在技术研发和业务拓展上的又一重要动作。
    的头像 发表于 06-26 18:18 1029次阅读

    请问IDF中的pthread和Task相比有何不同?

    IDF中的 pthread 和 Task 相比有何不同?
    发表于 06-24 06:46

    TE推出的MULTI-BEAM Plus电源连接器具有哪些优势?-赫联电子

      TE品牌推出的MULTI-BEAM Plus电源连接器满足了市场对更高功率和更高性能的需求,其最高每功率电流触点的最高电流为每触点140 A,四个相邻电源触点的每触点100A。更高的功率和信号
    发表于 06-23 17:02

    esp32同时让wifi和蓝牙工作,会出现wifi task看门狗复位的情况怎么解决?

    使用esp32-aliyun sdk的联网,配合4.3的SDK来开发,在开启配网时候加上使用blufi来进行蓝牙配网,同时开启蓝牙和wifi时候就会出现wifi task看门狗复位,具体的信息如下
    发表于 06-21 06:21

    兼容TPS54628DDAR 18V 6A COT同步降压转换器

    兼容TPS54628DDAR 18V 6A COT同步降压转换器,DTS54628DDAR是一款采用固定导通时间控制技术(COT)的同步降压转换器。DTS54628DDAR的主控制环路采用COT模式
    的头像 发表于 06-13 10:59 520次阅读
    兼容TPS54628DDAR 18V 6A <b class='flag-5'>COT</b>同步降压转换器

    请问STM32F030K6T6使用DMA的one shot模式采样AD如何再次启动?

    我想通过DMA采集ADC数据,使用的芯片具体型号是STM32F030K6T6,发现DMA有one shot mode和circular mode。若使用one shot mode则只能触发一次
    发表于 04-10 06:54

    600kHz,18V,6A同步COT降压转换器PC8260英文资料

    电子发烧友网站提供《600kHz,18V,6A同步COT降压转换器PC8260英文资料.pdf》资料免费下载
    发表于 02-23 09:15 0次下载

    verilog task和function区别

    verilog中的task和function都是用于实现模块中的可重复的功能,并且可以接收参数和返回结果。但是它们在编写和使用上有一些区别。下面将详细介绍task和function的区别。 语法结构
    的头像 发表于 02-22 15:53 1073次阅读

    verilog中function和task的区别

    在Verilog中,Function和Task是用于模块化设计和重用代码的两种重要元素。它们允许开发人员将复杂的操作分解为更小的功能单元,并在需要时调用它们。虽然Function和Task在某些方面
    的头像 发表于 02-22 15:40 1893次阅读

    Multi-Channel PCIe QDMA&RDMA IP应用介绍

    基于PCI Express Integrated Block,Multi-Channel PCIe QDMA Subsystem实现了使用DMA地址队列的独立多通道、高性能Continous或
    发表于 02-22 14:34 1次下载