admin管理员组

文章数量:1534191

文章目录

    • 主要解决什么问题
    • 采用什么方法
    • 实验分析与结果
    • 消融实验
      • Commonsense Reasoning
      • Symbolic Reasoning
    • 问题与展望

  • Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

主要解决什么问题

大语言模型越来越大,效果越来越好。但是在一些具有挑战性的任务上面,比如arithmetic, commonsense, 和symbolic reasoning上面依旧不能够很好地去处理。

作者提出了chain of thought的一系列prompt方法来进行改进,在不调整模型参数的情况下,在多个任务中取得了SOTA的成绩。

采用什么方法

如上图所示,作者在给定的QA示例里面,添加了一些中间推倒步骤,导致模型最终的输出能够正确。数学化描述就是将prompt组成<input, chain of thought, output>的方式。chain of though就是中间一系列的推倒过程。

chain of thought的好处如下(拆分复杂任务,可解释性更强,处理任务能力更强):

实验分析与结果

Chain of thought的方法可以超越之前的finetune,和之前最好的效果。chain of thought在小模型上并没有提升,只有当模型大于100B的时候才会有这种效果。侧面反映了他们的instruct fine-tune不够,COT很难激发他的in-context 推理能力。

小模型产生的输出更加流畅,但是产生了不合乎逻辑的思维链,导致比standard prompt的输出结果更低。任务比较简单的话,也体现不出差异,如MAWSP,SVAMP这两个数据集上差异不明显,而GSM8K上任务比较复杂,差距就体现出来了。在100B以上模型效果很好,甚至超过了之前基于监督训练的SOTA模型 (橙色的线)。

是大模型在参数量大了之后拥有了COT的能力,还是通过instruct fine-tune给大模型注入了这个能力?值得考究。

消融实验

除此之外,作者还做了一些消融实验。

  • Equation only

具体prompt如下:

对于一两步能够推倒出来的,这个Equation不Equation最终效果都差不多。

  • Variable compute only

排除输入更长,消耗了更多计算量,模型思考更加仔细的影响。作者往prompt里面补充点号到prompt中,进行对比。发现效果也并不好,因此不是这个原因。

  • chain of thought after answer

<input, chain of thought, output>的顺序是比较重要的,把chain of thought放到后面变成<input, output, chain of thought>的话,效果就会变差。

  • 鲁棒性测试

作者还分析了不同的写作prompt的风格对chain of thought的影响。最终发现都会比standard prompt效果好。

Commonsense Reasoning

作者还在一些常识性问题上做了推理能力对比:

Symbolic Reasoning

作者在符号推理问题上做了分析对比

  • Task 1: Last letter concatenation: 名字拼接,比如“Amy Brown” → “yn”
  • Task 2: 硬币推理 “A coin is heads up. Phoebe flips the coin. Osvaldo does not flip the coin. Is the coin still heads up?”

作者同时做了in-domain test和out-of-domain (OOD) test。

问题与展望

  1. 如果继续扩大模型,效果还会变好吗?
  2. 还有其他更好的prompt方法吗?
  3. 怎么说明模型确实在做推理?
  4. 是否有比手动写prompt更好的方式?
  5. 怎么确保推理path的正确性?
  6. 怎么在小模型上实现类似的效果?

本文标签: ThoughtPromptingCoTchainElicits