ChatGPT自从发布以来,一直热度不减,围绕它的话题也是持续不断。
而ChatGPT 之所以引起这么大的社会反响,不仅仅是因为它作为一个对话机器人,效果比之前的对话机器人好了一大截,还因为它从技术的角度来看,出现了一些跳跃式的技术突破,业界称这种现象为“涌现”。
ChatGPT最有代表性的涌现能力是“思维链”。
下面我们详细探讨一下。
思维链(Chain of Thought,CoT)是一种思维工具,通过逐步延伸和拓展一个主要想法,帮助人们进行更深层次的思考,并得出更复杂、更全面的结论。
思维链的核心思想是先将一个主要想法视为一个链条的起点,然后通过逐渐延伸这个链条,使得这个主要想法不断衍生出更多的相关想法。每个衍生出来的想法,都可再作为一个链条的起点,再次拓展延伸,直至得出最终结论。
01
现象展示
先来看一个大模型拥有思维链的例子,如下图所示。
在上面的这个例子中,我们直接问 GPT-3 一个包含数学推理的问题:
一个人有 16 个球,一半是高尔夫球,在高尔夫球中又有一半是蓝色的,问 一共有多少个蓝色的高尔夫球?
面对这个简单的问题,GPT-3 的回答却是错误的。
但是,只要我们在问题中加上一句“让我们一步一步思考”。GPT-3 不仅答对了,还把推理的过程完整描述出来。这种现象非常神奇,以至于有人打趣道:“这是 AI 在向人类求鼓励啊!只要得到鼓励,效果就会大幅提升。”
大模型拥有的这种思维链能力,并不是在模型训练过程中训练出来的,人们也从来没有想到过它会有这种能力,只不过在偶然的情况下,研究人员通过加入“让我们一步一步思考”这句话才发现,就像这种能力是突然“涌现”的一样。
ChatGPT 也有这种能力,不过 ChatGPT 后期经过调教,已经不再需要用其他话语来激发这种能力了,直接跟它对话就可以。
当然,如果它的答案是错误的,或者推理过程不够详细,那么还是可以利用类似于“让我们一步一步思考”的话语来提升 ChatGPT 的答案质量的。
用户:想把 100 根火柴分成 10 堆,每堆火柴的根数都是单数,且相邻的两 堆相差两根火柴,应该怎么分?
ChatGPT:首先,我们需要知道每堆火柴的根数应该是多少。由于每堆火 柴的根数都是单数且相邻的两堆相差两根火柴,因此,我们可以从 1 开始,每 次增加两根,即 1、3、5、7、9、11、13、15、17、19。
接下来,我们从第 10 堆开始,每堆减少两根火柴,即 19、17、15、13、11、9、 7、5、3、1。
按照这个方法,我们可以将 100 根火柴分成 10 堆,每堆火柴的根数都是单数,且相邻的两堆相差两根火柴,具体分配方案如下。
第 1 堆:1 根火柴
第 2 堆:3 根火柴
第 3 堆:5 根火柴
第 4 堆:7 根火柴
第 5 堆:9 根火柴
第 6 堆:11 根火柴
第 7 堆:13 根火柴
第 8 堆:15 根火柴
第 9 堆:17 根火柴
第 10 堆:19 根火柴
这种能力涌现现象引起了研究人员极大的兴趣,使其纷纷对这种现象开展了深入研究。
研究的第一个问题是“这种现象是普遍的还是个例?” 经过研究发现,这种现象不是个例,而且都有一定的规律。如下图所示。
在多种不同的数据集上都有涌现现象,其中的每一个子图都是模型在不同数据 集上的效果图,横坐标都是模型规模,纵坐标都是模型回答这些数据库题目的 准确率。我们在这些图中可以观察到一个普遍的现象 :模型在规模达到一定的 阈值前,回答问题的准确率一直都特别差,但模型在规模达到一定的阈值后, 准确率会快速提升。
02
深度讨论
研究者人员对这种现象感兴趣的原因,还有一部分是想了解这种现象的成因。目前这个领域的研究非常新,还没有形成统一的认知,只是有一些猜测。
如果我们把涌现现象出现的场景研究得更透彻一些,那可能对我们研究其原理有所帮助。
先来讨论一个问题:我们用大模型做的各种各样的任务有哪些出现涌现现象,这些出现涌现现象的任务都有什么特点?这些任务与其他任务有什么区别?
经过研究发现,那些我们不用怎么思考就能得出答案的任务,大模型对这些任务的处理效果随着模型规模的增加是符合标度律的。比如,判断一个餐馆是好吃还是难吃,在这类问题的数据集上的模型效果如下图所示。
而另一类任务,也就是我们在回答时需要仔细思考和多步推理才能回答的任务,是符合涌现现象的,比如数学应用题,在这类问题的数据集上的模型效果如下图所示。
这个研究结果不由得让我们想起了认知学领域里一个有名的理论:System 1 (系统 1)和 System 2(系统 2)理论。
System 1 和 System 2 理论是由诺贝尔经济学奖得主丹尼尔·卡尼曼(Daniel Kahneman)和阿莫斯·特沃斯基(Amos Tversky)共同提出的。
他们在 20 世纪 70 年代提出了“心理学中的双重过程理论”,认为人类的认知过程可以分为两部分:1快速、自动化的 System 1;2缓慢、有意识的 System 2,如下图所示。该理论对心理学、经济学、神经科学等多个学科领域产生了广泛影响,并被广泛应用于各种决策和行为的分析和解释中。
System 1 是一种自动化、快速和无意识的认知系统,像一位能够快速反应的消防员,能够在不经过深思熟虑的情况下快速做出反应。比如,当我们看到一张熟悉的面孔时,我们会立即意识到这是我们的朋友。当我们看到一只猫从街角冲过来时,我们会立即躲开,而不需要花费时间思考怎么做。System 1 基于我们之前的经验和模式进行识别,可以让我们快速做出反应,而不需要深思熟虑。
System 2 是一种有意识、慢速和深思熟虑的认知系统,像一位慢而稳健的科学家,能够通过分析信息、推理和评估信息的可靠性做出决策。比如,在做一道数学题时,我们需要仔细阅读题目,考虑各种可能的解决方案,进行计算并得出答案。这个过程需要我们投入更多的认知资源和注意力,需要经过深 思熟虑来做出决策。System 2 能够帮助我们分析和解决一些复杂的问题,从而得出更加准确的结论。
System 1 和 System 2 经常同时运作。在日常生活中,我们有时需要快速做出决策,同时需要仔细分析和解决一些复杂的问题。例如,在开车时, System 1 会自动帮我们控制方向盘、踩油门和刹车,让我们快速适应不同的 交通状况。但是,当我们进行高速驾驶或者遇到复杂的路况时,System 2 就 需要介入,让我们深思熟虑地决策。
可以发现,出现涌现现象的这些任务,往往是人们的 System 2 处理的任务。 那人们在处理 System 2 类的任务时和在处理 System 1 类的任务时,其过程有什么区别呢?弄清楚其中的区别,我们就可能更容易理解大模型出现涌现现象的原因。
人类在使用 System 2 解决问题时,通常会先有一个大概的整体规划或目标,然后一步一步地推理和分析,以便达到这个目标。
这个过程可以分为下图所示的步骤。
对这些步骤解释如下。
(1)确定目标或问题:在使用 System 2 解决问题时,首先需要明确目标 或问题,以便有针对性地思考和分析。例如,在做一个复杂的决策时,我们需 要先确定考虑的因素和问题,以便有条理地进行分析。
(2)制定计划和假设:针对明确的目标或问题,我们需要制定一个大概的计划或假设,以便有一个整体的思路和方向。这个计划或假设可以帮助我们更好地组织思路,更好地理解问题和制定解决方案。
(3)推理和分析:这个过程通常包括对信息进行分类、比较、评估、整合和归纳等,以便得出结论或做出决策。
(4)验证和调整:验证和调整我们的结论或决策,以便更好地适应实际情况和需求。这个过程通常包括对结论或决策进行测试、评估和反思等,以便进行调整和优化。
仔细想一下,这个过程是不是跟程序员编写程序的过程非常像?
程序员编写程序的过程:首先确定程序要实现的目标和问题,然后制定一个大概的思路和计划,接着按照计划一步一步地写出代码,最后验证代码的正确性并调试。
这时我们不得不做一个关联性非常强的假设:是不是在训练模型的过程中加入的代码数据导致了思维链的出现?
经过研究发现,有很多证据表明,没有加入代码到训练数据中的模型没有出现思维链。而加入了代码到训练数据中的模型出现了思维链。但是为什么加入了代码就会出现思维链呢?
研究人员的初步推测是,因为在代码的训练数据中有很多通过多步推理解决问题的描述和代码,还有很多需要多步数学运算过程的描述性信息。这些代码及信息,和人们利用 System 2 解决问题的思考过程有很多相似的地方。模型在见到大量这样的数据之后,学会了通过一步一步推理来得到最终答案的能 力。
当然,这只是目前研究人员的一些猜测和初步研究。真实的原因到底是什么, 相信在研究人员的不断努力下一定会有结果。
以上内容是节选自《一本书读懂ChatGPT》一书,欢迎阅读本书系统地了解ChatGPT!
京东限时五折,快快扫码抢购吧!
点击阅读原文,查看本书详情!