自 ChatGPT 发布以来,人们每天都在解锁它的新能力。在试用过程中,人们逐渐发现,ChatGPT 也有短板,其中之一便是不会解数学题。比如下面这道「鸡兔同笼」题,虽然乍一看,ChatGPT 的解题步骤似乎没有问题,但计算结果却是错的。

题目来自知乎用户 @李闯

很多网友都表示自己遇到了这种情况,计算机科学家、Wolfram 语言之父 Stephen Wolfram 也是其中之一。不过,和普通人不同的是,Wolfram 为这一问题提出了解决之法。他认为,要从根本上解决 ChatGPT 的这个短板可能要耗费大量精力,不如将其与自己的 Wolfram | Alpha 知识引擎结合起来用,因为后者本就具有强大的结构化计算能力,而且也能理解自然语言。

在 Wolfram 看来,世界是可表示的,世界是可计算的,世界就是我们的知识。因此,他试图做的是:只要你能描述得出来想要什么,计算机就替你做。人来定义目标,然后计算机尽量去理解意思,并尽最大努力去执行。

为了完成这一目标,Stephen Wolfram 创造了以他自己名字命名的 Wolfram 语言和计算知识搜索引擎 Wolfram Alpha。Wolfram Alpha 于 2009 年 5 月 18 日正式发布,其底层运算和数据处理工作是通过在后台运行的 Mathematica 实现的。

因为 Mathematica 支持几何、数值以及符号式计算,并且具有强大的数学以及科技图形图像的可视化功能,所以 Wolfram Alpha 能够回答多种多样的数学问题,并将答案以清晰美观的图形化方式显示给用户。这种计算知识引擎为苹果的数字助理 Siri 奠定了坚实的基础。

Stephen Wolfram 认为,这款工具可以和 ChatGPT 实现完美互补。

在一篇博客中,Stephen Wolfram 完整地阐述了他的观点:

ChatGPT 和 Wolfram|Alpha

事情突然 “成了”,总是很神奇。2009 年的 Wolfram|Alpha、2020 年的 Physics Project 就给人这种感觉。而如今 OpenAI 的 ChatGPT 又以同样的方式惊艳众人。

我关注神经网络技术时间不短(实际上大概有 43 年)。但遍观近年来这一领域的各种成就,我依然觉得 ChatGPT 表现相当出色。它是突然出现的一个系统,可生成几乎媲美人类创作能力的文本。可以说很好很强大。而且我认为其成功将可能揭示一些关于人类思维本质的东西。

不过,尽管 ChatGPT 在自动处理类人范畴事件方面很优秀,但并非一切有用的事情都那么 “像出自人类之手”,而是会有一些更为规范和结构化的东西。事实上,近几个世纪间创立的数学、精确科学以及如今走热的计算等领域的范式,都是我们的伟大文明成就,由此创造了一座有别于纯人类思维所能造就的能力之塔。

几十年来,我一直深入参与计算范式研究,着意于构建一种计算语言,用规范的符号系统表示更多事物。我的目标是通过所建系统 “以计算的方式辅助” 并增强人们想做之事;也可立即调用 Wolfram Language 和 Wolfram|Alpha,利用其特有的 “计算能力”,完成各种非人力所及的事情。

这种工作方式极为强大。但这不仅对人类来说重要,对类人 AI 同样重要。它可以即时赋予 AI 计算知识超能力,使其得以充分利用结构化计算和知识的非类人能力。

我们才刚开始探索这对 ChatGPT 的重要价值,未来想必前景可期。Wolfram|Alpha 与 ChatGPT 风格迥异,所做之事也大不相同。但二者又有连接点:自然语言。ChatGPT 可以像人类使用 Wolfram|Alpha 一样,与 Wolfram|Alpha “对话”,Wolfram|Alpha 会用其计算知识能力将从 ChatGPT 获得的自然语言转变为精确的符号化计算语言。

几十年来,学术界在 ChatGPT 使用的这类 “统计方法” 和 Wolfram|Alpha 的实际出发点 “符号方法” 的见解上一直存在分歧。但如今 ChatGPT 的成功和我们让 Wolfram|Alpha 理解自然语言的一切努力,给了我们将这些成果融合做强的机会。

举个例子:芝加哥到东京有多远?

ChatGPT 本质上是一个语言输出生成系统,它 “遵循” 网络、书籍和其他各种训练材料内容的 “模式”。无论是从某个小点还是整个篇章来看,它的输出都很像人类,这一点难能可贵。它能表达连贯的东西,用上所学概念,说出来往往还挺有意思,让人惊喜。它总能生成 “统计上可信的” 结果,至少在语言层面上是这样。但这并不能说明它信心十足地给出的所有答案和计算就都是正确的。

这是我刚注意到的一个例子(ChatGPT 的输出本质上是随机的,所以如果你也问这个问题,答案可能不尽相同):

这个答案似乎令人信服,但并不对,因为 Wolfram|Alpha 告诉我们:

这其实正是 Wolfram|Alpha 擅长的事情:充分利用其结构化、高精准的知识将某事转化为精确计算。

所以好消息就是,可以考虑让 Wolfram|Alpha 自动帮助 ChatGPT 解决这个问题。我们可以用编程方式向 Wolfram|Alpha 提问(也可使用 web API 等):

再次向 ChatGPT 提问,附上前文结果:

 

ChatGPT 很礼貌地接受更正,如果再次问这个问题,它会给出正确的答案。显然,用 Wolfram|Alpha 很可能有更精简的方式来处理这样的前后转换,但令人欣慰的是,即便是这种非常简单的纯自然语言方法也已经奏效。

但为什么 ChatGPT 一开始会弄错?如果它在训练中就注意到芝加哥和东京之间的明确距离(比如从网上),当然也能答对。但只掌握这种简单的解决方法还不够,它需要一种实际的算法。

Wolfram|Alpha 的处理方式截然不同。它假设能将采集到的自然语言转换为精确的计算语言(即 Wolfram 语言),在这个示例中:

城市坐标和计算城市间距离的算法是 Wolfram Language 中内置计算知识的一部分。而且,Wolfram Language 确实拥有大量内置计算知识,这也是我们几十年努力工作的成果。我们通过精心管理海量持续更新的数据,利用(并且经常发明)各种方法、模型和算法,建立了一个完整连贯的计算语言系统。

在 Wolfram|Alpha 内部,一切都会转化为计算语言,精确的 Wolfram Language 代码。在某种程度上,这些代码必须 “完美” 才能可靠使用。不过 ChatGPT 不必生成这样的代码,只需生成常规自然语言,然后 Wolfram|Alpha 可用其自然语言理解能力翻译成精确的 Wolfram Language。

在许多方面,有人可能会说,ChatGPT 从未 “真正理解” 过事物;它只是 “知道如何产出有用的东西” 罢了。Wolfram|Alpha 的故事就不同了。因为一旦 Wolfram|Alpha 将某些东西转换为 Wolfram Language,就能得到完整、精确、规范的表示,人们以此计算事物就有保证。不用说,很多 “有人情味” 的东西,并没有正式的算法表示,但我们仍然可以用自然语言来谈论,尽管可能不准确。在这方面,ChatGPT 自成一体,功能令人称奇。

就像我们人类一样,ChatGPT 有时需要更规范精准的 “助力”。但它不必 “规范而精准” 地表明所求。因为 Wolfram|Alpha 可与之进行相当于是 ChatGPT 母语的自然语言交流。而 Wolfram|Alpha 将负责在转换为自己母语 Wolfram Language 时 “进行规范和精准处理”。这个情况很好,我认为潜力巨大。

这种潜力不仅体现在典型的聊天机器人或文本生成应用层面。而且可以扩展到数据科学和其他形式的计算工作(或编程)。从某种意义上说,这种方式直接兼顾两个世界:ChatGPT 的类人世界和 Wolfram Language 的精确计算世界。

如果 ChatGPT 直接学习 Wolfram Language 会怎么样?嗯,确实可以,而且其实已经在做了。我特别希望像 ChatGPT 这样的模型最终能直接在 Wolfram Language 中高效运行。这种情形很特别也很有趣,因 Wolfram Language 的全面计算语言的特性而成就,可以用计算术语广泛谈论世界上有的没有的各种事情。

Wolfram Language 的整个概念在于接受人类思考的产物,然后通过计算来表示和处理。普通的编程语言只是提供某些方法告诉计算机具体该做什么。而 Wolfram Language 作为一种全面的计算语言,其作用远大于此。实际上,它意在成为人类和计算机都可用的 “以计算方式思考” 的语言。

几百年前,数学符号的发明,首次提供了一种 “以数学方式思考” 事物的精简媒介。其发明很快催生了代数和微积分,最终形成了各种数学科学。Wolfram Language 旨在为计算思维做些类似的事情,尽管不仅是为人类而做,同时以计算范式打开所有 “计算 X” 领域的大门。

我自己也因 Wolfram Language 作为 “思考语言” 受益匪浅,近几十年中,看到人们通过 Wolfram Language “以计算方式思考” 而取得如此进步,我倍感欣慰。那么 ChatGPT 呢?其实也可以进入这个领域。但具体怎么做,我也说不准。因为这并不是关乎 ChatGPT 要学习如何进行 Wolfram Language 已经实现的计算,而是关于 ChatGPT 学习如何像人类一样使用 Wolfram Language,是关于 ChatGPT 生成近乎 “创造性的文章”,不是用自然语言而是用计算语言。

我很早就讨论过人类用自然语言和计算语言混合交流写就计算论文的概念。现在的问题在于 ChatGPT 能否编写这些内容,能否将 Wolfram Language 用作一种不单向人类,而且向计算机传递 “有意义交流” 的方式。而且涉及 Wolfram Language 代码的实际执行很可能有一个有趣的反馈循环。关键是, Wolfram Language 代码所传达 “思想” 的丰富和动感有别于普通编程语言,更接近于 ChatGPT 在自然语言中 “神奇” 地处理的那类东西。

换言之,Wolfram Language 类似于自然语言 —— 是一种表达力很强的语言,可以想象在其中为 ChatGPT 编写一个有意义 “prompt” 的情形。是的,Wolfram Language 可以直接在计算机上执行;但作为 ChatGPT prompt,它可以用来 “表达一个想法”,其所在 “故事” 能够继续。可能也会描述一些计算结构,让 ChatGPT “即兴” 思考人们在计算上对这种结构的看法,取决于其通过阅读这么多人类所写东西学到的知识,“对人类来说很有趣” 的知识。

ChatGPT 的意外成功突然带来无限可能,令人兴奋。现在就有机会让 Wolfram|Alpha 赋予 ChatGPT 计算知识超能力。所以它不仅能产生高度 “似人输出”,还能利用封装在 Wolfram|Alpha 和 Wolfram Language 中的整个计算知识塔。

https://writings.stephenwolfram.com/2023/01/wolframalpha-as-the-way-to-bring-computational-knowledge-superpowers-to-chatgpt/