【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. 怎么在小模型上实现类似的效果?
相关文章
|
4月前
|
存储 算法 计算机视觉
【博士每天一篇文献-模型】Meta-Learning Based Tasks Similarity Representation for Cross Domain Lifelong Learning
本文提出了一种基于元学习的跨域终身学习框架,通过跨域三元组网络(CDTN)学习任务间的相似性表示,并结合自注意模块与软注意网络(SAN)来增强特征提取和任务权重分配,以提高学习效率并减少对先前知识的遗忘。
51 1
【博士每天一篇文献-模型】Meta-Learning Based Tasks Similarity Representation for Cross Domain Lifelong Learning
|
机器学习/深度学习 数据挖掘
【提示学习】HPT: Hierarchy-aware Prompt Tuning for Hierarchical Text Classification
本文是较早把Prompt应用到层级多标签文本分类领域的论文。思路是把层级标签分层编入到Pattern中,然后修改损失函数以适应多标签的分类任务。
246 0
|
1月前
|
机器学习/深度学习 存储 人工智能
【大语言模型】ACL2024论文-01 Quantized Side Tuning: Fast and Memory-Efficient Tuning of Quantized Large Language
本文介绍了Quantized Side Tuning(QST)方法,旨在解决大型语言模型(LLMs)微调过程中的内存效率和速度问题。QST通过将模型权重量化为4位,并引入一个与LLM分离的侧网络,显著减少了内存占用并加快了微调速度,同时保持了与现有技术相当的性能。实验表明,QST可以将总内存占用减少高达2.3倍,并将微调速度提高高达3倍。
50 0
|
7月前
|
机器学习/深度学习 自然语言处理 并行计算
[Bert]论文实现:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
[Bert]论文实现:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
121 1
|
7月前
|
机器学习/深度学习 数据采集 自然语言处理
[GPT-2]论文解读:Language Models are Unsupervised Multitask Learners
[GPT-2]论文解读:Language Models are Unsupervised Multitask Learners
279 1
|
7月前
|
机器学习/深度学习 JSON 自然语言处理
[GPT-1]论文实现:Improving Language Understanding by Generative Pre-Training
[GPT-1]论文实现:Improving Language Understanding by Generative Pre-Training
133 1
|
7月前
|
机器学习/深度学习 并行计算 关系型数据库
【RetNet】论文解读:Retentive Network: A Successor to Transformer for Large Language Models
【RetNet】论文解读:Retentive Network: A Successor to Transformer for Large Language Models
209 1
|
7月前
|
Python
[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........
[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........
46 0
|
自然语言处理 算法
SIFRank New Baseline for Unsupervised Keyphrase Extraction Based on Pre-Trained Language Model
在社交媒体上,面临着大量的知识和信息,一个有效的关键词抽取算法可以广泛地被应用的信息检索和自然语言处理中。传统的关键词抽取算法很难使用外部的知识信息。
165 0
SIFRank New Baseline for Unsupervised Keyphrase Extraction Based on Pre-Trained Language Model