【COT】Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

简介: 【COT】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. 怎么在小模型上实现类似的效果?
相关文章
|
5月前
|
机器学习/深度学习 自然语言处理 PyTorch
VLLM (Very Large Language Model)
VLLM (Very Large Language Model) 是一种大型语言模型,通常具有数十亿或数万亿个参数,用于处理自然语言文本。VLLM 可以通过预训练和微调来执行各种任务,如文本分类、机器翻译、情感分析、问答等。
334 1
|
1天前
|
机器学习/深度学习 并行计算 关系型数据库
【RetNet】论文解读:Retentive Network: A Successor to Transformer for Large Language Models
【RetNet】论文解读:Retentive Network: A Successor to Transformer for Large Language Models
12 1
|
1天前
|
自然语言处理 算法 Python
[SentencePiece]论文解读:SentencePiece: A simple and language independent subword tokenizer...
[SentencePiece]论文解读:SentencePiece: A simple and language independent subword tokenizer...
6 0
|
1天前
|
Python
[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........
[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........
8 0
|
1天前
|
机器学习/深度学习 自然语言处理 TensorFlow
[Character Embedding]论文实现:Text Understanding from Scratch
[Character Embedding]论文实现:Text Understanding from Scratch
8 2
|
1天前
|
机器学习/深度学习 数据挖掘 Python
[Bart]论文实现:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation...
[Bart]论文实现:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation...
6 0
|
9月前
|
自然语言处理 算法 vr&ar
X-GEAR:Multilingual Generative Language Models for Zero-Shot Cross-Lingual Event Argument Extraction
我们提出了一项利用多语言预训练生成语言模型进行零样本跨语言事件论元抽取(EAE)的研究。通过将EAE定义为语言生成任务,我们的方法有效地编码事件结构并捕获论元之间的依赖关系。
78 0
|
9月前
|
自然语言处理 算法
SIFRank New Baseline for Unsupervised Keyphrase Extraction Based on Pre-Trained Language Model
在社交媒体上,面临着大量的知识和信息,一个有效的关键词抽取算法可以广泛地被应用的信息检索和自然语言处理中。传统的关键词抽取算法很难使用外部的知识信息。
97 0
SIFRank New Baseline for Unsupervised Keyphrase Extraction Based on Pre-Trained Language Model
|
7月前
|
自然语言处理 数据挖掘 数据处理
【提示学习】Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
目前流行的第四大范式Prompt的主流思路是PVP,即Pattern-Verbalizer-Pair,主打的就是Pattern(模板)与Verbalizer(标签映射器)。   本文基于PVP,提出PET与iPET,但是关注点在利用半监督扩充自己的数据集,让最终模型学习很多样本,从而达到好效果。
|
9月前
|
自然语言处理 算法 知识图谱
DEGREE: A Data-Efficient Generation-Based Event Extraction Model论文解读
事件抽取需要专家进行高质量的人工标注,这通常很昂贵。因此,学习一个仅用少数标记示例就能训练的数据高效事件抽取模型已成为一个至关重要的挑战。
75 0