ChatGPT 和 Wolfram|Alpha
当事情突然“正常工作”时,总是令人惊奇。早在 2009 年, Wolfram|Alpha就发生了这种情况。2020 年,我们的物理项目发生了这种情况。现在, OpenAI的ChatGPT也发生了这种情况。
我跟踪神经网络技术已有很长时间(实际上大约 43 年) 。即使观察了过去几年的发展,我也发现 ChatGPT 的性能非常出色。终于,突然间,这里出现了一个系统,它可以成功地生成几乎所有内容的文本——这与人类可能写的内容非常相似。它令人印象深刻,也很有用。而且,正如我将在别处讨论的那样,我认为它的成功可能告诉我们一些关于人类思维本质的非常基本的事情。
但是,虽然 ChatGPT 在自动执行主要类似人类的事情方面取得了非凡的成就,但并非所有有用的事情都如此“像人类”。其中一些更加正式和结构化。事实上,在过去的几个世纪里,我们文明的伟大成就之一就是建立了数学、精确科学——最重要的是现在的计算——的范式,并创造了一座与纯人类完全不同的能力塔。 -样的思维可以实现。
几十年来,我本人一直深入研究计算范式,致力于构建一种计算语言,以形式化的符号方式尽可能多地表示世界上的事物。在这样做的过程中,我的目标是构建一个可以“计算辅助”并增强我和其他人想做的事情的系统。我把事情当作人来思考。但我也可以立即调用Wolfram 语言和 Wolfram|Alpha 来利用一种独特的“计算超能力”,让我可以做各种超越人类的事情。
这是一种非常强大的工作方式。关键是它不仅对我们人类很重要。它同样重要,如果不是更重要的话,对于类似人类的 AI 来说也是如此——立即赋予他们我们可以认为是计算知识的超能力,利用结构化计算和结构化知识的非人类能力。
我们刚刚开始探索这对 ChatGPT 意味着什么。但很明显,美好的事情是可能的。 Wolfram|Alpha 以非常不同的方式做一些与 ChatGPT 非常不同的事情。但它们有一个共同的界面:自然语言。这意味着 ChatGPT 可以像人类一样与 Wolfram|Alpha“交谈”——Wolfram|Alpha 将从 ChatGPT 获得的自然语言转化为精确的符号计算语言,它可以在其上应用其计算知识能力。
几十年来,在思考 AI 时,ChatGPT 使用的那种“统计方法”与实际上是 Wolfram|Alpha 起点的“符号方法”之间存在二分法。但是现在——由于 ChatGPT 的成功——以及我们在让 Wolfram|Alpha 理解自然语言方面所做的所有工作——终于有机会将这些结合起来,做出比任何一个都无法单独实现的东西更强大的东西。
一个基本的例子
ChatGPT 的核心是一个生成语言输出的系统,该系统“遵循网络上、书籍和培训中使用的其他材料中的内容的模式”。值得注意的是输出是多么像人类,不仅仅是在小范围内,而是在整篇论文中。它有连贯的东西要说,通常以有趣和意想不到的方式引入它学到的概念。它产生的结果总是“在统计上似是而非”,至少在语言层面是这样。但是——尽管最终令人印象深刻——这当然并不意味着它自信地提出的所有事实和计算都一定是正确的。
这是我刚刚注意到的一个示例(是的,ChatGPT 具有内在的内置随机性,因此如果您尝试这样做,您可能不会得到相同的结果):
听起来很有说服力。但事实证明这是错误的,因为 Wolfram|Alpha 可以告诉我们:
当然,公平地说,这正是 Wolfram|Alpha 擅长的事情:可以根据其结构化、精选的知识将其转化为精确计算的东西。
但巧妙的是,人们可以考虑 Wolfram|Alpha 在这方面自动帮助 ChatGPT。可以通过编程方式向 Wolfram|Alpha 提问(您也可以使用网络 API等):
✕
|
现在再次向 ChatGPT 提问,附上这个结果:
ChatGPT 非常有礼貌地接受更正,如果您再次提出问题,它就会给出正确答案。显然,可以有一种更简化的方式来处理 Wolfram|Alpha 的来回处理,但很高兴看到即使是这种非常简单的纯自然语言方法基本上也已经奏效了。
但是,为什么 ChatGPT 一开始就把这件事弄错了呢?如果它在训练的某个地方(例如从网络上)看到了芝加哥和东京之间的具体距离,它当然可以做对。但在这种情况下,神经网络可以轻松完成的那种泛化——比如从城市之间距离的许多例子中——是不够的;需要一个实际的计算算法。
Wolfram|Alpha 处理事情的方式完全不同。它采用自然语言,然后——假设可能——将其转换为精确的计算语言(即 Wolfram 语言),在这种情况下:
✕
|
城市的坐标和计算它们之间距离的算法是 Wolfram 语言中内置计算知识的一部分。而且,是的,Wolfram 语言具有大量的内置计算知识——这是我们数十年工作的结果,我们仔细整理了现在大量不断更新的数据,实施(并经常发明)方法和模型以及算法——并系统地为所有事物建立一个完整连贯的计算语言。
再举几个例子
ChatGPT 和 Wolfram|Alpha 以截然不同的方式工作,并且具有截然不同的优势。但为了了解 ChatGPT 可以在哪些方面利用 Wolfram|Alpha 的优势,让我们来讨论一下 ChatGPT 本身并不能做正确事情的一些情况。和人类一样,ChatGPT 经常遇到困难的一个领域是数学。
这是一个有趣的、散文式的回应。但实际结果是错误的:
但是,如果 ChatGPT“咨询”Wolfram|Alpha,它当然能够做出正确的选择。
让我们尝试稍微复杂一点的东西:
乍一看,这个结果看起来不错,我倾向于相信它。然而,事实证明这是错误的,因为 Wolfram|Alpha 可以告诉我们:
而且,是的,用 ChatGPT 做数学作业(它不能咨询 Wolfram|Alpha)可能不是一个好主意。它可以给你一个非常合理的答案:
但是如果没有“真正理解数学”,ChatGPT 基本上不可能可靠地得到正确答案。在这种情况下,答案又是错误的:
尽管如此,ChatGPT 甚至可以对“它是如何得到答案的”做出一个看起来非常合理的解释(并不是说它以任何方式真正“做到了”)。而且,相当迷人(也很有趣),它给出的解释与不懂数学的人也可能犯的错误非常相似:
在各种情况下,“没有真正理解事物的含义”会造成麻烦:
这听起来很有说服力。但这是不正确的:
ChatGPT 似乎已经在某个地方正确地学习了这些底层数据——但它“理解它的含义”还不足以正确地对数字进行排名:
而且,是的,可以想象找到一种方法来“修复这个特定的错误”。但关键是,像 ChatGPT 这样基于生成语言的人工智能系统的基本思想并不适合需要进行结构化计算的情况。换句话说,它需要“修复”几乎无限数量的“错误”才能修补 Wolfram|Alpha 以其结构化方式实现的几乎无限小的角落。
“计算链”变得越复杂,您就越有可能必须调用 Wolfram|Alpha 才能正确处理。这里 ChatGPT 产生了一个相当混乱的答案:
而且,正如 Wolfram|Alpha 告诉我们的那样,它的结论是不正确的(因为它在某种意义上已经“知道”):
每当涉及特定(例如定量)数据时——即使是相当原始的形式——事情往往更像是一个“Wolfram|Alpha 故事”。下面是一个示例,其灵感来自长期以来最受欢迎的 Wolfram|Alpha 测试查询“土耳其有多少只火鸡?”:
同样,这似乎(起初)完全有道理,甚至引用了相关来源。但事实证明,这些数据基本上只是“编造的”:
不过,非常棒的是,ChatGPT 可以很容易地“请求事实来核实”:
现在通过 Wolfram|Alpha API 提供这些:
✕
|
现在我们可以要求 ChatGPT 修复其原始响应,注入此数据(甚至以粗体显示它在哪里):
当涉及到实时(或位置等相关)数据或计算时,“注入事实”的能力特别好。 ChatGPT 不会立即回答这个问题:
但这里有一些相关的 Wolfram|Alpha API 输出:
✕
|
如果我们将其提供给 ChatGPT,它会生成一个不错的“论文风格”结果:
有时计算和人类之间存在有趣的相互作用。这是 Wolfram|Alpha 提出的一个相当古怪的问题(它甚至会检查您是否想要“软服务”):
ChatGPT 起初对音量的概念有点困惑:
但随后它似乎“意识到”这么多冰淇淋是相当愚蠢的:
前进的道路
机器学习是一种强大的方法,尤其是在过去十年中,它取得了一些非凡的成功——ChatGPT 是最新的成功案例。图像识别。语音转文字。语言翻译。在每一种情况下,以及更多情况下,都超过了一个门槛——通常是突然之间。有些任务从“基本不可能”变成了“基本可行”。
但结果基本上从来都不是“完美”的。也许某些东西在 95% 的时间里都运作良好。但是尽管尝试,其他 5% 仍然难以捉摸。出于某些目的,人们可能会认为这是一种失败。但关键是,通常有各种重要的用例,95% 是“足够好”。可能是因为输出是某种无论如何都没有真正“正确答案”的东西。可能是因为人们只是试图浮出水面,然后人类或系统算法会从中挑选或改进的可能性。
一次生成一个标记文本的数千亿参数神经网络可以做 ChatGPT 可以做的事情,这真是太了不起了。鉴于这一戏剧性的——出乎意料的——成功,人们可能会认为,如果可以继续并“训练一个足够大的网络”,那么绝对可以用它做任何事情。但它不会那样工作。关于计算的基本事实——尤其是计算不可约性的概念——清楚地表明它最终不能。但更相关的是我们在机器学习的实际历史中所看到的。会有很大的突破(比如 ChatGPT)。改进不会停止。但更重要的是,将会发现一些用例在可以完成的事情上取得成功,并且不会因不能完成的事情而受阻。
是的,在很多情况下,“原始 ChatGPT”可以帮助人们写作、提出建议或生成对各种文档或交互有用的文本。但是,当涉及到设置必须完美的事物时,机器学习并不是做到这一点的方法——就像人类也不是那样。
这正是我们在上面的例子中看到的。 ChatGPT 在“类人部分”方面做得很好,没有精确的“正确答案”。但是,当它为了某些精确的事情而“放在原地”时,它常常会倒下。但这里的重点是,有一个很好的方法可以解决这个问题——通过将 ChatGPT 连接到 Wolfram|Alpha 及其所有计算知识“超级大国”。
在 Wolfram|Alpha 内部,一切都被转化为计算语言,并转化为精确的 Wolfram 语言代码,在某种程度上必须“完美”才能可靠地使用。但关键是 ChatGPT 不必生成它。它可以生成其常用的自然语言,然后 Wolfram|Alpha 可以使用其自然语言理解能力将该自然语言翻译成精确的 Wolfram 语言。
在很多方面,有人可能会说 ChatGPT 从来没有“真正理解”事物;它只是“知道如何生产有用的东西”。但对于 Wolfram|Alpha,情况就不同了。因为一旦 Wolfram|Alpha 将某些东西转换为 Wolfram 语言,它就会得到一个完整、精确、正式的表示,从中可以可靠地计算东西。不用说,有很多我们没有正式计算表示的“人类兴趣”事物——尽管我们仍然可以用自然语言谈论它们,尽管可能不准确。对于这些,ChatGPT 凭借其令人印象深刻的功能独树一帜。
但就像我们人类一样,ChatGPT 有时也需要更正式、更精确的“助力”。但关键是它不必“正式和精确”地表达它想要的内容。因为 Wolfram|Alpha 可以用相当于 ChatGPT 的母语——自然语言来与之交流。当 Wolfram|Alpha 转换为其母语 Wolfram 语言时,它会负责“增加形式和精确性”。这是一个非常好的情况,我认为它具有很大的实际潜力。
而且这种潜力不仅存在于典型的聊天机器人或文本生成应用程序的水平。它扩展到诸如进行数据科学或其他形式的计算工作(或编程)之类的事情。从某种意义上说,这是获得两个世界最好的直接方法:ChatGPT 的类人世界和 Wolfram 语言的计算精确世界。
ChatGPT 直接学习 Wolfram 语言怎么样?嗯,是的,它可以做到这一点,事实上它已经开始了。最后,我完全希望像 ChatGPT 这样的东西能够直接在 Wolfram 语言中运行,并且在这方面非常强大。这是一个有趣而独特的情况, 由于 Wolfram 语言作为一种全面的计算语言的特性而成为可能,它可以用计算术语广泛地谈论世界和其他地方的事物。
Wolfram 语言的整个概念是获取我们人类思考的事物,并能够通过计算来表示和处理它们。普通的编程语言旨在提供告诉计算机具体做什么的方法。 Wolfram 语言——作为一种全面的计算语言——所涉及的东西远不止于此。实际上,它旨在成为一种人类和计算机都可以“计算思考”的语言。
许多世纪以前,当数学符号被发明时,它首次提供了一种流线型的媒介,可以在其中对事物进行“数学思考”。它的发明很快导致了代数和微积分,并最终导致了所有各种数学科学。 Wolfram 语言的目标是为计算思维做类似的事情,尽管现在不仅仅是人类——并启用计算范式可以打开的所有“计算 X”领域。
我自己从 Wolfram 语言作为一种“用来思考的语言”中受益匪浅,并且很高兴看到在过去的几十年里,由于人们通过 Wolfram 的媒介“以计算方式思考”而取得了如此多的进步语言。那么 ChatGPT 呢?好吧,它也可以进入这个。我还不确定这一切将如何运作。但这与 ChatGPT 学习如何进行 Wolfram 语言已经知道的计算无关。它是关于 ChatGPT 学习如何更像人们一样使用 Wolfram 语言。它是关于 ChatGPT 提出“创意论文”的类比,但现在不是用自然语言而是用计算语言编写的。
我一直在讨论人类撰写的计算论文的概念——以自然语言和计算语言的混合形式进行交流。现在的问题是 ChatGPT 能够编写这些内容——并且能够使用 Wolfram 语言作为提供“有意义的交流”的一种方式,不仅对人类,而且对计算机。而且,是的,有一个潜在有趣的反馈循环涉及 Wolfram 语言代码的实际执行。但关键点在于,与普通编程语言不同,Wolfram 语言代码所代表的“思想”的丰富性和流动性更接近于 ChatGPT 在自然语言中“神奇地”处理的那种东西.
或者,换句话说,Wolfram 语言——就像自然语言一样——具有足够的表现力,以至于人们可以想象在其中为 ChatGPT 编写一个有意义的“提示”。是的,Wolfram 语言可以直接在计算机上执行。但作为 ChatGPT 提示,它可以用来“表达一个想法”,其“故事”可以继续。它可能会描述一些计算结构,让 ChatGPT 去“重复”人们可能会在计算上对这种结构说些什么——根据它通过阅读人类编写的这么多东西所学到的东西——“对人类很有趣”。
ChatGPT 的意外成功突然打开了各种令人兴奋的可能性。但就目前而言,有机会通过 Wolfram|Alpha 赋予 ChatGPT 计算知识超能力。因此,它不仅可以产生“似是而非的类人输出”,还可以产生利用封装在 Wolfram|Alpha 和 Wolfram 语言中的整个计算和知识塔的输出。