当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上进行测试与验证,达到理论+实践的效果!

路漫漫其修远兮,吾将上下而求索!

posted @ 2023-02-07 17:30  mengrennwpu  阅读(657)  评论(0编辑  收藏  举报