当ChatGPT遇上了CoT
最近在看CoT(Chain-of-Thought,思维链)方面的论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》,主要解决大模型(100B+参数)在算术计算、常识推理、以及符号操作等涉及推理的场景。
但鉴于大模型无法获取及部署,因此想到是否有开放的模型可以针对论文中提到的示例及方法进行模拟及验证,随找到了ChatGPT。故这篇内容是针对ChatGPT结合CoT,来试图解决基本的算术问题。
1. ChatGPT简单提问
首先,问一个简单的乘法问题,嗯,答案是正确的。
我总共有5个盒子,每个盒子有10个小球,总共有多少小球

其次,问一个相对复杂的乘法及加法问题。结果,我就不接受了...
我总共有5个盒子,每个盒子有10个小球,弄丢了3个,又买了2袋,每袋有3个小球,现在我总共有多少小球

再问问它,怎么计算出来的?哈哈,睁着眼睛说瞎话!整个推理过程,是正确的,只是临门一脚时,出了岔子。

那如果想要正确的结果,我可以采用什么办法呢?抓着头上的几根毛思考着......试试Few-Shot的CoT吧
2. CoT推理
正如CoT论文所述,我们在解决复杂数学题时,可以通过将复杂题拆解为多个步骤进行求解,这也是解题思路。那么如果给ChatGPT一个简单例句,它会给出什么样的结果呢?
问题: 我总共有5个盒子,每个盒子有10个小球,总共有多少小球。
答案:每个盒子10个球,总共有5个盒子,则球的总数是5乘以10等于50。答案是50.问题: 总共有5个盒子,每个盒子有10个小球,弄丢了3个,又买了2袋,每袋有3个小球,现在我总共有多少小球
答案:
其中,给定示例问题,并在答案中给出了简单的解题思路,然后再提一个新问题,想要模型按照示例的解题思路进行解答,那么ChatGPT会返回什么样的结果呢?

结果和推理过程完全正确!
所以后续与ChatGPT或100B+大模型的交互时,无需finetune,只需要改变问问题的方式,引导模型给出你想要的结果即可。至于为什么会这样,因为NLP的两个字:玄学!!
3. 示例的局限性
一个例子是说明不了问题的,有可能只是巧合,所以需要大量的验证,才能说明方法的有效性,请各位看官可以动动自己的小手,试上一试。
4. 接下来的任务
将CoT方面的论文一个一个的熟读、吃透,并在类似ChatGPT上进行测试与验证,达到理论+实践的效果!
路漫漫其修远兮,吾将上下而求索!
当ChatGPT遇上了CoT的更多相关文章
- MVC遇上bootstrap后的ajax表单模型验证
MVC遇上bootstrap后的ajax表单验证 使用bootstrap后他由他自带的样式has-error,想要使用它就会比较麻烦,往常使用jqueyr.validate的话只有使用他自己的样式了, ...
- 敏捷遇上UML-需求分析及软件设计最佳实践(郑州站 2014-6-7)
邀请函: 尊敬的阁下:我们将在郑州为您奉献高端知识大餐,当敏捷遇上UML,会发生怎样的化学作用呢?首席专家张老师将会为您分享需求分析及软件设计方面的最佳实践,帮助您掌握敏捷.UML及两者相结合的实 ...
- 敏捷遇上UML—软创基地马年大会(广州站 2014-4-19)
我们将在广州为您奉献高端知识大餐,当敏捷遇上UML,会发生怎样的化学作用呢?首席专家张老师将会为您分享需求分析及软件设计方面的最佳实践,帮助您掌握敏捷.UML及两者相结合的实战技巧. 时间:2 ...
- 敏捷遇上UML——软创基地马年大会(深圳站 2014-3-15)
邀请函: 尊敬的阁下: 我们将在深圳为您奉献高端知识大餐,当敏捷遇上UML,会发生怎样的化学作用呢?首席专家张老师将会为您分享需求分析及软件设计方面的最佳实践,帮助您掌握敏捷.UML及两者相结合的实战 ...
- 初识genymotion安装遇上的VirtualBox问题
想必做过Android开发的都讨厌那慢如蜗牛的 eclipse原生Android模拟器吧! 光是启动这个模拟器都得花上两三分钟,慢慢的用起来手机来调试,但那毕竟不是长久之计,也确实不方便,后来知道了g ...
- SQL SERVER 2008 R2 SP1更新时,遇上共享功能更新失败解决方案
SQL SERVER 2008 R2 SP1更新时,遇上共享功能更新失败的问题,可作如下尝试: 更新失败后,在windows的[事件查看器→应用程序]中找到来源为MsiInstaller,事件ID为1 ...
- 当创业遇上O2O,新一批死亡名单,看完震惊了!
当创业遇上O2O,故事就开始了,总投入1.6亿.半年开7家便利店.会员猛增至10万……2015半年过去后,很多故事在后面变成了一场创业“事故”,是模式错误还是烧钱过度?这些项目的失败能给国内创业者带来 ...
- LoadRunner - 当DiscuzNT遇上了Loadrunner(下) (转发)
当DiscuzNT遇上了Loadrunner(下) 在之前的两篇文章中,基本上介绍了如何录制脚本和生成并发用户,同时还对测试报告中的几个图表做了简单的说明.今天这篇文章做为这个系列的最后一篇,将会介绍 ...
- LoadRunner - 当DiscuzNT遇上了Loadrunner(中) (转发)
当DiscuzNT遇上了Loadrunner(中) 在上文中,介绍了如果录制脚本和设置脚本执行次数.如果经过调试脚本能够正常工作的话,就可以设置并发用户数并进行压力测试了. 首先我们通过脚本编辑界面上 ...
- 当DOCKER遇上ESXI
特别是你要为DOCKER窗口设置静态IP,且和公司局域网打成一片的时候, 苦逼的测试就会开始,我差不多前前后后测试了四五天,一百多个容器报废. NETNS,NSENTER,PIPWORK,各种镜像合下 ...
随机推荐
- DFS遍历图(链式邻接表实现)
1 #include<iostream> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<stdio ...
- Tarjan 学习笔记
萌新刚学Tarjan,啥也不会,肯定一堆错,请大佬指正谢谢 前置 强连通 强连通: 在不是强连通图的有向图\(G\)内,其顶点\(u\),\(v\)两个方向上都存在有向路径,则\(u\)和\(v\)强 ...
- MySQL InnoDB加锁规则分析
1. 基础知识回顾 1.索引的有序性,索引本身就是有序的 2.InnoDB中间隙锁的唯一目的是防止其他事务插入间隙.间隙锁可以共存.一个事务取得的间隙锁并不会阻止另一个事务取得同一间隙上的间隙锁.共 ...
- flask统一异常捕获(作用:统一捕获指定的异常并返回)
flask中可以使用装饰器errorhandler来对指定的异常.状态码等统一捕获并处理. 对指定的状态码进行统一捕获 @app.errorhandler(404) # 参数e是异常的详细信息的对象, ...
- 使用 PostgreSQL 16.1 + Citus 12.1 作为多个微服务的分布式 Sharding 存储后端
在本教程中,我们将使用 PostgreSQL 16.1 + Citus 12.1 作为多个微服务的存储后端,演示此类集群的样例设置和基本操作. Citus 12.1 实验环境设置 Docker 快速启 ...
- 若依集成mybatisplus实现mybatis增强
- python自动化测试相关资料
java神功: https://yuedu.baidu.com/ebook/10f4bf7530126edb6f1aff00bed5b9f3f80f7212 selenium书:https:// ...
- 开源易课堂操作手册-yiketang
title: 开源易课堂操作手册 date: 2022-01-05 15:10:43.915 updated: 2023-04-24 10:21:28.476 url: https://www.yby ...
- Redis 打怪升级进阶成神之路(2023 最新版)!
前面我们学习:MySQL 打怪升级进阶成神之路(2023 最新版)!,然后我们就开始了 NoSQL 卷王之路.从第一篇文章开始,我们逐步详细介绍了 Redis 基础理论与安装配置.9 种数据类型和应用 ...
- k8s卷管理-1
目录 卷管理-1 1. 本地存储 1.1 emptyDir 1.2 hostPath 网络存储 搭建NFS服务器 使用NFS网络存储 搭建iSCSI服务器 使用iSCSI网络存储 卷管理-1 我们之前 ...