LLMs和推理,第三部分:定义编程问题并让GPT 4解决它
LLMs和推理第一部分:蒙提霍尔问题LLMs和推理,第二部分:新颖实用推理问题
在我的前几篇论文中,我讨论了GPT 4在各种推理测试中的表现:蒙提霍尔问题的变异、涂有湿油漆的环境中行进的问题以及跟随网球运动的空间推理问题。在本篇论文中,我转向另一类任务:计算机编程。我相信GPT 4在编程方面的成功也证明了其新兴的推理能力。在我转向反驳之前,我还会对支持LLM能力推理的证据做出一些结论性的评论。
要求 GPT 4 写一个小说的计算机程序
我最近遇到了一个问题,这个问题可以通过计算机程序相对容易地解决。我有一个假设要进行测试——在有升降级的足球联赛中,足球/协会足球队的Elo评分往往会高估高级联赛的球队的Elo评分,低估低级联赛的球队的Elo评分。Elo评分是一个评估和排名竞争者的系统,物理学家和狂热的国际象棋玩家Arpad Elo开发了这个系统来评估国际象棋选手的水平。在Elo评分系统中,每个竞争者都会被评分,相对的评分代表在面对面比赛中获胜的概率。每次评分比赛后,每个竞争者的评分都会更新,根据一个数学公式来增加胜者的评分并降低输家的评分,该公式的调整大小部分取决于比赛结果的可能性——重大的惊险胜利会产生相对较大的变化,而对一个技术远逊于自己的对手的预期击败则会产生较小的调整。这已经被应用到许多其他比赛中,除了国际象棋,我很好奇英国足球协会的晋升和降级是否会导致Elo评分存在系统性的不准确:即实际Elo评分与假设的准确Elo评分之间的差异。这个模拟是相当简单的,但对于一个有生疏编码技能的人来说,它需要一些烦恼。我不是一名专业的程序员,虽然我有时候是一个相当能干的业余爱好者,但我现在不太编程了。
我没有自己去做,而是请GPT 4帮我写程序,提供了一个段落描述我想要的,但除了语言选择之外,没有给它任何如何操作的指示:
提示:我想用Perl创建一个Elo排名系统的模拟,用于管理一组有升降级的足球联赛。每个联赛应该有20支球队。每个球队应该有一个真实的Elo评级(它的实际强度,不会改变),还有一个观察到的Elo评级(基于比赛结果和进入比赛前的观察到的Elo评级使用Elo公式计算的Elo评级)。每个赛季,每个球队都应该与同一联赛中的其他所有球队比赛两次。在赛季结束时,积分排名前两名的球队(胜利3分,平局1分,败北0分)将升级到上一级联赛(除了最高级别联赛),而积分排名最后两名的球队将降级到下一级联赛(除了最低级别联赛)。应该有4个总联赛。每场比赛结束后,球队的观察到的Elo评级应该被重新计算。在模拟开始时,所有顶级联赛中的球队的观察到的Elo评级应为1700。第二级联赛中的所有球队都应该以观察到的Elo评级1600开始,较低的两个联赛的观察到的评级为1500和1400。在每个联赛中,一支球队的实际Elo评级应比其观察到的Elo评级高45分,第二支球队比其观察到的Elo评级高40分,以此类推,直到有一支球队比其观察到的Elo评级低50分。模拟应该持续一个赛季,然后输出所有当前联赛的球队列表,以及每个联赛升降级后的平均观察到的Elo评级,然后依次重复进行2,3,4个赛季,直到第10个赛季。
该过程并不完美:ChatGPT 4最初只给了我一半的程序,但当我要求第二部分时,它填补了那一部分。一旦我有了完整的程序,我注意到它只是给出了它声称是模拟的最终结果,但这当然让我们无法看到它是否实际上在执行正确的中间步骤(除非详细分析底层代码)。我要求它添加一些代码来打印中间步骤。这非常有用,因为我随后发现了一个错误:代码无法正确跟踪胜利和失败。一旦我向GPT 4指出了错误,它提供了修正错误的新代码,这让我们找到了下一个错误,以此类推。由于这个来回的过程非常长,我不会在这篇文章的正文中包括它,但这些都可以在脚注中的链接中找到。1
该过程需要相当长时间,并且需要来回多次迭代。实际上,我不时需要启动新的聊天线程,首先提供初始设计请求和我们在上一个线程结束时的代码,以绕过 Chat GPT 的“上下文窗口”的限制 - 它可以使用的标记总数。但这里的关键是:GPT 4 能够编写一个程序来解决我提供的任务,并做所有修复错误的编码工作,最终解决了问题。我需要检查输出并查看它们是否正确,并在一些情况下查看代码,以确定它是否看起来像应该做的事情。但我解决问题的方法是一致的,“这是它应该做的事情,它没有做到”,然后让 GPT 4 找出如何完成它应该完成的工作,而 GPT 4 已经解决了这个问题。所有的数据结构、算法工作和解决问题的方法都是由 GPT 4 提供的。
如果有人感兴趣,结果表明我的假设是正确的:顶级联赛的球队的Elo评分比实际评分高约100分,而底部联赛的球队的Elo评分比实际评分低约100分,中间联赛的正面和负面效应大致抵消。换句话说:曼城,你并不比雷克瑟姆足球俱乐部强多少,我们会来找你的!加油,红龙队!
回到讨论LLM的话题,这是一个似乎涉及相当数量的推理的任务。虽然肯定有人在某处之前已经做过这个,但几乎没有证据证明GPT 4只是重复之前的工作。相反,它似乎可以将以简单语言表达的请求解码为其语义意义,并构造一个复杂的响应,用正确的令牌顺序来适应该请求。或者,用我们会用于描述做同样任务的人的语言来说,它理解了一个请求,经过推理得出了解决方案,然后编写代码来实现它已经推理出的解决方案。
结论
我用多个不同领域的证据展示出,特别是 GPT 4,语言模型可以进行推理。
GPT 4 和类似的 LLMs 仍然存在许多限制。它们在数学上仍然面临许多挑战,经常表现出严重的无数字能力。虽然我相信它们表现出了明显的推理能力,但它们的推理是非常不完美的。它们会犯错。随着一个项目变得越来越复杂,实施的某些部分的可能性会变得更大,这些部分可能是捷径、近似或者仅仅是错误的。它们尝试写小说时显得平淡而平庸,故事情节有些合理但语言缺乏好的人类作者所带来的闪光点。当然,它们还会定期产生“事实”幻觉,包括喜欢捏造貌似真实但却是虚假的引用和语录。
所有这些限制都不能否定展示推理能力,甚至更广义的智力概念的能力。事实上,这些缺陷都存在于人类中 - 许多人类在年轻时尤其容易犯初级的推理错误。我们理解数字的能力可能会有限制 - 对于某些人来说,任何数字都会产生恐惧和困惑。更大的项目需要谨慎的计划和执行,以避免失去线索或引入错误。虽然写出感觉引人入胜的独特小说是一些人类能够做到的,但这显然不是一种普遍的天赋,许多人的最佳努力仍然乏味而平淡。即使是职业作家也是如此,虽然我不会点名。我们中的谁没有和别人对于一段记忆有分歧,或者试图挖掘一个著名的名言只能得出一句话的概括呢?
虽然我不认为今天的LLMs代表了人工智能的通用智能,在这个概念的全部、广泛和多方面的范围内拥有智能,但我认为它们实际上可以推理,尽管不能完全达到人类的水平。我进一步认为推理能力是智能的关键组成部分。我同意微软AI研究团队的描述,即LLMs展示了智能的“火花”,它们没有完全达到AGI,但它们已经达到了一个我们可以看到智能迹象的点。除推理之外,智能的许多其他组成部分很可能通过其他技术和架构的相对明显的组合来实现。例如,斯坦福的一个AI研究团队通过将GPT 3.5与记录和检索记忆的其他资源连接起来(以克服极其有限的上下文窗口),反思记忆以形成自我形象,并从这些记忆中提取更高层次的概括,以及创建和维护计划,实现了在模拟人类中的显著改善可信度。通过将多个GPT 3.5实例与一些额外的资源相结合,他们可以实现单个实例无法实现的结果。我相信,由GPT 4支持的类似结构将会更具人类特征。我相信,使用这样的技术结合继续改进和优化LLMs很可能在不久的将来创建真正的AGI-并不一定在所有领域达到或超过人类智能水平,但仍然可以认出是智能而不是非智能机器,并在未来十年内具有完全优于人类智能的有意义的机会。
明天,我将转向提出和回应反对论点,即LLMs不是实现真正智能的有意义的步骤。
原始的聊天记录是我与ChatGPT4的对话,要求它编写这个程序,可通过链接https://chat.openai.com/share/a22f755e-3f9f-4e91-8150-6faece91a4f5进行查看(最初生成于2023年4月,链接生成于2023年6月8日)。之后,我又开始了一个新的聊天记录,首先描述任务,然后提供代码的当前状态和当前问题,可通过链接https://chat.openai.com/share/03f3eb4f-6a72-4bc0-b088-a06cef69d8e3进行查看(最初生成于2023年4月,链接生成于2023年6月8日)。当那个聊天记录开始无法成功生成新的回复时,我又开始了第三个聊天记录,再次以代码的当前状态和已知的问题开始,可通过链接https://chat.openai.com/share/6700cef3-f25b-4783-aef8-1c7bdff58c89进行查看(最初生成于2023年4月,链接生成于2023年6月8日)。
2S´ebastien Bubeck、Varun Chandrasekaran、Ronen Eldan、Johannes Gehrke、Eric Horvitz、Ece Kamar、Peter Lee、Yin Tat Lee、Yuanzhi Li、Scott Lundberg、Harsha Nori、Hamid Palangi、Marco Tulio Ribeiro和Yi Zhang, 微软研究院,“人工通用智能火花:GPT-4的早期实验”,https://arxiv.org/pdf/2303.12712.pdf,2023年4月13日。
3朴俊成,约瑟夫C.欧布赖恩,蔡嘉文,梅雷迪斯·林格尔·莫里斯,梁珀西和迈克尔·S.伯恩斯坦,“生成式智能体:交互式人类行为模拟”,https://arxiv.org/pdf/2304.03442.pdf,2023年4月7日。