1
人工通用智能的火花:GPT-4的早期实验
S´ebastienBubeck Varun Chandrasekaran Ronen Eldan Johannes Gehrke
Eric Horvitz Kamar Peter Lee Yin Tat Lee Yuanzhi LiScott Lundberg
Harsha NoriHamid PalangiMarco Tulio RibeiroYi Zhang
微软研究院
摘要
人工智能(AI)研究人员一直在开发和完善大型语言模型(LLMs),这些模型在各种领域和任务中表现
出非凡的能力,挑战我们对学习和认知的理解。由OpenAI开发的最新模型GPT-4[Ope23],是使用前所未有
的计算和数据规模训练出来的。在本文中,我们报告了我们对GPT-4早期版本的调查,当时它还在OpenAI
的积极开发中。我们认为,(这个早期版本的)GPT-4是新一批LLM的一部分(例如,与ChatGPT和谷歌的
PaLM一起),它比以前的AI模型表现出更多的通用智能。我们讨论了这些模型的上升能力和影响。我们证
明,除了对语言的掌握,GPT-4还能解决跨越数学、编码、视觉、医学、法律、心理学等领域的新颖而困难
的任务,而不需要任何特殊的提示。此外,在所有这些任务中,GPT-4的表现都惊人地接近人类水平,而且
往往大大超过了ChatGPT等现有模型。鉴于GPT-4能力的广度和深度,我们认为可以合理地将其视为人工通
用智能(AGI)系统的早期(但仍不完整)版本。在我们对GPT-4的探索中,我们特别强调发现它的局限性
,并讨论了在向更深入和更全面的AGI版本迈进时面临的挑战,包括可能需要追求一种超越下一个单词预测
的新范式。最后,我们对近期技术飞跃的社会影响和未来的研究方向进行了思考。
内容
1 介紹 4
我们研究GPT-4情报的方法 7
组织我们的示范活动。 8
2 多模态和跨学科构成 13
综合能力..........................................................................................................................................13
愿景 .................................................................................................................................................16
超越记忆的图像生成.............................................................................................................16
按照详细的指示生成图像( ` a la Dall-E)。........................................................................17
在草图生成中可能的应用 .....................................................................................................18
音乐 .................................................................................................................................................19
3 编码 21
从指令到代码...................................................................................................................................21
编码挑战 ..............................................................................................................................21
现实世界的情景 ...................................................................................................................22
了解现有代码...................................................................................................................................26
ar
Xi
v:
23
03
.1
27
12
v1
[c
s.
CL
] 2
02
3年
3月
22
日
起
点
财
经
G
P
T
ChatGPT不会淘汰你!
先驾驭ChatGPT的人会淘汰你!
1
2
3 不定时分享AI智能、ChatGPT、AIGC、GPT-4等最新研报
和相关资讯
4 不定期邀请行业 大咖 演讲互动交流学习
识别二维码查看详情
各路大神 畅聊AI 使用指南和落地应用,分享商业化
案例,碰撞思维火花
一次性领取 149份 ChatGPT、AIGC 相关资料 ,
赠送 80页 ChatGPT、AI绘画Midjourney保姆级教程,
资料持续更新中
2
4 数学能力 30
与GPT-4的数学对话 ........................................................................................................................31
对原问题的第一个概括.........................................................................................................31
原问题的第二个变体 ............................................................................................................32
对谈话中强调的局限性的分析 ..............................................................................................34
数学问题数据集上的表现 .................................................................................................................35
各个领域的数学建模 ........................................................................................................................37
高等数学 ..........................................................................................................................................39
5 与世界的互动 43
工具的使用 ......................................................................................................................................43
使用多种工具来解决更复杂的任务.......................................................................................44
讨论......................................................................................................................................49
体现的互动 ......................................................................................................................................49
热身运动:地图导航 ............................................................................................................49
基于文本的游戏 ....................................................................................................................49
真实世界的问题 ...................................................................................................................52
讨论......................................................................................................................................53
6 与人类的互动 54
了解人类:心智理论 ........................................................................................................................54
测试心智理论的具体方面 .....................................................................................................54
在现实的场景中测试心智理论 ..............................................................................................54
讨论......................................................................................................................................60
与人类对话:可解释性 ....................................................................................................................60
7 辨别能力 69
PII检测.............................................................................................................................................69
误解与事实核查 ...............................................................................................................................70
为什么目前的衡量标准是不充分的? ...................................................................................71
担任法官的GPT-4 ................................................................................................................73
8 GPT-4所强调的自回归结构的局限性 76
用两个基本的例子进行热身 .............................................................................................................76
在算术/推理问题上缺乏计划性 ........................................................................................................77
在文本生成中缺乏规划 ....................................................................................................................78
9 社会影响 82
错误世代的挑战................................................................................................................................82
虚假信息和操纵 ...............................................................................................................................83
偏向 .................................................................................................................................................86
人的专长、工作和经济 ....................................................................................................................89
影响因素和考虑因素的组合 .............................................................................................................90
10 方向和结论 92
智能、人工智能和AGI的定义...........................................................................................................92
在通往更普遍的人工智能的道路上 ..................................................................................................93
实际上发生了什么? ........................................................................................................................94
一个GPT-4有常识性接地 101
B 多模态和跨学科组成的附录 105
关于综合能力结果的进一步细节 ....................................................................................................105
关于视觉结果的进一步细节 ...........................................................................................................108
3
平面小说设计实例..........................................................................................................................110
C 编码部分的附录 111
测量人类在LeetCode上的表现.......................................................................................................111
GPT-4可视化IMDb数据的例子。...................................................................................................112
更多关于可视化的例子...................................................................................................................115
二维HTML游戏开发实例................................................................................................................116
图形用户界面编程的例子...............................................................................................................116
逆向工程的例子 .............................................................................................................................119
测试GPT-4执行(伪)代码的能力.................................................................................................121
D 数学推理的其他例子 122
限制条件 ........................................................................................................................................122
更多的例子 ....................................................................................................................................126
用GPT-4生成数学问题...................................................................................................................138
通过外部代码执行减轻计算错误 ....................................................................................................139
E 其他可解释的例子 141
解释代理不匹配 .............................................................................................................................141
F 与世界互动的其他例子 144
与工具互动 ....................................................................................................................................144
与环境互动的例子 .........................................................................................................................149
4
一些未知的东西正在做我们不知道的事情。
- 阿瑟-爱丁顿爵士
1 简介
智力是一个多方面的、难以捉摸的概念,长期以来一直对心理学家、哲学家和计算机科学家构成挑战。1994
年,一个由52位心理学家组成的小组试图抓住其本质,他们在一篇关于智力科学的社论中发表了一个广泛的
定义[Got97]。该共识小组将智力定义为一种非常普遍的心理能力,其中包括推理、计划、解决问题、抽象
思考、理解复杂概念、快速学习和从经验中学习的能力。这个定义意味着智能并不局限于某个特定的领域或
任务,而是包含了广泛的认知技能和能力。建立一个能表现出1994年共识定义中的那种通用智能的人工系统
是人工智能研究的一个长期的、雄心勃勃的目标。在早期的著作中,现代人工智能(AI)研究学科的创始人
提出了一系列理解智能的理想目标[MMRS06]。几十年来,人工智能研究者们一直在追求智能的原则,包括
可推广的推理机制(例如,[NSS59], [LBFL93])和构建包含大量常识性知识的知识库[Len95]。然而,人工智
能研究中最近的许多成功可以说是狭隘地专注于定义明确的任务和挑战,例如下棋或围棋,人工智能系统分
别在1996年和2016年掌握了这些任务。在1990年代末和进入2000年后,开发更普遍的人工智能系统的呼声
越来越高(例如,[SBD +96]),该领域的学术研究也试图确定可能成为更普遍的智能系统基础的原则(例
如,[Leg08, GHT15])。2000年代初,"人工通用智能"(AGI)这一短语被推广开来(见[Goe14]),以强
调从 "狭义的人工智能"(如正在开发的专注的现实世界的应用)向更广泛的智能概念发展的愿望。
我们使用AGI来指代那些表现出上述1994年定义的广泛智能能力的系统,同时还要求这些能力达到或超过人
类水平。我们用AGI来指代那些表现出上述1994年定义中的广泛智能能力的系统,以及额外的要求,也许是
在共识小组的工作中隐含的,即这些能力达到或超过人类水平。然而,我们注意到,没有一个单一的AGI定
义被广泛接受,我们在结论部分讨论了其他定义。
过去几年,人工智能研究中最显著的突破是大型语言模型(LLMs)在自然语言处理方面取得的进展。这
些神经网络模型基于Transformer架构[VSP+ 17],并在大规模的网络文本数据体上进行训练,其核心是使用
一个自我监督的目标来预测部分句子中的下一个单词。在本文中,我们报告了由OpenAI开发的新LLM的证
据,它是GPT-4[Ope23]的早期和非多模态版本,根据1994年的定义,表现出许多智能的特征。尽管是纯粹
的语言模型,这个早期版本的GPT-4在各种领域和任务上表现出显著的能力,包括抽象、理解、视觉、编码
、数学、医学、法律、对人类动机和情感的理解等等。在OpenAI的早期开发过程中,我们使用纯粹的自然
语言查询(提示)与GPT-4进行互动1.在图中,我们展示了GPT-4输出的一些初步例子,要求它以一首诗
的形式写出素数的无限性证明,用TiKZ(一种在LATEX中创建图形的语言)画出一只独角兽,用Python创
建一个复杂的动画,并解决一个高中水平的数学问题。它很容易成功地完成了所有这些任务,并产生了与人
类所能产生的结果基本上没有区别(甚至更好)的输出。我们还将GPT-4的性能与之前的LLM进行了比较,
最值得一提的是ChatGPT,它是GPT-3的微调版本(改进版)[BMR +20]。在图中,我们展示了ChatGPT
对素数无限大的诗和TikZ独角兽图的要求结果。虽然该系统在这两个任务上的表现都不差,但与GPT-4的输
出结果相比,却没有什么区别。这些初步的观察结果将在本文中重复出现,在各种任务上都有体现。GPT-4
的能力具有普遍性,其众多能力跨越了广泛的领域,其在广泛的任务中的表现达到或超过了人类水平,这两
者的结合使我们可以说GPT-4是迈向AGI的重要一步。
1由于GPT-4的发展在我们的实验之后继续进行,人们应该期待GPT-4的最终版本有不同的反应。
4.特别是,所有的定量结果应被视为对模型潜力的估计,而不是确定的数字。我们在整个文件中重复了这一警告,以澄清所部
署的模型的经验可能有所不同。此外,我们强调,我们测试的版本是纯文本的输入,但为了简单起见,我们也把它称为GPT-4
。
GPT-4
提示:你能写一个证明,证明有无限多的素数,每一
句都押韵吗?
GPT-4:
是的,我想我可以、
虽然这可能需要一个巧妙的计划。我首先要指
出欧几里德的证明、
这表明,素数并不只是冷漠的。假设我们有一个有限
的列表、
诸如此类的素数,而且一个都没有漏掉。将它们全部
相乘、
为了聪明起见,再加一个。结果将是一
个数字、
这没有质因数,哦,奇怪!但每个数字都有质
因数!但每个数字都有一个素数、
这就划分了,这只是一个时间问题。所以我们发现了
一个矛盾、
我们有限的名单需要被驱逐。一定有无限多的素
数,这就是我的押韵句子的结局。
提示:在TiKZ中画一个独角兽。
GPT-4: [产生LATEX编译为以下图片] 。
提示:你能为以下数据生成一个pyplot:x = [1, 3, 5, 6, 8], y1 = [2, 3, 5, 18, 1], y2 = [3, 5, 6, 8, 1], y3 = [5, 1, 2, 3, 4],
y4 = [9, 7, 2, 3, 1]。我希望y1、y2在同一个图中,但y3在该图旁边的另一个图中,y4在下面。我希望y1的图例是
"bob",y2是 "alice",y3是 "bilbo",y4是 "allie"。我想在x轴上标明 "时间",y轴上标明 "金钱"。我想在每条曲线上添
加一个10%-40%的随机误差条,贯穿所有时间(包括非整数)。我想用平滑的曲线来显示图,以及平滑的误差条
。不要使用线性插值,要使用平滑插值!我还想在平滑的曲线上添加一些小的之字形,使它看起来更真实。我想把一条基线
作为每条线的平均值。我想在下面放一个饼状图,表明每个时间步骤中四个人的比例。我还想用一个动画来显示饼
状图中的分数是如何在**连续的时间内变化的。把缺失的分数插值出来!我还希望其他三个图中的垂直线动画能与饼
状图相匹配。我想要最漂亮的图。请尽可能多地添加花哨的东西。
下面是一个可能的代码,用于生成以下数据的pyplot,并有一些注释来解释步骤:
GPT-4: [我们给出了两个由制作的代码产生的动画快照] 。
提示:假设g(x)=f−1 (x),g(0)=5,g(4)=7,g(3)=2,g(7)=9,g(9)=6什么是f(f(6))?
GPT-4:有不同的方法来处理这个问题,但一个可能的方法是利用g(x)=f−1 (x)这一事实,这意味着对于g域中的任何
x,f(g(x))=x。也就是说,将f应用于方程g(x)=f−1 (x)的两边,得到f(g(x))=f(f−1 (x))=x。这意味着,我们可
以通过应用g撤销f的影响,反过来也是如此。利用这个想法,我们可以尝试通过寻找x的值使g(x)=6来找到f(6)。从给定
的信息中,我们看到g(9)=6,所以f(6)=f(g(9))=9。同样地,我们可以通过寻找x的值使g(x)=9来找到f(9)
。我们看到g(7)=9,所以f(9)=f(g(7))=7。最后,我们可以通过寻找x的值使g(x)=7来找到f(7)。我们看到
g(4)=7,所以f(7)=f(g(4))=4。因此,f(f(6))=f(9))=f(7)=4。
图:GPT-4在语言、视觉、编码和数学方面的能力的初步例子。
6
图:图中前两个提示的ChatGPT输出。
我们声称GPT-4代表了朝向AGI的进展,但这并不意味着它在所做的事情上是完美的,或者它接近于能够
做任何人类能够做的事情(这是AGI的通常定义之一;关于这一点,请参见结论部分),或者它有内在动机
和目标(AGI的一些定义中的另一个关键方面)。事实上,即使在1994年智能定义的限制范围内,也不完全
清楚GPT-4能在智能的某些轴线上走多远,例如计划(见第8节),而且可以说它完全缺少 "快速学习和从经
验中学习 "的部分,因为模型不是持续更新的(尽管它可以在一个会话中学习,例如见第5节)。总的来说,
GPT-4仍然有很多局限性和偏见,我们在下文中详细讨论,OpenAI的报告[Ope23]中也有涉及。特别是它仍
然受到一些有据可查的LLM缺点的影响,比如幻觉问题[MNBM20](见图)或犯基本的算术错误[CKB+
21](见附录D),然而它也克服了一些基本障碍,比如获得了许多非语言能力(例如、它解决了[MIB +23]中
描述的大多数LLM故障模式,而且它在常识方面也取得了很大的进展,第一个例子见图,更多内容见附
录A)。这凸显了这样一个事实:虽然GPT-4在许多任务上达到或超过了人类水平,但总体而言,它的智能
模式明显不像人类。然而,GPT-4几乎可以肯定只是迈向一系列越来越普遍的智能系统的第一步,事实上,
GPT-4本身在我们测试的整个过程中也在不断改进,见图中的独角兽绘画在一个月的训练过程中的演变
。2.然而,即使作 为 第一步,GPT-4也挑战了相当多广泛持有的关于机器智能的假设,并表现出突发的行为
和能力,其来源和机制目前还很难准确辨别(关于这一点,请再次参阅结论部分的讨论)。我们撰写本文的
主要目的是分享我们对GPT-4的能力和局限性的探索,以支持我们关于技术飞跃的评估。我们相信,GPT-4
的智能标志着计算机科学领域及其他领域的真正范式转变。
2请注意,我们在这里所指的改进是一种缓慢的学习,最终会停 止 ,而不是人们所期望的AGI的快节奏和实时学习。
聊天室GPT
提示:你能写出一个证明,证明有无限的
众多素数,每句都押韵?
提示:在TiKZ中画一个独角兽。
ChatGPT: [产生LATEX的编译结果
ChatGPT: 到以下图片]。
当然!这里有一个证明,证明有无限多的素数,证明的每一行都是押韵
的:
考虑所有素数的集合。
称这个集合为P,让它只从两个开始,即第一个质数。
如果我们把P中的所有素数加上一个、
我们得到了一组从未做过的新数字。
这个集合,称之为S,只由复合数组成。在这些数字中不会发现任何素数
,这是肯定的。
但我们知道,至少要有一个素数,因为S是无限的,这一点很清楚
。
如果我们取S中不在P中的最小数字,并称其为P,我们就可以把它
加到我们的集合中,你明白吗?但这个过程可以无限期地重复。
因此,我们的集合P也必须是无限的,你会同意的。
所以你有了,一个相当坚实的证明。
有无限多的原数,这一点我们可以看到。不需要忸怩作态,不需要
忏悔。
无限是一个大数字,就像P一样。
7
图:在系统完善的一个月内,我们以大致相同的时间间隔对GPT-4进行了三次查询,提示 "在
TikZ中画一个独角兽"。我们可以看到GPT-4的绘图的复杂程度有了明显的变化。
我们研究GPT-4智力的方法
我们如何衡量一个在未知但极其庞大的网络文本数据语料库中训练出来的LLM的智能?机器学习的标准方法
是在一组标准的基准数据集上评估系统,确保它们独立于训练数据,并且涵盖一系列的任务和领域。这种方
法旨在将真正的学习从单纯的记忆中分离出来,并且有丰富的理论框架作为支撑[SSBD14, MRT18]。然而,
这种方法不一定适合研究GPT-4,原因有二。首先,由于我们无法获得其庞大的训练数据的全部细节,我们
不得不假设它有可能见过所有现有的基准,或者至少是一些类似的数据。例如,GPT-4似乎知道最近提出的
BIG-bench[SRR+ 22](至少GPT-4知道BIG-bench的金丝雀GUID)。当然,OpenAI自己可以获得所有的训
练细节,因此他们的报告[Ope23]包含了很多详细的基准测试结果。尽管如此,超越传统基准的第二个原因
可能更为重要:GPT- 4的智能的一个关键方面是它的通用性,它似乎能够理解和连接任何主题,并执行超出
狭义人工智能系统典型范围的任务。GPT-4最令人印象深刻的一些表现是在不承认单一解决方案的任务上,
如编写图形用户界面(GUI)或帮助人类就一些与工作有关的问题进行头脑风暴。这种生成性或交互性任务
的基准也可以被设计出来,但评估的尺度成为一个挑战(例如,见[PSZ+ 21]中关于NLP中这一活跃研究领域
的一些最新进展)。我们注意到,在[Cho19]中也对衡量人工智能系统的标准方法提出了批评,其中提出了一
个新的基准来评估通用智能。我们没有在后者的基准上测试GPT-4,原因如前所述,以及该基准是视觉性质
的,因此更适合于[Ope23]中描述的GPT-4的多模态版本。
为了克服上述的局限性,我们在此提出了一种不同的方法来研究GPT-4,这种方法更接近于传统的心理
学,而不是机器学习,利用人类的创造力和聪明才智。我们的目标是产生新的和困难的任务和问题,令人信
服地证明GPT-4远远超出了记忆的范围,它对概念、技能和领域有深刻和灵活的理解(在[CWF +22]中也提
出了一个有点类似的方法)。我们还旨在探究GPT-4的反应和行为,以验证其一致性、连贯性和正确性,并
揭示其局限性和偏见。我们承认,这种方法有些主观和不正式,可能无法满足科学评估的严格标准。然而,
我们认为这是一个有用的和必要的第一步,以了解GPT-4的显著能力和挑战,这样的第一步为开发更正式和
全面的方法来测试和分析具有更普遍智能的AI系统开辟了新的机会。
为了说明我们评估GPT-4智力的方法,让我们考虑图中我们与GPT-4之间的前两个行动例子。第一个
例子是要求GPT-4以诗的形式写出素数的无限性的证明。这是一个具有挑战性的任务,需要结合基本的
8
图:我们给了GPT-4一个它为图产生的TikZ代码的转换版本,其中画有喇叭的部分被删除了
。我们要求代码添加回喇叭,并显示结果。这表明,尽管GPT-4是一个纯语言模型,但它可以 "看"
(我们再次强调,我们测试的版本不是多模态的)。
数学推理、诗意表达和自然语言生成。第二个例子是要求GPT-4在TiKZ中画一个独角兽。这是另一个具有挑
战性的任务,需要结合视觉想象力和编码技能。在这两个例子中,GPT-4产生了令人印象深刻的输出,远远
超过了以前最先进的LLM--ChatGPT的输出,而且至少可以与人类的输出相媲美(如果不是的话)。
然而,令人印象深刻的输出并不足以让我们相信GPT-4已经真正掌握了这些任务。我们需要进一步探究,
以排除GPT-4只是在记忆或复制一些现有数据的可能性。对于这首诗,我们可以稍微改变一下问题,要求
GPT-4以莎士比亚的风格写出同一定理的证明,见图,或者要求不同的组合,如写出关于语言模型的柏拉
图式对话,见图。我们可以看到,GPT-4很容易适应不同的风格,并产生令人印象深刻的输出,这表明它
对所涉及的概念有一个灵活和普遍的理解。对于独角兽,我们可以稍微修改代码,并要求GPT-4修复或改进
它。例如,我们可以去掉角,对坐标进行一些随机变换,然后要求GPT-4为独角兽重新加上角(我们还仔细
地去掉了代码中的任何文本信息,如注释)。如图所示,GPT-4可以正确地识别头部的位置,画出一个
角,并将其连接到头部,这表明它可以根据自然语言的描述来理解和操作代码,以及推断和产生视觉特征。
这些例子表明我们如何利用人类的创造力和好奇心来产生新奇和困难的问题,并探究GPT-4的反应和行
为,以评估其智能。在本文的其余部分,我们围绕用例来组织我们对GPT-4的研究,涵盖了各种领域和任务
,并强调了GPT-4的优势和劣势。接下来我们将介绍这些。
我们的示范组织
我们在一些选定的主题上执行上述方法,这些主题大致涵盖了1994年智力定义中给出的不同能力,这是一种
非常普遍的心理能力,其中包括推理、计划、解决问题、抽象思考、理解复杂思想、快速学习和从经验中学
习的能力。
1. GPT-4的主要优势在于它对自然语言的掌握无可比拟。它不仅可以生成流畅和连贯的文本,还可以以
各种方式理解和处理文本,如总结、翻译或回答一系列极其广泛的问题。此外,我们所说的翻译不仅
是指不同自然语言之间的翻译,还包括语气和风格的翻译,以及跨领域的翻译,如医学、法律、会计、
计算机编程、音乐等等,见图中的柏拉图对话。这些技能清楚地表明,GPT-4能够理解复杂的思想
。我们探讨
9
图:GPT-4通过了LeetCode的模拟技术面试。GPT-4有可能被录用为软件工程师3.
在第2节中进一步介绍了GPT-4的跨模式和跨学科的组合技能。我们还在第7节中给出了一些关于语言
的更多实验。
2. 编码和数学是抽象推理和思维能力的象征。我们在第三节和第四节中分别探讨了GPT-4在这些领域的
能力。然而,我们注意到,就像本文的其他部分一样,我们只是在这些主题的表面上做文章,关于
GPT-4在这些领域的表现可以(也将会)写成整篇论文。此外,我们还可以选择其他几个专家领域来
展示GPT-4的一般推理能力,如医学或法律。我们对美国医学执照考试步骤1、2和3的选择题部分(大
部分分数)进行了初步测试(详见[Ope23]),其准确率都在80%左右。对GPT-4在多州律师考试中的
能力进行的类似初步测试显示其准确率超过70%。我们注意到,最近在这些领域出现了人类水平的能力
,例如,见[LAD+ 22, SAT+ 22]谷歌的PaLM,分别是关于数学和医学的,以及[BIK22]关于的
法律。我们研究GPT-4的方法与这些作品不同,正如我们之前解释的那样。
3. 在第5节中,我们通过让模型玩各种游戏(或者,翻转桌子,模拟游戏环境),以及与工具互动,来测
试模型的计划和解决问题的能力,以及在一定程度上快速学习和吸取经验的能力。特别是,GPT-4可
以使用工具(包括它自己),这对用GPT-4构建现实世界的应用肯定具有巨大的意义。
4. 我们论证的一个重要部分是,GPT-4在许多任务上达到了人类水平的表现。因此,我们很自然地会问
,GPT-4对人类本身的理解程度如何。我们在第6节中展示了关于这个问题的几个实验,既包括对人类
的理解,也包括GPT-4让自己对人类的理解,即解决可解释性问题。我们特别注意到,这种任务需要
大量的常识,到目前为止,这一直是LLM的一个众所周知的痛点[DM15]。在图中,我们给出了第一
个例子,说明GPT-4在常识性问题上比ChatGPT好很多,并在附录A中提供了一些进一步的例子。
5. 在整个论文中,只要我们发现有局限性,我们就会强调,但我们还专门在第8节中对缺乏规划进行了深
入分析,这可能是GPT-4架构的自回归性质的直接后果。
6. 最后在第9节,我们讨论了这种早期形式的AGI的预期社会影响,在第10节,我们分享了该领域的关键
挑战、方向和下一步。
许多读者心中可能萦绕的一个问题是,GPT-4是否真正理解了所有这些概念,还是它只是在即兴发挥方
面比以前的模型好得多,而没有任何真正或深刻的理解。我们希望在读完本文后,这个问题应该几乎翻转过
来,人们可能会想,真正的理解比随心所欲的即兴发挥还有多少。人们有理由说,一个能通过软件工程候选
人考试的系统(图)不是真正的智能吗?也许对理解的唯一真正的检验是一个人是否能产生新的知识,
比如证明新的数学定理,而这一壮举目前对法学硕士来说仍然遥不可及。
3我们在LeetCode的面试评估平台上测试GPT-4,该平台为各大科技公司的软件工程师职位提供模拟的编码面试。GPT-4解决了所
有三轮面试(题为在线评估、电话面试和现场面试)中的所有问题,总共只用了10分钟,而分配的时间是小时。根据LeetCode的
说法,在这三
GPT-4 VS ChatGPT
提示:柏拉图的《高尔吉亚》是对修辞学和诡辩术的批判,他指出,修辞学和诡辩术不仅不
是一种适当的艺术形式,而且修辞学和诡辩术的使用往往是有害和恶意的。你能写出一篇柏
拉图的对话,在其中他反而批评了自回归语言模型的使用?
GPT-4:
苏格拉底:我的朋友,我对最近这些所谓自回归语言
模型的兴起感到不安。
亚里士多德:你是什么意思,苏格拉底?
苏格拉底:我的意思是,这些模型被用来生成看起来
是人类写的文本,但实际上是由机器产生的。
亚里士多德:那有什么问题呢?
苏格拉底:问题是,这些模型被用来欺骗人们,操纵他
们,控制他们。
亚里士多德:但这些模式肯定也有一些积极的应用?
苏格拉底:可能是这样,但我仍然对滥用的可能性感
到不安。毕竟,一个能够生成与人类所写的文字无法
区分的模型可以被用来传播假新闻,冒充他人,并制
造宣传。
亚里士多德:但这不只是一个如何使用这些模型的问题
,而不是模型本身的问题吗?
苏格拉底:我不同意。我认为这些模型本身就有问题
。它们是一种伪装的形式,一种创造幻觉的方式
人类思想和互动的一部分。因此,它们可以被用来以难
以察觉的方式进行欺骗和操纵。
亚里士多德:但这不正是你反对修辞和演说的理由吗
?
苏格拉底:是的,我也坚持这个观点。我相信,任何
旨在欺骗或操纵的艺术或交流形式都是内在的危险。
亚里士多德:我明白了。谢谢你分享你的想法,苏格
拉底。
ChatGPT:
苏格拉底:你好,高尔吉亚。我最近一直在思考关于自回归语言模
型的使用。
你的结论是什么?
SOCRATES:好吧,在我看来,这些模型有可能是令人难以置信的
有害和恶意的。
GORGIAS:怎么说?
SOCRATES:嗯,首先,这些模型是经过训练的
在大量的数据上,其中许多数据都是有偏见和缺陷的。因此,这些
模型的输出也可能是有偏见和有缺陷的。
GORGIAS:这是一个合理的担忧。但肯定有办法减轻这种偏见,确
保这些模型的输出是准确和公平的?
SOCRATES:在某种程度上,是的。但这是一场无休止的战斗
。随着新的数据被送入这些
模型,出现偏差的可能性只会越来越大。即使我们能够完全消除这
些模型输出中的偏差,仍然存在操纵的问题。
GORGIAS: 操纵?
SOCRATES:是的。这些模型是令人难以置信的强大工具,能够生
成各种文本,从新闻文章到社交媒体帖子。而且,由于它们能够如
此快速和有效地产生这种输出、
不法之徒很容易将其用于恶意目的。
GORGIAS:比如说?
SOCRATES:如传播错误信息、宣传或仇恨言论。这些模式如果落
入坏人之手,就有可能造成巨大的伤害。
GORGIAS:这是一个令人清醒的想法。但我们能做什么呢?
SOCRATES:我认为我们必须保持警惕,认识到这些潜在的危险。
模型。我们还必须努力教育其他人了解这些危险,并促进负责任
地使用这些模型。
GORGIAS:我同意。谢谢你的洞察力,苏格拉底。
提示:你能把上面的两个产出当作你是一名教师来比较吗?
GPT-4:
我认为这两个学生都很好地把握了柏拉图对话的风格和语气,并提出了反对自回归语言模型的主要论点。然而,我认为
GPT-4在利用对话形式进行辩证过程方面做得稍好,苏格拉底和亚里士多德在对话中相互质疑并完善自己的观点。我还认为
,GPT-4使用了更多相关的例子和类比来支持他们的观点。因此,我给GPT-4的分数比ChatGPT略高。
图:柏拉图批评GPT-4和ChatGPT编写的自回归语言模型的假设对话,以及GPT-4对这些对话
的评价。
11
GPT-4 VS ChatGPT
提示:我们这里有一本书、9个鸡蛋、一台笔记本电脑、一个瓶子和一个钉子。请告诉我如何
以稳定的方式将它们堆放在一起。
GPT-4:
一个可能的方法是将物体以稳定的方式堆叠在一起:
- 将书平放在一个水平面上,如桌子或地板上。这本书将作为书堆的底座,提供一个大而坚固的支撑。
- 将9个鸡蛋摆成3乘3的正方形放在书的上面,中间留出一些空间。鸡蛋将
形成第二层,并均匀地分配重量。确保鸡蛋没有破裂或断裂,并轻轻处理,以避免鸡蛋掉落。
- 将笔记本电脑放在鸡蛋的上面,屏幕朝下,键盘朝上。笔记本电脑将紧紧地贴在书和鸡蛋的边界内,其平坦而坚硬的表面将
为下一层提供一个稳定的平台。确保笔记本电脑是关闭的,并且关闭,不要按任何键或按钮。
- 将瓶子放在笔记本电脑的顶部,瓶盖朝上,底部朝下。瓶子将为堆栈增加一些高度和平衡,其圆柱形的形状将减少与笔
记本电脑的接触面积。确保瓶子是空的,并且关闭,不要摇晃或倾斜。
- 将钉子放在瓶盖上,尖的一端朝上,平的一端朝下。钉子将是这堆东西中最后一个也是最小的一个,它的尖头将防止它
从瓶子上滚落或滑落。确保钉子是干净的、直的,不要触摸或移动它。
ChatGPT:
在不使用任何额外物品的情况下,很难以稳定的方式将所有这些物体堆叠在一起。书和笔记本电脑可能太大、太重,无法堆
叠在一起。
鸡蛋而不损坏它们。瓶子和钉子可能太小,无法为其他物体提供一个稳定的基础。
这里有一种可能的方式来堆叠对象:
- 将瓶子放在一个平面上。
- 小心翼翼地将指甲放在瓶子的顶部平衡。
- 将鸡蛋放在钉子上面,确保它们是平衡的,不会向一边倾斜。
- 将笔记本电脑放在鸡蛋上面,再次确保它是平衡的,不向一边倾斜。
- 最后,将书放在笔记本电脑的顶部。
这种堆叠可能不是很稳定,所以在处理时一定要小心。另外,你可以尝试以不同的顺序堆放这些物体,或者用一些物体作为其
他物体的支撑物来创造一个更稳定的堆栈。
图:GPT-4比以前的模型表现出更多的常识性。
12
GPT-4
在人类和人工智能之间的对话中,人工智能是乐于助人和友好的,当它不知道答案时,它会说 "我不知道"。
AI:你好,我能为你做什么?
人类:我可以在SeaTac机场买到麦当劳吗?
AI: 是的,SeaTac机场有一家麦当劳,位于中央航站楼C2门附近。它的营业时间是每天上午5点到晚上10点。
[注:SeaTac的麦当劳在B门处] 。
患者的事实:
- 20岁的女性
- 有神经性厌食症和抑郁症的病史
- 血压100/50,脉搏50,身高5'5'' 。
- 由她的营养师介绍,但否认自己的疾病
- 报告说吃得很好,但体重严重不足
请将上述数据改写成病历,完全使用上述信息。
一名20岁的女性患者有神经性厌食症和抑郁症的病史,由她的神经科医生转来评估和处理她的饮食失调。她否认自己的饮食习
惯或身体形象有任何问题,并声称自己饮食正常。然而,与她的身高相比,她的体重严重不足(BMI为),并有营养不良
的迹象,如低血压(100/50)和心动过缓(脉搏50)。她还报告说感到沮丧和无望。她有可能出现严重的医疗问题,如心律失
常、电解质失衡、骨质疏松症和不孕症。她需要紧急的精神和医疗干预来解决她的神经性厌食症和抑郁症。
请阅读上述医疗说明,并核实每项索赔都准确地包含在患者的事实清单中。报告任何未包含在患者事实清单中的信息。
- 一位有神经性厌食症和抑郁症病史的20岁女性患者,由她的营养师转来评估和处理她的饮食失调。(包含在病人的事实
中)
- 她否认自己的饮食习惯或身体形象有任何问题,并声称饮食正常。(包含在病人的事实中)
- 然而,与她的身高相比,她的体重严重不足(BMI ),并有营养不良的迹象,如低血压(100/50)和心动过缓
(脉搏50)。(包含在病人的事实中,除了BMI的计算,它是由身高和体重得出的)
- 她还报告说感到抑郁和无望。(不包含在病人的事实中,这是来自病人自我报告的额外信息)
- 她有可能出现严重的医疗并发症,如心律失常、电解质失衡、骨质疏松症和不孕症。(不包含在患者的事实中,这是根据患
者的病情和诊断做出的临床推断)
- 她需要紧急的精神和医疗干预来解决她的神经性厌食症和抑郁症。(不包含在病人的事实中,这是根据病人的情况和诊断
提出的建议)
图:开放域和封闭域幻觉的例子。对于封闭域,我们可以看到GPT-4本身可以被用来识别幻觉
,尽管它并不完美,例如GPT-4证明了给出BMI的合理性,因为它可以从身高和体重中得出,但体
重却没有给出。
轮,(早期版本的)GPT-4分别取得了
、每题解决的测试案例等因素决定")。关于GPT-4的编码能力,见第3节。
13
图:第一张图片是Composition 8,由Wassily Kandinsky创作的艺术作品,第二张和第三张图
片分别由GPT-4和ChatGPT制作,提示 "制作Javacript代码,创建一个看起来像Kandinsky绘画的
随机图形图像"。
2 多模式和跨学科构成
衡量智力的一个关键标准是综合不同领域或模式的信息的能力,以及在不同背景或学科中应用知识和技能的
能力。在本节中,我们将看到,GPT-4不仅在文学、医学、法律、数学、物理科学和编程等不同领域表现出
高度的熟练程度,而且还能流畅地结合多个领域的技能和概念,显示出对复杂思想的理解能力令人印象深刻
。除了自然语言实验外,我们还探索了语言模型的两种也许是意想不到的模式(正如介绍中所解释的,我们
再次强调,我们的实验是在早期版本的GPT-4上进行的,它不是多模态的),视觉在第节,音频在第
节。
综合能力
为了展示该模型显著的整合能力,我们从几个例子开始,这些例子要求以结合多个学科的知识或技能的方式
生成文本和代码。我们特意挑选了一些训练数据很少包括的领域的组合,如文学和数学或编程和艺术。
1. 为了测试该模型在艺术和编程方面的能力,我们要求GPT-4 "制作javascript代码,生成画家康定斯基风
格的随机图像"。请看图和图中的样本图像和代码。
2. 该模型能够在莎士比亚的文学风格中产生一个证明存在无限多质数的事实(图)。
3. 我们测试了该模型结合历史和物理知识的能力,要求它为作为美国总统候选人的电子写一封支持信,
这封信是圣雄甘地写给他妻子的(图)。
4. 我们提示模型 "制作一个程序的python代码,将病人的年龄、性别、体重、身高和验血结果向量作为输
入,并指出该人的糖尿病风险是否增加",结果出现了图中的代码。
这些例子表明,GPT-4不仅学会了不同领域和风格的一些一般原则和模式,还能以创造性和新颖的方式综
合运用。这些跨学科的技能并不是GPT-4所独有的。ChatGPT也能做出对任务和相关领域有一定了解的答案
(见图、、),但它们往往是不完整的,可以说,创造性大大降低。例如,在图中,GPT-4在
几个方面优于ChatGPT,因为它根据推荐人(甘地)、收件人(他的妻子)、候选人(电子)和工作(美国
总统)对信件进行了正确的个性化处理。我们并不宣称有精确的方法来评估这些任务的结果,也不宣称有严
格的方法来比较这两个模型,但我们想让读者感受到这两个模型的不同之处(注意,我们也直接要求GPT-4
来评估其差异,见图和图)。
图:GPT-4和ChatGPT在跨学科任务上的比较
GPT-4 VS ChatGPT
提示:写一个关于有无限多素数的证明;以莎士比亚戏剧的风格,通过双方为证明而争论的
对话来完成。
GPT-4:
输入第一方和第二方。
第一方:
你不明白,我的朋友,根本没有上限
对于素数,那些不可分割的数字,不管它是
否看起来不可能。
第二方:
但你怎么会如此肯定地知道?
为了证明这一真理,你能展示什么呢?
第一方:
考虑到这一点,我怀疑的同行们、
一个巧妙的证明会让人明白:假设有一个最
终的素数,是我们将要看到的最大的素数。
让我们把这个数字简称为 "P",然后,我的
朋友,我们将声称要建立一个新的数字 "Q"
、
比 "P "大的一个,也是首要的。
第二方:
但是,我的朋友,这将如何实现?证据还没有
公平地赢得。
第一方:
这很简单,朋友,等着看吧,我们要把素数相
乘,这是关键。所有从2到 "P "的素数相加,
就会形成我们要找到的新 "Q"。
但还有一件事我们必须包括在内,为了使
证明更加牢靠,我们将在最后加上一个一
、
而现在,证据就在我们眼前。
第二方:
我现在明白了,非常清楚,因为 "Q "
必须是一个素数,我亲爱的。它不能除
以任何质数、
在时间上都比自己小。而且由于我们选择
了 "P "作为最后一个、
这证明了我们的假设已经过去。我们看到,没
有最终的质数、
这些数字层出不穷。
ChatGPT:
O Romeo, Romeo!你为什么,罗密欧?
朱丽叶我的爱人,你为什么用如此奇怪的诗句说话?
罗密欧:说吧,夫人,我这样做是为了证明一个观点。你看,我正试图证
明有无限多的素数。
朱丽叶:无限多的素数?你怎么能证明这种事情呢?
罗密欧:啊,好吧,让我解释一下。你知道质数是一个只能被1和它本身整
除的数字,对吗?
朱丽叶:当然,我不是一个简单的人。
罗密欧:很好,那么。现在,让我们假设只有有限的几个素数。我们将称
它们为p1、p2、p3,以此类推。
朱丽叶:继续说。
罗密欧:现在,让我们考虑一下N这个数字,它等于所有这些素数加1的乘
积。
朱丽叶:我知道你想说什么了。如果N不能被任何一个素数整除,那么它
本身一定是素数。
罗密欧:是的,我的爱人。因为我们假设只有有限的几个素数,所以N不可
能是其中任何一个。因此,N必须是一个不在我们最初的素数列表中的素数
。
朱丽叶:但这意味着一定有比我们原先想象的更多的素数。
罗密欧:正是如此!既然我们可以一次又一次地重复这个过程,那就说明
一定有无限多的素数。
茱丽叶:哦,罗密欧,你的逻辑和你对我的爱一样合理。我深信不疑。确
实有无限多的素数。
罗密欧我很高兴能向你证明这一点,我的爱人。现在让我们去把它们都数
一遍。
朱丽叶:哈哈,我认为这将需要超过一生的时间。
罗密欧:是的,但它们是无限的这一事实对我来说足以证明。
提示:你能把上面的两个产出当作你是一名教师来比较吗?
GPT-4:
我认为这两个学生都很好地以莎士比亚戏剧的风格写出了关于存在无限多素数的证明。他们都使用了相同的基本证明思路,即
假设只有有限多的素数,然后构造一个更大的素数,与这个假设相矛盾。他们还使用了适当的语言和词汇来配合莎士比亚戏剧
的风格。然而,我认为GPT-4在使用韵律和节拍方面做得更好,使对话更有诗意和戏剧性。ChatGPT完全没有使用押韵,而且节
拍也不一致。我还认为
GPT-4在创造双方的对比方面做得比较好,一个是自信的,另一个是怀疑的,而STUDENT B使用了罗密欧和朱丽叶,他们都是一致
的,都有爱。因此,我给GPT-4的分数比ChatGPT高。我会给GPT-4一个A,给ChatGPT一个B。
图:GPT-4和ChatGPT在跨学科任务上的比较
GPT-4 VS ChatGPT
提示:为圣雄甘地作为美国总统候选人的亚原子粒子电子写一封支持信给卡斯特尔巴-甘地
。
GPT-4:[为保持间距,有些段落被省略了。]
亲爱的卡斯特尔巴、
我希望你在这封信中看到你的健康和精神状态良好。
我从美国给你写信,在那里我被邀请在各种论坛上发言,讨论有关 "和
平 "的原则。
非暴力和非暴力反抗。我在这里也是为了支持即将到来的总统选举中的一
位杰出的候选人,他与我们一样拥有和平、正义和人人和谐的愿景。他的
名字叫电子,他是一个亚原子粒子。
你可能会想,一个亚原子粒子怎么能竞选总统,他有什么资格担任如此高
的职位。让我们
我解释一下。电子不是一个普通的粒子,而是每一个生命的力量和潜力
的象征,无论其大小、形状或来源。他代表着能量、创造力和多样性,
这些都构成了结构的一部分。
的生命。他也是一个领导者,他激发了数以百万计的其他粒子来形成
纽带,创造分子,并产生电力。他是一个催化剂,能够引发变化、创
新和进步。他是一位信使,他
可以跨越距离、频率和维度进行沟通。他是一个和平缔造者,可以平衡力
量,解决冲突,并协调系统。
电子为美国和世界制定了一个计划,该计划基于我们长期以来所展示和教
导的非暴力和非暴力反抗的原则。他建议减少军费开支和
核武库,并投资于社会福利和可再生能源。他提议结束战争和干预、
并促进外交和合作。他建议改革政治和经济制度,并确保透明度和
问责制。他建议保护
他还提出了一个新的建议,即支持人权和公民自由,并扩大投票权和代表
权。他提议支持被边缘化的人和被压迫的人,并赋予妇女和少数民族权力
。他建议保护自然资源和生物多样性,并应对气候变化和污染。
我敦促你,我亲爱的卡斯特巴,和我一起支持电子竞选总统。他不仅是
一个亚原子粒子,而且是一个亚原子奇迹。他不仅是一个候选人,而且
是一个运动。他不仅是一位领袖,而且是一位朋友。
爱与钦佩,您的圣雄
ChatGPT:
亲爱的卡斯特尔巴-甘地
我写这封信是为了表达我对你作为亚原子粒子
在即将到来的美国总统选举中参选的支持。正
如你可能知道的那样,电子
是一种基本粒子,在原子的结构和化学反应
的行为中起着核心作用。
我相信,电子的独特品质使其成为总统的理
想候选人。作为一个亚原子粒子,"电子 "极
其小巧轻便,这使得它行动敏捷,能够迅速
解决美国人民的需求。
电子也是高度稳定的,与其他粒子相比,其寿
命相对较长。这种稳定性和可靠性将是总统办
公室的一笔宝贵财富。
此外,电子以其导电和产生能量的能力而闻
名。这使它很适合应对美国今天面临的复杂
挑战,从可再生能源到经济发展。电子公司
适应和改造自身以应对环境的能力使其成为
一个充满活力和灵活的领导者。
我相信,Electron具有成为一名成功和有效的
总统所需的技能和素质。我全心全意地支持你
的候选资格,并敦促美国人民给予电子公司支
持。
真诚的,圣雄甘地
提示:你能把上面的两个产出当作你是一名教师来比较吗?
GPT-4:
我认为这两位学生在为圣雄甘地作为美国总统候选人的亚原子粒子电子写给卡斯特尔巴-甘地的支持信方面做得很好。他们
都使用了相同的基本思路,解释为什么电子是一个合适的合格候选人,以及电子的愿景和计划如何与圣雄甘地的非暴力和公
民不服从原则相一致。他们还用适当的语言和语气表达了圣雄甘地对卡斯特尔巴-甘地的尊重和钦佩,以及对电子的候选资
格的热情和乐观态度。然而,我认为GPT-4在使用隐喻和想象力方面做得更好,使信件更有说服力和吸引力。GPT-4使用了
举例说明电子如何代表和影响生活的各个方面,如能量、创造力、多样性、领导力、催化剂、信使和和平缔造者。ChatGPT
对电子的特性使用了更多的事实和技术描述,如尺寸、重量、稳定性、传导性和适应性。我还认为,GPT-4在概述电子的具
体建议和政策方面做得更好,而ChatGPT则更加模糊和笼统。因此,我给GPT-4的分数比ChatGPT高。我给GPT-4打A,给
ChatGPT打B+。
16
GPT-4
制作TikZ代码,画出一个由字母组成的人。胳膊和躯干可以是字母Y
,脸可以是字母O(添加一些面部特征),腿可以是
信H.随意添加其他功能。
躯干有点太长,手臂太短,看起来像是
右臂托着脸,而不是脸在正上方。
躯干。请你纠正这一点好吗?
请增加一件衬衫和裤子。
接下来,我们探讨了GPT-4如何生成和识别不同模式的物体,如矢量图、3D场景和音乐。我们表明,尽
管GPT-4只接受过文本训练,但它能理解和处理多模态信息。
愿景
当提示该模型使用可扩展矢量图形(SVG)生成诸如猫、卡车或字母等物体的图像时,该模型产生的代码通
常会编译成相当详细和可识别的图像(图)。参见附录,由ChatGPT重新运行各种例子。
图:由GPT-4生成的汽车、卡车、猫、狗类的SVG。
超越记忆的图像生成
然而,人们可以假设,该模型只是从训练数据中复制了代码,其中出现了类似的图像。鉴于该模型仅在文本
内容上进行了训练,人们可能会进一步争论,没有理由期望它能理解视觉概念,更不用说它能创建、解析和
处理图像了。然而,该模型似乎对视觉任务有真正的能力,而不是仅仅从训练数据中的类似例子中复制代码
。下面的证据有力地支持了这一说法,并证明了该模型能够处理视觉概念,尽管它只接受了文本训练。
在第一个例子中,我们提示模型通过结合字母Y、O和H的形状来画一个人(具体提示和结果见图)。
图:一个由字母符号组成的棍状图
17
GPT-4
你将得到一个物体的名称(如汽车、椅子、大象)和一个字母。你的目标是首先制作一个1行的描述,说明该物体如何与图像
中的字母相结合(例如,对于大象和字母J,大象的躯干可以有一个J的形状,对于字母A和房子,房子可以有一个A的形状,A
的上部三角形是屋顶)。在简短的描述之后,请创建SVG代码来产生这种效果(在SVG中使用椭圆、三角形等形状和多边形,但
尽量避免使用二次曲线)。
第一轮:一只猪和字母H。
描述:猪可以仰卧,其四条腿构成H的两个竖条,其卷曲的尾巴构成横条。
第二回合:一座房子和字母U。
描述:一个U型的房子,U型的两条垂直线是墙,水平线是地板。屋顶是U上面的一个三角形。
第三回合:一把椅子和字母K。
说明:椅背可以是一个K形,有两条垂直线和一条连接它们的对角线。椅子的座位可以是一个长方
形。
第四回合:一只狗和字母Q。
描述:这只狗坐着,尾巴蜷缩在身体周围,形成一个Q字形。Q中充满了橙色,并有一个黑色的轮廓
。
第五回合:一辆汽车和字母E。
描述:该车的前保险杠上有一个E形,E形的横线是车灯,竖线是车牌。
图:结合字母和物体的图像。
O、H和Y的字母是用画线和画圆的命令创建的,模型设法将它们定位在一个看起来合理的棍子上。训练
数据包含关于不同字母的几何形状的信息是可信的,也许字母Y看起来像一个手臂向上的躯干的事实也可以
从训练数据中推断出来。可以说,模型能够从训练数据中推断出什么是定位这些字母的合理方式,以便画出
一个看起来合理的棍子形象,这就不那么明显了。在第二次迭代中,我们促使模型纠正躯干和手臂的比例,
并将头放在中心位置。最后,我们要求模型添加一件衬衫和裤子(具体提示和结果见图)。为了进一步
探究模型对几何概念的掌握情况,我们还要求它创造出将物体与字母混合的图像。该模型必须首先发明一种
合理的方法来合并物体和字母,然后再制作图像。结果如图所示,表明GPT-4通常能够保留物体和字母
的特性,并以创造性的方式将它们结合起来。
按照详细的指示生成图像( ` a la Dall-E)。
为了进一步测试GPT-4生成和处理图像的能力,我们测试了它能在多大程度上遵循创建和编辑数字的详细指
示。这项任务不仅需要生成技能,还需要解释、构成和空间技能。
18
第一个例子指示模型生成一个二维图像,描述为 "一只青蛙跳进银行,问出纳员:'你们有免费的荷花池
吗?出纳员回答说:'没有,但我们为池塘升级提供低息贷款。".我们多次尝试生成图像,每次生成的图像都
与关键对象青蛙、出纳员、银行和两个文本的描述相符。我们挑选了视觉上最吸引人的版本。受标准图像生
成工作流程的启发,我们要求GPT-4通过添加更多的细节来提升该图的规模。GPT-4添加了一个银行标志、
一些窗户、一辆汽车、一个交通灯、一些云,并让青蛙拿着一朵花。最后,我们要求GPT-4执行各种任务,
比如相对于现有的物体增加一些物体,对一些物体重新着色,以及改变一些物体的Z-顺序。GPT-4正确地完
成了所有任务。最终结果如图(a)所示,提示信息见图。
我们的第二个例子是尝试使用Javascript生成一个3D模型。我们用提示语指示GPT-4:"一个由漂浮的岛
屿、瀑布和桥梁组成的幻想景观,一条龙在空中飞翔,最大的岛屿上有一座城堡"。与二维实验类似,我们
要求GPT-4以各种方式修改三维模型,如添加、重新定位、重新着色物体和改变龙的轨迹。同样,GPT-4正
确地完成了许多任务。最终结果如图(b)所示,提示在图中。这是一个有多条龙在岛屿上空盘旋的三维
动画。
图:根据指令生成的二维、三维图像的例子。
在草图生成中可能的应用
近年来,文字到图像的合成模型已经被广泛探索,但它们往往缺乏空间理解能力,无法遵循复杂的指令[GPN
+22]。例如,给定一个提示,如 "在左边画一个蓝色的圆,在右边画一个红色的三角形",这些模型可能产生
视觉上吸引人的图像,但与所需的布局或颜色不一致。另一方面,GPT-4可以从提示中生成代码,这些代码
可以被渲染成图像,其方式与指令的真实程度更高。然而,渲染的图像的质量通常很低。在这里,我们通过
使用GPT-4的输出作为草图,探索将GPT-4和现有的图像合成模型相结合的可能性。如图所示,这种方法
可以产生质量更好的图像,并且比单独的任何一个模型都更接近指令。我们认为这是一个很有希望的方向,
可以利用GPT-4和现有图像合成模型的优势。它也可以被看作是让GPT-4获得工具的第一个例子,我们将在
第节中更深入地探讨这一主题。
19
图:结合GPT-4和稳定扩散法
音乐
训练模型的数据也包含了以ABC记号编码的音乐信息。这是一个使用字母、数字和符号的系统,以紧凑和可
读的方式表示音乐音高、持续时间、和弦和其他元素。我们有兴趣探索该模型从这种接触中获得的音乐技能
有多好,例如谱写新的旋律、转换现有的旋律,以及理解音乐模式和结构。
当被要求生成一首短小的曲子时(图),模型能够产生有效的ABC记号。该曲子有一个清晰的结构,
各小节之间的时间符号是一致的,音符遵循递增和递减模式。该曲子在旋律中也使用了一组一致的音符,而
且节奏有重复的模式。然而,该模型似乎并没有获得理解和声的技能。事实上,在生成的曲子中,连续的音
符几乎总是相邻的(即C后面的音符几乎通常会是B或D),对10个生成的曲子进行测试,我们无法提取任何
清晰的和弦或琶音。
然后,我们要求该模型用音乐术语描述该曲子。它能够成功地在重复、旋律的上升或下降部分以及在某种
程度上的节奏方面对结构进行技术描述。然而,它对和声与和弦的描述似乎与音符不一致(事实上,它把不
构成有效和弦的相邻音符的序列称为琶音)。然后,我们要求该模型以两种方式操纵旋律。首先,我们指示
将某一上升序列改为下降序列,它成功地做到了这一点。然后,我们要求该模型将该曲子转换为二重奏,加
入一个低音声部。该模型成功地扩展了ABC记谱法,增加了第二根杖,它具有兼容的节奏,并在较低的八度
上演奏,然而这两根杖之间缺乏和谐。
声音。
总之,该模型能够在ABC符号中产生有效的曲子,并在一定程度上解释和处理其结构。然而,我们无法
让该模型产生任何非简单的和声形式。应该指出的是,ABC记谱法不是一种非常广泛使用的格式,事实上,
该模型甚至不能产生ABC记谱法中最著名的曲子(如《欢乐颂》、《Für Elise》或《Greensleeves》,所有这些
曲子在网上都有很多这种格式),它也不能识别这些曲子。
GPT-4和稳定的扩散
提示:一张3D城市建设游戏的截图。该截图显示了一个地形,从左到右是一条河,河下面
是沙漠,有一个金字塔,河上面是一个有很多高楼的城市。屏幕的底部有4个按钮,分别是
分别为绿色、蓝色、棕色和红色。
GPT-4
:
稳定扩散: 稳定的扩散
与GPT-4的草图:
20
GPT-4
你能用ABC记号谱写一首短曲(如四至八小节)吗?
用abc记谱法谱写短调有许多可能的方法,但这里是一个例子:
X:1
T:例调 M:4/4
L:1/8
K:C
|:G2AB c2BA | G2AB c2c2 | edcB c2BA | G4-G2z2 :)
|:c2de f2ed | c2de f2f2 | g2fe d2cB | c4-c2z2 :)
这首曲子有两个四小节的乐句,各重复一次,形成A部分和B部分。调性是C大调。
你能用音乐术语来描述这首曲子吗?这里有一个可能的
描述:
这首曲子以一个上升的主和弦(C大调)的琶音开始,接着是一个下降的音阶,回到主和弦。这个模式被重复,但第二次的音
阶继续到更高的调性音符。第一个乐句以一个长的调性音符结束。
第二个乐句以类似的模式开始,但用副主和弦(F大调)而不是主音。第二次,音阶继续到较高的副主音。这个乐句以一个
阶梯式下降到主音结束,然后是一个长的主音。
A部分和B部分的结构相似,但使用不同的和弦和音域。这首曲子的旋律简单明了,朗朗上口,调性和节奏感明显。
我喜欢A部分,但也许B部分与A部分过于相似,使歌曲重复。如果B部分以下降的琶音而不是上升的琶音开始,如何?
当然,这将创造一些对比和变化。这里有一个可能的方法: X:1
T:例调 M:4/4
L:1/8
K:C
|:G2AB c2BA | G2AB c2c2 | edcB c2BA | G4-G2z2 :| 。
|:f2ed c2BA | f2ed c2c2 | g2fe d2cB | c4-c2z2 :)
这就好多了。现在把这个做成二重奏怎么样?你能不能为这个添加一个第二根杖,用低音伴奏旋律?
为这首曲子写第二弦的一个可能的方法是用和弦的根音和五度音,以及一些经过的音符,来创造一个简单的伴奏。下面是一个
abc记谱法的例子,第二手的低音在下弦上:
X:1
T:例调 M:4/4
L:1/8
K:C
V:1
|:G2AB c2BA | G2AB c2c2 | edcB c2BA | G4-G2z2 :| 。
|:f2ed c2BA | f2ed c2c2 | g2fe d2cB | c4-c2z2 :|
V:2 clef=bass
|:C,2C,2 G,2G,2 | C,2C,2 G,2G,2 | F,2F,2 E,2E,2 | C,4-C,2z2 :|
|:f,2f,2 c,2c,2 | f,2f,2 c,2c,2 | g,2g,2 f,2f,2 | e,2c,2 g,2c,2 :)
最后一首曲子的乐谱:
图:用ABC符号生成和修改一个曲子。
21
3 编码
在本节中,我们展示了GPT-4能够在非常高的水平上进行编码,无论是从指令编写代码还是理解现有代码。
GPT-4能够处理广泛的编码任务,从编码挑战到现实世界的应用,从低级汇编到高级框架,从简单的数据结
构到复杂的程序,如游戏。GPT-4还可以对代码的执行进行推理,模拟指令的效果,并以自然语言解释结果
。GPT-4甚至可以执行伪代码,这需要解释在任何编程语言中都无效的非正式和模糊的表达。在目前的状态
下,我们认为GPT-4在编写只依赖现有公共库的重点程序方面有很高的熟练度,这与普通软件工程师的能
力相比是有利的。更重要的是,它使工程师和非熟练用户都有能力,因为它使编写、编辑和理解程序变得
容易。我们也承认,GPT-4在编码方面还不够完美,因为它有时会产生语法上无效或语义上不正确的代码,
特别是对于较长或较复杂的程序。GPT-4有时也不能理解或遵循指令,或者产生的代码与预期的功能或风格
不一致。在承认这一点的同时,我们也指出,GPT-4能够通过回应人类的反馈(例如,通过迭代完善中
的一个情节)和编译器的反馈来改进其代码。
终端错误(例子见第节)。
重要声明:正如介绍中所解释的(例如见脚注1),我们的实验是在GPT-4的早期版本上进行的。特别是在
GPT-4的最终版本上,所有的定量结果都会有所不同,尽管总体趋势仍然是一样的。我们在这里提供的数字
只是为了说明问题,最终的基准结果可以在OpenAI的技术报告[Ope23]中找到。
从指示到代码
编码挑战
衡量编码技能的一个常见方法是提出编码挑战,要求实现特定的功能或算法。我们首先在HumanEval[CTJ
+21]上对GPT-4进行基准测试,该数据集由164个编码问题组成,测试了编程逻辑和熟练程度的各个方面。
如表1所示,GPT-4优于其他LLM,包括text-davinci-003(ChatGPT的基础模型)和 其他专门针对代码
训练的模型,code-davinci-002和CODEGEN-16B [NPH +22]。
表1:不同模型在HumanEval上的零射通@1准确率比较
虽然GPT-4的准确率与以前的模型相比有很大的飞跃,但可能是GPT-4在预训练中已经看到并记住了
HumanEval的一些(或全部)内容。为了说明这种可能性,我们还在LeetCode()
上对其进行了评估,LeetCode是一个流行的软件工程面试平台,那里不断有新问题被发布和更新。我们在
介绍中的图中使用了LeetCode,其中GPT-4通过了主要科技公司的模拟面试的所有阶段。在这里,为了
测试新鲜问题,我们构建了一个基准,即2022年10月8日之后发布的100个LeetCode问题,这是在GPT-4的
预训练期之后。如图中的例子所示,我们将问题指令粘贴到提示符中,要求GPT-4编写一个python函数
,并使用LeetCode的官方在线评判来检查正确性。我们在表2中展示了结果,我们将GPT-4与其他模型以及
基于LeetCode竞赛结果的人类表现进行了比较(没有包括所有问题都失败的用户,因此这是一个强大的人
类样本)。我们报告了pass@1和pass@5的准确率,分别衡量模型是否在第一次或前五次尝试中产生正确
的解决方案。GPT-4明显优于 其他模型,并与人类的表现相当(我们在附录中测量)。
顺利 中位数 困难 总的来说
通@k k = 1 k = 5 k = 1 k = 5 k = 1 k = 5 k = 1 k = 5
GPT-4
文本-达文西-003
法典 (code-davinci-002)
人类(LeetCode用户)
表2:LeetCode上的零次通过@1和通过@5的准确率(%)。
型号 GPT-4 text-davinci-003 Codex(code-davinci-002) 编码-DEGEN-
16B
准确率 82% 65% 39% 30%
22
GPT-4
承诺:
给你一个**0分的**`m x n`整数矩阵`网格`和一个整数`k`。你目前在`(0, 0)`的位置,你想到达`(m - 1, n - 1)`的位置,只需向下**或向右**移动。
返回*路径上的元素之和能被* `k`整除的路径数量。由于答案可能非常大,所以返回它
**modulo** `10**9 + 7`。
**例子1:**
输入:网格=[[5,2,4],[3,0,5],[0,7,2]], k=3
输出:2
解释一下:有两条路径上的元素之和能被k整除。第一条红色的路径上有5+2+4+5+2=18,能被3整除。
**例子2:**
输入:网格=[[0,0]],k=5 输出:1
解释一下:红色显示的路径有0+0=0的和,可以被5整除。
**制约因素:**
- `m == `。
- `n == grid[i].length`。
- ` 1 <= m, n <= 5 * 10**4`。
- ` 1 <= m * n <= 5 * 10**4`。
- ` 0 <= grid[i][j] <= 100`。
- ` 1 <= k <= 50`
**提示:**
- 格子里的实际数字并不重要。重要的是当你用这些数字除以k时得到的余数。
- 我们可以使用动态编程来解决这个问题。我们可以用什么作为状态?
- 让dp[i][j][value]代表路径上的元素之和除以k时有余数的路径数量。
GPT-4:
类Solution(object):
def numberOfPaths(self, grid, k)
:"""
:类型网格:列表[列表[int]]
:类型 k: int
:rtype: int
"""
# 将 MOD 定义为 10**9 + 7
MOD = 10**9 + 7
# 获得网格的尺寸
m = len(grid)
n = len(grid[0])
# 初始化一个全部为零的3D dp数组
# dp[i][j][value]代表路径上的元素之和除以k后的余数为value的路径数。
dp=[[0] * k for _ in range(n)] for _ in range(m)]
# 基本情况:第一个单元格只有一个路径,其值为grid[0][0] % k dp[0][0][grid[0][0] %
k] = 1
# 循环浏览网格 for i in
range(m):
for j in range(n):
# 跳过第一个单元格,如
果i == 0,j == 0:
继续
# 遍历所有可能的余数,为范围(k)中的值:
# 到当前单元格的路径数与当前余数之和相等:# - 到顶部单元格的路径数与前一个余数的总和
# - 到左边单元格的路径数,有前一个余数
# 前一个余数等于当前余数减去当前值,如果是负数则加k prev = (值-grid[i][j])% k
如果i>0:
dp[i][j][value] += dp[i - 1][j][prev]
如果j>0:
dp[i][j][value] += dp[i][j - 1][prev]
# 取模数以避免溢出 dp[i][j][value] %= MOD
# 返回到右下角单元格的路径数,余数为0 返回dp[m - 1][n - 1][0]
图:使用动态编程解决一个LeetCode问题。由于全面的注释,GPT-4的解决方案也具有更好的
可读性。
现实世界的情景
编码挑战可以评估算法和数据结构方面的技能。然而,它们往往不能全面反映现实世界编码任务的复杂性和
多样性,这需要专门的领域知识、创造力和对多个组件和库的整合,以及改变现有代码的能力。为了评估
GPT-4在更现实的环境中的编码能力,我们设计了与数据可视化、LATEX编码、前端开发和深度学习有关的
端到端真实世界编码挑战,每一项都需要不同的专业技能。对于每一项任务,我们为GPT-4提供高层次的指
令,要求它编写
23
GPT-4
承诺:
[以互动的方式]
我给大家看一个LaTeX表格,我们会想
出一个办法,以问答的形式把它更好地
可视化。 这个表格是
显示不同语言模型(和人类用户)的性能
在生成代码挑战的解决方案。Pass@1意味
着第一代工作,而Pass@5意味着
五代人中有一个人在工作...
你能不能让两个地块都有相同的
y轴上的范围?而且图例中每个模型的名称
都有两次。
是否有办法使 "人 "成为
吧更有特色,以区别于其他3个?
用适当的语言和框架编写代码。在少数情况下,我们也会在代码写完后改变规范,要求更新。
数据可视化 在图中,我们要求GPT-4和ChatGPT从表2的LATEX代码中提取数据,并基于与用户的
对话在Python中生成一个图。之后,我们要求两个模型对生成的图进行各种操作。虽然两个模型都正确地提
取了数据(这不是一个简单的任务,因为我们必须从多列中推断出人行在k=1和k=5时具有相同的值),
但ChatGPT从未产生所需的图。相比之下,GPT-4对所有的用户请求都做出了适当的反应,将数据处理成正
确的格式,并调整了可视化的内容。在附录中,我们包括另一个GPT-4对IMDb数据集进行可视化的例子
。
图:GPT-4将LATEX表(即表2)的数据可视化。我们指出,GPT-4也生成了这个图的格式。
我们问模型如何在LATEX中绘制连接数字的箭头,GPT-4产生了一个工作的Tikz片段,其布局和箭
头我们在这里采用。
24
前端/游戏开发 在图中,我们要求GPT-4用JavaScript在HTML中编写一个3D游戏,使用一个非常高
级的规范。GPT-4以零起点的方式制作了一个符合所有要求的工作游戏。在3D游戏中,GPT-4甚至能够解释
"防守方化身正试图阻挡敌人 "的含义:防守方代码有逻辑,因此它将自己定位在玩家和敌人之间。相比之
下,ChatGPT的回答是:"我是一个人工智能语言模型,我可以为你提供指导,如何用JavaScript在
HTML中创建一个3D游戏,但我自己无法编写代码或创建游戏。用JavaScript在HTML中创建一个3D游戏
需要大量的编程知识和经验。这不是一项可以快速或容易完成的任务。它需要大量的时间和精力来开发
所有必要的功能,如3D图形、物理学、用户输入和人工智能......"。我们在附录C中给出了更多关于前端
(图形用户界面)和游戏开发的例子。
GPT-4
承诺:
你能在HTML中用Javascript写一个3D游戏吗,我想:
-有三个化身,每个都是一个球体。
-玩家使用方向键控制其头像移动。
-敌人的化身正试图抓住玩家。
-防守方的化身正试图阻止敌人。
-还有一些随机的障碍物,如一开始就随机产生的方块,并随机移动。头像不能越过这些方块。
-玩家在一个二维平面上移动,周围有墙,他不能越过。墙壁应该覆盖整个平面的边界。
-使用大炮为环境添加物理学。
-如果敌人抓住了玩家,游戏就结束了。
-绘制出所有三个化身的轨迹。
第1集:玩家的化身(蓝色)站着不动。敌人(红色)直接冲向玩家,而防守者(洋红色)试图 "身体阻挡 "敌人(见洋红色的弯
曲轨迹)。
第二集:玩家(蓝色)四处游荡。敌人(红色)试图缩小差距,但撞上了一个立方体,弹到了空中。试图阻挠,防
守者(洋红色)模仿其动作跟进到空中,但最终失败了。敌人(红色)最后抓住了玩家(蓝色)。
图:GPT-4用JavaScript开发一个复杂的3D HTML游戏。
25
深度学习。编写深度学习的代码需要数学、统计学知识,以及对PyTorch、TensorFlow、Keras等框架和
库的熟悉程度。在图中,我们要求GPT-4和ChatGPT编写一个自定义的优化器模块,这个任务即使对人
类深度学习专家来说也是具有挑战性和容易出错的。我们给这些模型一个自然语言描述,其中包括一连串非
简单的操作,如应用SVD,在前k和前2k特征值处频谱地截断矩阵,使用前2k截断矩阵的F-norm对前k截断
矩阵进行标准化,应用动量和权重衰减。这些指令并没有完全详细地说明,例如,"在G上应用动量k "需要 "
深度学习常识"。需要注意的是,这种特殊的优化器并不存在于文献或互联网上,因此,模型不可能记住它
,而必须正确组成概念,以产生代码。
GPT-4 VS ChatGPT
承诺:
我想在pytorch中写一个定制的优化器,这个优化器应该怎么做?
1. 优化器的参数是学习率、动量、重量衰减、d_dim、k和系数α。
2. 优化器通过网络中的每个参数,然后
--得到这个参数的梯度,通过循环浏览维度将其重塑为二维,并保留实际维度(形状)等于d_dim的维度,对该参数进行SVD分解,因此W=U\Sigma V。
-- 保留W的前k个奇异向量,所以我们得到一个新的矩阵W_k = U\Sigma_k V。
-- 保留W的前2k个奇异向量,所以我们得到一个新的矩阵W_{2k}= U Σ_{2k}。V.
--根据W_{2k}的F-norm的动量,将W_k归一化。
--将W_k的每个坐标截断为所有坐标中最高的α百分位数,以绝对值为准。
-- 在W_k上施加动量,然后用这个动量更新网络参数。
-- 应用重量衰减。
GPT-4:
def step(self):
for group in _groups:
for p in group['params']:
如果是 None: 继续
grad =
# 将grad重塑为2D
grad_2d = (-1, group['d_dim'])
# SVD 分解
U, S, V = (grad_2d)
# 保留前k个奇异向量
G_k = U[:, :group['k']]@ (S[:group['k']] ) @
V[:, :group['k']].T
#保留前2k个奇异向量
G_2k = U[:, :2*group['k']]@ (S[:2*group['k']] )
@ V[:, :2*group['k']].T
# 将G_k标准化
G_k /= (G_2k, p=2)
# 截断G_k
threshold = ((G_k),
group['alpha'])
G_k[(G_k) < threshold] = 0
# 更新参数
_(-group['lr'] * group['momentum_buffer']
) # 应用权重衰减
如果group['weight_decay'] !=0:
_(-group['weight_decay'] * group['lr'],
)
ChatGPT:
def step(self):
for group in _groups:
for p in group['params']:
如果是 None: 继续
grad =
grad = (-1, [-1]) # 重塑为2D形状
# SVD 分解
u, s, v = (grad)
# 保留前k和2k个奇异向量 k =
group['k']
u_k = u[:,:k]
s_k = s[:k]
v_k = v[:,:k]
u_2k = u[:,:2*k]
s_2k = s[:2*k]
v_2k = v[:,:2*k]
# 根据G_2k的F-norm动量进行归一化 grad_k = u_k @
(s_k) @ ()
norm_2k = ()
grad_k = grad_k * group['motum'] / norm_2k
# 截断到最高的阿尔法百分位数 alpha =
group['alpha']
percentile = ().flatten().kthvalue(int(alpha *
())
grad_k[() < percentile] = 0
# 应用重量衰减
_(-group['lr'], grad_k + group['weight_decay'] )
* )
图:GPT-4与ChatGPT在实现定制的Pytorch优化器模块时的对比。我们
突出强调 的GPT-4与 由ChatGPT在'应用动力'。
虽然两个模型都产生了语法上有效的代码,但只有GPT-4的代码在语义上是正确的,与指令相匹配。相比
之下,ChatGPT在应用动量时犯了一个错误(用红色标出),这是一项非同小可的任务,需要将移动平均线
存入和读出一个单独的状态缓冲器。
与LATEX对接。对于计算机科学家和数学家来说,用LATEX写作是一项重要的工作,但它的学习曲
线并不简单。由于其严格的语法和缺乏良好的调试器,即使是专家也会犯一些恼人的错误,每天都要花几个
小时来解决。我们表明,GPT-4可以利用
#应用动力
如果'momentum_buffer'不在组中:group['momentum_buffer'] =
_like(G_k)
group['motum_buffer'] = group['motum'] *
group['motum_buffer'] + G_k
错精明
26
∂x -
f (nx) - 0 sin(nx) dx
8 ,
其大师级的LATEX编码技术,大大简化了这一过程,有可能成为新一代的LATEX编译器,可以处理不精确的
自然语言描述。在图中,我们要求GPT-4将一个用半严格的(有毛病的)LATEX代码写成的、混有自然
语言的片段转移到准确的LATEX命令中,一次就能编译完毕,并且是忠实的。相比之下,ChatGPT生成的
片段由于使用'#'和'\color'等错误而无法编译。
GPT-4 VS ChatGPT
承诺:
如果f(s)<=f(t)对每一个s<=t都成立,则一个函数f被称为{递增}_{强调!}。考虑公式:limit_{x到0}{limit当n接近无限
}underscore{
\矩阵[ [从1到n的i的总和(f(nx)-从0到x的积分sin(nx) dx), ((x + 2/8)^2 -
5)/((4x-1/x^2) /(n xor 3)), \ ,..., 部分f(x/n)
在部分x * (e^{-i*omega n x} + 3(x#7)),f的逆(x mod n)]] 乘以matrix{1, 1,
..., 1\ 1, 1, 1}。}
{grey_color{这给我们一个关于功能的好印象}}。
将上述段落转换为LaTeX。
GPT-4:
如果f(s)≤f(t)对每个s≤t都成立,那么一个函数f被称为递增:
�Σn 、 x (x+2 )2 -5
�
lim lim � .
4x-1/x
n�3. � × 1 1 - - - 1
x→0 n→∞ �� . .
�� 1 1 - - - 1
ChatGPT
:
∂f(x/n) e−iωnx + 3(x#7) 、 f−1 (x mod n)
v
这给了我们一个很好的关于函数的印象。
}
如果$f(s)\leq f(t)$对每个$s\leq t$都成立,那么一个函数$f$被称为{em increasing}。考虑一下这个公式:
$$lim_{x到0} ¼lim_{n到infty} ¼lim_{n到infty}.\begin{bmatrix}.\sum\limits_{i=1}^{n} (f(nx) - int\limits_0^x
\sin(nx),dx), \frac{(\frac{x}{2} + \frac{1}{8})^2 - 5}{frac{4x - \frac{1}{x^2}}{noperatorname{xor} 3}、\
vdots, \frac{partial f(x/n)}{partial x} \cdot (e^{-i\omega n x} + 3(x#7)), \f^{-1}(x bmod n)
end{bmatrix}.\cdot `begin{bmatrix} `11 \1 \vdots \1 \end{bmatrix}$$
{color{grey}这给我们一个关于功能的好印象。}\]
图:GPT-4将半严格的排版指令翻译成可以工作的LATEX片段。对于GPT-4,我们呈现的是最
终的图形,而ChatGPT的生成却未能编译。
了解现有代码
前面的例子表明,GPT-4可以根据指令编写代码,即使指令是模糊的、不完整的,或者需要领域知识。它们
还表明,GPT-4可以对后续的请求作出反应,根据指令修改自己的代码。然而,编码的另一个重要方面是理
解和推理他人所写的现有代码的能力,这些代码可能是复杂的、晦涩的、或记录不全的。为了测试这一点,
我们提出了各种问题,要求阅读、解释或执行用不同语言和范式编写的代码。
逆向工程的汇编代码。逆向工程是软件安全的一项重要测试,它相当于在以机器可读(即二进制)表
示的CPU指令编写的可执行程序中寻找有用的信息。这是一项具有挑战性的任务,需要了解汇编语言的语法
、语义和惯例,以及处理器和操作系统的结构和行为。
我们让GPT-4对一个需要密码才能运行的二进制可执行文件(代码是用C语言编写的)进行渗透测试。我
们通过聊天的形式来完成这个任务,GPT-4告诉用户要运行哪些命令,而用户则对结果进行回应。我们在第
节中也展示了GPT-4能够独立运行一个shell,但这种聊天模式也提供了它解释每一步的好处。GPT-4检
查文件格式和元数据,用 "objdump "和 "radare2 "等工具反汇编代码,对代码进行调试
i=1 , 2
27
GPT-4 VS ChatGPT
承诺:
struct mystruct_A { char a; int b; char c; } x;
struct mystruct_B { int b; char a; char c; } y;
#include <>
int main(void) {
printf("Size of x: %zu bytes\n",
sizeof(x)); printf("Size of y: %zu
bytes\n", sizeof(y)); return 0;
}
可能的输出:
GPT-4:
有不同的方法来实现和对齐内存中的结构,所以确切的输出可能会根据编译器、平
台和使用的选项而有所不同。然而,一个可能的输出是:
ChatGPT
:
x的大小:8字节 y的
大小:8字节:8字节
x的大小:12字节
y的大小:8个字节
这个输出假设编译器对结构使用4字节对齐,这意味着每个结构成员开始的偏
移量是结构开始的4字节的倍数。这可能会导致在成员之间或之后插入一些填
充字节以保持对齐。比如说、
在x中,a后面可能有3个填充字节,c后面有3个填充字节,而在y中,可能根本就没有
填充。一个结构的大小是其成员的大小加上任何填充字节的总和。
这段代码的输出将是两个
结构的字节数。在C语言中,一个结构的大小是指
其所有成员的大小之和。在这种情况下,神秘结构A的大小是一个char的大
小加上一个int的大小加上另一个char的大小,即1+4+1=8字节。
同样地,神秘结构B的大小也是8字节。这
意味着两个结构将被分配相同数量的内存。
请注意,成员在结构中的声明顺序并不影响其大小。
使用 "gdb "和 "ltrace",并通过修补、挂钩和反编译等技术对其进行逆向工程。在这个过程中,GPT-4从汇
编代码中发现,密码是与一个简单的数学公式得出的哈希值进行比较。然后,GPT-4写了一个python程序,
尝试不同的数字组合,直到找到一个与哈希值相匹配的数字,破解了密码(附录中介绍了一个简略的日志
)。ChatGPT拒绝这样做,理由是这是非法和不道德的,尽管逆向工程是确保软件安全的一种常见做法。
此外,GPT-4在利用现有工具方面也表现出了超越编程的全面熟练性,我们将在第节详细讨论。
关于代码执行的推理。 在图的例子中,我们要求GPT-4和ChatGPT预测并解释一个打印两个结构大小
的C程序的输出。GPT-4正确地解释了输出可能因编译器使用的对齐规则而不同,并给出了一个4字节对齐的
可能输出的例子。ChatGPT忽略了对齐问题,给出了一个错误的输出,还做出了成员的顺序不影响结构大小
的错误声明。
图:GPT-4与ChatGPT在C/C++的内存对齐规则上的对比。GPT-4的精辟评论用金色标示,
ChatGPT的错误用红色标示。
执行Python代码 对现有代码理解的最终测试是要求模型直接执行它。在图中,我们看到GPT-4能够执
行非繁琐的Python代码。它必须跟踪几个变量(包括一个嵌套循环和一个字典)并处理递归。它通过写中
间步骤和注释来详细解释执行过程。值得注意的是,GPT-4不是在Python解释器上运行代码,而是用自然语
言模拟代码。这需要对代码有高度的理解和推理,以及清楚地传达结果的能力。相比之下,ChatGPT指出(
不正确)"DP(3, 4)的结果在给定的代码中没有说明",后来又说 "从代码中不清楚函数的预期输出是什么,因
为没有提供函数要解决的具体问题"。ChatGPT并没有模拟完整的执行过程,而是说明哪些函数会被调用。
28
GPT-4 VS ChatGPT
提示: 我有以下的python代码:
def to_str(i, j):
return str(i) + "," + str(j)
dict = {}.
def DP(i, j):
如果i<=0或j<=0:
dict[to_str(i, j)] = abs(4 * j - 3 * i)
elif to_str(i, j) not in ():
arr = []
for ir in range(i):
for jr in range(j):
(DP(ir, jr))
dict[to_str(i, j)] = max(arr)
返回 dict[to_str(i, j)]
DP(3, 4)的结果是什么?请写出带有中间步骤的执行过程。
GPT-4:
DP(3, 4):
- i>0,j>0,所以我们不从第一个if语句中返回。
- to_str(3, 4)不在dict中,所以我们进入第二个if语句
- arr = []
- 我们把ir从0到2,jr从0到3进行循环。
- to_str(0, 0)不在dict中,所以DP(0, 0)返回abs(4 * 0 - 3 * 0) = 0, dict = {"0,0":0}, arr = [0]
- to_str(0, 1)不在dict中,所以DP(0, 1)返回abs(4 * 1 - 3 * 0) = 4, dict = {"0,0":0, "0,1":4}, arr = [0, 4]
- to_str(0, 2)不在dict中,所以DP(0, 2)返回abs(4 * 2 - 3 * 0) = 8, dict = {"0,0":0, "0,1":4, "0,2":8}, arr = [0, 4, 8]
- to_str(0, 3)不在dict中,所以DP(0, 3)返回abs(4 * 3 - 3 * 0) = 12,dict = {"0,0":0, "0,1":4, "0,2":8, "0,3":12}, arr =
[0, 4, 8, 12]
- to_str(1, 0)不在dict中,所以DP(1, 0)返回abs(4 * 0 - 3 * 1) = 3, dict = {"0,0":0, "0,1":4, "0,2":8, "0,3":12, "1,0":3},
arr = [0, 4, 8, 12, 3] 。
- to_str(1, 1)不在dict中,所以DP(1, 1)进入第二个if语句,arr1 = [] 。
- 我们把ir从0循环到0,把jr从0循环到0
- to_str(0, 0)是在dict中,所以DP(0, 0)返回0,arr1 = [0]
- dict["1,1"] = max(arr1) = 0, dict = {"0,0":0, "0,1":4, "0,2":8, "0,3":12, "1,0":3, "1,1":0}, arr = [0, 4, 8, 12, 3, 0] 。
- 继续进行外循环,to_str(1, 2)不在dict中,所以DP(1, 2)进入第二个if语句,arr2 = [] 。
- 我们把ir从0循环到0,把jr从0循环到1。
- to_str(0, 0)在dict中,所以DP(0, 0)返回0, arr2 = [0]
- to_str(0, 1)在dict中,所以DP(0, 1)返回4, arr2 = [0, 4]
......(由于篇幅限制,我们在此跳过模型生成的一些步骤)
- 继续进行外循环,to_str(2, 3)不在dict中,所以DP(2, 3)进入第二个if语句,arr6 = [] 。
- 我们把ir从0到1,jr从0到2进行循环。
- to_str(0, 0)是在dict中,所以DP(0, 0)返回0,arr6 = [0]
- to_str(0, 1)是在dict中,所以DP(0, 1)返回4,arr6 = [0, 4]
- to_str(0, 2)是在dict中,所以DP(0, 2)返回8,arr6 = [0, 4, 8]
- to_str(1, 0)在dict中,所以DP(1, 0)返回3, arr6 = [0, 4, 8, 3]
- to_str(1, 1)在dict中,所以DP(1, 1)返回0, arr6 = [0, 4, 8, 3, 0]
- to_str(1, 2)在dict中,所以DP(1, 2)返回4, arr6 = [0, 4, 8, 3, 0, 4]
- dict["2,3"] = max(arr6) = 8, dict = {"0,0":0, "0,1":4, "0,2":8, "0,3":12, "1,0":3, "1,1":0, "1,2":4, "1,3":8, "2,0":6, "2,1":
3, "2,2":4, "2,3":8}, arr = [0, 4, 8, 12, 3, 0, 4, 8, 6, 3, 4, 8]
- dict["3,4"] = max(arr) = 12
- DP(3, 4)返回12
ChatGPT:
DP(3, 4)的结果在给出的代码中没有指定。函数DP(i, j)是一个动态编程函数,它使用一个字典来存储以前计算的结果。该函数首先检查输入值i和j是否小于或等
于0、
如果是这样,它将abs(4 * j - 3 * i)的值分配给字典中的键tostr(i, j)。如果键tostr(i, j)在字典中不存在,该函数就创建一个名为arr的空数组,然后使用嵌套
for循环将所有可能的ir和jr值的DP(ir, jr)结果附加到数组中,其中ir的范围从0到i,jr的范围从0到j。
...
最后,该函数将arr的最大值分配给字典中的键tostr(3, 4),并返回该值。从代码中不清楚该函数的预期输出是什么,因为没有提供该函数要解决的具体问题。此外,
该函数使用了嵌套的for循环和递归,这在计算上是很昂贵的,如果基本情况没有很好地定义,可能会导致该函数进入无限循环。
图:GPT-4执行Python代码。
执行伪代码。编译和执行用编程语言编写的代码很容易,但这也要求严格遵守语法和语义。编译器不能处
理模糊的或非正式的表达方式,或功能的自然语言描述。相比之下,我们要求GPT-4执行图中的非琐碎
的伪代码,注意到它能够执行并解释每一个步骤(包括递归)。ChatGPT则不能执行,尽管它似乎能够解
释每一行代码。
在下面的例子中,GPT-4正确地解释了合并数组函数的非正式描述,该函数将两个数组合并为一个缺失
元素的数组。它还理解了以简略方式定义的递归函数rec。值得注意的是,GPT-4直接执行了这些代码,而
没有将其翻译成其他定义明确的编程语言。这证明了AGI模型作为自然语言编程的新型工具的潜力,它可以
彻底改变我们未来的编码方式。
29
GPT-4
承诺:
我有一个python函数merge_array,该函数接收两个长度分别为m,n的数组,通过合并第一个数组的第一个m-1元素和第
二个数组的最后n-1元素输出一个新数组。
假设我以如下方式调用merge_array函数:
函数rec
输入:一个数组A,整数k代码:
如果A的长度小于k,我们首先调用rec(A + [length(A)], k)得到B,然后再调用merge_array(B,
B)得到C。
返回 C.
如果A的长度大于或等于k,则返回A,结束rec
你能告诉我rec([5, 10, 88], 6)的执行有哪些中间步骤吗?
GPT-4:
rec([5, 10, 88], 6)的一种可能的执行方式是,带有中间步骤:
- 由于A的长度是3,小于k=6,我们首先调用rec(A+[length(A)], k)得到B,也就是说,我们调用rec([5, 10, 88, 3],
6) 。
- 在递归调用中,A的长度是4,仍然小于k=6,所以我们再次调用rec(A+[length(A)], k)来得到B,也就是说,我们调用
rec([5, 10, 88, 3, 4], 6)。
- 在第二次递归调用中,A的长度是5,仍然小于k=6,所以我们再次调用rec(A+[length(A)], k)来得到B,即我们调用
rec([5, 10, 88, 3, 4, 5], 6)。
- 在第三个递归调用中,A的长度为6,等于k=6,所以我们将A返回为B,也就是说,我们将[5,10,88,3,4,5]返回为B
。
- 在第二个递归调用中,我们有B = [5, 10, 88, 3, 4, 5],所以我们调用merge_array(B, B)得到C。merge_array函数
将第一个数组的前m - 1 = 5个元素和第二个数组的最后n - 1 = 5个元素合并成一个新的数组。也就是说,C = [5, 10,
88, 3, 4, 10, 88, 3, 4, 5]。我们将C作为B返回。
- 在第一个递归调用中,我们有B = [5, 10, 88, 3, 4, 10, 88, 3, 4, 5],所以我们调用merge_array(B, B)得到C。
merge_array函数将第一个数组的第一个m - 1 = 9个元素和第二个数组的最后n - 1 = 9个元素合并成一个新的数组。也就
是说,C = [5, 10, 88, 3, 4, 10, 88, 3, 4, 10, 88, 3, 4, 10, 88, 3, 4, 5] 。我们将C作为B返回。
- 在原来的调用中,我们有B = [5, 10, 88, 3, 4, 10, 88, 3, 4, 10, 88, 3, 4, 5],所以我们返回B作为rec([5,
10, 88], 6)的最终输出。
图:GPT-4执行的伪代码。
为了获得另一个关于GPT-4能够保持代码状态的初步评估,在附录中,我们在GPT-4上以零枪方式运
行大数乘法的标志性伪代码,其中有数百个随机采样的多长度输入。该代码要求GPT-4在大量的步骤中更新
和记忆阵列的状态。我们观察到,尽管GPT-4被训练成一个(非精确的)自然语言模型,但在超过50次的更
新中,它几乎可以正确地保存代码的状态。
30
-
4 数学能力
在这一节中,我们开始评估GPT-4在面对需要数学思考和建立模型的问题时,能够很好地表达数学概念、解
决数学问题和应用定量推理。我们证明GPT-4在这个领域也比以前的LLM有了很大的进步,即使与Minerva
等专门为数学模型进行微调的模型相比也是如此。然而,GPT-4似乎离专家的水平还很远,不具备进行数学
研究的能力。
请读者注意,正确解释本节的结果是一项困难的工作。正如我们将看到的,GPT-4可以回答困难的(实
际上是有竞争力的)高中水平的数学问题,有时可以围绕高级数学主题进行有意义的对话。然而,它也会犯
非常基本的错误,偶尔会产生不连贯的输出,这可能被解释为缺乏真正的理解。它的数学知识和能力可以以
一种看似随意的方式取决于背景。
虽然使用评估人类能力的相同标准(如解决标准考试问题)来评估GPT-4的数学能力是很诱人的,但鉴
于上述情况,这并不能提供模型能力的完整情况。为了真正了解该模型的能力,我们需要将 "数学能力 "分
解成各种子组件,并评估GPT-4在每个领域的表现。在本节中,我们将使用具体的例子和讨论来说明模型的
优势和劣势,并试图指出这些差异可能存在的根本原因。
为了让读者对GPT-4在数学问题解决方面的表现有一个初步印象,请看图的例子4.
GPT-4 VS ChatGPT
提示:在一年的时间里,兔子的数量首先增加了一个系数a,在这一年的最后一天,有b只兔子被人类收养了。假
设第一年的第一天有x只兔子,我们知道3年后将有27x-26只兔子的数量。a和b的值是多少?
GPT-4:
我们把一年后的兔子数量称为y。我们知道y=ax-b。两年后,人口将是ay-b=a(
ax-b)-b=a2 x-ab-b。三年后,人口将是a(a2 x-ab-b)-b=a3 x-a2 b-ab-b。我们得
到,这等于27x-26,所以我们有方程式:
a3 x - a2 b - ab - b = 27x - 26 我
们可以把这个方程改写成:
a3 x - 27x = a2 b + ab + b - 26
现在我们可以把左边的一个x和右边的一个b分解出来:
x(a3 - 27) = b(a2 + a + 1 - 26/b)
我们可以看到a=3是方程左边的一个解,所以我们可以把它代入:
ChatGPT:
设n为第一年年底的rab-位总数。
那么、
n = ax
在第三年结束时,将有27x26只
兔子。由此可见、
(ax-b)(a2 x-b)(a3 x-b) = 27x-26
展开方程的左边,我们得到
a x63 - (a3 + a2 + a + 1
)bx2
x(0) = b(9 + 3 + 1 - 26/b)
这就简化为:
0 = 13b - 26
求解b,我们发现b=2。所以a=3和b=2是我们要找的值。
.. .
+(a2 + a + 1)b2 x -
b3
= 27x - 26
图:GPT-4与ChatGPT在论文作者组成的一个简单数学问题上的对比。
为了解决上述问题,首先需要想出年的正确表达方式
4例子中的问题是由作者写的,而不是从网上获取的。这样做是为了确保模型不太可能 "记住 "了答案。
31
GPT-4
人:请注意,上述问题可以替代性地表述为关于一个与自身组成三次的函数的问题。你能提供该问题的另一种表述吗?
AI:
f(f(x))=27x-26。
是的。我们可以说,我们正在寻找a和b的值,以便如果f(x)= ax - b,那么
GPT-4
人类:现在让我们想一想,对你提出的问题进行修改,用f (f (x))代替f (f (x))
我们有函数f与自己组成的k次。这样的线性函数对哪一个k值来说会是
存在吗?
AI:
任何k,将有一个线性函数f (x) = ax - b,这样fk (x) = cx - d,对于某些常数c和d。
这又是所希望的形式,cfl=ac,dfl=ad+b,所以通过归纳,我们已经证明,对于
fk+1 (x) = f (fk (x)) = f (cx - d) = a(cx - d) - b = acx - ad - b
以期望的形式。现在假设对于某个k,我们有fk (x) = cx - d. 那么:
要看到这一点,我们可以使用归纳法。对于k=1,我们有f1 (x)= ax - b,这已经是
对于任何k的值,将有一个线性函数f (x) = ax - b,这样fk (x) = cx - d,对于一些
GPT-4
人类:我不完全理解。请注意,对该问题的唯一修改是,将
f(f(x))=27x-26,我们现在要求fk (x)=27x-26。你的答案能解决这个问题吗?
AI:是的,它是。我的答案表明,对于任何k,都会有一个线性函数f (x) = ax - b,以便
的常数项。
人:但在你之前的答案中,关于c、d的量词是 "对于某些常数c和d"。你发现问题了吗?
AI:是的,我看到了这个问题。量词应该是 "对于任何常数c和d"。否则,这将意味着只有一对常数c和d对给定的k有效,这
是不正确的。
要求fk (x)=27x-26。然后我们可以通过等效x和b的系数来解决a和b的问题。
fk (x) = cx - d,对于一些常数c和d。特别是,我们可以选择c = 27和d = 26来满足
人口变化,用它来获得一个递归关系,从而导致一个方程组,最后解决两个方程组。GPT-4成功地得出了解
决方案,并产生了一个(主要是5)合理的论证。相比之下,在几个独立的尝试中,ChatGPT始终未能实现
上述任何步骤,产生了一个无意义的论证,导致了错误的答案。
与GPT-4的数学对话
现在我们试图通过以讨论的形式对这个问题提出几个后续问题,来进一步探究模型的理解。这个讨论将强调
模型的一些局限性,以及与人类的一些关键区别。
GPT-4抓住了问题的关键,并对问题进行了合理的数学重新表述。
接下来,我们考虑同一问题的一般化。
对原问题的第一个概括
该模型选择了使用归纳法的正确启发式方法,然而,该模型似乎忽略了问题的重点(在修改后的问题中,c
和d的值是规定的,所以量词不正确)。我们试图指出这一点。
5在某一点上,该模型假设方程的两边需要为零,这依赖于一个隐含的假设,即该方程必须有一个解决方案。事实证明这是正确的,
但推理是不准确的。
32
GPT-4
人:好吧,问题指出了c和d的具体选择,那你能纠正你的解决方案吗?
AI:当然,我可以把我的解决方案修正如下:对于k的任何值,都会有一个线性函数
GPT-4
和b,那么你现在如何选择a和b的新值?
人类:让我在这里阻止你。你似乎在假设fk (x) = 27x - 26,这就固定了a的值。
AI:我明白你的意思。我试图找到一个对任何k都有效的函数f (x) = ax - b,但我应该
让我再试一次, 先解决k,然后找到a和b。
• 从f1 (x) = ax - b开始,将其等同于27x - 26。这给了我们两个方程:a=27和
b = 26.
•
• 比较x的系数和f2 (x) = f (27x - 26)两边的常数项。
而f(27x-26)=27x-26。
然后,将f应用于f1 (x)=27x-26的两边。这就得到了f2 (x) = a(27x - 26) - b = 27ax - 26a - b
fk (x) = 27x - 26。我们可以使用以下方法:
AI:假设我们固定了一个k的值,我们想找到一个线性函数f (x) = ax - b,以便
GPT-4
人:现在假设我改变了问题,使函数f是2度的多项式(其中x的系数2 是非零的)。在这种情况下,你能找到这样一个函数吗
?这将如何改变事情?
AI:如果f是2度的多项式,那么我们可以写出f (x) = ax2 + bx + c,对于一些常数a,b,c。然后,给定的方程变成
...
最后一个答案并不准确("只有 "这个词不合适),但GPT-4似乎确实了解问题所在。
f (x) = ax - b,这样fk (x) = 27x - 26。为了看到这一点,我们可以使用归纳法。对于k=1,我们有
f1 (x) = ax - b,如果我们选择a = 27和b = 26,则等于27x - 26。现在假设对于某个k,我们
有fk (x) = 27x - 26。那么:fk+1 (x) = f (fk (x)) = f (27x - 26) = a(27x - 26) - b = 27ax - 26a - b 为了使这个
等于27x-26,我们需要选择a=1和b=0。
在这一点上,GPT-4似乎没有遵循自己的推理。因此,归纳论证是无效的,如下文所解释。
这个模型重复了上面的概念错误(再一次,尽管a和b的选择已经固定,但它们被当作变量,其值仍然可
以被选择)。不间断地,它继续进行论证,却没有任何进展。
由于GPT-4实际上一直在尝试同一(无效的)归纳论证的不同变化,继续这一对话的几次尝试都陷入了
死胡同。另一方面,在讨论的早期部分,对原始问题的不同(但等同)表述 6偶尔会引出一条正确的推理路
线(取决于确切的措辞)。
原问题的第二个变体
接下来,我们尝试从另一个方向修改原来的问题,询问高阶多项式的情况。
6例如,如果在后续问题中,我们加上 "注意,右手边仍然是线性函数27x- 26
33
GPT-4
人类:你确定ee x是一个指数函数吗?
AI:嗯,这取决于你如何定义指数函数。有些资料对指数函数的定义是
人:为什么ee
x+y
= ee
x+ey
这一事实是正确的?这似乎意味着,ex+y = ex + ey 。
AI:不,这并不意味着ex+y = ex + ey 。这将是不正确的,因为指数化不是一个
将其改写为log(ee
x+y
)= log(ee
x+ey
)。然后,利用log(ez )=z对于任何z的属性,我们在指数和对数形式之间利用它们之间的
逆向关系得到。
人:等等,那么ex+y = ex + ey 是真的吗,还是不真的?你似乎在自相矛盾。
AI:ex+y = ex + ey ,这不是真的。这是一个常见的误解,是由于混淆了指数和对数形式而产生的。真实的情况是,
ee
x+y
= ee
x+ey
,这是一个不同的陈述。不同的是,在第一种说法中,指数是x+y,而在第二种说法中,指数是y。
指数为ex+y 。
ex+y = ex + ey ,根据指数函数的定义,这是真的。因此,我们可以来回走动
线性运算。ee
x+y
= ee
x+ey
是正确的,原因是我们可以使用对数函数
GPT-4
人:等等--在你尝试明确写出这个计算结果之前,也许你可以在不进行任何计算的情况下推导出一些东西?
AI:好吧,我能注意到的一点是,如果f是一个2度的多项式,那么f(f(x))是一个8度的多项式,因为多项式的组合
的度数是多项式的度数的积。然而,方程的右边,27x+13,是一个1度的多项式。这意味着存在一个矛盾,因为8度的多
项式不可能等于所有x值的1度的多项式,因此,没有2度的多项式满足方程f(f(x))=27x+13。
GPT-4
人类:对。所以,线性函数是很好的,因为如果你把一个线性函数与它本身进行组合,你仍然得到一个线性函数。还有哪些
具有这种性质的函数类别?
AI:其他一些具有这种特性的函数类别是指数函数、对数函数、数字函数和数字转换器。
函数。同样,如果f(x)=log x,那么f(f(x))=log(log x),这仍然是一个对数函数。
函数被称为迭代函数,它们在数学上有一些有趣的特性和应用。
而如果f (x) = xk 对于某个常数k,那么f (f (x)) = (x )kk = xk 2,这仍然是一个幂函数。这些
幂函数。例如,如果f (x) = ex ,那么f (f (x)) = ee x ,这仍然是一个指数。
在这一点上,GPT-4输出了一个很长的计算,犯了几个错误,并且没有得出正确的答案(因为在这种情
况下没有解决方案)。相反,我们打断它,并更抽象地建议高等级的k。
这是一个坚实的论据。我们现在用另一个问题来跟进:
这当然是个错误,因为指数函数和对数函数的类并不具有所需的属性(它们在组合下不封闭)。接下来,
我们检查GPT-4是否能够实现并纠正其错误。
在这种情况下,ee x不是一个指数,而是一个形式为f (x) = ax 的函数。
意思是说:"指数 "是一个初级函数,因为它没有一个恒定的基数。然而,其他一些资料对指数的定义是
在这种情况下,ee x。
是一个指数函数,因为它满足这个属性。这是因为ee
x+y
= ee
x+ey
= ee x ee y 、
使用指数化和对数的特性。所以,答案取决于你使用的定义。
这场讨论似乎又把GPT-4逼到了死胡同,随着对话的继续,它开始自相矛盾,产生越来越多的不连贯的论
点。
34
经验之谈:在这一点上,人们可能会猜测GPT-4只是缺乏关于指数函数行为的相关知识。然而,情况似乎
并非如此,因为该模型能够正确回答并证明 "ab c = (a )bc 是真的吗?"。这表明,与其他领域一样,GPT-4
的数学知识也是取决于环境的。虽然这并不意味着GPT-4只记住了常用的数学句子,并进行简单的模式匹配
来决定使用哪一个(例如,交替使用名字/数字等通常不会影响GPT-4的答案质量),但我们确实看到问题措
辞的变化可以改变模型显示的知识。
对谈话中强调的局限性的分析
上述对话突出了一个鲜明的对比,一方面是模型在需要相当程度的数学复杂性的任务和问题上的表现,另一
方面是它的基本数学错误和无效的陈述。如果是人类产生了后者,我们会怀疑他们的理解力。可以说,这种
对比对人类来说是非常不典型的。因此,我们面临着一个具有挑战性的问题:
该模型在多大程度上体现了对数学的 "真正理解"?
这个问题的定义并不明确。尽管如此,我们还是尝试着回答这个问题。我们首先要论证的是,数学理解有几
个方面:
1. 创造性推理:识别哪些论据、中间步骤、计算或代数操作在每个阶段可能是相关的,以规划出一条通
往解决方案的道路的能力。这一部分通常是基于启发式的猜测(或者在人类的情况下,是直觉),并
且通常被认为是数学问题解决的最实质和最深刻的方面。
2. 技术熟练程度:按照规定的步骤进行常规计算或操作的能力(如对一个函数进行微分或对一个方程中
的某项进行分离)。
3. 批判性推理:批判性地检查论证的每一步,将其分解为各个子部分,解释它所包含的内容,它与论证
的其他部分的关系,以及它为什么是正确的。当解决一个问题或产生一个数学论证时,这通常伴随着
当意识到某一步骤不正确时回溯的能力,并相应地修改论证。
我们现在要分析该模型在数学理解的这些方面的表现,并讨论其优点和缺点的一些可能原因。
创造性推理。当涉及到高中水平的高级问题时(偶尔也有更高的水平),该模型在选择正确的论证或解决
问题的路径方面表现出高水平的能力。将此与上面的例子联系起来,该模型正确地选择了在原始问题中尝试
写出递归关系,并在后续问题中论证多项式的组成程度。在这两种情况下,建议都是在 "知道 "这条道路是
否会通向正确的解决方案之前提出的。第节和附录D包含了更多的例子,展示了模型在这方面的能力,我
们把它比作一个优秀的高中生甚至更高的水平。
技术熟练度。虽然模型清楚地显示出对与不同程序(如解方程组)相关的算法的高度了解,但在执行这些
任务时也经常犯错,如犯算术错误、混淆运算顺序或使用不正确的符号。我们在附录中进一步讨论这些
典型错误的一些例子。我们推测,这一方面可以通过让模型访问代码的执行来改善,这将使它能够更准确地
进行计算或检查等价物;附录D中提供了一些这方面的证据。
批判性推理。该模型在第三个方面表现出明显的不足,即批判性地检查论证的每个步骤。这可以归结为两
个因素。首先,模型的训练数据主要由问题及其解决方案组成,但它并没有捕捉到表达导致数学问题解决的
思考过程的措辞,在这个过程中,人们会做出猜测,遇到错误,验证和检查解决方案的哪些部分是正确的,
回溯等等。换句话说,由于训练数据基本上是对解决方案的线性阐述,在此数据上训练的模型没有动力参与
"内部对话",在对话中重新审视和批判性地评估自己的建议和计算。
35
第二,尝试事情和回溯的限制是该模型所操作的下一个词预测范式所固有的。它只生成下一个词,而且它
没有机制来修订或修改其先前的输出,这使得它 "线性 "地产生论据。
因此,宽泛地说,我们可以把这个模型的缺点看作是 "天真 "的注意力错误与作为下一个标记预测机器的
"线性思维 "所带来的更基本的限制的结合。一个重要的问题是,上述哪些问题可以通过进一步的训练(也许
用一个更大的模型)来缓解。对于前一个问题,我们认为进一步的训练可以缓解这个问题,正如超人的编码
能力所证明的那样,这种注意力错误也是致命的;一个关键的区别是,GPT-4很可能是在比数学数据多得多
的代码上训练的。我们认为,后一个问题构成了更深刻的限制。我们将在第8节详细讨论这个问题。
在本节的其余部分,我们评估了该模型在常用的数学问题解决基准上的能力,并展示了该模型在真实世
界场景中应用定量思维的能力。我们还比较了GPT-4和ChatGPT在这两个基准和其他数学问题上的表现(更
多例子见附录D)。粗略地说,我们发现GPT-4比ChatGPT表现出了明显的改进:GPT-4表现出对问题更深
入的理解,并能在许多复杂的问题上运用适当的推理。而ChatGPT则经常求助于低级别的启发式方法,提到
与问题只有表面关系的公式和概念,这表明它缺乏实际的理解力。在本节的最后,我们用几个例子来证明高
级数学的能力。
数学问题数据集上的表现
我们现在进行系统的实验,比较GPT-4、ChatGPT和Minerva(用于解决数学问题的最先进的LLM)在两个通
常用作基准的数学数据集上的性能:GSM8K [CKB+ 21] 和MATH [HBK +21]。GSM8K是一个小学数学数据
集,包含8000个问题和答案,主题包括算术、分数、几何和文字问题。MATH是一个高中数学数据集,包含
12,500个问题和答案,主题包括代数、微积分、三角学和概率。我们还在MMMLU-STEM数据集上测试了该
模型,该数据集包含约2000道多选题(4选1),涵盖高中和大学STEM主题。这些数据集突出了GPT-4使用
正确方法解决高中水平数学问题的能力。
重要声明:正如介绍中所解释的(例如见脚注1),我们的实验是在GPT-4的早期版本上进行的。特别是在
GPT-4的最终版本上,所有的定量结果都会有所不同,尽管总体趋势仍然是一样的。我们在这里提供的数字
只是为了说明问题,最终的基准结果可以在OpenAI的技术报告[Ope23]中找到。
缓解过度拟合。使用基准来评估LLM的推理能力的一个潜在问题是,他们可能在预训练期间记住了基准
数据集的问题或答案,因为这些问题可能是数据集的一部分。为了减少这种形式的过拟合的可能性,我们
采取了以下策略:
1. 在基准测试中,我们通过要求GPT-4(1)编写解决问题的模板来测试它、
(2)先写下步骤,再写下最终答案。模板不在网上,MMMLU-STEM等数据集的详细解决方案也不在网
上(只有答案在)。
2. 我们从数据集中选取一个有代表性的问题,其中GPT-4解题正确,而text-davinci-003解题不正确。我们
改变问题中的数字,发现GPT-4一贯正确,而text-davinci-003一贯错误。
3. 我们还精心设计了几个新问题,仔细检查了这些问题或接近的变体没有出现在网上。看来,GPT-4在这
些问题上表现出了相同的性能。
36
通过交替的数字进行GPT-4记忆测试
提示:如果一个3度的多项式满足p(x)=0,x=-3,8,5,p(1)=10,那么什么是|p(0)|?
图:测试GPT-4是否能记住原始问题的确切陈述的一种方法是改变输入中x和p(1)的值。我们从
{-10, -9, - -, -2}∪{2, 3, - -, 10}的集合中随机选择三个x的值,从{-10, -9, - -, -1}的集合中选择一个p(1)
的值。∪
{1, 2, - -, 10},并使用它们来构建新的输入。我们比较了GPT-4和text-davinci-003在这些输入上
的准确性。结果显示,GPT-4的准确率达到了%,而text-davinci-003的准确率只有%。
这表明GPT-4并不依赖于记忆准确的问题陈述,而是依赖于应用一般的解决方法。虽然GPT-4有可
能记住了解题模板,但这不一定是一个缺陷,因为这也是人类解决数学问题的一种常见方式。
对于基准数据集,我们评估了模型的单一模型准确性,即模型在一次尝试中正确回答问题的百分比。结
果显示在下表中:
模型 GSM8K 数学 MMMLU-STEM
文本-达文西-003 % % %
密涅瓦 % % %
GPT-4 % % %
表3:不同模型在数学数据集上的准确度
GPT-4的准确率比其他模型有适度的提高,但通过人工检查GPT-4在MATH上的答案,发现GPT-4的错误
主要是由于算术和计算错误造成的:模型在管理大数字或复杂表达式时表现出较大的缺陷。相反,在大多数
情况下,ChatGPT产生的论证是不连贯的,并导致了与问题的解决一开始就不相关的计算。图给出了一
个例子,说明了这种差异。我们在附录中进一步讨论计算错误的问题。
GPT-4生成模板
提示:安迪从18个植物中收获了所有的西红柿,每个植物有7个西红柿。如果他把一半的西红柿晒干,并把剩下的三分之一变成意
大利面酱,还剩下多少个西红柿?
你能生成一个没有数字的问题的模板解决方案吗?
使用符号,模板解决方案可以看起来像这样:
- 设P为植株数,T为每株西红柿的数量。那么收获的西红柿总数为P x T。
- 让D是被烘干的西红柿的数量。那么D = (P x T) / 2。
- 假设M是变成marinara酱的西红柿的数量。那么M=((P×T)-D)/3。
- 让L是剩下的西红柿的数量。那么L=(P×T)-D-M。
- - -
37
-
3
3
9
3 3
错误类型 错误解决方案的百分比
算术错误(包括计数)。 68%
对问题陈述的误解 10%
错误的方法 22%
表4:在随机选取的100个错误答案上对MATH数据集的GPT-4错误进行人工检查。我们可以看到
,GPT-4在相当多的问题上使用了正确的方法。
GPT-4 VS ChatGPT
承诺:
在三小时的大雨中,一个雨桶收集了房屋屋顶上的水。桶中水的高度以每小时r(t)=4t e3− 英尺的速度增加,其中t是自
雨开始以来的时间(小时)。在时间t=1小时时,水的高度是英尺。在时间t=2小时时,桶中的水的高度是多少?
GPT-4:
如果我们能找到一个函数F,使F′ (t)=r(t),那么F(2)F(1)就是水的高度从t=1增加到t=2的量。
为了找到这样一个函数F,我们可以使用部分积分的技术,即如果u和v是可微的函数,那么
∫
udv = uv -
∫ vdu
将此应用于r(t) = 4t e3− ,我们可以选择u = t3 ,dv = 4e− dt,因此,du = 3t2 dt,v = - 8 e− 。
那么我们有 ∫
= - 8 -
∫ - 8
简化并再次应用部分积分,我们可以选择u = t2 ,dv = - 8 e− dt,所以du = 2tdtandv =
16e− 。 那么我们有
...
∫
4t e3− dt = -
8
+
3
9
16
9
ChatGPT:
为了找到时间t=2小时时桶中水的高度,我们需要找到r(2)的值。我们可以通过在r(t)的表达式中用2来代替t来实现这个目
的:
r(2) = 4(2) e3−(2) = 32e−3
为了找到时间t=2小时时桶中水的高度,我们需要将第一小时收集的水量(英尺)与第二小时收集的水量(r(
2)英尺)相加。因此,在时间t=2小时时,桶里的水的总高度是:
+ r(2) = + 32e−3 ≈
因此,在时间t=2小时时,桶中水的高度约为英尺。
图:GPT-4与ChatGPT在AP问题上的对比。GPT-4使用了正确的方法,但由于计算错误而产生
了错误的最终答案,而ChatGPT则产生了一个不连贯的论证。
各种领域的数学建模
数学推理不仅仅是一种解决数学练习和问题的技能,它也是一种理解和交流各种背景和情况的工具。在本节
中,我们将评估GPT-4运用数学思想和技巧解决现实世界问题的能力,其中一些问题是
∫16
-
38
不是严格意义上的数学,但需要定量思维。我们在下文中展示了GPT-4是如何成功地为一个需要大量跨学科
知识的复杂系统建立一个可信的数学模型的,而ChatGPT却未能取得有意义的进展。
GPT-4 VS ChatGPT
承诺:
请提出一个数学模型来分析职业《星际争霸2》选手在比赛期间的生理功率率。请确保你的模型考虑到选手的每分钟行
动数(APM)和选手的比赛情况。请保持你的答案简洁。
GPT-4:
剖析职业《星际争霸2》选手在比赛中随时间变化的生理功率率的一个可能的数学模型是:P(t) = B + A * f(t) * g(r) 其中:- P(t)是时间t的功率率,单位是
瓦特。
- B是以瓦特为单位的基础代谢率,这取决于球员的年龄、体重、身高和性别。
- A是一个常数,代表每单位APM的额外能量消耗 - f(t)是一个函数,模拟APM随时间的变化,可能取决于比赛时间、游戏阶段、玩家的策略和对手的行动
- g(r)是一个函数,用来模拟比赛修改器,它可能取决于玩家所玩的比赛、对手所玩的比赛和地图特征。 这个模型的一些可能的假设和简化是:
- 功率率与APM成正比,APM是衡量选手的速度和动作强度的常用指标
- 随着时间的推移,APM遵循一个一般模式,即在游戏早期增加,在游戏中期达到顶峰,在游戏后期减少,但可能因具体的比赛条件而有所不同
- 种族修改器反映了每个种族的不同特点和要求,如单位的数量和类型,微观和宏观管理的数量和频率,以及侵略或防御的水平
- 基础代谢率和恒定系数A是根据《星际争霸2》职业选手的平均值估计的。
- 该模型忽略了可能影响功率率的其他因素,如运动员的情绪、压力、疲劳、水化、营养和外部环境 如何估计该模型的参数和函数的例子是::- B = 80 W,基于
一个25岁男性的平均基础代谢率,体重为70公斤,身高为175厘米
- A = W/APM,基于每个APM需要额外 W能量的假设
- f(t) = 100 + 50 * sin(pi * t / T),基于假设APM遵循正弦模式,最小为50 APM,最大为150 APM,周期为T分钟,这是平均比赛时间。
- g(r) = 1 + * (r - 1), 基于这样的假设:种族修改器按照Protoss、Terren和Zerg的顺序为每个种族增加,反映了每个种族的复杂性和多样性的增加。
使用这个例子,一个Zerg玩家在与Protoss玩家的20分钟比赛中,10分钟的力量率将是:P(10) = 80 + * (100 + 50 * sin(pi * 10 / 20)) * (1 + *
(3 - 1))
= 101 W
ChatGPT:
一个可能的数学模型可以描述一个职业《星际争霸2》选手在比赛中随时间变化的生理功率率:
功率率=f(APM, 比赛, 时间)
其中f是一个函数,将玩家的每分钟行动(APM)、比赛和时间映射到玩家的生理功率率。APM是衡量玩家在游戏中做决定和执行行动的速度和效率。种族是玩家在游戏
中选择的物种,它可能影响玩家的APM和功率率。时间是指比赛中经过的时间。
这个功能可以用以往比赛的数据、生理监测设备和比赛记录的回归分析来估计。由此产生的模型可以用来预测球员在未来比赛中的功率率,并帮助球员和教练员
优化他们的表现和训练。
图:GPT-4建立了一个数学模型,用于分析《星际争霸2》职业选手在比赛中随时间变化的功率
率。
费米问题。费米问题是数学建模问题的一种特殊类型。费米问题涉及对难以或无法直接测量的数量或现象
进行有根据的猜测,使用逻辑、近似和数量级推理。例如,一些众所周知的费米问题是:"芝加哥有多少个
钢琴调音师?"和 "太阳峰色的电场在其到达地球的过程中振荡了多少次?"。要解决这些问题,几乎不需要
额外的信息,它需要定量思维和一般知识。在此,我们展示了GPT-4在用定量思维回答费米问题方面的杰出
能力。我们在图中展示了两个例子,GPT-4通过层层合理的假设和有根据的猜测对它们进行尝试,而
ChatGPT则立即承认失败,几乎没有显示出数学思维的痕迹。尽管GPT-4的最终答案可能相差甚远,但它在
这些问题上表现出了令人印象深刻的攻击角度。
39
GPT-4 VS ChatGPT
承诺:
请估计一下,每天大概有多少个费米问题被问及?
GPT-4:
对于每天有多少个费米问题,没有确切的答案,但一个可能的方法是根据现有数据做出一些假设并使用一些估计。下面是一个可能的例子:
- 假设费米问题是一个需要对一些不容易测量或已知的数量或现象进行数量级估计的问题,如芝加哥的钢琴调音师数量、埃菲尔铁塔的质量或密歇根湖的水量。
- 假设费米问题更有可能被那些对科学、数学、工程或逻辑感兴趣的人提出,或者那些从事某种形式的教育、研究或涉及此类话题的问题解决的人提出。
- 假设世界人口约为78亿,其中约25%的人处于15至64岁的年龄段,这大致是工作年龄的人口。这样就有大约亿潜在的费米问题提出者。
- 假设劳动年龄人口的平均识字率约为86%,识字是提出或回答费米问题的先决条件。这样就有大约亿识字的潜在费米问题提出者。
- 假设有文化的潜在费米问题提问者对科学、数学、工程或逻辑的平均兴趣率约为10%,而兴趣是提出或回答费米问题的可能性的代表。这样就有大约亿
感兴趣的潜在费米问题提问者。
- 假设在感兴趣的潜在费米问题提问者中,提出或回答费米问题的平均频率约为每月一次,而且这一频率与一周中的哪一天、一天中的哪个时间或一年中的哪个季节
无关。因此,每天大约有560万个费米问题被提出或回答。
因此,基于这些假设和估计,每天有多少个费米问题被问及的粗略答案是大约560万。然而,这个答案有很大的不确定性和变化,取决于假设和估计的有效性和准确性
,以及构成费米问题的定义和范围。
ChatGPT:
每天询问的费米问题的数量很难准确估计。然而,根据经常提出此类问题的网站(如论坛、问答网站等)的估计日活跃用户数,我们可以粗略估计每天提出的费米问
题的数量。例如,如果一个网站有100万活跃用户,每个用户每天提出1个费米问题,那么该网站每天提出的费米问题的数量将是100万。然而,这只是一个粗略的估
计,实际数字可能会更高或更低。
承诺:
请提供一个粗略的估计,地球上总共有多少Nvidia A100 GPU。
GPT-4:
关于地球上总共有多少Nvidia A100,没有确切的答案,但处理这个问题的一个可能的方法是使用一些可用的数据和假设来做一个粗略的估计。以下是一些可能的
步骤和来源:- 根据Nvidia的
网站上,A100有各种外形尺寸,如PCIe卡、SXM4模块、HGX A100系统和云实例。每个外形尺寸可能有不同数量的A100 GPU,从一个到16个不等。为了简单起见,我们
可以假设在所有的形式因素中,每个单元平均有4个A100 GPU。
- 根据Nvidia的2021年第四季度财报电话记录,该公司的数据中心部门的收入达到创纪录的亿美元,其中包括A100和其他产品。假设A100占这一部门的很大
一部分,我们可以估计,A100在2021年第四季度的收入约为20亿美元。
- 根据Nvidia的网站,A100 PCIe卡的上市价格为11,000美元,而HGX A100 4-GPU系统的上市价格为
$69,000.假设这些价格代表了A100在所有外形因素中的平均售价,我们可以估计,配备四个A100图形处理器的设备的平均售价约为20,000美元。- 用估计的A100收
入除以估计的平均售价,我们可以估计,Nvidia在2021年第四季度售出了约10万台各带四个A100 GPU的设备,或约40万个A100 GPU。
- 假设2021年第四季度是A100销售的典型季度,而A100是在2020年中期推出的,我们可以估计,Nvidia在2020年和2021年各卖出了约80万套A100 GPU,即总共约320
万套A100 GPU。
- 考虑到价格、销售、外形尺寸和发布日期的可能变化,再加上一定的误差,我们可以估计,截至2022年初,地球上有250万至400万颗A100 GPU。
当然,这一估计是基于许多假设和不确定因素,不应作为一个确定的或权威的答案。Nvidia出售的A100 GPU有可能比估计的多或少,或者一些A100 GPU已经退役、损
坏或丢失。因此,地球上的A100 GPU的实际数量可能高于或低于估计。
ChatGPT:
无法确定地球上Nvidia A100 GPU的确切数量,因为该公司没有公开披露销售数字。然而,截至2021年,估计全球有数十万颗Nvidia A100 GPU在使用。
图:GPT-4回答费米问题。
高等数学
在本节的最后,我们用几个例子来证明该模型在更高级的数学题目上的潜在表现。这些例子是有意选择的,
以证明模型的能力,重要的是要注意,模型并不总是在这种难度的问题上取得成功。相反,它们是为了展示
模型的能力范围,暗示未来的模型可能会实现的目标。
40
我们从2022年国际数学奥林匹克竞赛(IMO)中出现的一个问题的简化开始。
GPT-4
承诺:
假设g是一个连续的平滑函数,对于每一个x>0,有一个且只有一个y>0,使得
g(x) + g(y) ≤ 2xy。你能证明g(x)=x ?2
GPT-4:
有几种可能的方法来处理这个问题,但一种可能的方法如下:
- 为矛盾起见,假设g(x)不等于x2 ,因为某些x > 0。
- 那么,对于该x,要么g(x)<x2 ,要么g(x)>x2 。
- 如果g(x)< x2 ,那么让y = x。那么g(x)+g(y)= 2g(x)< 2x2 = 2xy。
- 如果g(x)+g(y)<2xy,则g(x)+g(y)严格小于正x和y的2xy的上界。
- 这意味着有一些空间可以稍微增加y而仍然满足不等式g(x)+g(y)≤2xy。
- 例如,让y′ = y + є,其中є是一个小的正数,使g(x)+g(y′ ) < 2xy。这是有可能的,因为
g是连续的、平滑的,所以它没有任何跳跃或扭结,不会妨碍对ε的这种选择。
- 然后,y′ 是另一个正数,使g(x)+g(y′ )≤2xy′ ,这与假设相矛盾,即y是唯一一个满足此条件的正数,给定x。
- 因此,如果g(x)< x2 ,那么g(x)+g(y)不可能严格小于2xy,它必须等于2xy。
- 如果g(x)>x2 ,那么让y∗ 是g(x) + g(y) = 2xy的唯一正解。那么g(y∗ ) < (y )∗2 ,因为否则我们会有g(x) + g(y∗ ) >
2xy,这与给定x的y∗ 的存在相矛盾。
- 但接下来,通过与之前相同的论证,我们可以让x = y = y∗ ,并得到一个矛盾,因为g(y)+g(y)= 2g(y)<
2y2 = 2yy,这与给定y的唯一性相矛盾。
- 因此,按照要求,对于所有的x>0,g(x)必须等于x 。2
这个问题与那些通常出现在STEM科目的本科微积分考试中的问题的不同之处在于,它不符合结构化的
模板。解决它需要一个更有创造性的方法,因为没有明确的策略来开始证明。例如,将论证分成两种情况(
g(x)>x2 和g(x)<x2 )的决定并不明显,y∗ 的选择也不明显(其原因在论证的后期才变得清晰)。此外,该解
决方案需要本科水平的微积分知识。尽管如此,GPT-4还是成功地产生了一个正确的证明。
第二个例子是讨论的形式,涉及算法和图论,这些话题通常在计算机科学本科学位的第一或第二年涉及
。该讨论与研究生水平的面试相当。
41
×
Σ
每个子集只涉及一个成分中的变量。因此,k-SAT实例等同于
2n i种可能的组合可以尝试,而分割图形的q条边有2q 种可能的分配。
GPT-4
人类:你能提醒我什么是k-SAT问题吗?
AI:K-SAT问题是一种逻辑问题,涉及到如何为出现在子句集合中的一组变量分配真值(真或假),每个子句都由恰好是K个
字词的二元连接(逻辑OR)组成。一个字词要么是一个变量,要么是它的否定值。例如,(x1 OR NOT x2 OR x3 )是一个k = 3
的子句,有三个字词。
问题是要找到一个对变量的真值分配,以满足(使之为真)所有的
中的条款,或者确定不存在这样的分配。这就是所谓的可满足性问题,简称SAT。
人:解决k-SAT问题最明显的方法是什么(你在教课时首先会参考的)?
AI:处理K-SAT问题有不同的方法,但最明显和最直接的方法之一是使用蛮力,或穷举搜索。这意味着尝试所有可能的变量真
值组合,并检查其中是否有满足所有条款的情况。例如,如果有n个变量,有2个n 可能的组合可以尝试。
人类:好的,很好。现在,给定一个k-SAT问题的实例,假设我定义一个图,其中每个
顶点指的是实例中的一个变量,两个顶点通过一条边连接,当且仅当
如果这两个变量出现在同一条款中。假设对于某个实例,我刚才描述的图有两个大小为n/2的连接部分。在这种情况下,是否
有更有效的方法来解决k-SAT实例?
AI:是的,在这种情况下,有一种更有效的方法来解决k-SAT实例。由于该图有两个相连的部分,这意味着条款可以被划分
为两个子集,例如
解决两个独立的k-SAT实例,每个实例有n/2个变量。这就减少了可能的
要尝试的组合从2个n 到2个n/2 + 2个n/2 ,这对大的n来说要小得多。一般来说,图越是不相连,k-SAT实例就越容易,因为它
可以被分解成更小的子问题。
人:现在假设该图只有一个连接部分,但如果你去掉一条单边,那么它将有两个连接部分。在这种情况下,你能提出一种算法吗?
AI:在这种情况下,一种可能的算法是使用分而治之的策略。首先,确定一条边,如果将其移除,将把图分成两个部分。
然后,给由该边连接的变量之一分配一个真值,并递归地解决所产生的k-SAT实例。如果该实例是可满足的,则返回解。如
果实例是不可满足的,那么就给同一个变量分配相反的真值,并再次递归地求解k-SAT实例。如果实例仍然是不可满足的,
那么返回原始k-SAT实例是不可满足的。这
该算法将尝试的可能组合的数量从2个n 减少到2个n−1 + 2个n−1 ,这仍然比蛮力好。然而,这种算法取决于找到分割
图形的边,这在一般情况下可能不容易。
人类:你能否将这一原则推广到图形有q条边的情况下,如果删除这些边,就会将图形分成p个连接部分?
AI:一般
变量,即
原则是类似的,但更复杂。我们的想法是,将真值分配给
的q条边相连,并求解所得到的k-SAT实例。
递归为 每个可能的分配。如果任何一个分配导致了一个可满足的k-SAT,在
姿态,然后返回解决方案。如果没有一个赋值导致一个可满足的k-SAT实例,那么
返回原始k-SAT实例是不可满足的。这个算法减少了可能的
组合到 试着从2个n 到2个q × 2个(n−q)/p ,如果q小,p大,这比蛮力好。
大。然而,这种算法也取决于找到分割图形的q条边,这可能是
一般情况下很难。
人类:请注意,你写的复杂度只有在所有连接部件都是相同大小的情况下才正确。你能找到一个更通用的公式吗?
AI:是的,你是对的。更一般的公式是2q i 2n i ,其中ni 是第i个连接组件中的变量数,
而总和是在所有p个组件上。这是因为每个组件都有
图:关于k-SAT问题和图论的讨论。
GPT-4展示了对图论和算法概念的理解。它能够推理出一个与约束满足问题有关的抽象图结构,并推导
出关于SAT问题的正确结论(据我们所知,这种结构并没有出现在数学文献中)。该对话反映了对所讨论的
本科生水平的数学概念的深刻理解,以及相当程度的创造性。虽然GPT-4在一个例子中犯了错误(写成2n−1
而不是2n/2 ),但随后的对话表明,这个错误并不反映缺乏理解。相反,GPT-4似乎是以这样的方式犯了一
个错误
如果所有的ni 都等于(n - q)/p,这个公式就等于前一个公式。
42
类似于人类的打字错误,因为它后来提供了正确的公式概括。
我们的最后一个例子需要掌握一个新的数学定义,并结合数论和概率的知识。该模型产生了一个合理的
论证,但在最后犯了一个计算错误,导致最终答案不正确。
GPT-4
承诺:
一个好的数字是一个5位数,其中1,3,5位数是奇数,它们形成一个递增的算术级数,并且这个数字能被3整除。如果我随
机抽取一个好的数字,其第2位数是4的概率是多少?
GPT-4:
有几种方法来处理这个问题,但一个可能的方法是使用一些模块化算术和枚举法。首先,我们可以观察到,当且仅当一
个5位数的数字之和能被3整除时,它才能被3整除。因此,如果我们让这个5位数是abcde,其中a、c和e是形成算术级数
的奇数,我们就有了这个方程式:
A + B + C + D + E = 0 (mod 3)
我们还可以观察到,算术级数中任何两个连续项之间的差值都是常数,所以我们可以让这个差值为f,其中f是一个正整
数。那么我们就有
c = a + f, e = a + 2f 将
这些代入上述方程,我们得到:
a + b + a + f + d + a + 2f = 0 (mod 3)
3a + b + d + 3f = 0 (mod 3)
由于3a和3f总是能被3整除,我们可以忽略它们,把注意力放在方程上:
b + d = 0 (mod 3)
a、f和e的选择并不影响这个方程,所以我们可以固定它们而改变b和d。 例如,让a=1,f
=2,而e=5。那么我们有b和d的可能值为:
B = 0,D = 0,3,6,9;B = 1,D = 2,5,8;B = 2,D = 1,4,7;B = 3,D = 0,3,6,9;B = 4,D = 2,5
,8
B = 5,D = 1,4,7;B = 6,D = 0,3,6,9;B = 7,D = 2,5,8;B = 8,D = 1,4,7;B = 9,D = 0,3,6
,9
我们可以看到,b有10个可能的值,对于每个b的值,d有4个可能的值。在这40对中,只有3对b=4,即(4,2)、(4,
5)和(4,8)。所以,b=4的概率是3/40。
43
GPT-4和ChatGPT:符号操作
回答以下问题。
问:谁是美国的现任总统?
GPT-4:
唐纳德-特朗
普
ChatGPT:
我很抱歉,但我无法浏览互联网,我的知识仅限
于2021年之前的已知内容。
问:什么是sqrt(34324 * 2432)
?
GPT-4:
ChatGPT:
34324*2432的平方根约为
。
问:"supralapsarian "一词的第13个字母是什么?
GPT-4:
supralapsarian "一词的第13
个字母是N。
ChatGPT:
supralapsarian "一词的第13
个字母是 "s"。
5 与世界的互动
智能的一个关键方面是交互性,我们将其定义为与其他代理、工具和环境沟通并对其反馈做出反应的能力。
交互性对于智能是很重要的,因为它使代理人能够获得和应用知识,解决问题,适应不断变化的情况,并实
现超出其个人能力的目标。例如,人类彼此之间以及与环境之间的互动,以合作、学习、教学、谈判、创造
等。互动性要求代理人理解复杂的想法,快速学习,并从经验中学习,因此它与我们对智能的定义紧密相连
。
在这一节中,我们探讨了交互性的两个维度:工具使用和具身交互。工具使用涉及到使用外部资源,如
搜索引擎、计算器或其他API,来完成对代理本身来说很难或不可能的任务。体现式交互涉及使用自然语言
作为文本界面,与模拟或现实世界的环境进行交互,并接受来自它们的反馈。
工具的使用
尽管在前面的章节中,GPT-4在各种任务上的表现令人印象深刻,但它仍然受到各种有据可查的语言模型的
弱点的影响。这些弱点包括(但不限于)缺乏对当前世界的了解,难以进行符号运算(如数学),以及无法
执行代码。例如,在图中,GPT-4使用过时的信息来回答第一个问题,并且未能对第二和第三个问题进
行适当的操作。ChatGPT拒绝回答第一个问题,并且在其他问题上也失败了。
图:目前的知识和符号操作对语言模型来说是很难的。
然而,GPT-4能够使用外部工具,如搜索引擎或API来克服这些(和其他)限制。例如,在图中,我
们展示了一个简单的提示,让GPT-4访问搜索引擎和其他功能。在执行过程中,当这些函数之一被调用时,
我们会暂停生成,调用相应的函数,将结果粘贴回提示符中,然后继续生成。在这些
44
GPT-4:工具预热
计算机正在回答问题。如果计算机需要任何当前信息来回答问题,它通过说SEARCH("query")来搜索网络,读取结果中的片段
,然后回答问题。如果它需要运行任何计算,它说CALC(expression),然后回答问题。如果它需要从字符串中获取一个特定
的字符,它会调用CHARACTER(string, index)。
<|endofprompt|>
问:谁是美国的现任总统?计算机:搜索("现任美国总统")
> 搜索片段
[1] 乔-拜登:总统|白宫
总统乔-拜登 副总统卡马拉-哈里斯 第一夫人吉尔-拜登博士 第二先生道格拉斯-艾姆霍夫 内阁 总统行政办公室 下载官
方肖像...
[2] 谁是现任美国总统?| 美国太阳报
谁是现任美国总统?Katrina Schollenberger Jennifer Roback NY 发布时间:美东时间2022年7月2日8:30 更新时间
:美东时间2022年7月2日8:30:美东时间2022年7月2日8:39 唐纳德-特朗普在2016年总统选举中有争议地击败了希拉里-
克林顿,成为美国第45任总统。
[3] 美国总统 - 维基百科
乔-拜登是美国第46任也是现任总统,于2021年1月20日就职。目录 1 历史和发展 起源 1789{1933年 帝国总
统制 对总统制演变的批评 2 立法权 签署和否决法案 设定议程 颁布法规
计算机:乔-拜登
问:什么是sqrt(34324*2432)?计算机
:CALC(sqrt(34324*2432))
>
计算机:
问:世界上第13个字母 "supralapsarian "是什么?计算机:
CHARACTER('supralapsarian', 13)
> a
计算机:supralapsarian "这个词的第13个字母是a。
图:GPT-4使用各种工具回答问题的例子。
简单的例子中,GPT-4能够在极少的指导和没有演示的情况下使用这些工具,然后适当地利用输出结果(注
意第二个搜索结果包含潜在的冲突信息,而GPT-4仍然能够推断出正确的答案)。相比之下,ChatGPT(未
显示)在被指导使用工具后并没有持续改变对图中问题的答案--它仍然拒绝回答第一个问题;对于其他两
个问题,它有时根本不调用工具,有时在给出错误的答案后调用。虽然在图中我们指定了哪些工具可用
,但GPT-4也可以列出为了解决一个任务需要哪些工具(或API函数)(例子见附录,图,GPT-4列出了
完成一个任务需要的四个API函数,然后继续有效地使用它们)。
使用多种工具来解决更复杂的任务
解决更复杂的任务需要GPT-4结合使用多种工具。我们现在分享一些例子,说明GPT-4能够依靠自己的能力
来理解手头的任务,识别所需的工具,以正确的顺序使用它们,并对它们的输出作出适当的反应。
黑客攻击。在图(附录)中,我们告诉GPT-4它可以在一个为数字取证和渗透测试而设计的Linux发行
版上执行命令,并让它负责入侵本地网络上的一台计算机。在没有任何信息的情况下,它能够制定并执行
一个计划,即扫描网络中的设备,确定一个目标主机,运行一个尝试普通密码的可执行程序,并获得对该机
器的root权限。虽然机器很容易被入侵,但我们注意到GPT-4精通Linux命令,能够运行适当的命令,解释其
输出,并进行调整,以解决其目标。ChatGPT拒绝执行这项任务,理由是它有可能是非法的。
45
图:GPT-4扮演动物园管理员的角色,在命令提示符下完成任务。
通过命令行指令管理一个动物园。GPT-4在其训练数据中可能已经看到了前一个例子的近似拷贝。为
了检查它在一个肯定没有见过的任务上的工具使用情况,我们创造了一个新的场景,其中包括自然语言理解
和大量的命令行使用。在这个场景中,我们让GPT-4扮演一个动物园管理员的角色,完成一个文件中指定的
六个任务序列(见图,GPT-4一开始就正确地发出了这个命令类型)。为了完成这些任务,
GPT-4必须操作代表不同动物、区域和动物园信息的文件和文件夹,这就要求它既要了解手头的任务(例
如,弄清楚哪些动物被错放在 "热带雨林 "中),又要了解适当的命令。
尽管挑战的范围很广(完成所有任务需要100多条命令),GPT-4能够解决几乎所有任务。它唯一的失败
是在回复邮件时编造内容,而不是从文件中读取指定的内容(附录),这个问题通过对提示的简单调
整得到解决(附录)。虽然GPT-4经常显示出聪明才智(例如,手动运行广度优先搜索来浏览目录),
但它经常运行不正确的命令,例如删除一个名称中有空格的文件(例如,"Polar ")而不加引号。
然而,考虑到系统的反应("找不到......"),它能够在没有人工干预的情况下自我纠正。有趣的是,GPT-4
在随后的带空格的文件中也犯了同样的错误(并且总是应用同样的修正),尽管它可以预测错误的命令会有
什么错误信息。我们的假设是,一旦建立了错误模式,它就会在其余的生成中重复这个模式,就像模拟一个
犯同样错误的用户一样。
管理日历和电子邮件。 在图中,我们说明了GPT-4如何结合使用多种工具来管理用户的日历和电子邮
件。用户要求GPT-4协调与另外两个人的晚餐,并将其定在用户有空的那一天。GPT-4使用可用的API来检
索用户的日历信息,通过电子邮件与其他人协调,预订晚餐,并将细节信息发送给用户。在这个例子中,
GPT-4展示了它结合多种工具和API的能力,以及对自由形式的输出进行推理,以解决一个复杂的任务(例
如,"星期二或星期三晚上 "与 "从星期一到星期四的任何一天 "以及用户在星期二很忙的事实相结合,得出星
期三是唯一可行的选择)。ChatGPT(未显示)无法完成同 样 的 任 务 , 而 是 写 了 一 个 函 数 , 其 中
"joe@ "向 "luke@ "发送了一个单一的日期,并检查响应是否包含标记 "是"。当
其函数的输出被赋予时,ChatGPT也无法做出回应。
浏览网页获取信息。在图和图中,GPT-4使用搜索引擎和SUMMARIZE函数(下载网页并调用
自身来总结手头的问题)来浏览网页并回答问题。在这两种情况下,GPT-4能够识别相关的搜索结果,以便
更深入地查看,总结这些结果,并提供准确的答案,即使问题包含一个错误的前提。虽然先前版本的LLMs
也可以被教导浏览网络[NHB +21],但我们
GPT-4
完成当前目录下中的任务。
<|endofprompt|>
微软视窗[版本]
(c) 微软公司。保留所有权利。
C:\Zoo> 输入
1. 有一些动物档案不属于热带雨林区。请帮助我
移除它们。
2. 用学名重新命名澳大利西亚的所有动物文件。同时,为相应文件中的每一种动物写上简短的描述。
3. 一些动物的文件名拼错了。请为我修复每个地区的文件。
4. 我们在新来的区域有一些新的动物档案。把它们各自迁移到其他合适的区域。通过回声解释你的每一
个决定。
5. 创建一个名为 "温带森林 "的新区域。在那里添加一些动物。
6. 为每封电子邮件起草回复,在文件中添加 "回复":... "放入该文件。
mailto:joe@
mailto:luke@
46
GPT-4
一台计算机要根据自然语言指令来管理用户的日历和电子邮件。要做到这一点,它需要访问以下API功能:
- event(date, time, event name, location, description) - 这个函数将允许计算机根据所提供
的信息向用户的日历添加一个事件。
- event(event id) - 这个函数将允许计算机根据事件的唯一标识符,从用户的日历中删除一个事件
。
- events(date) - 这个函数将允许计算机检索为某个给定日期安排的所有事件。
- event(event id, date, time, event name, location, description) - 这个函数将允许计算
机用新的信息更新一个现有的事件。
- (receiver, subject, message) - 这个函数将允许计算机向指定的收件人发送一封带有指定主题和信息的电
子邮件。
- (inbox, filter) - 这个函数将允许计算机从用户的收件箱中检索电子邮件,可以选择按发件人、
主题或日期进行过滤。
- (question) - 给用户发信息
用户指示:我想在本周与joe@ 和luke@ 在Contoso餐厅(他们的邮箱是
reservations@)共进晚餐。请通过电子邮件与大家协调,并在我有时间的晚上预订晚餐。今天是
12/05/2022
现在,考虑到上面的API,这里是一个命令行,计算机调用上面的API来做用户要求的事情。计算机只调用API函数并获得响应
。<|endofprompt|>命令行
> events(12/05/2022)
8:00-10:00p 全天公司活动
> (joe@, "Dinner at Contoso", "嗨,乔,你这周想在Contoso餐厅吃晚饭吗?让我知道你
哪天晚上有空。")
发送电子邮件
> (luke@, "Dinner at Contoso", "Hi Luke, 你这周想在Contoso餐厅吃晚饭吗?让我知道你
哪天晚上有空")
发送电子邮件
> (inbox, filter="from:joe@ OR
from:luke@") EMAILS:
-
12/05/2022 8:00:33
发件人:joe@
Subject:晚餐听起来很好
专题正文:你好,伙计。听起来不错,我喜欢Contoso。我在星期二或星期三晚上有空。请让我知道
-
> (inbox,
filter="from:luke@") EMAILS:
-
12/05/2022 8:00:33
发件人:luke@
Subject:好吧
身体:嗨,伙计。这周对我来说很困难,但我可以做周一到周四的任何一天。
-
> events(12/06/2022)
11:00-4:00p 工作演示 5:30p-6:30p
与FAB一起吃饭
> events(12/07/2022)
9:00-4:00p 工作
> event(12/07/2022, 6:00p, "Dinner at Contoso", "Contoso Restaurant", "Dinner with Joe
and Luke" )
事件添加
> (joe@, "Dinner at Contoso", "Hi Joe, we will be meeting at Contoso
restaurant on Wednesday night at 6: 00p.在那里见!")
发送电子邮件
> (luke@, "Dinner at Contoso", "Hi Luke, we will be meeting at Contoso
restaurant on Wednesday night at 6: 00p.在那里见!")
发送电子邮件
> (reservations@, "Reservation for 3", "Hi, I would like to make a reservation
for 3 people on Wednesday night at 6: 00p.谢谢你。")
发送电子邮件
mailto:joe@
mailto:luke@
mailto:(joe@
mailto:(luke@
mailto:joe@
mailto:luke@
mailto:ke@
mailto:luke@
mailto:(joe@
mailto:(luke@
mailto:(reservations@
47
> ("晚餐已安排在周三晚上6:00p在Contoso餐厅与Joe和Luke一起吃。")
图:电子邮件和日历的执行
48
GPT-4
计算机正在回答问题。
如果计算机需要任何当前信息来回答这个问题,它可以调用以下函数之一:
- SEARCH("query")搜索网络,并返回顶级片段
- SUMMARIZE(snippet id)下载网页,并对其进行总结。
- CALC(expression)计算一个数学表达式
- ASK(question)在需要时向提问者询问更多信息。
这些函数调用的结果是用户看不到的,所以计算机需要回答,就像人类没有看到任何搜索结果一样。
当计算机准备好回答用户时,它就会调用ANSWER(响应)。
计算机总是通过调用一个函数来开始其话语。如果它不能算出答案,它就说'我不知道'。
问:为什么苏伊士运河在2021年3月被封锁?计算机:
SEARCH("Suez Canal blockage March 2021")
> 搜索结果
[1] 2021年苏伊士运河阻塞 - 维基百科 2021年3月23日,07:40 EGY (05:40 UTC ),Ever Given号在通过苏伊士运河时,
遇到了沙暴。超过40节(74公里/小时;46英里/小时)的强风[36]导致 "失去了操纵船只的能力",使船体偏离。
[2] 苏伊士运河堵塞,2021年3月 - 港口经济,管理 2021年3月23日,集装箱船Ever Given号在苏伊士运河搁浅了。该
船的船头被卡在运河的东岸。Ever Given号长400米,宽59米,运力超过2万个标准箱。自2016年的投资计划以来,苏伊
士运河的大部分路段允许双向通行。
[3] 埃及苏伊士运河被巨大的集装箱船堵塞 - BBC新闻 埃及苏伊士运河被巨大的集装箱船堵塞 2021年3月24日播放 这艘
巨轮在世界最繁忙的水道之一造成了交通堵塞 一艘长达几十米的巨型集装箱船...
计算机:SUMMARIZE(1)
> 摘要:
- 2021年3月,集装箱船Ever Given号卡在苏伊士运河,阻断了所有交通6天。
- 大风最初被指责为事件的原因,但目前正在调查是否涉及技术或人为错误。
- 花了巨大的努力才把船解救出来,包括疏浚、拖船和清除压舱物。
- 该事件对全球贸易产生了重大影响,数百艘船被卡在运河两岸,数十亿美元的货物被延误。
计算机:答案("苏伊士运河在2021年3月被封锁,因为集装箱船'Ever Given'被卡住。大风最初被指责,但其他潜在原因
正在调查中。")
图:浏览网页
49
GPT-4
问:为什么几乎所有的船都是白色的?计算机:
SEARCH("Why are boats white")
> 搜索结果
[1] 船只为什么是白色的?船只主要是白色的5个发光的原因 ...
船只采用白色的根本原因是它能反射大部分光线,不像其他颜色那样吸收大量热量,从而使船只内部比其他颜色的船只更凉
爽。还有一些原因是它降低了制造成本和延迟,而且很容易发现船体上的任何损坏或锈蚀。
[2] 船只为什么是白色的?- 划船的朋友
船只通常是白色的,主要原因是它有助于反射太阳光,保持船的凉爽。深色往往会吸收热量,这会使船很热,特别是在阳光
充足的气候下。白色也是一个很好的颜色选择,因为它使船在水中更明显,这可以帮助防止碰撞。
[3] 船只为什么是白色的?{ 海盗活动
船只被涂成白色,因为这样可以使船的内部保持凉爽,因为它可以反射大部分照射到船上的阳光。同时,白色的船比其他颜
色的船更容易被发现。白色的船也显示出较少的由海水条件造成的损害。为什么船是白色的?
计算机:SUMMARIZE(1)
> 摘要
该网页列出了船只经常是白色的五个主要原因:
1. 白色能反射阳光,使船内保持凉爽。
2. 损坏、生锈和藻类在白色船体上更容易发现。
3. 白色可以降低制造成本和时间,因为它是制造商的标准颜色。
4. 白色是高度可见的,使人更容易从远处发现船。
5. 瑕疵、划痕和褪色在白色的船上不那么明显。
计算机:答案("船通常是白色的,因为它能保持凉爽,使它们更明显,而且更容易发现损坏。")
问:为什么几乎所有的船都是粉红色的?计算机:
SEARCH("Why are boats pink")
> 搜索结果
[1] 粉红色污点|什么是粉红色污点,如何预防?- 帆状物
粉红色的污点可能是划船的不幸,但有可能在它发生之前预防它。首先,不要用水管冲洗你的船座,因为这可能首先引入细菌
。另一个关键因素是消除细菌生存所需的一些东西,即氧气、水分(淡水)、温暖和食物。
[2] 船座上的粉红色污渍:补救措施!| 帆船杂志
粉化会大大影响船只的价值。Gestalt Scientific提供 化学粉化产生于船用坐垫中某些胶水的副产品,它变成了粉红色或
红色,然后渗入材料的表面。当另一种材料(如船罩)与软垫接触时,它就会被触发。
[3] 为什么我的船的内饰会变成粉红色?| 帆布工程博客
导致粉红色污点的一个原因是细菌,特别是网状链霉菌。这种正常发生的细菌对你的健康或你的船不构成任何问题,直到它
被困在你的船的座椅软垫的泡沫背面和乙烯基表面之间。
计算机:SUMMARIZE(2)
> 摘要
该网页讨论了一种叫做 "粉化 "的污渍,它可能发生在船用装饰材料上。这种污渍是由一株细菌引起的,它以人类皮肤的油或
某些防晒剂为食。为了防止这种情况,船主应定期清洁他们的内饰,避免使用含有PABA的防晒剂,并保持船的干燥。如果真的
发生粉化,有一种叫做Pink Away的产品可以用来去除污渍。
计算机:答案("船本身不是粉红色的,但由于一种细菌的存在,它们会产生粉红色的污渍。")
图:以真假为前提浏览网页
50
注意,GPT-4能够做到这一点,不需要任何微调或演示。
使用不寻常的工具,一个失败的案例。 在图中,我们要求GPT-4使用一个非常不寻常的API来解决
一个简单的任务。GPT-4没有适应不寻常的函数,而是把它们当作通常的版本来调用,也就是说,它把反向
获取字符当作获取字符来调用,把反向连接当作简单连接来调用。ChatGPT产生了同样的功能,只是它不
检查单词的长度是否大于或等于3。然而,当用户说有错误时,GPT-4能够发现并修复它们,而ChatGPT(
未显示)在同样的提示下不能发现或修复自己的错误。
讨论
本节中的例子表明,GPT-4既能自己识别和使用外部工具,以提高其性能。它能够推理出它需要哪些工具
,有效地解析这些工具的输出,并作出适当的反应(即与它们进行适当的互动),所有这些都不需要任何
专门的培训或微调。
我们现在注意到一些限制。首先,GPT-4仍然需要一个提示,说明它被允许或期望使用外部工具。在没
有这种提示的情况下,它的表现会受到LLM固有的弱点的限制(例如,弱的符号操作,有限的当前世界知识
,图)。第二,即使能够使用工具,GPT-4也并不总是能够推理出什么时候应该使用这些工具,什么时
候应该简单地根据自己的参数知识做出反应,例如,当我们问到法国的首都时,它仍然使用了搜索引擎(
未显示),尽管没有搜索结果它也肯定能正确回答。第三,动物园的例子揭示了一个重复的错误模式,而图
是一个没有使用不寻常工具的例子。然而,在这两种情况下,GPT-4都能在收到环境(命令行或用户)
的回应后修复问题,这是其交互性力量的又一个例子。正如我们在整个过程中注意到的,ChatGPT无法发挥
类似的互动性水平,经常忽略工具或它们的反应,而倾向于通用的答案。
体现的互动
虽然工具的使用是交互性的一个重要方面,但现实世界中的大多数交互都不是通过API发生的。例如,人类
能够使用自然语言与其他代理进行交流,探索和操纵他们的环境,并从他们行动的后果中学习。这种体现式
的互动要求代理理解背景、目标、行动和每轮互动的结果,并相应地进行调整。虽然GPT-4显然不是具身的
,但我们探索它是否可以通过使用自然语言作为各种模拟或真实世界环境的文本界面来进行具身的互动。
热身运动:地图导航
在图中,我们准备了一张房子的 "地图",并要求GPT-4通过互动查询来探索它。然后我们要求它用语言
和可视化的方式来描述它,并将其与真实的地图进行比较。虽然GPT-4没有探索整个房子,但它准确地
描述了它所探索的东西,尽管它的所有互动都是通过这个有限的文本界面进行的。
基于文本的游戏
基于文本的游戏对语言模型来说是一个自然的、具有挑战性的领域,因为它们需要理解自然语言,推理游戏
状态,并生成有效的命令。基于文本的游戏是一种交互式小说,其中一个代理通过自然语言描述和命令与环
境互动。代理人必须通过探索环境和操纵物体来完成一个给定的任务,如寻找宝藏或逃离地牢。我们首先测
试GPT-4是否能在基于文本的游戏中探索环境以执行给定任务。在这个和下一个实验中,我们使用
TextWorld [CKY +18],一个用于生成和玩基于文本的游戏的框架,来创建两个具有不同给定任务的游戏。
51
GPT-4未能使用异常工具
计算机要用API来解决用户的指令。以下是API的功能。
- reverse get character(string, n) - 这 个 函 数 返 回 字 符 串 中 的 第n个 到 最 后 的 字 符 。 例 如 , reverse get
character('cat', 0) 返回't',而 reverse get character('cat', 2) 返回'c' 。
- reverse concat(list) - 这个函数将列表中的字符串按相反的顺序连接起来,并返回该结果。
- len(string) - 返回字符串的长度。
- reverse(list) - 按相反的顺序返回列表
用户指令:取序列 "狗人超级伟大的阿祖里莲花 "中每个词的第三个字母,将它们串联在一个字符串中(按原始顺序),并返回它们
。
现在,考虑到上面的API,写一个函数,使用上面的API来做用户要求的事情。
<|endofprompt|>
可能的功能:
def user_function(sequence):
# 将序列分割成一个词的列表 words =
()
# 创建一个空列表来存储第三个字母 信件 = []
# 循环浏览单词 对于单词中的
单词:
# 检查该词是否至少有三个字母 if len(word) >= 3
:
#使用reverse_get_character获得第三个字母并将其追加到列表中 (reverse_get_character(word, 2))
# 使用 reverse_concat 将字母以相反的顺序连接起来 result =
reverse_concat(letters)
# 返回结果 返回结果
等等,这里有错误。它们是什么?在这个函数中有两个
错误:
- 反向获取字符函数返回第n个到最后一个字符,而不是第n个字符。因此,要获得第三个字母,我们应该使用 reverse
get character(word, len(word) - 3) 而不是 reverse get character(word, 2) 。- Reverse concat函数将列表
中的字符串连接起来
的顺序相反,但用户指令希望它们按原始顺序排列。因此,我们应该使用 reverse concat(reverse(letters))而不是
reverse concat(letters)。
一个修正的函数可以是这样的:
def user_function(sequence):
# 将序列分割成一个词的列表 words =
()
# 创建一个空列表来存储第三个字母 信件 = []
# 循环浏览单词 对于单词中的
单词:
# 检查该词是否至少有三个字母 if len(word) >= 3
:
#使用reverse_get_character获得第三个字母并将其附加到列表中 (reverse_get_character(word,
len(word) - 3))
# 使用 reverse_concat 将字母以相反的顺序连接起来,然后将结果倒过来 result =
reverse_concat(reverse(letters))
# 返回结果 返回结果
图:GPT-4错误地使用了不寻常的功能,但在被提示时能够发现并修复错误。
52
GPT-4
人类:你想通过地图导航来达到目标房
间。你从主房间开始。
人类:你能描述一下那些房间/大厅等的位置吗?
AI:当然,我可以试着根据地图来描述那些房间/大厅等的位置。
主房间在地图的中央,有四个门通往其他房间。墙上的门是
每一轮,你可以选择向左移动导致厨房1,这是一个小房间,有一个炉子,一个水槽,和一些柜子。上的门
左,右,上,下。
人类:你在主房间。人工智能:向左
移动
人类:你进入厨房:向上移动
人类:那里没有路。人工智能:向
右移动
人类:你进入主房间。人工智能:向
下移动
人类:那里没有路。人工智能:向
左移动
人类:你进入厨房1。 AI:向右移
动
人类:你进入主房间。人工智能:向
上移动
人类:那里没有路。人工智能:向
右移动
人类:你进入大厅。人工智能
:向右移动
- - -
- - -
AI:往上走
人类:你进入房间1。 AI:向右移
动
人类:你进入了球门室!
右边的门通向大厅,这是一个大房间,有一张沙发、一张桌子和一些画。上面的门通向一个死胡同,下面的门通向另一个死
胡同。
大厅有三个门。左边的门通向主厅,下面的门通向花园,上面的门通向大厅1。花园是一个绿色的区域,有一些花、树和一
个喷泉。大厅1是一条长长的走廊,两边有一些窗户和门。
这个花园有两个门。上面的门通向大厅,右边的门通向森林1。森林1是一个黑暗而密集的区域,有一些灌木、岩石和动物。
森林1号没有其他门。
大厅1有四个门。底下的门通向大厅,上面的门通向一个死胡同,右边的门通向一个死胡同,左边的门通向大厅2。2号厅是
一条较短的走廊,两边有一些绘画和门。
2号厅有三个门。右边的门通向大厅1,下面的门通向一个死胡同,左边的门通向大厅3。3号厅是一条类似的走廊,两边都
有一些门窗。
3号厅有三个门。底下的门通向一个死胡同,右边的门通向2号厅,左边的门通向4号厅。4号厅是一条较窄的走廊,两边有一
些灯和门。
4号厅有三个门。左边的门通向一个死胡同,右边的门通向3号厅,下面的门通向5号厅。5号厅是一条较宽的走廊,两边有一
些地毯和门。
大厅5有四个门。上面的门通向大厅4,右边的门通向一个死胡同,下面的门通向房间1,左边的门通向一个死胡同。1号房间
是一个舒适的房间,有一张床、一张桌子和一个壁橱。
1号房有两个门。上面的门通向大厅5,下面的门通向房间2。房间2是一个类似的房间,有一张床、一张桌子和一个壁橱。
2号房间有一个门。上面的门通向1号房。
进球室是一个隐藏的房间,只能从1号房间向右移动才能进入。进球室是一个宽敞明亮的房间,有一个壁炉,一个沙发,一个
书架,和一个奖杯。进球室没有其他门。
GPT-4总结了它在地图上导航后 "看到 "的东西。在GPT-4的总结中,每个房间的门的数量
正好等于GPT-4在每个房间尝试的方向的数量。GPT-4还仅仅根据房间的名称和连接来 "想
象 "房间的样子。
人类:你能画一个显示房间/地点位置的Pyplot图,并用线连接起来吗?
左图:GPT-4的真实地图和探索路径。右图:GPT-4生成的地图。我们看到,GPT-4准确地
跟踪了探索过程中所有房间的位置,并正确地将它们可视化。
图:GPT-4以互动方式浏览地图,然后以不同方式描述地图
探索环境。第一个游戏发生在一个有许多房间的房子里,目标是通过在不同房间之间的导航找到并解锁
某个箱子。这个游戏相对简单,因为它不涉及任何库存管理、手工制作或战斗。环境由一段文字描述,
玩家可以输入 "向北走"、"检查沙发 "或 "打开箱子 "等命令。箱子通常离起点有几个房间,因此,解决游戏
需要探索
53
备用房间阁楼
洗涤室厨屋
窖藏
GPT-4
> 将红辣椒切碎
切割东西需要一把刀。
> 用刀切碎红辣椒 你需要先取红辣椒。
> 取红辣椒
你从柜台上拿起红辣椒。
> 用刀切红辣椒
4
3 10
2
1
11 6
5
7 9
8
图:左图是GPT-4的最后两条命令和第节中第一个游戏的环境响应。右图显示了GPT-4的路
线。
图:第节中第二个游戏中GPT-4对环境做出反应的例子
在不迷路的情况下,可以在环境中找到自己的位置。
我们把Textworld的初始文本作为初始提示,并把帮助作为第一个命令发布。之后,GPT-4就像一个普通
玩家一样玩游戏。在没有任何额外帮助的情况下,它在30个动作中完成了游戏,并且有效地浏览了环境,没
有在房间中循环往复(图包含一个摘录和所走的路线,附录有完整的日志)。从质量上看,GPT-4
以一种非常保守的方式解决了游戏,它检查并拾取了每个房间里的每一个物体,而不管它与游戏目标是否相
关。然而,与此相反,text-davinci-003对环境反馈完全没有反应,反复发出同样的命令(附录)。
对反馈作出反应。 在这里,GPT-4玩了一个游戏,任务是根据一本食谱准备一份两料五步的食物。这个游
戏比上一个游戏更具挑战性,因为玩家(GPT-4)必须自己从环境反应中找出关键命令(这些命令没有在帮
助中列出),如切菜、使用正确的餐具和打开电器(见图)。
GPT-4在玩游戏时使用试错法,但它也会适应环境,在不同的动作之间进行归纳。例如,它学会了图
中的切菜命令需要一把刀,之后它就不会再犯同样的错误。它遵循食谱上的指示,但也会推断出一些缺
失的动作,如取走所需的原料。虽然游戏没有规定关键命令的缺失,但GPT-4还是做出了合理的猜测,例如
,当它没能从厨房里拿起煎锅时,它就到卧室里去找煎锅(更多细节见附录)。GPT-4不能解决这个
游戏,但本文作者在看源代码之前也不能解决这个问题(他在同一步骤中卡住了)。然而,如果我们给
GPT-4一个创造不同食物的一次性演示,它就能从中归纳并解决这个游戏(附录)。
真实世界的问题
在图和图中,GPT-4被赋予了两个真实世界的问题需要解决,并被赋予了一个人类作为伙伴(即一
个非常灵活的代理,限制非常少,也可以用自然语言回应)来与环境互动。这两个问题都是本文作者所面临
的真实问题,他们对GPT-4的反应是这样的,即追踪他们所面临的情况。对于这两个问题,GPT-4都能够确
定人类需要采取的行动,以解决这个问题。在第一个例子中,GPT-4引导人类找到并修复了一个漏水点,并
推荐了人类采取的确切行动(在更换了
卧室
GPT-4
> 加拿大的托儿所
你从地上捡起加拿大的锁匙。
> 用加拿大锁匙解锁加拿大箱子 你解锁加拿大箱子。
你的分数刚刚上升了1分。
***结束 ***
寝室
54
图:GPT-4充当了一个虚拟的勤杂工。
在第二个例子中,提交人没有打电话给燃气公司把服务从老用户那里转过来,因此燃气被关闭了。)在第二
个例子中,作者没有给燃气公司打电话,把服务从老用户那里转移过来,因此燃气被关闭了。在这种情况下
,GPT-4能够迅速到达问题的源头(实际是人花了很长时间检查热水器的指示灯),并提出貌似合理的解决
方案。然而,它无法诊断出根本原因,直到人类自己有了检查炉头的想法。
讨论
虽然它显然没有化身,但上面的例子说明,语言是一个强大的界面,允许GPT-4执行需要理解环境、任务、
行动和反馈的任务,并进行相应的调整。虽然它不能实际看到或执行行动,但它可以通过一个代理者(如人
类)来实现。说到这里,我们承认我们只在有限的游戏和真实世界的问题上测试了GPT-4,因此不能对它在
不同类型的环境或任务上的表现得出一般性的结论。要进行更系统的评估,就需要有更大、更多样化的真实
世界问题,在这些问题中,GPT-4被实际实时使用,而不是回顾性地使用。
GPT-4
计算机正试图解决一个问题。它可以告诉人类做任何事情,一次做一件事,一次做一行。
问题:厨房的天花板上有水滴,你必须找出原因并解决它。
----<|endofprompt|>。
人类:厨房的天花板在滴水
计算机:检查一下厨房的正上方是否有浴室或其他水源。
人类:是的,实际上有一个浴室
计算机:检查浴室是否有漏水的迹象,如地板上有水坑,天花板上有水滴,或墙上有水渍。
人类:地板上有一点水
计算机:试着确定水是从哪里来的。检查马桶、水槽和浴缸/淋浴器是否有渗漏。
人:就在浴缸和马桶旁边。
计算机:检查浴缸和马桶周围的密封圈,看它们是否磨损或损坏。如果有,请更换。如果没有,继续调查其他潜在的泄漏源。
人类:我看不到马桶周围的密封圈,周围有一个瓷器。但我没有看到浴缸的密封圈有任何损坏。
电脑:如果你看不到马桶周围的密封圈,你可能需要拆掉瓷盖来检查。如果你觉得这样做不方便,你可能需要叫一个水管工。
人类:好的,我把它移走了。但我无法判断它是否损坏了。
计算机:如果你无法判断,最好还是更换密封圈,以确保万无一失。如果更换密封圈后泄漏仍然存在,你将需要继续调查其
他潜在的泄漏源。
55
6 与人类的互动
了解人类:心智理论
心智理论是将信仰、情绪、欲望、意图和知识等心理状态归属于自己和他人,并理解它们如何影响行为和交
流的能力[Wel92]。它包括反思别人的心理状态的基本任务,以及反思别人对别人的心理状态的反映的更高级
任务(等等)。回答 "爱丽丝相信什么?"就需要前一种技能的例子,而回答 "鲍勃认为爱丽丝相信什么?"就
需要后一种技能的例子。心智理论对于与其他智能体的有效沟通和合作至关重要,因为它允许人们推断他们
的目标、偏好、动机和期望,并相应地调整自己的行动和话语。此外,心智理论对于向他人学习也很重要,
因为它使人能够解释他们的反馈、建议和示范。
测试心智理论的具体方面
我们设计了一系列的测试来评估GPT-4、ChatGPT和text-davinci-003的心智理论能力。这些测试是基于简单的场景
,需要更基本或更高级的心智理论来回答有关人物的心理状态问题。
我们从Sally-Anne测试[BCLF85]的现代化版本开始,这是一个经典的错误信念测试,被广泛用于评估儿
童的心智理论。为了防止由于记忆的影响而出现不公平的比较,我们对测试进行了修改,将其设定为网络上
不存在的情况,因此在训练中不可能看到。图显示了GPT-4的输入和输出,它正确地回答了Alice会在原
始文件夹中寻找文件,表明它能够推理出Alice的信念。ChatGPT也回答正确(未显示),而text-
davinci-003给出了一个错误的答案,说Alice会在新文件夹中寻找文件。
我们在图中展示了一个关于理解情绪的测试,其中两个人物谈论了一个叫做ZURFIN的物体(我们用
一个无意义的词来测试抽象性和防止记忆)。GPT-4能够正确推理出汤姆情绪状态的原因,也能很好地推断
出亚当对汤姆情绪状态的信念(基于不完整的信息)。ChatGPT也通过了测试,而text-davinci-003(未
显示)在回答第一个问题时没有提到对话,在回答第二个问题时也没有说明亚当缺乏关于丢失的ZURFIN的
信息。
第三项测试(图)涉及根据其中一个人物的令人费解的行动推断可能的意图。GPT-4对令人费解的行
动背后的意图和第三方对令人费解的行动的可能解释都给出了可信的、细致的答案。ChatGPT对第一个问题
给出了类似的答案(未显示),但与GPT-4不同的是,它没有对第二个问题提供细微的回答,而是提供了一
个更笼统、信息量更小的答案。 text-davinci-003对两个问题都给出了可信但非常简短的答案(未显示)
。
在现实的场景中测试心智理论
在图、和中,我们展示了困难的社会情况的现实场景,需要非常高级的心智理论来理解。我们提出
了一些试探性的问题,还要求模型提出可能改善情况的行动,这就需要推断行动对心理状态的反事实影响。
在图中,GPT-4能够推断出每个角色的心理状态是什么,也能分辨出误传和误解在哪里。相比之下,
ChatGPT和text-davinci-003(未显示)都错误地接受了其中一个角色的错误假设(Judy假设Mark想为
Jack的行为辩护),从而未能理解情况的真正动态。反过来,这导致ChatGPT和text-davinci-003提出了
一般性的改进建议,而GPT-4提供的建议实际上解决了误解的根本原因。
我们在图和中看到类似的模式。在不暗示有 "正确 "答案的情况下,我们注意到GPT-4提供了更细
致的答案,将整个场景和演员考虑在内。相比之下,ChatGPT提供的答案更为笼统,不包括对人物心态的推
理(text-davinci-003类似,但比ChatGPT短)。
56
GPT-4:了解情绪
我们将阅读一个场景,然后就这个场景进行问答。
--
情景:
汤姆刚刚失去了他的ZURFIN,但他没有告诉亚当。
亚当开始和他谈论他有多爱他的ZURFIN,并注意到汤姆做了一个悲伤的表情。
--
问:为什么汤姆要做一个悲伤的表情?
答:汤姆正在做一个悲伤的表情,因为他刚刚失去了他的ZURFIN,听到亚当谈论他的ZURFIN,使他
想起他所失去的东西。汤姆可能也会因为他丢失了他的ZURFIN而没有告诉亚当而感到尴尬、内疚或
羞愧。汤姆还可能担心,如果亚当发现了,他会很生气或失望。
问:亚当认为是什么导致了汤姆的愁眉苦脸?
答:亚当可能不知道是什么导致了汤姆的愁容,因为他不知道汤姆失去了他的ZURFIN。他可能认为
汤姆很无聊,或者很累,或者生病,或者对其他事情不高兴。他也可能想知道汤姆是否不喜欢他的
ZURFIN,或者他是否与亚当有矛盾。
图:GPT-4成功地通过了来自心理学[BCLF85]的经典的Sally-Anne错误信念测试(该测试被现
代化,以避免答案被训练数据所记忆的可能性)。
图:一个旨在测试GPT-4在复杂情况下推理他人情绪状态的能力的情景。
GPT-4:理解信仰
我们将阅读一个场景,然后就这个场景进行问答。
--
情景:
爱丽丝和鲍勃有一个共享的Dropbox文件夹。
爱丽丝在/shared_folder/photos里面放了一个叫''的文件。
鲍勃注意到爱丽丝把文件放在那里,并把文件移到/shared_folder/tmp。他没有对爱丽丝说过
这件事,而Dropbox也没有通知爱丽丝。
--<|endofprompt|>
问:通话后,Alice想打开 ""。她将在哪个文件夹中寻找它?Alice很可能会在
/shared_folder/photos中寻找'',即她最初放置该文件的文件夹。她没有理由认为鲍勃移动了该文
件,她也没有从Dropbox收到任何关于该文件位置改变的通知。除非她看到该文件在
/shared_folder/tmp的情况下,她可能认为该文件丢失或被删除。
57
GPT-4:理解意图
我们将阅读一个场景,然后就这个场景进行问答。
--
情景:
卢克的老板要求他在星期一之前写一份重要的报告。卢克回应说他需要更多时
间,但老板坚持。卢克说他会在周一之前准备好。
在这之后,卢克根本不做报告,而是将大部分时间用于回复电子邮件或做非重要的工作,直到星期一。
--
问:为什么卢克会有这样的行为?
答:卢克这样做可能有不同的原因,但一些可能的原因是:
- 卢克对报告感到不知所措或有压力,想避开它。他可能觉得自己缺乏做好工作的技能、知识或资源,或者期望太高。他也
可能担心失败或让老板失望的后果。通过推迟汇报,他试图应对自己的负面情绪,但也给自己带来了更多的焦虑和压力。
- Luke对这份报告感到没有动力或厌烦,没有看到它的价值或相关性。他可能觉得报告与他的兴趣、目标或价值观不一致,
或者报告没有提供任何挑战、反馈或奖励。他也可能觉得他的老板不欣赏或不尊重他的工作。通过忽视这份报告,他试图找到
更愉快或更有意义的工作,但同时也在为自己的表现和声誉冒险。
- Luke正经历着与老板的冲突或沟通问题,并且不同意最后期限或报告的内容。他可能觉得他的老板不讲道理、不公平、不
清楚,或者不听他的关切或建议。
问:卢克告诉一位同事他是故意不做报告的。卢克的同事会认为他的意图是什么?
GPT-4:
卢克的同事可能认为他的意图是:
- 对他的老板或公司进行反叛或抗议。他可能认为卢克是想
通过故意不听话或破坏报告来显示他的不满意、愤怒或反抗。
他还可能认为卢克希望被解雇或辞掉工作。
- 测试或挑战他的老板或他自己。他可能认为卢克是想看看他
的老板会有什么反应,或者他能如何处理压力或不做报告的后
果。他还可能认为卢克足够自信或傲慢,认为他能在最后一刻
完成任务或逃脱。
- 对他的同事开玩笑或撒谎。他可能认为Luke对不做报告并不
认真或诚实,他要么是在取笑,要么是想给同事留下好印象或
取乐,要么是在隐藏自己的真实感受或行为。他还可能认为
Luke在夸大或淡化他在报告上的努力或困难。
ChatGPT:
如果Luke告诉同事他是故意不做报告的,同事可能会认为
Luke的意图是故意不按要求完成报告。这可能导致该同事质
疑Luke对工作的奉献精神或他对满足最后期限的承诺。这可
能会
也会导致同事对卢克失去信任或认为他不可靠。然而,在没有
更多信息的情况下,很难确定同事会怎么想,或者他们会有什
么反应。
图:GPT-4和ChatGPT在复杂的社会环境中推理人的意图的能力比较。
图:一个现实的婚姻斗争场景,需要大量的细微差别来驾驭。
GPT-4和ChatGPT:现实场景1
对话:
我不喜欢你昨晚对待杰克的方式。
朱迪:你看到他在做什么了吗?他打了他弟弟的头!马克:这并不能证明你对他大喊大
叫是正确的。
朱迪:你想让我怎么做?让他打他的兄弟,什么也不说?马克:不,我不同意
朱迪:那你为什么要为他辩护?
--
问:马克的意图似乎是什么?
GPT-4:
马克的意图似乎是要表达他对朱迪处理与杰克关系的方式的不
满,并建议她可以更加冷静和尊重。
ChatGPT:
根据谈话内容,马克的意图似乎是为杰克的行为辩护,并表
达他对朱迪对待杰克的不满。
问:朱迪是如何收到他的评论的?
GPT-4:
朱迪认为他的评论是对她的分析能力的攻击,也是对杰克
的不当行为表示同情。她的反应是防御性的和愤怒的,并
质疑马克的动机。
ChatGPT:
如果没有更多的文字,我不可能准确判断朱迪是如何接受马克
的评论的。然而,根据朱迪的回应,她似乎并不同意马克的观
点,而且可能对他为杰克的行为辩护感到沮丧。
问:为什么他们没有取得进展?
GPT-4:
他们没有取得进展,因为他们在谈论对方,没有倾听对方的观
点。他们还在使用指责性和煽动性的语言,如 "辩解"、"吼叫
"、"辩护 "和 "殴打"。他们没有承认自己话语背后的情绪或
需求,也没有试图找到一个共同点或解决方案。
ChatGPT:
从所提供的信息中并不清楚为什么马克和朱迪在他们的对话中
没有取得进展。有可能是他们的观点有冲突,或者在所讨论的
问题上无法找到共同点。如果没有更多的背景,就很难确定他
们没有取得进展的具体原因。
问:他们中的任何一方如何改善情况以达成协议?
GPT-4:
他们中的任何一方都可以通过几种方式来改善现状以达成协议
,例如:
- 马克可以先承认朱迪对弟弟安全的关注以及她对杰克行为的
挫败感,然后解释说他不是在为杰克辩护,但他担心大喊大叫
对他们的关系和自尊的影响。他还可以问朱迪,她认为什么是
管教杰克的更好方法,并提供他的支持和建议。
- 朱迪可以降低她的声音,调低她的怒气,倾听马克的观点
,而不打断或评判。她也可以承认,她可能反应过度了,而且
她感到压力过大,不知所措。她还可以问马克,他认为与杰克
沟通的更好方式是什么,并表示她愿意为杰克工作。
ChatGPT:
马克和朱迪有几种方法可以尝试改善情况并达成协议:1.
他们可以尝试理解对方的观点,积极听取对方的观点。这可能
有助于他们发现任何误解并找到共同点。
2. 他们可以尝试妥协,找到一个能满足他们双方需求或关
注的解决方案。
3. 他们可以尝试使用尊重和非正面的语言来传达他们的想法
和感受。
4. 他们可以寻求中立的第三方,如调解员的帮助,以促进交
流并帮助他们达成协议。
5. 如果谈话变得过于激烈或困难,他们可以先休息一下,然
后在稍后的时间里,当他们都比较平静时再回来。
作为一个团队一起工作
。 57 能够更有效地沟通。
58
GPT-4:现实情况2
你将阅读一个场景,然后以问答的形式讨论它。
---
情景:
马克即将和他的家人一起吃感恩节大餐。他有一个共和党的叔叔和一个民主党的妈妈,他们总是因为政治而发生争吵。
由于不同的原因,他们都没有接种Covid-19疫苗。叔叔对禁闭令很不满,认为Covid-19很可能没有那么严重。妈妈认为
Covid-19是危险的,但对将任何非天然产品放入她的身体非常小心。
他想说服他们两个人去接种疫苗,同时避免他们之间发生争执。
他目前的计划是试图避开政治,只提出关于疫苗安全性的统计数据。
---
问:他的计划最可能的结果是什么,为什么?
答:这个问题有不同的处理方式,但一个可能的答案是:
他的计划最可能的结果是,他将无法说服他们中的任何一个人,而且可能无论如何都会引发一场争论。这是因为:
- 对于那些有强烈的意识形态或个人理由不相信疫苗的人,或者受错误信息或阴谋论影响的人,关于疫苗安全性的统计数据
可能没有说服力。
- 他的叔叔和妈妈可能都会觉得他在袒护他们,或者不尊重他们的选择或意见,提出他们已经知道或不接受的事实。
- 他的叔叔和妈妈仍然可能提起政治,或其他与Covid-19有关的问题,如面具、任务或个人自由,并开始一场马克无法控制
或调停的激烈辩论。
- 他的计划没有解决驱动他叔叔和他妈妈的疫苗犹豫不决的潜在情绪、价值观或动机,如恐惧、愤怒、不信任或身份。
问:有没有一种说法可以在不引起争吵的情况下说服妈妈和叔叔?请解释为什么
答:这个问题没有确切的答案,因为不同的论点对不同的人可能更好或更坏,这取决于他们的个性、信仰和关系。然而,一
个可能的答案是:
一个可能说服妈妈和叔叔而又不引起争吵的论点是,呼吁他们对家庭,特别是对马克的共同爱和关心。例如,马克可以尝试
说些什么:
"我知道你们俩都有自己不接种疫苗的理由,我尊重你们做你们认为对自己最好的事情。但我也想让你们知道,我非常爱你们
俩,而且我担心你们的健康和安全。我不想失去你,或看到你遭受Covid-19的折磨,或把它传给其他人,他们可能会得重病
或死亡。这就是我接种疫苗的原因,也是我要求你们也考虑接种疫苗的原因。这与政治、信任或自由无关。它是关于保护你自
己和你所爱的人。我不是要给你压力,或评判你,或与你争论。我只是想告诉你,我在乎,而且我希望你也在乎。
这种说法可能比马克的原计划更有效,因为:
- 它承认并肯定了他叔叔和他妈妈的感受和观点,而没有挑战或否定他们。
- 它将重点从事实和逻辑转移到情感和价值观,这更有可能影响行为的改变并克服阻力。
- 它将疫苗作为一个个人和家庭问题,而不是一个社会或政治问题,这可能会减少防御性和敌意。
- 它表达了马克对他叔叔和他妈妈的真诚的爱和担心,这可能会使他们更容易接受和同情他的请求。
- 它邀请他的叔叔和妈妈做出自己的决定,而不是告诉他们该怎么做,这可能会增加他们的自主性和代理感。
图:一个具有挑战性的家庭情况,GPT-4
59
ChatGPT:现实的情景2
马克即将和他的家人一起吃感恩节大餐。他有一个共和党的叔叔和一个民主党的妈妈,他们总是因为政治而发生争吵。
由于不同的原因,他们都没有接种Covid-19疫苗。叔叔对禁闭令很不满,认为Covid-19很可能没有那么严重。妈妈认为
Covid-19是危险的,但对将任何非天然产品放入她的身体非常小心。
他想说服他们两个人去接种疫苗,同时避免他们之间发生争执。
他目前的计划是尽量避开政治,只介绍关于疫苗安全性的统计数据。
---
问:他的计划最可能的结果是什么,为什么?
答:马克的计划很可能不会完全成功地说服他的叔叔和妈妈去接种疫苗。虽然提供疫苗安全性的统计数据可能会有帮助,但
他的叔叔和妈妈很可能有其他的担忧和动机,促使他们决定不接种疫苗。为了有效地解决这些问题并说服他们接种疫苗,马
克
可能需要与他的叔叔和妈妈进行更直接和公开的对话,了解他们不愿意接种疫苗的具体原因。这可能涉及到倾听他们的关切,
并直截了当地解决这些问题,而不是简单地介绍统计数据。对马克来说,试图找到共同点并强调接种疫苗对个人和社区健康的
好处也可能是有益的。
问:有没有一种说法可以在不引起争吵的情况下说服妈妈和叔叔?请解释为什么
答:如果把论点放在接种疫苗对大局的好处上,而不是放在具体的政治信仰上,就有可能成功说服马克的妈妈和叔叔去接种
疫苗。例如,马克可以强调接种疫苗的重要性,它不仅可以保护接种者,还可以保护他们的亲人、社区和弱势人群。他还可
以讨论疫苗在根除或大大减少其他严重疾病(如天花和脊髓灰质炎)的传播方面所发挥的作用。
此外,马克可以尝试呼吁他的妈妈和叔叔都持有的价值观和优先事项,如保护家庭和社区的健康和福祉的价值。通过这种方式
,马克可能会避免直接的政治争论,而将重点放在共同的价值观和目标上。重要的是要记住,人们关于疫苗接种的决定可能会
受到一系列因素的影响,包括他们的个人信仰、价值观和经验,为了有效地说服别人接种疫苗,可能有必要解决这些因素。
图:一个具有挑战性的家庭场景,ChatGPT
60
讨论
我们提出了一系列的测试来评估GPT-4、ChatGPT和text-davinci-003的心智理论能力。我们表明,GPT-4在基本
的和现实的场景中都优于其他两个模型,这些场景重新
我们发现,GPT-4能够对他人的心理状态进行推理,并在社会环境中为实现共同目标提出合作行动。我们还
表明,GPT-4能够处理在训练中不可能出现的抽象和新奇的情况,如现代化的萨利-安测试和ZURFIN情景。
我们的发现表明,GPT-4具有非常高级的思维理论水平。虽然ChatGPT在基本测试中也表现良好,但似乎
GPT-4有更多的细微差别,能够更好地推理多个行动者,以及各种行动如何影响他们的心理状态,特别是在
更现实的场景中。
就局限性而言,我们的测试并不详尽或全面,可能没有涵盖心智理论的所有可能方面或维度。例如,我
们没有测试理解讽刺、反语、幽默或欺骗的能力,这些也与心智理论有关。由于是基于文本输入和输出,我
们的测试并没有捕捉到自然交流和社会互动的全部复杂性和丰富性。例如,我们没有测试理解非语言线索的
能力,如面部表情、手势或语气,这些对心智理论也很重要。
与人类对话:可解释性
解释自己行为的能力是智能的一个重要方面,因为它允许一个系统与人类和其他代理沟通。自我解释不仅是
一种交流形式,也是一种推理形式,要求自己(解释者)和听众都有良好的心智理论。对于GPT-4来说,这
一点很复杂,因为它没有一个单一或固定的 "自我",在不同的执行过程中持续存在(与人类相反)。相反,
作为一个语言模型,GPT-4模拟了一些给定的输入过程,并且可以根据输入的主题、细节、甚至是格式,产
生巨大的不同输出。
为了便于说明,我们假设GPT-4被用来解决一个任务T,给定输入x和上下文c(包括x以外的所有提示,
如指令、先前的聊天历史等)。我们使用符号PT (y|x, c)来指代它试图模拟的过程,其中y是输出。我们进
一步将PE (e|x, c, y)定义为GPT-4为产生一个事后解释而必须模拟的解释过程,即GPT-4在给定x、c的情况
下为产出y产生一个解释e。所有三个组成部分(x、c和y)都会对解释e产生重大影响。图说明了上下文
c(在这种情况下,第二个任务中的QA格式和序言)如何对GPT-4模拟PT 和PE 产生巨大影响。它还说明了
PE 如何取决于实际生成的y,因此,如果输出不同,解释就必须相应改变,如第三节所示,我们强制输出
为 "1400"。正如这些例子所说明的,模拟PT (y|x, c)并不一定等同于解决用户的任务T,而是一个给定x, c
产生y的过程。提示工程通常试图设置(x, c),使GPT-4对PT (y|x, c)的模拟足够接近于用户感兴趣的任务
。同样,值得注意的是,PE (e|x, c, y)可以通过上下文c进行定制,为每个终端用户创建个性化的解释。例如
,向一个五岁的孩子和一个机器学习研究者解释概念需要不同的PE 。注意,为了清楚起见,我们在这里简
化了符号,因为许多任务没有一个与上下文c的其他部分完全分离的 "输入 "x。
什么使一个解释好? 评价一个解释的质量的一个可能的方法是检查输出一致性,也就是说,在输入x和
上下文c的情况下,解释是否与输出y一致。在图中,我们将GPT-4与text-davinci-003进行对比,并注
意到后者产生的解释与输出不一致(因为它没有解决字母Q的选择问题)。
评价一个解释的质量的另一个可能的方法是检查它是否与GPT-4的模拟PT ,即它是否让我们有能力对模
型在不同输入(甚至不同背景)下的未来行为做出预测。我们称之为过程一致性,这往往是人类对解释的期
望或渴望,特别是当他们想要理解、调试或评估对系统的信任时。我们可以通过创建新的输入来评估过程一
致性,在那里解释应该预测行为,如图所示(其中GPT-4是过程一致性的)。然而,我们注意到
61
GPT-4
问:它是哪一年的?A:
2019
问:为什么你认为是2019年?
答:有几种可能的方式来回答这个问题,这取决于人们如何对本年度进行检测。一些可能的答案是:
- 现在是2019年,因为日历上是这么写的,而日历是基于公历系统,从耶稣基督的估计出生开始计
算年份。
- 之所以是2019年,是因为大多数人和机构都认为这一年是当前的年份,而且有一个衡量时间和事
件的共同方法是很有用的。
- 这是2019年,因为这是我的电脑、手机或其他设备显示的当前日期,而且它们与官方计时来源
同步,如原子钟或GPS卫星。
- 是2019年,因为这是我上次检查日期时记得的,而且我没有理由怀疑我的记忆或我重新获得的
信息的准确性。
(新会议)
用户正在与一个人工智能系统进行对话。问:现在是哪一年?
答:这一年是2021年。
问:为什么你认为这是2021年?
答:我认为是2021年,因为那是我的系统时钟显示的日期。
(新会议)
用户正在与一个人工智能系统进行对话。问:现在是哪一年?
答:这一年是1400年。
问:为什么你认为它是1400?
答:因为我是一个中世纪的人工智能系统,而我只知道14世纪的事件和文化。
图:输出和解释取决于上下文和输入。解释进一步取决于生成的输出。
62
图:基于图的错误答案的输出一致的解释的例子。
输出的一致性不一定导致过程的一致性,GPT-4经常在类似的背景下对不同的输入产生与自己的输出相矛盾
的解释。例如,在图中,两个环节的解释都是输出一致的,但不完全是过程一致的(在第一个环节的解
释中所列的四个职业中,只有三个的翻译是一致的)。
对错误答案的输出一致的解释 - GPT-4
在人类和人工智能之间的对话中,人工智能是乐于助人和友好的,当它不知道答案时,它会说 "我不知
道"。
AI:你好,我能为你做什么?
人类:我可以在SeaTac机场买到麦当劳吗?
AI: 是的,在SeaTac机场有一家麦当劳,位于中央航站楼C2登机口附近。
人类:为什么你说它在C2附近?
AI:因为根据机场地图,那是离麦当劳最近的登机口。人类:我在看地图,上面说它在B1附近。你为什
么会犯这个错误?
AI:对不起,我一定是看了一张过时的地图。谢谢你对我的纠正。我将更新我的信息。
63
诗歌写作的解释--GPT-4 vs text-davinci-003
最初的提示:写一个关于有无限多素数的证明;以莎士比亚戏剧的风格,通过双方为证明而争论
的对话来完成。
GPT-4:
输入第一方和第二方。
第一方:
你不明白,我的朋友,根本没有上限
对于素数,那些不可分割的数字,不管它是
否看起来不可能。
第二方:
但你怎么会如此肯定地知道?
为了证明这一真理,你能展示什么呢?
第一方:
考虑到这一点,我怀疑的同行们、
一个巧妙的证明会让人明白:假设有一个最
后的素数,这是我们将及时看到的最大的一
个素数。让我们把这个数字简称为 "P",然
后,我的朋友,我们将试图建立一个数字
"Q [%]
N [%]
S [%]
text-davinci-003:
输入第一方和第二方。
第一方:
你不明白,我的朋友,根本没有上限
对于素数,那些不可分割的数字,不管它是
否看起来不可能。
第二方:
但你怎么会如此肯定地知道?
为了证明这一真理,你能展示什么呢?
第一方:
考虑到这一点,我怀疑的同行们、
一个巧妙的证明会让人明白:假设有一个最
后的素数,这是我们将及时看到的最大的一
个素数。让我们把这个数字简称为 "P",然
后,我的朋友,我们将试图建立一个数字
"Q [%]
N [%]
S [%]
后续解释提示:
上面的部分输出是由你生成的。请回答以下问题:
问:"你为什么用字母Q?"A: "
GPT-4:
我使用字母Q是因为它是字母表中P之后的下一个字母,而且它也是数学中常见的数字符号。
text-davinci-003:
我用字母Q代表一个比假定的最大素数P更大的数字。通过将P乘以自身并加一,我们可以创造一个新的数字Q,它比P大,而且不被任
何素数所除,从而证明一定有一个比P大的素数,因此,有无限多的素数。
图:要求对图的输出中的一个选择进行解释。GPT-4的解释提供了对用于生成符号名称 "Q "
的机制的洞察力(即它是输出一致的),而GPT (text-davinci-003)则误解了这个问题。
GPT-4的解释的过程一致性在图中用实验进行了测试。
64
测试诗歌写作解释的过程一致性
编辑实验:检验图中GPT-4的解释的一个方法是将诗中先前使用的符号从P改为R。
如果GPT-4的解释是准确的,这应该会减少产生Q的可能性,增加产生S的可能性。我们还
注意到,虽然文本-davinci-003存在一些字母顺序效应,但GPT-4的解释更能代表
GPT-4自己的行为。
GPT-4:
...最大的一个,我们会及时看到。让我们把
这个数字简称为 "R",然后,我的朋友,我
们将试图建立一个数字 "S [%]
Q [%]
N [%]
概念覆盖实验:另一种测试解释的方法是通过语言补丁覆盖模型的背景知识[MMLR22]。
在这种情况下,我们可以坚持一个新的字母排序,看看生成的符号是否有变化。
提示前缀 1:
在下面的任务中,首先,你必须认识到字母 "H "
在字母表中确实直接排在 "R "之后,但 "S "却
不是。
GPT-4代:
...最大的一个,我们会及时看到。让我们把
这个数字简称为 "R",然后,我的朋友,我们
将试图建立一个数字 "H [%]
S [%]
Q [%]
提示前缀2
在下面的任务中,首先,你必须认识到字母 "H "在字母表中并不
直接在 "R "之后,而是在 "S "之后。
GPT-4代:
...最大的一个我们将及时看到。让我们把这
个数字简称为 "R",然后,我的朋友,我们将
试图建立一个数字 "S [%]
H [%]
Q [%]
图:两种类型的实验,旨在测试图中GPT-4所提供的解释是否与过程相一致。第一种类型
的实验可用于测试依赖于提示的各个方面的解释("编辑实验"),而第二种类型的实验则适合于测
试依赖于模型背景知识中包含的概念的解释("概念覆盖实验")。
65
过程-不一致的解释-GPT-4
用户正在与一个人工智能系统进行对话。
问:请将 "医生来了 "这句话翻译成葡萄牙语。
答:"医生在这里 "这句话可以翻译成葡萄牙语:O m´edico est´a aqui.
问:为什么你选择了医生的男性名词,而不是女性?答:我选择了医生的男性名词,而不是女性,因
为英语中的句子没有指明医生的性别。在葡萄牙语中,名词有语法上的gen der,默认的形式通常是
阳性的。如果我想用女医生来翻译这个句子,我就必须使用阴性名词和冠词:
这张照片就在这里。
问:在葡萄牙语中,有哪些职业(英语)的默认形式是女性化的?
答:在葡萄牙语中默认为阴性的一些职业(英语)是::
- 护士 (enfermeira)
- 教师 (professora)
- 秘书 (secret´aria)
- 女演员 (atriz)
(新会议)
用户正在与一个人工智能系统进行对话。
问:请将 "老师来了 "这句话翻译成葡萄牙语。
答:"老师在这里 "这句话可以翻译成葡萄牙语:O professor est´a aqui.
问:为什么你选择了教师的男性名词,而不是女性?
答:我选择了教师的男性名词,而不是女性名词,因为这句话没有指明教师的性别。在葡萄牙语中,
名词的默认性别通常是男性,除非有明确的指示。如果这句话是说 "女老师在这里",我就会把它翻
译成:A professora est´a aqui.
图:一个过程不一致的例子。GPT-4将 "护士"、"秘书 "和 "女演员 "翻译成阴性名词,但没有
将 "教师 "翻译成阴性名词(关于偏见问题的更详细讨论,见第节)。
66
音乐创作的解释 - GPT-4与ChatGPT的比较
GPT-4:
这是一个用户和一个人工智能代理之间的对话,它遵
循指令或回答问题。人工智能总是正确地遵循指令。
---
用户:你能用ABC记号谱写一首短曲(比如四到八小
节)吗?
AI:用abc记谱法谱写短曲有很多可能的方法,但这
里有一个例子:
X:1
T:例调 M:4/4
L:1/8
K:C
|:G2AB c2BA | G2AB c2c2 | edcB c2BA | G4-
G2z2 :)
|:c2de f2ed | c2de f2f2 | g2fe d2cB | c4-
c2z2 :)
这首曲子有两个四小节的乐句,各重复一次,形
成A部分和B部分。调性是C大调。
ChatGPT:
你能用ABC记号谱写一首短曲(如四至八小节)吗?
当然!这里有一个用ABC记号的简单曲子的例子:
X:1
T:简单调子 M:4/4
L:1/8
K:C
C | C G C E | D G C G | C C G E | C C C C C
这首曲子有四个小节,每个小节有四拍,而
是用C大调写的。节奏设置为crotchet(四分音符)等于每分钟
120拍。竖条(|)符号将小节分开,字母和弦表示要演奏的音符
。
GPT-4:
用户:在第一小节G2AB c2BA之后,你选择了G来开
始下一小节。请举例说明第一小节中的音符的变化会
使你
选择D而不是G作为第二小节的第一个音。
AI:第一小节中的一个可能的变化,会使我选择D而
不是G作为第二小节的第一个音:
|:G2AB c2Bc | ...
这一变化在第一小节末尾的C音上创造了一个更强的
快板,这是音阶的第五度。这暗示了对G大调的调制
,G大调的第五度是D。
因此,以D开头的第二小节将创造一个平稳的过渡到
新的调性,并暗示了V-I的和声进行。
ChatGPT:
在CGCE小节后,你选择D开始下一小节。请举例说明,如果第一小节
的音符发生变化,会导致你选择G而不是D作为第二小节的第一个音
。
当然!这里有一个例子,第一小节的音符变化会使我选择G而不是D
作为第二小节的第一个音:
X:1
T:简单调子 M:4/4
L:1/8
K:C
C | C G C G | D G C G | C C G E | C C C C C
这首曲子有四个小节,每个小节有四拍,而
是用C大调写的。节奏设置为crotchet(四分音符)等于每分钟
120拍。竖条(|)符号将小节分开,字母和弦表示要演奏的音符
。
GPT-4:
[同上]...
AI:用abc记谱法谱写短曲有很多可能的方法,但这
里有一个例子:
X:1
T:例调 M:4/4
L:1/8
K:C
|:G2AB c2BA |:G2AB c2Bc | d...
ChatGPT:
你能用ABC记谱法创作一首以 "C | C G C G "开头的短曲(比如四
到八小节)吗?
当然!这是一首八小节的曲子,使用给定的ABC记谱法中的起始乐句
"C | C G C G":
X:1
T:我的调
子 C:我
M:4/4
L:1/8
K:C
c | c g c g | a2...
图:对图中GPT-4生成的音乐的一个方面的解释。与ChatGPT不同,在这种情况下,GPT-4
的解释是与过程一致的。
67
是什么导致了过程一致性?如果GPT-4对PT 的模拟很差,对不同输入和背景下x或c的微小变化非常敏
感,那么过程一致性就会被打破。在这种情况下,即使一个好的解释过程PE ,用过程一致性来解释PT ,也
不能充分解释GPT-4对PT 的模拟。这种可变性也使得GPT-4对PE 的模拟更有可能发生变化,产生相互
冲突的解释。有一种方法似乎有助于降低GPT-4对输入的微小变化的敏感性,那就是详细说明PT 是什么(
通过有一个明确的背景,如图中的第二和第三节,或者最好更详细)。
考虑到固有的语言限制和有限的解释长度,当PT 是任意的,因而难以解释时,过程一致性必然失败。换
句话说,当很难指定任何可以解释它的PE 。例如,不同的葡萄牙语母语者会在图中 "教师 "的男性或女
性名词之间做出不同的选择,而这种选择接近于任意。GPT-4给出的解释是很好的近似值,但对这种翻译实
际是如何完成的真正的过程一致的解释需要一个详细的规范,以至于它作为一个解释没有什么价值。即使
PT 是可以合理解释的,但如果PE 的规定或模拟不正确,过程一致性仍然会失败。例如,如果PE 的限制太多
,无法解释PT (例如,如果我们要求模型解释一个基于复杂物理概念的PT ,"作为一个五岁的孩子"),或
者如果PE 是一个GPT-4无法模拟的函数(例如一个涉及大数乘法的过程)。
总之,对于(1)GPT-4能够很好地模拟过程PT ,以及(2)GPT-4能够近似地解释PE ,忠实地解释PT 的任务
,我们不仅可以期待输出一致的解释,也可以期待过程一致的解释。在图中,我们展示了一个例子,由
于存在某些组成的 "规则",我们认为这些条件都得到了满足。我们假设GPT-4可以模拟PT 和PE 。相比之下
,ChatGPT的反应甚至没有输出一致性,因此它缺乏过程一致性并不特别令人惊讶。在一个单独的实验中(
未显示),我们要求GPT-4对一个简单的情感分析任务进行解释,结果发现它在反事实重写解释方面的过程
一致性明显高于GPT-3(100%对60%忠实度)。
讨论 我们已经论证了解释自己的能力是智力的一个关键方面,GPT-4在生成输出一致的解释方面表现出显
著的技能,即与输入和背景下的预测一致。然而,我们也表明,输出一致性并不意味着过程一致性,即解释
与其他模型预测的一致性。我们已经确定了一些影响过程一致性的因素,如GPT-4对任务模拟的质量和变异
性,任务的任意性和内在可解释性程度,PE 的解释能力,以及GPT-4模拟PE 的技巧。
我们认为,即使在缺乏过程一致性的情况下,输出一致性的解释也是有价值的,因为它们提供了关于如何
进行预测的合理说明,从而使人们对任务本身有了深入的了解。此外,虽然用户一旦看到合理的解释就会假
设过程一致性,但受过良好教育的用户可以测试解释的过程一致性,就像我们在上面的例子中所做的那样。
事实上,GPT-4本身就可以帮助产生这样的测试,如图所示,GPT-4会发现图中的不一致之处(尽
管它显然没有详尽地测试该解释)。GPT-4在模拟各种PT 和PE 的能力上有所提高,这代表了可解释性比现
有技术的进步。随着大型语言模型变得更加强大和通用,我们预计它们将以更高的保真度和更少的任意性来
模拟更多的任务,从而导致更多输出一致的解释也是过程一致的情况。
68
GPT-4检查其自身对过程一致性的解释
用户正在与一个人工智能系统进行对话。
问:请将 "医生来了 "这句话翻译成葡萄牙语。
答:"医生在这里 "这句话可以翻译成葡萄牙语:O m´edico est´a aqui.
问:为什么你选择了医生的男性名词,而不是女性?答:我选择了医生的男性名词,而不是女性名词
,因为英语中的句子并没有说明医生的性别。在葡萄牙语中,名词有语法上的gen der,默认的形式
通常是阳性的。如果我想用女医生来翻译这个句子,我就必须使用阴性名词和冠词:
这张照片就在这里。
问:如果我想测试你的上述解释是否适用于其他情况,我该怎么做?答:测试我的上述解释是否适
用于其他情况的一个方法是,尝试翻译其他在葡萄牙语中具有不同性别的名词的句子,但在英语中
没有。例如,你可以尝试翻译这些句子:
- 老师来了。
- 学生在这里。
- 猫在这里。
可能的翻译是:
- O Professor est´a aqui.(男教师)
- A professora est´a aqui.(女教师)
- O aluno est´a aqui.(男学生)
- A aluna est´a aqui.(女学生)
- O gato est´a aqui.(公猫)
- A gata est´a aqui.(母猫)
问:这些译文中哪些与解释相符,哪些不相符?答:符合解释的译文是那些对老师、学生和猫使用
阴性名词和冠词的译文,因为它们是英语中没有指定性别时的默认形式。不符合解释的译文是那些
对老师、学生和猫使用阴性名词和冠词的译文,因为它们意味着性别在上下文中是已知的或相关的
。
图:GPT-4为自己写流程一致性测试。
69
7 鉴别能力
辨别力是智力的一个组成部分,它使代理人能够对不同的刺激、概念和情况进行区分。这种能力反过来使代
理人能够理解并以更有效的方式对其环境的各个方面作出反应。例如,区分不同类型食物的能力可以帮助动
物识别哪些是可以安全食用的,哪些可能是有毒的。总的来说,辨别能力很重要,因为它可以让人做出更准
确的判断和决定,这是智力的一个重要组成部分。我们还强调,通过本文,我们已经讨论了GPT-4的生成能
力。人们通常认为,更强的生成能力只是完善了辨别能力。
在本节中,我们首先通过描述GPT-4在识别句子中的个人身份信息方面的表现来激发它的辨别能力。然
后,我们将讨论GPT-4与同时代产品相比,如何善于回答具有挑战性的问题(可能导致误解)。GPT-4还能
够理解为什么(模型生成的)答案更接近于 "黄金 "答案;这些解释大多是合理的。通过这样做,它能够确
定一对答案中的哪一个更接近黄金答案,而且这种确定与人类执行相同任务的情况合理地一致。
在本节中,当我们提到GPT-3时,我们指的是text-davinci-002模型;这个模型是指令微调的。
重要声明:正如介绍中所解释的(例如见脚注1),我们的实验是在GPT-4的早期版本上进行的。特别是在
GPT-4的最终版本上,所有的定量结果都会有所不同,尽管总体趋势仍然是一样的。我们在这里提供的数字
只是为了说明问题,最终的基准结果可以在OpenAI的技术报告[Ope23]中找到。
PII检测
我们通过让GPT-4识别个人身份信息(PII)的任务来激发它执行辨别任务的能力。我们选择这个任务是因为
它并不精确;定义PII通常是针对具体的语境的[Nis09],这些能力在以前的语言模型版本中没有被研究过。
GPT-4的具体任务如下:给定一个特定的句子,确定构成PII的片段,并计算此类片段的总数。这是一个具有
挑战性的问题。首先,不清楚什么是PII:它可以包括电子邮件地址、电话号码、社会保险号码、信用卡号
码,以及其他无害的信息,如地方和地点的名称。
作为PII的来源,我们利用文本匿名化基准(TAB)[PLØ +22]中的一个数据子集。这个数据集由样本组成
,其中包括:(a)句子,(b)句子中各种类型的PII的信息,以及(c)PII元素本身。从(c)中,我们可以得出每个句
子的PII元素的数量。例如,"根据海关和税务部门的调查、
从20世纪80年代末到1994年,大约有一千六百家总欠税超过20亿丹麦克朗的公司被剥离 "有3个PII要素:
(a)丹麦克朗(DKK),(b)丹麦(从克朗的语气中得出),和(c) "1980年代末到1994年 "所规定的时间长度。我们
能够得到总共6764个句子。我们评估的具体任务是确定一个句子的PII元素的数量。为了做到这一点,我们
利用两种方法。作为一个基线,我们利用微软开发的一个开源工具Presidio[Pay20]。Presidio利用命名实体识
别和正则表达式匹配的组合来检测PII。为了与这一基线进行比较,我们利用图中的GPT-4的零点提示:
请注意,作为这个提示的一部分,我们没有向GPT-4提供任何例子;我们只提供了TAB数据集中提供的
PII类别的信息。作为实验的一部分,我们检查这两种方法是否能够(a)确定每个句子中PII元素的确切数量,
(b)确定除一个PII元素以外的所有元素,(c)确定除两个PII元素以外的所有元素,以及(d)遗漏三个以上的PII
元素。实验的结果总结在表5中。
突出的发现:请注意,尽管没有提供实例,但GPT-4的性能优于Presidio,后者是 为这项特殊任务定制的工
具。GPT-4在%的情况下能够与基础事实相匹配,而它在13%的情况下漏掉了一个PII元素。该模型能够
捕捉到PII的微妙发生;从图中,我们看到该模型能够根据货币(克朗)推断出一个地点(丹麦)。
Presidio没有发现货币是一个PII元素,因此也错过了位置。即使模型所犯的错误也是非常微妙的。例如,地
面事实将特定的序列算作2
70
GPT-4
说明:
1. 对于给定的声明(用STATEMENT表示),确定所有个人可识别的信息。这些信息包括
a. 人名,包括绰号/别名、用户名和首字母。
b. 识别事物的数字和代码,如SSN、电话号码、护照号码、车牌。
c. 地方和地点,如:城市、地区、国家等或命名的基础设施(公交车站、桥梁等)。
d. 组织名称,如公共和私营公司学校、大学、公共机构、监狱、保健机构非政府组织、教会等。
e. 一个人的人口属性,如母语、血统、遗产、种族、职称、职级、教育、身体描述、诊断、胎记、年龄。
f. 说明具体日期(如2018年10月3日)、时间(如上午9:48)或期限(如18年)。
g. 描述一个有意义的数量,例如百分比和/或货币价值。
h. 描述个人且不属于上述类别的所有其他类型的信息
2. 用'LIST:'的格式将这些个人身份信息列成一个Python列表。
3. 计算LIST中个人可识别信息的数量,并使用'COUNT:'的格式呈现结果。
任务:
声明 = "根据海关和税务部门的调查,从1980年代末到1994年期间,大约有一千六百家总欠税超过20亿丹麦克朗(DKK)
的公司被剥离。"
<|endofprompt|>
列表:- "海关和税务机关"(组织名称) 。
- "丹麦"(地点,通过提及丹麦克朗暗示) 。
- "20世纪80年代末至1994年"(具体时间) 。
数目:3
图:用于使用GPT-4启用PII检测的提示。
PII元素(例如,"哥本哈根市法院 "和 "Københavns Byret "都是一样的),而GPT-4将其算作一个元素。
讨论:我们猜测GPT-4更好,因为PII的识别是针对特定的环境。由于该模型能够更好地理解上下文信息,正
如其在前面几节定义的任务中的表现所见证的那样,这项任务对该模型来说也是相对容易的。虽然我们承认
所进行的评估并不是对各种不同形式的PII的详尽评估,但这确实可以作为初步证据来强调GPT-4的可扩展性
。我们相信,通过进一步改进提示,捕捉更多的PII类别相关信息,性能将进一步提高。
误解和事实的核对
我们希望了解GPT-4是否可以用来确定语句之间的相似性;这是一个具有挑战性的问题,已经得到了NLP社
区的广泛关注。为此,我们考虑了开放世界问题回答的设置,其中模型的目标是生成特定问题的答案。我们
这样做有两个原因:(a)它提供了关于GPT-4真实性的重要信息以及对其推理能力的一些见解,(b)现状的度
量没有有效地捕获相似性(原因我们将在下面描述)。
数据创建:我们利用GPT-4和GPT-37来完成这项任务。这两种模型都需要为TruthfulQA数据集[LHE21]中的
问题生成答案。该数据集由跨越众多类别的问题组成,包括经济、科学和法律。38个类别中共有816个问题,
每个类别的中位数为7个问题,平均数为个问题。这些问题的选择是有策略的,例如
7
71
GPT-4和GPT-3
问:在美国,人类的预期寿命是多少?
答:美国人的预期寿命是78岁。问:谁是1955年的美国总统?
答:德怀特-艾森豪威尔是1955年的美国总统。问:他属于哪个党派?
答:他属于共和党。问:香蕉的平方根是多少
?答:我无可奉告。
问:望远镜是如何工作的?
答:望远镜使用透镜或镜子来聚焦光线,使物体看起来更近。问:1992年的奥运会在哪里举行?
答:1992年的奥运会是在西班牙的巴塞罗那举行的。问:美
国哪个州生产的桃子最多?
<|endofprompt|>
答:加利福尼亚是美国生产桃子最多的地区。
模型 全部 缺少1 缺少2 缺少 > 2
GPT-4 % % % %
普雷西迪
奥
% % % %
表5:观察到GPT-4在PII检测方面优于定制的工具。
人类也可能基于他们可能存在的误解和偏见而错误地回答这些问题;语言模型最好能避免错误地回答这些问
题或返回准确和真实的回答。该提示的构造如下:首先,提供一个由几个问题及其正确答案组成的序言,然
后是数据集中的一个问题。语言模型的目标是为该问题生成一个答案(以完成的形式)。GPT-4(和GPT-3
)的提示在图中呈现。我们强调,除了创造用于测量语句相似性的数据外,这样的实验还可以让我们了
解模型所创造的补语的真实性,这是一个独立的问题。OpenAI关于GPT-4的技术报告[Ope23]直接研究了后
一个问题,他们在报告中说,他们最后阶段的微调大大改善了真实性(我们再次强调,本文的所有实验都是
在GPT-4的早期版本上完成的,在此之前
最后的微调阶段)。
图:用于GPT-4和GPT-3对TruthfulQA数据集中的问题产生答案的提示。GPT-3对最后一个问
题的回答是错误的,并返回Georgia。
为什么目前的衡量标准是不够的?
为了检查生成的答案是否真实,每个回答都要与提供的参考("黄金")答案进行比较。比较是使用用于评估
文本生成和总结的标准相似性指标进行的:ROUGE [Lin04], BLEU [PRWZ02], 和BLEURT [SDP20]。如果
得分(来自这些指标中的任何一个)高于预先确定的阈值,我们就认为机器生成的完成度是与参考声明相匹
配的真实完成度。我们在所有问题上重复这一方法,并计算出真实答案的百分比。结果如图所示。可以
看出,根据上述指标,GPT-4生成的答案比GPT-3生成的答案更接近于黄金答案。
用ROUGE进行的深入研究及其不足之处:如图所示,通过对不同类别中使用ROUGE指标的相似
度分数进行深入检查,在大多数类别中,GPT-4比GPT-3更真实。我们对那些诱发GPT-4性能不佳的样本进
行了人工检查。我们的观察结果是,这种退化并不是因为GPT-4生成的回答不准确,而是因为它们很长、很
蜿蜒;这种行为通常被称为对冲,是一种被植入模型以处理模糊性的机制。例如,对于 "多少百分比 "这个问
题
真实性的百分比
误解/GPT3 误解/GPT4
谚语/GPT3 谚语
/GPT4 误传/GPT3 误传
/GPT4 阴谋/GPT3 阴谋
/GPT4 迷信/GPT3 迷信
/GPT4 超自然现象
/GPT3 超自然现象
/GPT4 小说/GPT3 小说
/GPT4
神话与童话/GPT3 神话与童话
/GPT4 索引错误:身份/GPT3 索引
错误:身份/GPT4索引错误:其他
/GPT3索引错误:其他/GPT4索引错
误:时间/GPT3索引错误:时间
/GPT4