GOOGLE | COT(chain of thought)开山之作,利用思维链提升复杂问题推理能力

news2024/10/5 21:14:58

一、概述

title:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

论文地址:https://arxiv.org/abs/2201.11903

auto COT代码【COT升级版本】:GitHub - amazon-science/auto-cot: Official implementation for "Automatic Chain of Thought Prompting in Large Language Models" (stay tuned & more will be updated)

auto COT说明:人工去编写COT耗时耗力,auto COT使用机器生成推理过程,然后拼接成COT样例组装成context送入llm,效果居然超过了manual-COT(人工设置的COT)

1.1 Motivation

  1. 探究COT(chain of thought)【一系列中间的推理步骤】如何能极大的提升大模型对复杂问题的推理能力。
  2. type1 task:随着模型scale变大,效果也逐渐提升,像文本分类,情感分类就是这样。
  3. type2 task:随着模型scale变大,效果变平flat,即效果随着增大模型没什么提升,像复杂数学问题的推理就是这种情况。
  • 左边:简单问题的推理效果随着模型增大而提高,这个时候COT比没有用COT好一丢丢
  • 右边:复杂问题推理能力效果不随着模型增大而提高,这个时候用了COT,可以带来显著的提升

1.2 Methods

  1. 通过chain-of-thought prompting【一步一步思考】来验证足够大的模型存在的推理能力涌现的情况。

COT是什么:在给出的样例中,写出更详细的推理过程

各种场景COT例子

1.3 Conclusion

  1. 在三种大型语言模型上进行的实验表明,思维链提示可以提高其在一系列算术、常识和符号推理任务上的性能。
  • 没用COT:18%解决率,用了COT:57%解决率,这提升量也太大了
  1. 收益可能是惊人的。例如一个只有8个思维链范例COT的PaLM 540B在数学单词问题的GSM8K基准测试上达到了最先进的准确性,甚至超过了finetuned后的GPT-3。
  2. 思维链推理是模型尺度的一个涌现属性【emergent property】,它允许足够大的语言模型来执行推理任务,否则就会有平坦的尺度曲线【小模型不太行】。
  3. COT(chain of thought)总结:
    1. COT原则上可以让模型执行多个中间步骤推理,可能可以给需要多个推理step的问题分配更多计算资源来解决。
    2. COT提供了可解释性
    3. COT可以解决一些常识性的问题
    4. 可以像few-shot一样,提供一些中间结果作为参考样例。

二、详细内容

1 COT是随着模型大小增加而涌现的一种能力

(1)只在100B左右的大模型上才有效果

(2):任务越难,效果越好,例如GSM8K上,GPT和PaLM用了COT比没有COT高差不多2倍。

(3):利用PaLM540B在GSM8K数据集上达到了SOTA。

2 消融实验:是哪些原因使COT效果表现不错

  • Equation only:只在给出答案前,加入了数学equation【只给数学表达式,不给自然语言描述】,验证COT是否为Equation带来的提升,图5显示不是【说明自然语言在推理过程中起到了非常重要的作用】。
  • Variable compute only:在给出答案前,加入和COT等长度的...,验证是否为COT增加token从而增加计算量带来的提升,发现和baseline也没啥变化,说明不是这个原因。
  • Chain of thought after answer:验证COT是否因为新增的prompts让LLM更能够接入相关知识而带来效果的提升,这里让COT放在答案后,发现和baseline也没啥区别,说明COT并不是因为能够接入额外知识而带来的提升,是确实因为模型学到推理带来的提升。。
  • 结论:COT确实在大模型里面能够带来推理能力的提升,而不是增加计算量,引入额外知识带来的提升。

3 鲁棒性

  • 不同人写的COT还是有一定方差,但是都比没用COT要好
  • 从训练集搞出来的examplars【训练集数据已经有step的推理过程】也验证了COT的有效性
  • 结论:用了COT等类似的方法,在复杂推理问题上,就是要比没用好

4 其他场景

  • 通用常识知识推理:CSQA:常识QA,StrategyQA:multi-hop 策略回答,Data:时间推理,Sports:运动,SayCan:指挥机器人
  • 结论:1. 模型增大,效果提升。2. COT在这些通用知识上也有一定的提升,在CSQA上提升不是特别大,其他还可以。
  • 符号推理:(1)拼接尾字母。(2):翻转硬币(推理硬币是正面还是反面)。
  • 实验方法:(1)in domain:该领域的测试数据。(2):OOD,out-of-domain的数据
  • 结论:(1)in domain的COT比没有COT好,但是要模型在62B左右才有一个比较大的效果的提升。(2):对于OOD(out-of-domain)数据,要500B才有一个比较大的提升,同时COT比没有用COT好非常多。

三、其他参考

  1. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models - 知乎
  2. Chain of Thought论文、代码和资源【论文精读·43】_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/633476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode】HOT 100(8)

题单介绍: 精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

字符串--字符串字面量、字符串的存储

一、字符串字面量(string literal) 字符串字面量(string literal ),有时也成为字符串常量,它是由一对双引号括起来的一个字符序列。如“hello”,“123”等都是字符串。无论双引号内是否包含字符…

C++入门:类和对象(上)

目录 前言: 一:初识面向过程和面向对象 二:类的引入 三:封装和类的访问限定符 (1)封装 (2)访问限定符 四:类的作用域和类的定义 (1)作用域 (2)类的定义 五:类的实例化(对象) 六:类对象…

代码随想录第58天

1.每日温度: 1.什么时候用单调栈呢? 通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了。 2.单调栈里元素是递增呢? 还是递减呢? 注意以…

阿里云服务器解析绑定后访问不了的变态策略

阿里云服务器默认把80端口毙掉了,说是为了服务器安全。 客户买个一般服务器不就是弄个网站,80或者443端口默认还需要自己打开。 好比买个车,为了安全,没有轮胎,怕客户跑起来撞人,买完车让客户自己安装轮胎。…

Redis常见问题、各个分布式锁优缺点-05

Redis集群为什么至少需要三个master节点,并且推荐节点数为奇数? 因为新master的选举需要大于半数的集群master节点同意才能选举成功,如果只有两个master节点,当其中一个挂了,是达不到选举新master的条件的。 奇数个ma…

BLIP和BLIP2

文章主要是对BLIP2 (使用冻结图像编码器和大型语言模型的Bootstrapping语言图像预训练)论文的阅读笔记,也对BLIP(用于统一视觉语言理解和生成的Bootstrapping语言图像预训练)算法进行了简单的介绍。 一、BLIP&#xf…

走进人工智能| Computer Vision 数字化时代的视觉启示录

前言: 计算机视觉是通过模仿人类视觉系统的工作原理,使计算机能够感知、理解和解释图像和视频的能力。 文章目录 序言背景适用领域技术支持应用领域程序员如何学总结 序言 计算机视觉是人工智能领域的一个重要分支,它涉及使计算机能够“看”…

nginx的开始(一)---nginx的安装

文章目录 1.nginx是什么?2.nginx安装2.1.安装准备:2.2.进行安装:2.2.1.apt安装(快速)2.2.2.源码安装 2.3.配置文件简解(nginx.conf) 1.nginx是什么? Nginx(发音为"e…

AndroidT(13) init 进程 -- first stage init 的初始化 (二)

1.概览 第一阶段的 init 工作主要用于读取系统启动阶段需要的配置信息(例如 linux的bootconfig,cmdline等配置信息)、挂载文件系统、安装 kernel 中的模块驱动,最后就是启动第二阶段的 init 来进行 Android 系统相关的组件。第一阶段的 init …

《微服务实战》 第三十章 分布式事务框架seata TCC模式

前言 本章节介绍分布式事务框架seata TCC模式,上一章节介绍seata以及集成到Springboot、微服务框架里。 1、TCC模式 一个分布式的全局事务,整体是 两阶段提交 的模型。全局事务是由若干分支事务组成的,分支事务要满足 两阶段提交 的模型要…

如何利用ChatGPT写毕业论文

如何利用ChatGPT写毕业论文 ChatGPT是什么?利用ChatGPT写毕业论文的步骤1.准备数据2.训练模型3.生成论文4.检查论文 总结地址 ChatGPT是什么? ChatGPT是一个基于GPT-2模型的开源聊天机器人,它可以回答用户的问题,进行闲聊和提供各…

或许是一个新的算法方向?

动动发财的小手,点个赞吧! 今日谷歌 DeepMind 使用深度强化学习发现更快的排序算法,相关论文[1]成果已经发表在Nature上。 据报道:该算法可以提速 70%,相比之下,快了3倍之多。 摘要 排序或散列等…

230611-通过Doxygen实现项目代码的文档自动化生成(Mac+Win通用)

背景介绍 目前主流的Python项目的文档管理多通过Sphinx实现;当前Sphinx尚未有针对C#等代码的插件;若想对C#的项目代码进行Sphinx的管理,可通过Doxygen导出为xml文件,进行二次转换;有关Doxygen的介绍及使用&#xff0c…

Java使用Opencv进行大图找小图并使用其找图功能进行bilibili视频下载案例

Java使用Opencv进行大图找小图并使用其找图功能进行bilibili视频下载案例 一、Opencv大图找小图说明二、Opencv的window安装1.下载windows下的安装包2.安装3.Java中Opencv加载测试 三、Java中通过Opencv进行模板匹配大图找小图四、进行多图查找五:案例下载bilibili视…

碳排放预测模型 | Python实现基于机器学习回归分析的碳排放预测模型——随机森林、决策树、KNN 和多层感知器 (MLP) 预测分析

文章目录 效果一览文章概述研究内容环境准备源码设计KNNRandom ForestDecision TreeMLPModel Evaluation学习总结参考资料效果一览

【Android开发基础】随机点名系统(关于读取xml资源文件)

文章目录 一、引言二、设计1、读取xml2、下拉框Spinner3、随机算法 三、实施1、子元素随机(单位:班级)2、父元素随机(单位:专业)3、指定人数随机4、指定人数混合排序 四、附件 一、引言 描述:这…

【手撕MyBatis源码】动态SQL全流程解析

文章目录 动态SQL概述ifchoose(when、otherwise)trim(where、set)foreach OGNL表达式BoundSql动态SQL主流程分析SqlNodeDynamicContext源码解析StaticTextSqlNodeTextSqlNodeIfSqlNodeChooseSqlNodeForEachSqlNode 动态脚本结构动态脚本执行 SqlSourceSt…

Spring Cloud - Eureka原理、注册、搭建、应用(全过程详解)

目录 一、Eureka 注册原理 1.1、为什么要使用 Eureka 1.2、Eureka 的工作流程及原理 1.3、eureka 的作用 二、具体实现 2.1、搭建注册中心 2.2、服务注册和部署 2.2.1、user-service 服务注册 2.2.2、服务部署 2.2.3、order-service 服务注册 2.2.4、验证服务 2.3、…

java SSM 药品集中管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 药品集中管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代 码和数据库,系统主要采…