作者:TIMOTHY B LEE(记者,计算机硕士学位,曾为《华盛顿邮报》、Ars Technica 和其他出版物撰稿)
时间:2023年12月8日
11月22日,紧接着 OpenAI 解雇(随后又重新聘用)首席执行官 Sam Altman 之后几天,《The Information》报道,OpenAI 实现了技术上的重大突破,有望“打造更加强大的人工智能模型”。这一新模型被命名为 Q*(“Q Star”),据称能够解决它之前未曾遇到的数学问题。
路透社也发布了相似的报道,但具体细节不太明确。
这两家媒体都把这个所谓的突破与董事会决定解雇 Altman 的决定联系起来。路透社报道,有几位 OpenAI 的员工向董事会递交了一封信,警告他们发现了一种可能对人类构成威胁的强大人工智能。但是,“路透社并未能看到这封信的副本”,后续的报道也没有将 Altman 被解雇与对 Q* 的担忧直接联系起来。
《The Information》报道称,今年早些时候 OpenAI 开发了一种“能解决基本数学问题的系统”,这对现有的人工智能模型来说是个巨大挑战。而路透社则描述 Q* 能够“处理小学生级别的数学题目”。
在做详细分析之前,我决定花几天时间来阅读相关资料。尽管 OpenAI 没有公布有关其所谓 Q* 突破的详细信息,但它已经发布了两篇关于解决小学数学问题的研究论文。此外,OpenAI 之外的许多研究者——包括 Google 的 DeepMind——也在这一领域进行了重要的研究。
我对 Q*——无论它是什么——是否真的是通向通用人工智能(AGI)的关键性突破持怀疑态度。我当然也不认为它会对人类构成威胁。但它可能是朝着拥有通用推理能力的人工智能迈出的重要一步。
在这篇文章中,我会带你深入了解这一人工智能研究的重要领域,并解释为什么针对数学问题设计的逐步推理技术可能在更广泛的应用中发挥作用。
逐步推理的威力
来看一个数学问题:
John 最初给了 Susan 五个苹果,后来又给了她六个。
Susan 吃了三个苹果,又把三个给了 Charlie。
她将剩下的苹果全部给了 Bob,Bob 吃掉了一个。
Bob 又将剩下的一半苹果给了 Charlie。
之后,John 又给了 Charlie 七个苹果,Charlie 又将他的苹果的三分之二给了 Susan。
然后,Susan 又把四个苹果给了 Charlie。
现在 Charlie 有多少个苹果?
在继续阅读之前,试试看你能否自己解出这个问题。
我们大部分人在小学就记住了基本的数学加法,如 5 加 6 等于 11。所以,如果问题只说“John 给了 Susan 五个苹果,然后又给了她六个”,我们几乎能立刻知道 Susan 有 11 个苹果。
但对于更加复杂的问题,我们大多数人需要逐步记录下来——无论是在纸上还是在脑中——当我们处理问题时。首先我们计算 5 加 6 等于 11。然后计算 11 减 3 等于 8。接着是 8 减 3 等于 5,依此类推。通过逐步思考,我们最终能得到正确的答案:8。
对于大型语言模型(LLM)来说,这个技巧同样适用。在 2022 年 1 月的一篇有名的论文中,谷歌的研究人员指出,如果大语言模型一步一步地推理,它们会得出更优的结果。以下是他们论文中的一个关键图表:
这篇论文是在 “Zero Shot” 提示成为常见做法之前发表的,因此研究人员通过提供一个示例解决方案来引导模型。在左侧列中,模型被引导直接给出最终答案——结果却是错误的。而在右侧,模型被引导逐步推理,最终得到了正确答案。谷歌的研究人员将这种技术称作“chain-of-thought prompting(思维链引导)”,至今仍被广泛使用。
在大型语言模型中,像“五”和“六”这样的数字只是词元(Token),它们并不比 “the” 或 “cat” 更特殊。大型语言模型之所以能学会 5 加 6 等于 11,是因为这一系列词元(包括“五和六等于十一”这样的变体)在其训练数据中出现了数以千计的次数。但是大型语言模型的训练数据可能不包含像 ((5+6-3-3-1)/2+7)/3+4=8 这样的长计算例子。因此,如果要求模型一步解决这类计算,它更可能会混淆并给出错误答案。
另一个思考方式是,大型语言模型没有外部的“草稿空间”来存储像 5 加 6 等于 11 这样的中间计算结果。思维链推理使大型语言模型能够有效地利用自身输出作为草稿空间。这使得模型能够将复杂的问题分解成一系列小步骤——每一步都有可能与模型训练数据中的某个例子相匹配。
应对更复杂的数学难题
就在谷歌发布其“chain-of-thought prompting”的论文数月前,OpenAI 发布了一个含有 8500 道小学数学应用题的数据集(名为 GSM8K)以及一篇论述解题技术的论文。OpenAI 的方法不是直接生成一个答案,而是让一个大型语言模型生成 100 个思维链式的答案,并利用一个叫作验证器的第二模型来对每个答案进行评分。在这 100 个答案中,系统将返回评分最高的那个。
你可能会以为训练一个验证模型和训练一个大型语言模型来初次生成正确答案一样复杂,但 OpenAI 的测试结果表明实际情况并非如此。OpenAI 发现,即使是一个小型的生成器配合一个小型的验证器,其产生的结果也可以和一个更大的生成器(参数是小型生成器的 30 倍)单独工作时相媲美。
到了 2023 年 5 月,一篇论文更新了 OpenAI 在这一领域的最新研究成果。OpenAI 已经不仅限于解决小学数学问题,还开始研究一个包含更有挑战性问题的数据集(名为 MATH)。OpenAI 现在不是训练一个验证器来评估整个答案,而是训练它来评估每一步的正确性,正如论文中所示的这张图表:
直至最后一步,每一步的操作都被一个绿色的笑脸标记着,标记解题步骤是正确的,直到模型在最后得出“所以 x=7”的结论时出现了一个红色的不高兴的表情。
这篇论文的结论是,在解题过程的每一步中使用验证器比在最后验证整个解答效果更好。
这种逐步验证的技术最大的缺点是它比较难以自动化。MATH 训练数据包含了每个问题的正确答案,所以自动检查模型是否得出正确的结论相对容易。但是 OpenAI 并没有一个好的方法来自动验证中间步骤。公司最终雇用了人工评审员,他们对 75,000 个解答中的 800,000 个步骤提供了反馈。
寻求解决方案
GSM8K 和 MATH 数据集里的问题可以通过直接的逐步方法来解决。然而,并不是所有数学问题都能这么简单处理,以这个问题为例:
你正在筹划一个婚宴,需要安排五桌,每桌安排三位宾客
Alice 不愿意和 Bethany、Ellen 或 Kimmie 同桌
Bethany 不愿意和 Margaret 同桌
Chuck 不愿意和 Nancy 同桌
Fiona 不愿意和 Henry 或 Chuck 同桌
Jason 不愿意和 Bethany 或 Donald 同桌
Grant 不愿意和 Ingrid、Nancy 或 Olivia 同桌
Henry 不愿意和 Olivia、Louise 或 Margaret 同桌
Louise 不愿意和 Margaret 或 Olivia 同桌
你该如何安排这些宾客的座位,以确保他们的所有偏好都得到满足?
当我将这个问题提交给 GPT-4 时,它开始逐步推理解决问题:
第一桌:Alice、Chuck 和 Donald
第二桌:Bethany、Fiona、Ellen
第三桌:Jason、Grant、Ingrid
但当它到了第四桌时,它卡住了。它还没有安排 Henry、Margaret 或 Louise。他们谁都不想坐在一起,但只剩下两桌了。
在这种情况下,我们不能指出 GPT-4 在哪一步出了错误。它为前三桌做出了合理的选择。只是这些早期的选择最终无法为剩余的宾客安排座位。
这就是计算机科学家所说的 NP-难题。没有通用算法可以线性地解决它。你只能尝试一种可能的安排,看看是否可行,如果不行就回溯。
GPT-4 可以通过增加其上下文窗口中的文本来进行这种回溯,但这种方法不会很好地扩展。更好的方法可能是给 GPT-4 一个“退格键”,以便它可以删除最后的推理步骤——或者可能是最后几步——然后再尝试。为了使这个方式有效,系统还需要一种方式来跟踪它已经尝试过哪些组合,以避免重复努力。这可以使大型语言模型能够探索一个可能的树,看起来像这样:
在五月份,普林斯顿大学和谷歌 DeepMind 的研究者发表了一篇论文,提出了一种称为“思维树”(Tree of Thoughts)的新方法。这个方法不是试图用一个单一的推理链来解决问题,而是允许大型语言模型系统地探索一系列在不同方向上“分叉”的推理链。
研究人员发现,这种算法在某些传统大型语言模型难以解决的问题上表现出色——它不仅适用于一个名为“24点游戏”(Game of 24)的数学难题,还适用于创意写作任务。
AlphaGo 模型
目前,我已经介绍了 OpenAI 和 DeepMind 发表的关于提升大型语言模型解决数学应用题能力的研究。现在,让我们一起推测一下这些研究可能会如何进一步发展。虽然我没有任何内部消息来源,但如果你知道在哪里寻找,研读这些迹象其实并不难。
在去年十月,播客 Dwarkesh Patel 采访了 DeepMind 的联合创始人兼首席科学家 Shane Legg,讨论了该公司实现通用人工智能的计划。Legg 认为,向 AGI(通用人工智能)迈进的关键一步将是将大型语言模型与搜索可能响应的树结合起来:
这些基础模型在某种意义上是世界模型,要解决有创意的复杂问题,需要检索过程。举个例子,如果考虑 AlphaGo 和它在著名的围棋比赛中匪夷所思的第37步,这一步棋是从哪里来的?是来自它看过的所有人类棋局数据吗?并不是。它识别出一个看似不太可能又合理的有创意的一步,然后通过搜索的过程发现实际上是一个极佳的一步棋。所以,要具备真正的创造力,需要在可能性的空间中搜索,找到这些隐藏的宝藏。
Legg 提到的“著名的第37步”,指的是 2016 年 DeepMind 的 AlphaGo 软件与顶尖围棋选手李世石之间的第二局比赛。大多数人类专家最初认为 AlphaGo 的第37步是错误的。但 AlphaGo 赢得了比赛,后续分析揭示这实际上是一个强棋。AlphaGo 获得了人类棋手未发现的围棋洞见。
AlphaGo 之所以能获得这样的洞见,是通过模拟从当前棋盘状态开始的成千上万种可能的棋局。对于计算机来说,可能的走法序列太多,无法全部遍历,因此 AlphaGo 使用神经网络来帮助管理这些可能性。
一个被称为策略网络(Policy Network)的网络预测了哪些走法最有前景——因此值得在模拟棋局中“试玩”。第二个网络,即价值网络(Value Network),估计了由此产生的棋盘状态是更有利于白棋还是黑棋。基于这些估算,AlphaGo 反向决定下哪一步棋。
Legg 的观点是,类似的树形搜索可能会提高大型语言模型的推理能力。这种模型不只是预测单一最可能的词元,而是可能在选择答案之前探索成千上万种不同的回应。事实上,DeepMind 的“Tree of Thoughts 思维树”论文看起来就像是朝这个方向迈出的第一步。
我们之前看到 OpenAI 试图通过配对一个生成器(产生潜在的解决方案)和一个验证器(估计这些解决方案是否正确)来解决数学问题。这里很明显有一个与 AlphaGo 相类似的地方,后者拥有一个策略网络(生成潜在的走法)和一个价值网络(估计这些走法是否会导致一个有利的棋局)。
如果将 OpenAI 的生成器和验证器网络与 DeepMind 的“思维树”概念结合,你可以得到一个与 AlphaGo 工作方式类似的语言模型——并可能具有 AlphaGo 强大的推理能力。
为何被称为 Q*
在 AlphaGo 之前,DeepMind 在 2013 年发表了一篇论文,介绍了如何训练一个神经网络来赢得雅达利视频游戏。DeepMind 没有手动编写每个游戏的规则,而是让神经网络通过实际玩雅达利游戏,通过试错来学习。
DeepMind 将其雅达利游戏解决方案命名为深度 Q 学习(Deep Q-learning),纪念了早先的一种叫做 Q 学习的强化学习技术。DeepMind 的雅达利 AI 包含一个称为 Q 函数的功能,它估算了任何特定动作(比如向左或向右推操纵杆)可能带来的奖励(例如更高的分数)。当系统玩雅达利游戏时,它会优化其 Q 函数,以更好地预测哪些动作会带来最佳结果。
DeepMind 2016 年发表的关于 AlphaGo 模型的论文再次使用了字母 Q 来表示 AlphaGo 的动作价值函数——这个函数估计了任何给定动作导致胜利的可能性。
AlphaGo 和 DeepMind 的雅达利机器人都是强化学习的例子,这是一种涉及从经验中学习的机器学习技术。在大型语言模型成为主流之前,强化学习也是 OpenAI 的主要研究重点。例如,在 2019 年,OpenAI 使用强化学习使一个机器人手学会了解魔方。
有了这些背景,我们可以推测 Q* 是什么:一个试图将大型语言模型与 AlphaGo 风格的搜索结合起来的尝试——并理想地通过强化学习来训练这种混合模型。最理想的目标将是找到一种方式,让语言模型通过在复杂的推理任务中“自我对弈”来实现自我提高。
这里一个重要的线索是 OpenAI 今年早些时候决定雇佣计算机科学家 Noam Brown。Brown 在卡内基梅隆大学获得博士学位,他开发了第一个能够超越人类水平的扑克游戏的 AI。然后 Brown 加入了 Meta,在那里他建立了一个玩外交策略游戏的人工智能。成功的外交策略游戏取决于与其他玩家建立联盟,因此一个强大的外交策略游戏人工智能需要结合战略思考和自然语言能力。
这似乎为试图提升大型语言模型的推理能力的人提供了一个很好的背景。
Brown 在六月份的推文中说:“多年来,我一直在研究 AI 在扑克和外交策略游戏中的自我对弈和推理。” “我现在将研究如何使这些方法真正普遍化。”
AlphaGo 和 Brown 的扑克软件中使用的搜索方法特定于那些游戏。但 Brown 预测,“如果我们能发现一个通用的版本,它的好处可能是巨大的。虽然这样的推理速度可能会慢上千倍,成本也更高,但想象一下,为了开发新的癌症治疗药物或证明黎曼猜想,我们愿意付出多大的努力和代价呢?”
Meta 的首席 AI 科学家 Yann LeCun 也相信 Brown 正在研究一个名为 Q* 的项目,Brown 曾在今年早些时候于 Meta 工作。
LeCun 在 11 月的一条推文中提到:“很有可能,Q* 是 OpenAI 在规划领域的一次尝试。他们实际上是为了这个项目才聘请了 Noam Brown。”
面临的两大挑战
如果你曾经与科学家或工程师打过交道,你可能会注意到他们喜欢使用白板。在我研究计算机科学的研究生期间,我们经常站在白板旁边,画图或写方程式来解决问题。当我在谷歌纽约办公室实习时,四处都是白板。
在这类工作中,白板非常有用,因为人们在开始解决复杂技术问题时往往毫无头绪。他们可能需要花几小时来草拟一个潜在的解决方案,最后却发现无法使其正常工作。接着,他们可能会把所有内容都擦掉,重新尝试另一种方法。或者他们可能认为他们的解决方案的前半部是正确的,但会擦掉后半部分,然后朝着另一个方向前进。
这本质上是一种智力树搜索:迭代众多可能的解决方案,直到找到一个真正能解决问题的方案。
OpenAI 和 DeepMind 这样的组织之所以如此激动地将大型语言模型与 AlphaGo 风格的搜索树相结合,是因为他们希望这能让计算机执行同样的开放式智力探索。你可以启动一个大型语言模型来处理一个复杂的数学问题,然后去睡觉,第二天醒来可能会发现它已经考虑了成千上万个可能的解决方案,筛选出了一些看似有希望的。
这是一个振奋人心的前景,但 OpenAI 必须至少克服两个重大的挑战才能将其变为现实。
首个挑战是找到一种方式让大型语言模型能够进行“自我对弈”。AlphaGo 通过与自己对弈并从中学习胜败来提高。OpenAI 让魔方软件在一个模拟的物理环境中进行练习。它能够基于模拟魔方是否达到了“已解决”的状态来学习哪些动作是有效的。
人们梦想的是,大型语言模型能通过类似的自动化“自我对弈”来提升其推理能力。但这需要一种能够自动检测特定解决方案是否正确的方法。如果系统需要人工来检查每个答案的正确性,那么训练过程就不太可能扩展到与人类竞争的规模。
就在 2023 年 5 月的论文中,OpenAI 仍然需要人工来确认数学解决方案的正确性。所以,如果此处有所突破,那应该是在最近几个月发生的。
学习是一个动态过程
第二个挑战更为基础性:一个通用的推理算法需要具备在探索可能解决方案时即时学习的能力。
当人们在白板上解决问题时,他们不仅仅是在机械地尝试各种可能的解决方案。每一次当一个人尝试了一个无效的方案后,他们就会对问题有更深的了解。他们会改善他们对正在推理系统的心智模型,并更准确地直觉到哪类解决方案可能有效。
换句话说,人类的“策略网络”和“价值网络”并不是静止不变的。我们在问题上投入的时间越多,我们就越能想出有前途的解决方案,并越来越能预测一个提出的解决方案是否有效。如果没有这种实时学习的能力,我们就会在潜在的无限推理步骤的空间中迷失方向。
相比之下,大多数神经网络都严格区分了训练和推理两个阶段。一旦 AlphaGo 训练完毕,它的策略和价值网络就固定了——在游戏过程中不再发生变化。对于围棋来说是可以的,因为围棋足够简单,可以在自我对弈中体验到各种可能的游戏情形。
但现实世界远比围棋棋盘要复杂得多。根据定义,从事研究的人正试图解决一个以前未解决过的问题,所以它不太可能遇到训练期间的类似问题。
因此,一个通用推理算法需要一种方法,可以让在推理过程中获得的洞见,随后指导模型在试图解决同一问题时决策。然而,今天的大型语言模型完全通过上下文窗口来维持状态,而“思维树”方法基于在模型从一个分支跳转到另一个分支时,移除上下文窗口中的信息。
这里的一个潜在解决方案是使用图搜索而不是树搜索,这是八月份论文中提出的方法。这能让大型语言模型结合多个“分支”中获得的洞见。
但我怀疑,构建一个真正通用的推理引擎将需要更根本的架构性创新。所需要的是一种让语言模型能够学习新的抽象概念,这些抽象概念超越了它们的训练数据,并且让这些不断演化的抽象概念影响模型在探索可能解决方案空间时不断做出选择。
我们知道这是可能的,因为人类大脑就是这样工作的。但是在 OpenAI、DeepMind 或其他任何人弄清楚如何在硅片中实现这一点之前可能还需要一段时间。