【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. 怎么在小模型上实现类似的效果?
相关文章
|
SQL 安全 网络协议
命令执行/SQL盲注无回显外带方式
命令执行/SQL盲注无回显外带方式
563 0
|
存储 机器学习/深度学习 人工智能
知识图谱入门一:知识图谱介绍,Neo4j下载、安装基本使用
知识图谱入门一:知识图谱介绍,Neo4j下载、安装基本使用
1215 0
知识图谱入门一:知识图谱介绍,Neo4j下载、安装基本使用
|
Android开发 芯片 开发者
adb 查看安卓手机 CPU 类型(armeabi、armeabi-v7a、arm64-v8a ...)
adb 查看安卓手机 CPU 类型(armeabi、armeabi-v7a、arm64-v8a ...)
3517 0
|
5月前
|
人工智能 自然语言处理 JavaScript
【开源项目】MaxKB4J基于java开发的工作流和 RAG智能体的知识库问答系统
MaxKB4J是一款基于Java开发的开源LLM工作流应用与RAG知识库问答系统,结合MaxKB和FastGPT优势,支持智能客服、企业知识库等场景。它开箱即用,可直接上传/爬取文档,支持多种大模型(如Qwen、通义千问等),具备灵活的工作流编排能力,并无缝嵌入第三方系统。技术栈包括Vue.js、Springboot3、PostgreSQL等,提供稳定高效的智能问答解决方案。访问地址:`http://localhost:8080/ui/login`,项目详情见[Gitee](https://gitee.com/taisan/MaxKB4j)。
|
11月前
|
Java API 调度
【JavaEE】——多线程(join阻塞,计算,引用,状态)
【JavaEE】——多线程,join,sleep引起的线程阻塞,多线程提升计算效率,如何获取线程的引用和状态
|
12月前
|
人工智能 自然语言处理 Swift
探索面向开放型问题的推理模型Marco-o1,阿里国际AI团队最新开源!
阿里国际AI团队发布的新模型Marco-o1,不仅擅长解决具有标准答案的学科问题(如代码、数学等),更强调开放式问题的解决方案。该模型采用超长CoT数据微调、MCTS扩展解空间等技术,提升了模型在翻译任务及复杂问题解决上的表现。研究团队还开源了部分数据和模型,供社区使用和进一步研究。
探索面向开放型问题的推理模型Marco-o1,阿里国际AI团队最新开源!
|
机器学习/深度学习 安全
Prompt攻击
【8月更文挑战第5】
906 3
|
机器学习/深度学习 监控 自动驾驶
【传知代码】从零开始搭建图像去雾神经网络-论文复现
本文介绍了基于集成学习的双分支非均匀去雾神经网络的复现,该网络由迁移学习子网和数据拟合子网组成,分别处理全局表示和数据拟合。网络使用Res2Net作为编码器,并结合通道和像素注意力模块。代码可在提供的链接下载。网络在交通监控、自动驾驶、航海和目标跟踪等领域有广泛应用,通过提升图像质量来提高系统性能。实验在O-Haze、I-Haze和NH-Haze数据集上进行,展示了网络在去除雾霾方面的效果,尽管存在细节模糊和色彩饱和度低的问题。
578 1
|
存储 自然语言处理 搜索推荐
大模型 Agent 概述
大模型Agent是基于大型预训练模型构建的智能体,具有强大的语言理解和生成能力,能完成多任务处理。其记忆功能包括短期记忆和长期记忆,支持上下文保持、知识积累、计划决策及内容创作,广泛应用于自然语言处理、问答系统、信息检索、辅助决策、教育、创意应用和客服等领域。
1634 0
|
存储 开发工具 对象存储
开发者如何使用对象存储OSS
【10月更文挑战第6天】开发者如何使用对象存储OSS
2274 7
下一篇
oss云网关配置