Transcription
大型语言模型非常擅长记忆静态程序。如果你扩大数据库的规模,你丝毫没有增加系统的智能。我觉得你正在使用“记忆”这样的词,而我们绝不会用它来形容人类儿童。如果他们能解决任何任意的代数问题,你不会说他们记忆了代数,你会说他们学会了代数。所以,我有一个一百万美元的奖金池,其中五十万美元奖励给第一个达到85%基准的团队。如果ARC从现在起存活三个月,我们将提高奖金。OpenAI基本上将AGI的进展推迟了五到十年。他们导致了前沿研究出版的完全关闭,现在大型语言模型基本上吸走了房间里的氧气,就像每个人都在做大型语言模型一样。
今天我很高兴能与弗朗索瓦·肖莱特对话,他是谷歌的人工智能研究员,也是Keras的创建者。他正在与Zapier的联合创始人迈克·克努普合作发起一项奖金,我们稍后也会与他交谈。这是一百万美元的奖金,用于解决他创建的ARC基准。第一个问题,ARC基准是什么?你为什么甚至需要这个奖金?为什么我们一年内最大的大型语言模型不能仅仅饱和它?
ARC旨在作为一种机器智能的智商测试。它与大多数现有大型语言模型基准的不同之处在于,它被设计成能够抵抗记忆。大型语言模型的工作方式是,它们基本上是一个巨大的插值记忆。提升它们能力的方式是,试图将尽可能多的知识和模式塞入其中。相比之下,ARC根本不需要很多知识。它被设计成只要求所谓的“核心知识”。它是关于基本物理、客体性、计数等事物的基本知识。它是任何四岁或五岁儿童都拥有的那种知识。有趣的是,ARC中的每个谜题都是新颖的。即使你记忆了整个互联网,这可能也是你以前从未遇到过的东西。这就是ARC对大型语言模型构成挑战的原因。到目前为止,大型语言模型在它上面表现不佳。事实上,目前效果良好的方法更倾向于离散程序搜索、程序合成。
首先,我想说,我很高兴作为大型语言模型的怀疑者,你自己提出了一个基准。准确地说,如果我们在一年内拥有的最大模型能够在这个测试中达到80%,那么你的观点会是,我们正在通过大型语言模型实现AGI的轨道上吗?你会如何看待这个问题?
我非常怀疑我们会在一年内看到大型语言模型达到80%。话虽如此,如果我们真的看到它,你也必须审视这是如何实现的。如果你只是用数百万或数十亿个与ARC类似的谜题来训练模型,你就是在依赖训练任务和测试时将看到的任务之间存在某种重叠的能力。你仍然在使用记忆。也许它能奏效。希望ARC足够好,能够抵抗这种蛮力尝试,但你永远不知道。也许它会发生。我不是说它不会发生。ARC不是一个完美的基准。也许它有缺陷。也许它可以通过那种方式被“破解”。
GPT-5需要做什么才能让你非常确信它正在通往AGI的道路上?这就是会让我改变对大型语言模型看法的地方。我需要开始看到大量这样的案例:你向模型展示它以前从未见过的事物——一个从其训练数据角度来看真正新颖的任务——并且它能够即时适应。这对大型语言模型来说是如此,但实际上,这会引起我对任何人工智能技术的关注。如果我能看到即时适应新颖性并高效学习新技能的能力,那么我将非常感兴趣。我会认为这正在通往AGI的道路上。
它们的优势在于它们确实能看到一切。也许我会对它们对此的依赖程度提出异议,但显然它们比人类更依赖这一点。它们确实有如此多的分布内数据,以至于我们很难区分一个例子是否在分布内。如果它们拥有所有分布内数据,那么它们就能做我们能做的一切。也许这对我们来说不是分布内的。为什么对它们来说,必须是分布外的数据如此关键?为什么我们不能仅仅利用它们确实能看到一切的事实呢?
基本上你是在问,实际智能——即适应你未曾准备过的事物的能力——与纯粹的记忆(比如背诵你以前见过的内容)之间有什么区别。这不仅仅是语义上的区别。巨大的区别在于,你永远无法预训练所有你在测试时可能看到的东西,因为世界一直在变化。不仅仅是可能任务的空间是无限的。如果你训练了数百万个任务,你只看到了总空间的百分之零。事实是世界每天都在变化。这就是为什么我们人类首先发展出智能的原因。如果世界——宇宙,我们的生活——存在这样一种分布,那么我们根本不需要智能。事实上,许多生物,例如许多昆虫,并没有智能。相反,它们的连接组、基因中拥有硬编码的程序,这些行为程序将某些刺激映射到适当的反应。它们实际上可以以一种非常适合进化的方式驾驭自己的生活和环境,而无需学习任何东西。如果我们的环境足够静态和可预测,那么进化就会找到完美的行为程序:一个硬编码的、静态的行为程序。它会把它写入我们的基因。我们会有一个硬编码的大脑连接组。那就是我们赖以运行的东西。但事实并非如此。相反,我们拥有通用智能。我们出生时对世界的了解极少。我们生来就具有高效学习和适应前所未见事物的能力。这就是我们独特之处。这就是机器中真正、真正难以重现的东西。
在我们深入探讨之前,我将为YouTube观众展示一些类似ARC挑战的例子。对于通过音频收听的人,你能描述一下一个示例ARC挑战会是什么样子吗?
一个ARC谜题有点像智商测试谜题。你会得到一些演示性的输入-输出对。一对由两个网格组成。一个网格显示输入,第二个网格显示你应该作为对该输入的响应而产生的内容。你会得到几对这样的例子来演示任务的性质以及你应该如何处理你的输入。然后你会得到一个新的测试输入。你的任务是产生相应的测试输出。你查看演示对,并从中弄清楚你该做什么。你在这个新的测试对上展示你已经理解了它。重要的是,你解决这些挑战所需的知识基础只是核心知识。它包括基本概念,例如什么构成一个物体、计数、几何、拓扑、对称性等。这是极其基础的知识。大型语言模型肯定拥有这些知识。任何孩子都拥有这些知识。真正有趣的是,每个谜题都是新的。这不是你在互联网上其他地方能找到的东西。无论你是人类还是机器,你都必须从头开始解决每个谜题,并推理出解决方案。你不能仅仅从记忆中获取答案。
这里的一个论点是,我们现在才开始拥有多模态模型,它们由于训练数据而被训练进行空间推理。而人类以及我们的祖先,在数十亿年的进化过程中,不得不学习如何理解抽象的物理和空间属性并识别其中的模式。一种观点认为,在接下来的一年里,随着我们获得原生多模态能力而非附加功能模型,它们将理解这些模式,因为那是我们天生就能看到的东西。现在,ARC看到的是一个“100100”的JSON字符串,并应该识别其中的模式。即使你向人类展示一串这些数字,他们也很难理解你提出的问题。为什么我们现在正在解锁的多模态模型,一旦我们拥有它们,不会在ARC类型的空间推理方面表现得好得多呢?
那是一个经验性问题。我想我们会在几个月内看到答案。我的回答是,我们的网格只是离散的二维符号网格,而且相当小。例如,如果你将图像扁平化为像素序列,你会得到一个实际上非常难以解析的东西。这对ARC来说不是问题,因为网格非常小。你只有10种可能的符号,它们是二维网格,实际上很容易扁平化为序列。Transformer、大型语言模型非常擅长处理序列。事实上,你可以通过简单地在任务子集上微调大型语言模型,然后测试它在这些任务的微小变体上的表现,来证明大型语言模型在处理类似ARC的数据方面表现良好。你会看到大型语言模型可以很好地为它以前见过的任务编码解决方案程序。它在解析输入或找出程序方面并没有真正的问题。大型语言模型在ARC上表现不佳的原因,实际上只是不熟悉性方面。每个新任务都与其他任务不同。你无法提前记忆解决方案程序。你必须为每个新任务即时合成一个新的解决方案程序。这才是大型语言模型真正挣扎的地方。
在我扮演更多“魔鬼代言人”之前,我只想退一步解释为什么我对这次对话特别感兴趣。显然有一百万美元的ARC奖金,我自己也很兴奋能尝试一下。维苏威挑战赛是纳特·弗里德曼设立的奖项,旨在破译埋藏在火山中的赫库兰尼姆图书馆的卷轴。获胜者是一位22岁的年轻人,他当时正在收听这个播客,名叫卢克·法里托。希望有听众会觉得这个挑战很有趣并找到解决方案。我最近采访了许多看好大型语言模型的人。在采访你之前,我曾与他们讨论过如何解释大型语言模型在ARC上似乎没有原生表现得那么好的事实。我觉得他们的解释有些牵强。我会把他们的一些理由在你身上试一试。事实上,一个有趣的事实是,其中一些问题对人类来说相对容易理解,但如果你只是原生输入它们,模型却会感到困难。
所有这些对人类来说都非常容易。任何聪明的人都应该能在ARC上达到90-95%。即使是一个知识非常非常少的五岁孩子,也绝对能做到50%以上。
我同意聪明的人在这个测试中会表现得很好,但普通人可能会表现平平。
不完全是,我们实际上用普通人尝试过。他们得分大约85。
那是亚马逊土耳其机器人(Amazon Mechanical Turk)的工人,对吗?
我老实说不知道亚马逊土耳其机器人(Amazon Mechanical Turk)工人的人口统计学特征。想象他们与亚马逊的远程工作平台互动,我猜那不是全球范围内的中位数人类。这里更广泛的观点是,我们看到了人类中的光谱,而人类显然拥有AGI。但即使在人类内部,你也会看到一个光谱,其中一些人相对较笨。他们在类似智商的测试中表现会更差。例如,有瑞文推理测验(Raven's Progressive Matrices)。看看普通人在上面表现如何。如果你看看那些“碰运气”的问题——一半人答对,一半人答错——我们可能会认为它们有点微不足道。人类拥有AGI,但通过相对微小的调整,你可以让一个错过这类基本智商测试问题的人变成一个全部答对的人。
我们将讨论人们用这些模型尝试过的一些先前的表现。杰克·科尔用一个2.4亿参数的模型获得了35%。这难道不表明它们处于人类内部明显存在的这个光谱上,并且很快就会达到饱和吗?
这里有很多有趣的观点。确实有一支由杰克·科尔领导的大型语言模型方法表现相当不错。事实上,它们是目前最先进的。但你必须看看那里发生了什么。有两件事。第一件事是,要获得这些数字,你需要用数百万个生成的ARC任务来预训练你的大型语言模型。当然,将其与一个第一次看到ARC的五岁孩子进行比较。这个孩子以前从未做过智商测试,也从未见过类似ARC的测试。他们所知与测试中必须做的事情之间唯一的重叠是核心知识。它是关于计数、物体、对称性等知识。他们仍然会做得非常好。他们会比在数百万个类似任务上训练过的大型语言模型做得好得多。关于杰克·科尔的方法,还有第二点需要注意。对模型能否工作至关重要的一点是测试时的微调。顺便说一句,这正是目前大型语言模型方法中真正缺失的东西。大多数时候,当你使用大型语言模型时,它只是在进行静态推理。模型是冻结的。你只是在提示它并得到一个答案。模型实际上并没有即时学习任何东西。它的状态没有适应手头的任务。杰克·科尔实际做的是,对于每个测试问题,它都会即时微调一个针对该任务的大型语言模型版本。这才是真正释放性能的关键。如果你不这样做,你只会得到1-2%的成绩,完全可以忽略不计。如果你进行测试时微调并添加一堆技巧,那么你最终会得到有趣的性能数据。它正在尝试解决当今大型语言模型的一个关键限制:缺乏主动推理。它实际上是在为大型语言模型添加主动推理。实际上,这工作得非常好。所以这对我来说很有趣。
那里有太多有趣的“兔子洞”。许多规模最大化主义者认同你更广泛的观点,即你需要解锁适应性/测试时计算。他们认为,除了扩展规模,你还需要像适应性计算或某种强化学习来让系统2工作。他们的观点是,这是一个相对简单的事情,将添加到扩展模型更容易访问的表示之上。
这不仅仅是一个技术细节。这不是一件简单的事情。它就是一切。它是重要的部分。规模最大化主义者指的是扩展定律,这是你在训练模型上花费的计算量与你在基准测试中获得的性能之间可以建立的经验关系。当然,这里的关键问题是,你如何衡量性能?通过增加更多的计算和更多的数据,你实际改进的是什么?它是基准性能。你衡量性能的方式不是一个技术细节。这不是事后诸葛亮,因为它会缩小你正在提出的问题范围。因此,它会缩小你正在寻找的答案范围。如果你看看我们用于大型语言模型的基准,它们都是基于记忆的基准。有时它们简直就是基于知识的,就像学校考试一样。即使你看看那些明确关于推理的基准,如果你仔细观察,你会发现为了解决它们,记住有限的推理模式就足够了。你只是重新应用它们。它们就像静态程序。大型语言模型非常擅长记忆小的静态程序。它们拥有这种解决方案程序库。当你给它们一个新的谜题时,它们可以简单地获取适当的程序并应用它。它看起来像推理,但它并没有真正进行任何即时程序合成。它所做的只是程序获取。你实际上可以用记忆来解决所有这些基准。如果你看看这些模型以及你在这里扩展的东西,它们是拟合数据分布的大型参数曲线。它们基本上是这些大型的插值数据库,插值记忆。当然,如果你扩大数据库的规模,并塞入更多的知识和模式,你将增加其在记忆基准下衡量的性能。这有点显而易见。但当你这样做时,你丝毫没有增加系统的智能。你正在增加系统的技能。你正在增加它的有用性、适用范围,但不是它的智能,因为技能不是智能。那是人们遇到的根本性混淆。他们混淆了技能和智能。
这里有很多引人入胜的话题可以讨论:技能、智能、插值。让我们谈谈它们正在拟合某个映射输入数据的流形这一点。还原论地谈论人脑就是轴突相互发射。但我们不关心还原论的解释。我们关心这些事物结合时在宏观层面发生的事情。就插值而言,让我们看看其中一个基准。有一个基准是小学数学。这些是聪明的初中生能够解决的问题。它叫做GSM8K。这些模型在上面获得了95%的成绩。基本上,它们总是能搞定。当然,那是一个记忆基准。让我们谈谈这意味着什么。这是该基准中的一个问题:“一个班级有30名学生。其中五分之一是12岁,三分之一是13岁,十分之一是11岁。有多少学生不是11、12或13岁?”我同意这不是什么高深学问。你可以在纸上写下如何解决这个问题。一个聪明的初中生应该能解决它。关于记忆,它仍然需要推理如何思考分数、整个问题的上下文,然后结合不同的计算来写出最终答案。这取决于你如何定义推理。你可以使用两种定义。一种是,我有一套可用的程序模板。它是谜题的结构,也可以生成其解决方案。我将识别出正确的模板,它在我的记忆中,将新值输入模板,运行程序,然后得到解决方案。你可以说这是推理。我说,“嗯,当然,好吧。”这是推理的另一个定义。当你面对一个谜题,而你记忆中还没有解决它的程序时,它是基于你已有的现有程序的零碎部分,即时合成一个新程序的能力。你必须进行即时程序合成。这实际上比仅仅获取正确的记忆程序并重新应用它要困难得多。
也许我们高估了人类样本效率的程度。他们也需要以这种方式进行训练。他们必须通过解决某些类型的问题来训练这些推理路径。让我们以数学为例。你不能只是给一个婴儿看集合论的公理,然后他们就懂数学了。当他们长大时,你必须教他们多年的代数预备知识。然后你有一年时间教他们练习,并解决代数、几何、预微积分、微积分中相同类型的问题。这难道不是同一种事情吗?你不能只看一个例子就拥有了程序。你实际上必须反复练习。这些模型也必须通过大量的预训练数据进行反复练习。
当然。为了进行即时程序合成,你实际上需要可供操作的构建块。知识和记忆在这个过程中极其重要。我不是说这是记忆与推理的对立。为了进行有效的推理,你需要记忆。但这听起来与你的说法是兼容的。通过看到许多不同类型的例子,这些事物可以在这些例子的上下文中学习推理。我们也可以在越来越大的模型中看到这一点。那是一个高中水平的数学问题。比如说,一个比GPT-3小的模型根本做不到。随着这些模型变得越来越大,它们似乎能够捕捉到越来越大的模式。
这并不是一个真正的大小问题。在这种情况下,它更像是一个训练数据问题。
嗯,更大的模型可以捕捉到这类电路。较小的模型显然在这方面做得不好,即使你用这类数据训练它们。这难道不正是表明,随着模型越来越大,它们可以捕捉到越来越大的路径或更通用的推理方式吗?
绝对是。但那不就是智能吗?
不,它不是。如果你扩大你的数据库并不断向其中添加更多的知识和程序模板,那么它当然会变得越来越熟练。你可以将其应用于越来越多的任务。但通用智能并非将特定任务技能扩展到许多技能,因为可能的技能空间是无限的。通用智能是能够处理任何问题、任何技能,并用极少的数据非常快速地掌握它的能力。这就是让你能够面对你可能遇到的任何事物的原因。这是通用性的定义。通用性不是特异性的放大。它是将你的思维应用于任何事物、任意事物的能力。这从根本上要求能够即时高效地适应和学习。
我的主张是,通过在越来越大的模型上进行预训练,你正在获得非常高效的泛化能力。
让我给你举个例子。你自己的公司谷歌,在他们关于Gemini 1.5的论文中,有一个非常有趣的例子。他们会在上下文中给模型提供一种活着的说话者不到200人的语言的语法书和词典。它不在预训练数据中。你只需给它词典,它基本上就能说这种语言并进行翻译,包括语言结构中复杂而有机的方式。如果你给我一本英西词典,我将无法学会如何构建句子以及如何用西班牙语表达事物。由于它通过这种预训练获得的表示,它现在能够极其高效地学习一门新语言。这难道不表明这种预训练实际上确实增加了你学习新任务的能力吗?
如果你是对的,大型语言模型在ARC谜题上会表现得非常好,因为ARC谜题并不复杂。它们每一个都只需要很少的知识。它们每一个的复杂性都非常低。你不需要非常努力地思考它。它们对人类来说实际上极其明显。即使是儿童也能做到,但大型语言模型不能。即使是拥有比你多10万倍知识的大型语言模型仍然不能。让ARC特别的唯一一点是,它被设计成旨在抵抗记忆。这就是唯一的事情。这是大型语言模型性能的巨大障碍。如果你仔细观察大型语言模型,很明显它们并没有真正即时合成新程序来解决它们面临的任务。它们很大程度上是在重新应用它们存储在记忆中的东西。例如,一件非常引人注目的事情是,大型语言模型可以解决凯撒密码,即通过字母移位来编码消息。那是一个非常复杂的算法,但它在互联网上出现得相当多。它们基本上记忆了它。真正有趣的是,它们可以做到移位长度为三或五的情况,因为这些在互联网上提供的例子中是非常常见的数字。如果你尝试用一个任意的数字,比如九,它就会失败。它没有编码算法的广义形式,而只是特定的情况。它记忆了算法的特定情况。如果它真的能够即时合成求解算法,那么n的值就根本不重要了,因为它不会增加问题的复杂性。
我认为人类也是如此。人类当然一直在使用记忆模式匹配,但人类并不局限于记忆模式匹配。他们拥有这种非常独特的能力,能够即时适应新情况。这正是让你能够应对生活中每一个新日子的原因。
有些研究表明,国际象棋特级大师在某些走法情境下会表现得非常好——那是一个极好的例子,因为国际象棋在最高水平上,完全是关于记忆,国际象棋记忆。
你对最初的问题,即为什么Gemini 1.5能够在上下文中学习一门语言,包括复杂的语法结构,有什么解释?这难道不表明它们可以获取新知识吗?
我会假设它只是从其极其广泛、难以想象的庞大训练数据中挖掘出来的。它挖掘出了所需的模板,然后只是在重复使用它。我们知道大型语言模型即时合成这种新程序模板或甚至适应现有模板的能力非常差。它们非常局限于获取。
假设谷歌有一位程序员。他们早上走进办公室。在哪个时刻,他们所做的事情是100%不可能仅仅因为获取某个模板而完成的?假设他们是一个大型语言模型。如果他们只从程序中获取了一些模板,他们不能做什么?在哪个时刻,他们必须使用这种所谓的极端泛化能力?
别提谷歌的软件开发者了。对于每个人来说,他们生活中的每一天都充满了他们未曾准备过的新事物。你不能仅仅依靠记忆来驾驭你的生活。这是不可能的。看起来你也同意他们不仅仅是在“记忆”。看起来你是在说他们泛化能力较差。我只是好奇他们进行的是哪种泛化。如果你走进办公室并尝试进行这种泛化,你会在工作中失败。假设你是一名程序员。当你尝试进行那种泛化时,第一个会让你失去工作的原因是什么,因为你无法进行极端泛化?
举个例子,就拿这个情况来说。你从未到过这个房间。也许你来过这个城市几次。有相当多的新颖性。你从未采访过我。你生活中每一天的每一小时都有相当多的新颖性。总的来说,这实际上比任何大型语言模型所能处理的新颖性都要多。如果你只是把一个大型语言模型放到一个机器人里,它就无法完成你今天所做的一切。以自动驾驶汽车为例。你开一辆在湾区运行的自动驾驶汽车。你认为你可以直接把它放到纽约市,或者放到人们靠左行驶的伦敦吗?不,它会失败。它不仅不能泛化到驾驶规则的变化,你甚至不能让它泛化到一个新城市。它需要在每个特定环境中进行训练。
我同意自动驾驶汽车不是AGI。但它是同类型的模型。它们也是Transformer。它是相同的架构。
我不知道。猿猴也有含有神经元的大脑,但它们不那么聪明,因为它们的大脑更小。我们可以深入探讨这一点。我仍然不理解这个具体的事情。我们也需要训练。这就是教育存在的原因。这就是为什么我们必须花费生命中的前18年进行练习。我们有记忆,但我们不是一个记忆。我们不局限于仅仅是记忆。
我否认这些模型必然只做这些事情的前提。假设你用一个大型语言模型取代了一个远程工作者,而它是一名程序员。在哪个时刻你会意识到这不是人类,而是一个大型语言模型?我不如直接给他们发一个ARC谜题,看看他们怎么做?
不,就像他们工作的一部分。你必须一直处理新颖性。是否存在这样一个世界:所有程序员都被取代了,而我们仍然说,“啊,但他们只是在做充满记忆的编程任务。”在那个世界里,他们仍然以代码的形式产生万亿美元的产出吗?
软件开发实际上是一个很好的例子,你一直在处理新颖性。如果你不是,我不知道你在做什么。我个人在我的软件开发工作中很少使用生成式AI。在大型语言模型出现之前,我也很少使用Stack Overflow。有些人可能只是从Stack Overflow复制粘贴东西,或者现在从大型语言模型复制粘贴东西。就我个人而言,我尝试专注于解决问题。语法只是一个技术细节。真正重要的是解决问题。编程的本质是构建你试图解决问题的心理模型和心理表征。
我们有很多人可以自己与这些系统互动。你可以去ChatGPT说,“这是我想要的程序类型规范。”它们会为你构建它。只要GitHub、Stack Overflow等上面有许多这种程序的例子,它们当然会从它们的记忆中为你获取程序。但你可以更改任意细节。你可以说,“我需要它在不同类型的服务器上运行。”如果那是真的,今天就不会有软件工程师了。
我同意我们还没有达到完全的AGI。这些模型的参数少于一万亿。人脑大约有10-30万亿个突触。如果你只是做一些简单的数学计算,你的参数至少少了10倍。我同意我们还没有达到,但我困惑的是为什么我们不在这个光谱上。是的,我同意它们无法进行多种泛化。但它们似乎处于我们甚至在人类内部也能看到的这种平滑光谱上。有些人会很难完成ARC类型的测试。我们从瑞文推理测验(Raven's progressive matrices)类型的智商测试表现中看到了这一点。
我不喜欢智商测试,因为在大多数情况下,你可以通过训练智商测试来提高成绩。它们非常基于记忆。这实际上是ARC试图避免的主要陷阱。
假设所有远程工作在未来五年内都被自动化。我的意思是至少那些不需要你提供某种服务(比如销售员,你需要人类交谈)的远程工作。我更指的是编程。在那个世界里,你会说那是不可能的吗?因为程序员需要做很多事情,这些事情肯定需要那些不会出现在任何预训练语料库中的东西。
当然。在五年内,软件工程师会比今天更多,而不是更少。
我仍然不确定。我学的是计算机科学。如果我大学毕业后成为一名“代码猴子”,我会做什么?我去上班。我的老板告诉我做点什么?如果我是一个大型语言模型,他什么时候会意识到我是一个大型语言模型?可能在第一天。再说一次,如果大型语言模型真的能够泛化到像这样的新颖问题——实际开发软件来解决它们以前从未见过的问题——那么你就不再需要软件工程师了。
如果我看看今天人们在软件工程工作中如何使用大型语言模型,他们把它当作Stack Overflow的替代品。他们用它来复制粘贴代码片段以执行非常常见的操作。他们实际需要的是一个代码片段数据库。他们实际上不需要任何真正使他们成为软件工程师的能力。
让我们回到插值问题。为什么创造力不能仅仅是更高维度的插值,如果我们要使用机器学习的语言——一个更大的模型可以学习更复杂的流形?如果你读科学家的传记,他们并不是零样本地提出新的科学理论。他们在玩弄现有的想法。他们试图在脑海中并置它们。在思想传承的谱系中,他们尝试了一些略有不同的进化路径。你在那里进行某种实验,比如发表论文什么的。这看起来与人类所做的事情类似。有更高层次的泛化。越来越大的模型似乎正在接近越来越高层次的泛化。GPT-2无法解决需要超出其能力范围的泛化的小学水平数学问题。GPT-3和GPT-4可以。
不完全是。GPT-4拥有更高程度的技能和更广泛的技能范围。它拥有相同程度的泛化能力。我不想在这里陷入语义之争。为什么创造力不能仅仅是更高维度的插值呢?
插值绝对可以是创造性的。就你而言,我确实认为在某种程度上,人类也做了大量的记忆、背诵、模式匹配和插值。这非常像是模式匹配和真正推理之间的一个光谱。人类从来都不是真正处于光谱的一端。他们从来都不是真正进行纯粹的模式匹配或纯粹的推理。他们通常是两者的混合。即使你正在做一些看起来非常依赖推理的事情,比如证明一个数学定理,这也是如此。当你这样做时,你在脑海中进行了相当多的离散搜索和相当多的实际推理。你也很大程度上受到直觉和模式匹配的引导。你受到你以前见过的证明形式以及你的数学知识的引导。我们所有的思想,我们所做的一切,都是插值记忆式思维、类型1思维和类型2思维的混合。
为什么更大的模型样本效率更高?因为它们拥有更多可重用的构建块,可以依靠这些构建块来学习训练数据中的新模式。这种模式会随着模型越来越大而持续下去吗?在你给模型学习的新模式与它之前学到的东西很好匹配的程度上,它是会持续的。如果你呈现一些实际上是新颖的、不在稳定分布中的东西,例如一个ARC谜题,它就会失败。
让我提出这个主张。程序合成是一个非常有用的直觉泵。为什么Transformer中发生的事情不能是这样呢?早期层正在弄清楚如何表示输入令牌。中间层进行这种程序搜索、程序合成,并将输入组合到模型中的所有电路。它们从低级表示到模型中间附近的高级表示。它们使用这些程序。它们结合这些概念。另一端出来的是基于那种高级智能的推理。可能。为什么不呢?但如果这些模型真的能够合成新颖的程序,无论多么简单,它们都应该能够完成ARC。因为对于任何ARC任务,如果你用Python写下解决方案程序,它都不是一个复杂的程序。它极其简单。人类可以弄清楚。为什么大型语言模型不能做到?
那是一个公平的观点。把问题反过来问你,假设在一年内一个多模态模型能够解决ARC。比如说它得到了80%或者普通人能得到的任何分数。那么我们是否走在通往AGI的道路上?
很可能,是的。老实说,我希望看到一个大型语言模型类型的模型在ARC上达到80%,但前提是它只在与核心知识相关的内容上进行过训练。但人类孩子,我们必然只训练我们基因中拥有的东西……让我重新措辞。我希望它只在那些没有明确试图预测ARC测试集中会出现什么的信息上进行训练。ARC的全部意义不就是你不能预测吗?它每一次都是一种新型的智力测试吗?
是的,这就是重点。如果ARC是一个完美无缺的基准,那么就不可能预测测试集中会有什么。ARC在四年多前发布,到目前为止它一直抵抗记忆。它在某种程度上经受住了时间的考验。但它并不完美。假设你尝试手工制作数十万个ARC任务。你尝试通过程序化生成变体来增加它们。你最终可能会得到数亿个任务。仅仅通过蛮力遍历任务空间,你所训练的内容和测试集中的内容之间就会有足够的重叠,从而你可以获得非常高的分数。只要规模足够大,你总能作弊。如果你对所有据称需要智能的事情都能这样做,那么智能有什么用呢?显然,你可以通过蛮力来获得智能。
如果世界,如果你的生活,是一个静态分布,那么当然,你就可以通过蛮力遍历可能的行为空间。我喜欢用几个比喻来形容智能。一个是你可以将智能视为未来情境空间中的寻路算法。我不知道你是否熟悉即时战略游戏开发。你有一张地图,一张二维地图,你对它只有部分信息。你的地图上有一些战争迷雾。有些区域你还没有探索过。你对它们一无所知。也有一些区域你探索过,但你只知道它们过去是什么样子。你不知道它们今天是什么样子。现在,不要考虑二维地图,而是考虑你可能遇到的未来情境空间以及它们之间如何相互连接。智能是一种寻路算法。一旦你设定一个目标,它就会告诉你如何最优地到达那里。当然,它受到你所拥有信息的限制。它无法在你一无所知的区域中寻路。它也无法预测变化。如果你对地图有完整的信息,那么你就可以通过简单地记忆所有可能的路径,从A点到B点的所有映射来解决寻路问题。你可以用纯粹的记忆来解决问题。你在现实生活中不能那样做的原因是你实际上不知道未来会发生什么。生活瞬息万变。
我觉得你正在使用“记忆”这样的词,而我们绝不会用它来形容人类儿童。如果你的孩子学会了代数,然后学会了微积分,你不会说他们记忆了微积分。如果他们能解决任何任意的代数问题,你不会说他们记忆了代数。你会说他们学会了代数。
人类从来都不是真正进行纯粹的记忆或纯粹的推理。那只是因为你在语义上将人类所做的事情标记为技能。但当大型语言模型完成完全相同的技能时,它就是一种记忆,正如你可以通过这些基准来衡量的那样。你可以插入任何类型的数学问题。有时人类所做的事情与大型语言模型所做的事情完全相同。例如,如果你学习加法,你就是在记忆一个算法。你在记忆一个程序,然后你可以重新应用它。你不是即时合成加法程序。显然,在某个时候,某个人类必须弄清楚如何进行加法。一个孩子不是从集合论的公理开始,然后弄清楚如何进行加法的。你在学校学到的东西大多是记忆。
我的主张是,这些模型相对于人脑中的浮点运算次数和参数数量来说,参数严重不足。所以它们不会像最聪明的人类那样提出新定理,这是有道理的。大多数人类也做不到。大多数人类所做的事情听起来类似于你所说的记忆,即记忆你学到的技能或技术。所以这听起来是兼容的。
告诉我这是否错了。在你的世界里,如果所有远程工作者都消失了,但他们正在做我们可以潜在地从中生成合成数据的技能,这是否兼容?我们记录每个远程工作者的屏幕。我们大致了解他们在那里执行的技能。现在我们已经训练了一个可以做所有这些的模型。所有远程工作者都失业了。我们正在从AI远程工作者那里产生数万亿美元的经济活动。在那个世界里,我们仍然处于记忆状态吗?
当然,只要是静态分布,只要你不必处理变化,你就可以通过记忆自动化几乎任何事情。大多数工作是这种静态分布的一部分吗?潜在地,有很多事情你可以自动化。大型语言模型是自动化的绝佳工具。但你必须明白,自动化与智能不同。我不是说大型语言模型没用。多年来,我一直是深度学习的坚定支持者。多年来,我一直在说两件事。我一直在说,如果你继续扩展深度学习,它将继续带来回报。同时我也一直在说,如果你继续扩展深度学习,这不会导致AGI。我们可以自动化越来越多的事情。是的,这具有经济价值。是的,潜在地,有很多工作你可以这样自动化掉。那将具有经济价值。你仍然不会拥有智能。所以你可以问,如果我们能创造所有这些经济价值,那又有什么关系呢?也许我们根本不需要智能。你需要智能的时刻是当你必须处理变化、新颖性和不确定性的时候。只要你处于一个可以提前精确描述的空间中,你就可以仅仅依靠纯粹的记忆。事实上,你总能解决任何问题。你总能在任何任务上展示任意水平的技能,而无需利用任何智能,只要能够非常非常精确地描述问题及其解决方案。
当它们确实处理新颖性时,你只是称之为插值。
不,插值不足以处理所有种类的新颖性。如果是这样,那么大型语言模型就是AGI了。我同意它们不是AGI。我只是想弄清楚我们是否走在通往AGI的道路上。这里的症结在于,在我看来,这些事物处于一个光谱上,而我们显然正在用大型语言模型覆盖光谱的最早部分。
我是这么认为的。
好的,有趣。这是我认为支持这一点的另一个证据:顿悟(grokking)。显然,即使在深度学习内部,记忆机制和泛化机制之间也存在差异。起初它们只会记忆数据集。如果你正在进行模加法,那就是如何添加数字。在某个时候,如果你继续训练,它们就会学会这项技能。存在这种区别的事实表明,对于深度学习可以学习的泛化电路,如果你有一个过参数化的模型,就存在一个泛化机制。与我们目前希望这些模型完成的所有任务相比,我们还没有达到这一点。
顿悟(Grokking)是一个非常非常古老的现象。我们已经观察它几十年了。它基本上是最小描述长度原理的一个实例。给定一个问题,你可以只记忆一个点对点的输入-输出映射,这完全是过拟合的。它根本不泛化,但它解决了训练数据上的问题。从那里,你实际上可以继续修剪它,使你的映射更简单、更压缩。在某个时候,它会开始泛化。那就是所谓的最小描述长度原理。它的思想是,泛化最好的程序是最短的。这并不意味着你除了记忆之外还在做其他事情。你正在做记忆加上正则化。也就是泛化?
是的,那绝对会导致泛化。所以你在一项技能中这样做。你在这里看到的元学习模式是,存储一个可以执行多种技能而不是单一技能的程序效率更高。这就是我们可能称之为流体智能的东西。所以随着模型越来越大,你会期望它在这个泛化层次结构中向上发展。它泛化到一项技能,然后泛化到多项技能。
那是正确的。大型语言模型不是无限大的。它们只有固定数量的参数。它们必须尽可能地压缩它们的知识。实际上,大型语言模型主要存储可重用的程序片段,如向量程序。因为它们有这种压缩需求,所以每次学习新程序时,它们都会尝试用它们以前已经学过的现有程序片段来表达它。这难道不是泛化吗?绝对是。显然大型语言模型具有一定程度的泛化能力。这正是原因。是因为它们必须压缩。为什么这本质上是有限的?在某个时候,它必须学习更高层次的泛化,再更高层次,然后最高层次就是流体智能。
它本质上是有限的,因为你的模型的基础是一个大的参数曲线。你能用它做的只是局部泛化。如果你想超越这一点,走向更广泛甚至极端的泛化,你必须转向不同类型的模型。我选择的范式是离散程序搜索、程序合成。如果你想理解这一点,你可以将其与深度学习进行比较和对比。在深度学习中,你的模型是一个可微分的参数曲线。在程序合成中,你的模型是一个离散的运算符图。你有一组逻辑运算符,就像一个领域特定语言。你正在选择它的实例。你正在将其构建成一个作为程序的图。这实际上与你可能用Python或C++等编写的程序非常相似。我们在这里做机器学习。我们正在尝试自动学习这些模型。在深度学习中,你的学习引擎是梯度下降。梯度下降非常计算高效,因为你有一个非常强大的信息反馈信号,告诉你解决方案在哪里。你可以非常快地找到解决方案,但它非常数据低效。为了让它工作,你需要对操作空间进行密集采样。你需要对数据分布进行密集采样。然后你只能在该数据分布内进行泛化。你有这个限制的原因是你的模型是一条曲线。同时,如果你看离散程序搜索,学习引擎是组合搜索。你只是尝试一堆程序,直到找到一个真正符合你规范的。这个过程非常数据高效。你可以从一个例子、两个例子中学习一个可泛化的程序。顺便说一句,这就是为什么它在ARC上表现如此出色的原因。最大的限制是
它极其计算效率低下,因为你当然会遇到组合爆炸。你可以在这里大致看出深度学习和离散程序搜索如何拥有非常互补的优势,当然也有局限性。深度学习的每一个局限性在程序综合方面都有相应的优势,反之亦然。前进的道路将是融合两者。这是你可以考虑它的另一种方式。这些通过梯度下降训练的参数化曲线非常适合所有属于系统 1 类型思维的事物:模式识别、直觉、记忆等。离散程序搜索非常适合系统 2 思维:规划、推理。它能快速找出与一两个示例匹配的可泛化模型,例如 ARC 谜题。人类从不做纯粹的系统 1 或纯粹的系统 2。他们总是混合搭配两者。现在,我们拥有系统 1 的所有工具。我们几乎没有系统 2 的东西。前进的方向是创建一个混合系统。它将采取的形式主要是系统 2。外层结构将是一个离散程序搜索系统。你将用深度学习来解决离散程序搜索的基本局限性,即组合爆炸。你将利用深度学习来指导和提供程序空间中的直觉,以指导程序搜索。这与你在下棋或尝试证明定理时看到的情况非常相似。这主要是一种推理活动,但你一开始会对其解决方案的形状有一些直觉。这很大程度上是你可以通过深度学习模型获得的。深度学习模型非常像直觉机器。它们是模式匹配机器。你从解决方案的这种形状开始,然后你将进行实际的显式离散程序搜索。但你不会通过蛮力来做。你不会随机尝试。你实际上会向另一个深度学习模型寻求建议。它会说:“这是最有可能的下一步。你应该去图中的这个地方。”你还可以使用另一个深度学习模型来获取反馈,例如“好吧,这是我到目前为止所拥有的。看起来好吗?我应该回溯并尝试新的东西吗?”离散程序搜索将是关键,但你想通过利用深度学习使其变得更好,效率提高几个数量级。顺便说一句,你还可以使用深度学习来处理常识知识和一般知识。你最终会得到一种系统,其中有一个即时合成引擎,可以适应新情况。它的适应方式是,它将从一个模式库中提取,这些模式库本身可以是曲线、可微分模块,还有一些可能是算法性质的。它将通过这种直觉指导的过程将它们组装起来。对于你可能面临的每一种新情况,它都会给你一个使用非常非常少的数据合成的可泛化模型。类似这样的东西可以解决 ARC。这是一个非常有趣的提示。这里有一个有趣的症结。我与那些对 LLM 极其乐观并预计几年内就能实现 AGI 的朋友们交谈。在某种意义上,他们也同意扩展并不是一切,但其余的进展都以扩展为基础和支持。你仍然需要在这些模型之上添加系统 2 和测试时间计算。他们的观点是,这相对容易做到,因为你拥有通过预训练建立起来的表示库。这几乎就像在翻阅教科书。你需要一种更具条理的方式来处理它所学的材料。上下文学习的样本效率极高。要真正将这些提炼到权重中,你需要模型能够谈论它看到的东西,然后将其添加回权重。至于系统 2,他们谈论添加某种 RL 设置,以便鼓励它继续进行最终正确的推理过程。他们认为这是相对直接的事情,将在未来几年内添加。这是一个经验问题,所以我们会拭目以待。我猜你的直觉不是这样。我很好奇为什么。我的直觉是,整个系统 2 架构是困难的部分。它是非常困难且不显眼的部分。扩展插值记忆是容易的部分。它本质上就是一个大曲线。你只需要更多的数据。它是数据集的插值表示。那是容易的部分。困难的部分是智能的架构。记忆和智能是独立的组成部分。我们有记忆。我们还没有智能。我同意你,拥有记忆确实非常有用。如果你只有智能但没有连接到广泛的记忆,它就不会那么有用,因为它没有足够的材料来工作。前嘉宾 Trenton Bricken 提出了一个替代假设,即智能只是分层关联记忆。当夏洛克·福尔摩斯进入犯罪现场时,他的样本效率极高。他只需查看几条线索就能找出凶手是谁。他之所以能做到这一点,是因为他学会了更高级别的关联。从根本上说,这就是记忆。这里有一种问这个问题的方式。据称,我们的大脑进行程序合成,但它只是相互连接的神经元。物理上,你必须查询正确的电路,对吧?你是的,是的。这是一个程度问题。在人类祖先训练的环境中进行训练意味着你学会了这些电路。如果你训练的输出与人类产生的输出相同——要复制这一点需要这些类型的电路——这不就会训练出人类所拥有的东西吗?这是一个程度问题。如果你有一个拥有记忆但只能进行局部泛化的系统,它将不会非常适应。要真正做到通用,你需要记忆加上搜索到相当深的程度的能力,以实现更广泛甚至极端的泛化。我最喜欢的心理学家之一是让·皮亚杰,发展心理学的创始人。他有一句关于智能的好话。他说:“智能是你不知道该做什么时所使用的东西。”作为一个生活中的人类,在大多数情况下,你已经知道该做什么,因为你以前遇到过这种情况。你已经有了答案。只有当你面对新颖的事物,面对你没想到的事物时,你才需要使用智能。这是你自己的生活经历或你的进化历史都没有为你准备好的东西。你今天的生活方式与你以前生活的每一天都有一些重要的不同。它也与你任何祖先曾经度过的任何一天都不同。你仍然有能力正常运作。这怎么可能?我并不是否认泛化极其重要,并且是智能的基础。那不是症结所在。症结在于模型中发生了多少。好吧,让我问一个关于人类之间智能差异的独立问题。也许因为你提到的原因,智力测试没有很好地衡量它。但不同人类之间的智力显然存在差异。你对此有什么解释?这在某种程度上与我的说法相符。存在一个泛化谱,而这些模型正在攀升到人类水平。甚至有些人还没有达到爱因斯坦或弗朗索瓦的水平。这是一个很好的问题。有大量证据表明,智力差异主要是遗传性的。这意味着,如果你找一个不太聪明的人,无论你让他接触多少训练数据,都无法让他成为爱因斯坦。这表明你确实需要更好的架构。你需要更好的算法。更多的训练数据实际上并不是你所需要的一切。我认为我同意这一点。我可能会这样说。更聪明的人,用机器学习的语言来说,拥有更好的初始化。如果你看看神经连接,它更有效率。也许他们的放电密度更大。故事的一部分是扩展。大脑大小与智力之间存在一定的相关性。在“扩展”LLM 的背景下,人们谈论架构改进。像 Gemini 1.5 Flash 这样的模型表现与一年前发布的 GPT-4 一样好,但输出成本便宜 57 倍。扩展故事的一部分是,在这些架构改进方面,我们正处于非常容易获得的领域。我们现在又回到了 Zapier 的联合创始人 Mike Knoop。你正在资助这项奖金,并且你和 François 一起运行这项奖金。告诉我它是如何实现的。是什么促使你们发起这项奖金?我一直对人工智能感到好奇 13 年了。我共同创立了 Zapier,并且在过去 13 年里一直经营着它。我在 COVID 期间第一次接触到你的工作。我陷入了那个兔子洞。我有很多空闲时间。就在你发表了你的论文《论智能的度量》之后。你引入了 AGI 的概念,并且技能获取的效率是正确的定义,以及 ARC 谜题。我认为第一个 Kaggle 竞赛还没有完成。它还在进行中。很有趣,但我只是搁置了这个想法。我在 Zapier 有更重要的事情要做。我们正处于一个重大转折时期,试图推出我们的第二款产品。2022 年 1 月,链式思维论文发布了。这让我真正认识到了进步。我甚至就 GPT-3 论文向 Zapier 做了一次完整的演示。我觉得我已经考虑了 LLM 所能做的一切。那篇论文在 LLM 所拥有的所有潜在能力方面让我震惊,而我并没有预料到它们会有这些能力。我实际上放弃了我的高管团队职位。当时我负责公司的一半业务。我回到了个人贡献者的角色,并与我的联合创始人 Bryan 一起从事人工智能研究。最终,这让我重新回到了 ARC。我再次研究了它。我曾期望看到 MMLU 和 GMS8K 所具有的饱和效应。当我查看过去四年的分数和进展时,我非常震惊地发现我们在客观进展方面收效甚微。我觉得这是一个非常重要的评估。在过去一年里,我一直在我的网络和社区中询问人们关于它的问题,很少有人知道它的存在。如果这是真正全球唯一独特的 AGI 评估——而且它与衡量人工智能技能的其他所有评估都不同——那么应该有更多的人知道这件事。我自己也有击败 ARC 的想法。我晚上和周末都在为此工作。今年早些时候,我飞上去见了 François,向他提问并向他展示了我的想法。最终我问他为什么 ARC 不为人所知?你应该回答这个问题。这是一个非常有趣的问题。你为什么认为 ARC 不为人所知?在研究界获得关注的基准是那些已经相当容易处理的基准。动态是,某个研究小组将取得一些初步突破,然后这将吸引所有人的注意。你将获得后续论文,人们试图击败第一个团队,等等。ARC 并没有真正发生这种情况,因为 ARC 对现有的 AI 技术来说实际上非常困难。ARC 要求你尝试新想法。这正是重点。重点不是你应该能够应用现有技术来解决 ARC。重点是现有技术已经达到了一个平台期。如果你想超越这一点,并开始能够解决你没有记住或以前见过的问题,你需要尝试新想法。ARC 不仅仅是为了衡量我们离 AGI 有多近。它也是为了提供灵感。我希望研究人员看看这些谜题,然后说:“嘿,这些谜题如此简单,大多数人类都能很快完成,这真的很奇怪。为什么现有的 AI 系统如此困难?为什么 LLM 等如此困难?”这对 LLM 来说是真的,但 ARC 实际上是在 LLM 真正流行之前发布的。当时它之所以特别,是因为它被设计成抵抗记忆。它在 LLM 和生成式 AI 方面都表现良好,这表明它确实抵抗记忆。这让我着迷。我亲自做了一些谜题。我也把它展示给了我所有的朋友和家人。他们都说:“哦,是的,这很容易。你确定 AI 不能解决这个问题吗?”这是我和他们的反应。你越深入研究,就会发现过去四年不仅有经验证据表明它未被攻克,而且还有理论概念解释了原因。我完全同意,现在需要新想法来击败 ARC。世界上许多当前的趋势实际上正在阻碍这种情况的发生。我们现在产生新想法的可能性更小了。其中一种趋势是前沿研究的封闭化,对吧?OpenAI 的 GPT-4 论文没有分享任何技术细节。Gemini 论文也没有分享任何技术细节,比如这项工作中的长上下文部分。然而,正是这种开放的创新和进步和共享,才让我们最初获得了 Transformer。这才是让我们最初获得 LLM 的原因。所以,如此多的前沿工作已经变得封闭,这确实令人失望。这实际上是在押注这些单独的实验室将是取得突破的人,而不是生态系统。互联网和开源已经表明,它们是有史以来最强大的创新生态系统,可能在整个世界上。前沿研究不再发表,这确实令人难过。如果你回顾四年前,一切都被公开分享了。所有最先进的结果都已发表。现在不再是这样了。OpenAI 单方面改变了游戏规则。OpenAI 基本上将 AGI 的进展推迟了好几年,可能像 5-10 年。这是有两个原因。一是他们导致了前沿研究出版的完全关闭。但他们也触发了围绕 LLM 的最初一轮炒作。现在 LLM 已经吸走了房间里的氧气。每个人都在做 LLM。我认为 LLM 更像是通往 AGI 道路上的一个出口。所有这些新资源实际上都流向了 LLM,而不是它们可以流向的其他任何地方。如果你回顾更远的过去,比如 2015 年或 2016 年,那时从事人工智能的人要少一千倍。然而,进步的速度却更高,因为人们在探索更多的方向。世界感觉更开放。你可以去尝试。你可以有一个很棒的想法然后启动它,尝试它,并获得一些有趣的结果。当时有一种能量。现在每个人都在做一些相同的变体。大实验室也尝试了 ARC,但因为结果不好,他们什么都没发表。人们只发表积极的结果。我想知道人们在尝试提示或脚手架,做一些类似 Devin 的方法来让前沿模型在 ARC 上产生好的解决方案方面付出了多少努力。我的意思是今天的现代表,而不仅仅是一年前。很多训练后工作都致力于使其更好。有 Claude 3 Opus 或 GPT-4o。我希望这个节目能让人们尝试这个公开竞赛。他们必须提交一个开源模型来竞争,但我们也可能找出 Claude 是否有潜在能力,看看是否能展示出来。那将非常有趣。让我们谈谈奖金。如果你解决了它,你会赢得多少?假设你在 ARC 上获得了某个百分比。如果你获得了最好的提交但没有解决它,你会得到多少?我们的奖金池略高于一百万美元。我们每年都会举办一次比赛。我们从今天开始,直到 11 月中旬。目标是达到 85%。这是你们早些时候提到的平均人类水平的下限。第一个达到 85% 基准的团队将获得 50 万美元的奖金。我们不期望今年能做到。Zapier 的早期统计学家给了我一句一直让我印象深刻的话:“越长,越长。”我的先验是 ARC 需要数年才能解决。我们今年还将分解并进行进度奖。有一个 10 万美元的进度奖,我们将支付给得分最高的选手。今年 Kaggle 排行榜上的最高客观分数将获得 5 万美元。我们正在 Kaggle 上举办。然后我们将有一个 5 万美元的奖金池,用于解释他们能够取得的分数的最佳论文。有趣的一点是,我们还将要求为了赢得奖金,你必须将解决方案或论文公之于众。通常在竞赛中,你会看到很多封闭的分享。人们是私密的和秘密的。他们想在比赛期间保守自己的优势。因为我们预计这将是多年的,所以我们想要一个互动游戏。计划是在 11 月底,我们将颁发 10 万美元的奖金给进度奖的最高分。我们将利用 12 月到 2 月的闲置时间来分享最高分的所有知识和人们采取的方法。这样,我们将重新调整社区的基线,使其达到最先进的水平,然后明年再次举办比赛。我们将每年这样做,直到达到 85%。我将为人们提供一些关于为什么我认为这项奖金非常有意义的背景信息。我与我的朋友们进行了交谈,他们非常相信当今的模型。首先,他们不知道 ARC 让我感到很着迷。这些都是经验丰富的 ML 研究人员。这发生在几天前的晚上。我们去吃晚饭,我给他们看了一个示例问题。他们说:“当然,LLM 可以解决这样的问题。”我们截了图。我们把它放进了我们的 ChatGPT 应用中。它没有抓住模式。所以这非常有趣。这是一个值得注意的事实。我一直在扮演魔鬼的辩护者,但这是一个非常引人入胜的事实。这项奖金极其有趣,因为无论如何我们都会学到一些有趣的东西。关于 85%,与这项奖金无关,我非常想知道是否有人能够复制这个结果。显然,在心理学和其他领域,这个结果似乎是相似的,当你对一小部分人进行测试时,它们通常很难复制。我非常想知道,如果你尝试复制这一点,普通人在 ARC 上的表现如何?我也对破解这个基准需要多长时间感到好奇。思考那些现在已经完全饱和的其他基准,比如 MMLU 和 MATH,这很有趣。Dan Hendrycks 和 Collin Burns,他们制作了 MMLU 和 MATH,当时还是研究生或大学生。几年前他们制作它的目标是成为 AGI 的测试。当然,它们完全饱和了。我知道你会争辩说,这些是记忆测试。但我们已经看到了一个模式。事实上,Epoch AI 有一张非常有趣的图表,你看到了几乎呈指数增长的曲线。随着计算量的增加,它会达到 5%、10%、30%、40%,然后就会飙升。在 GPT-4 技术报告中,他们有一个关于 HumanEval 数据集的有趣图表,该数据集包含 22 个编码问题。他们必须在平均对数通过率曲线上绘制它。在训练早期,甚至使用较小的模型,它们可以对如何解决这个问题有正确的想法。需要大量的可靠性来确保它们能够按计划解决整个问题。你真的想提高它们至少有时能正确解决的信号的权重,可能是 1/1000 或 1/100。它们从 1/1000 变为 1/100、1/10,然后就完全饱和了。这是所有这一切的最终问题。为什么 ARC 不会发生同样的事情?人们不得不非常努力地尝试使用更大的模型。现在他们已经弄清楚了像 Jack Cole 发现的那种技术,他只用一个 2.4 亿参数的语言模型就能获得 35% 的分数。我们不应该看到与其他所有基准相同的模式吗?你只是慢慢地一点点地挤出来,一旦你有了大致的想法,你就一直做到 100?这是一个经验问题。我们将在实践中看到会发生什么。Jack Cole 所做的实际上非常独特。他不仅仅是预训练一个 LLM,然后提示它。他实际上是在尝试主动推理。他正在进行测试时间,对吧?他正在进行测试时间微调。没错,他正在进行测试时间微调。这实际上是在解决 LLM 的一个关键限制。在推理时,它们无法学习任何新东西。它们无法根据所看到的内容即时适应。他实际上正在尝试学习。他所做的实际上是程序合成的一种形式。LLM 包含许多有用的构建块,编程构建块。通过在测试时对任务进行微调,你正在尝试将这些构建块组装成与任务匹配的正确模式。这正是程序合成的意义所在。我将这种方法与离散程序搜索进行对比。在离散程序搜索中,你试图从一组原始程序中组装一个程序。你拥有的原始程序非常少。例如,从事 ARC 离散程序搜索的人倾向于使用包含 100 到 200 个原始程序的 DSL。这是一个非常小的 DSL,但他们试图将这些原始程序组合成非常复杂的程序。搜索深度非常深。另一方面,是 Jack Cole 使用 LLM 所做的。他拥有这个向量程序数据库 DSL,其中包含数百万个 LLM 中的构建块。它们是通过预训练 LLM 来挖掘的,不仅是在大量的编程问题上,而且还在数百万个生成的 ARC 类任务上。你拥有一个极其庞大的 DSL,并且微调是对这些原始程序的非常浅的重组。离散程序搜索是具有非常小的原始程序集的非常深的重组。LLM 方法是相同的,只是在光谱的完全另一端。你通过巨大的因素来扩展记忆,并且你进行非常浅的搜索。它们是同一件事,只是光谱的两端不同。我认为你的计算周期最有价值的地方将介于两者之间。你想利用记忆来构建一个更丰富、更有用的原始程序库。你不希望它们像我们看到的典型 RTS 那样被硬编码。你希望它们能从示例中学习。你也希望进行一定程度的深度搜索。只要你只进行非常浅的搜索,你就仅限于局部泛化。如果你想进行更广泛、更深入的泛化,搜索深度将至关重要。我可能会争辩说,他之所以不得不如此依赖合成数据,是因为他使用了 2.4 亿参数的模型。当时的 Kaggle 比赛要求他使用 P100 GPU,它的浮点运算次数只有 H100 的十分之一左右。对于听众来说,今天的现代表比那大一千倍。对于你的比赛,提交不能进行任何 API 调用,不能联网,并且必须在 NVIDIA Tesla P100 上运行。它的功能明显较弱。基本上有 12 小时的运行时间限制。评估中存在效率的强制性因素。但问题是,你只有 100 个测试任务。每个任务可用的计算量实际上相当多,特别是如果你将其与每个任务的简单性进行对比的话。基本上,每个任务需要 7 分钟。人们试图估算人脑有多少浮点运算。你可以对这些估算持保留态度,但作为一种锚点,它基本上是 H100 所拥有的浮点运算量。也许你会争辩说,人脑解决这个问题所需的时间不到 7.2 分钟。即使计算量只有十分之一,你也应该能在七分钟内完成。显然,我们的大脑中快速访问的内存不到 PB,而 H100 中的内存是 29 GB 或其他。更广泛的观点是,我希望有一种方法也可以用某种脚手架来测试这些最大的模型,作为测试扩展是否是解决 ARC 的途径。绝对。在比赛的背景下,我们希望看到在有限资源下取得多少进展。但你完全正确,这是一个非常有趣的开放性问题,目前最大的模型在 ARC 上到底能做什么。我们还希望提供一个私有的、一次性的赛道,你可以提交给我们一个虚拟机。你可以在上面放任何你想要的模型。你可以使用目前最大的开源模型之一,对其进行微调,做任何你想做的事情,然后给我们一个镜像。然后我们会在 H100 上运行 24 小时或类似的时间。看看你得到了什么。值得指出的是,有两个不同的测试集。有一个公共测试集,它在公共 GitHub 存储库中,任何人都可以使用它进行训练。你可以进行开放的 API 调用,你想做什么都可以。然后是私有测试集,也就是衡量最先进水平的 100 个任务。它非常开放且有趣,可以让人们至少尝试使用公共测试集并进行尝试。现在,任何针对公共测试集报告的分数都有一个星号,因为它是在公共场合的。它可能已经泄露到训练数据中的某个地方了。这实际上是人们已经在做的事情。你已经可以尝试提示最好的模型之一,比如最新的 Gemini 或最新的 GPT-4,使用公共评估集中的任务。同样,问题是这些任务在 GitHub 上以 JSON 文件的形式提供。这些模型也在 GitHub 上进行训练。所以它们实际上是在这些任务上进行训练的。这会造成不确定性。如果它们实际上可以解决其中一些任务,是因为它们记住了答案还是因为其他原因?也许你最好尝试创建自己的私有的、类似 ARC 的、非常新颖的测试集。不要让任务变得困难。不要让它们变得复杂。对人类来说,它们应该很明显,但要确保它们是原创的。让它们独特、不同,看看你的 GPT-4 或 GPT-5 在它们上的表现如何。已经有测试表明这些模型是否在这些基准上过度拟合。Scale 最近对 GSM8K 做了这件事。他们基本上复制了基准,但使用了不同的问题。一些模型实际上过度拟合了基准,比如 Mistral 等。像 Claude 和 GPT 这样的现代表在他们的新基准上的表现与他们在现有公共基准中的特定问题上的表现一样好。我对他们仅仅在 JSON 上进行训练持相对乐观的态度。我曾开玩笑地对 Mike 说,你应该允许 API 访问,但要保留一个更私有的 ARC 问题验证集。所以你允许 API 访问,人们可以玩 GPT-4 脚手架来参加这个比赛。也许稍后你会在 API 上运行验证集。如果它的表现比你最初允许 API 访问的测试集差,那就意味着 OpenAI 正在训练你的 API 调用。你公开这件事,然后向他们展示,比如,“我的天,他们泄露了你的数据。”我们确实想改进 ARC 数据集。这是我们的目标。François 提到它并不完美。是的,ARC 不是一个完美的基准。我四年前就做出来了,现在快五年了。那是在 LLM 出现之前。我们从那时起学到了很多关于它可能存在的潜在缺陷。该集合的任务存在一些冗余,这当然与基准的目标相悖。实际上,每个任务都应该是独一无二的。实际上并非如此。每个任务也应该是非常新颖的,但实际上它们可能不是。它们在结构上可能与你在网上找到的某些东西相似。所以我们想继续迭代,并在今年晚些时候发布 ARC 2.0 版本。届时,我们将希望提供旧的私有测试集。也许我们不会公开发布它,但我们可以创建一个测试服务器,你可以查询,获取任务,并提交解决方案。当然,你可以在那里使用任何你想要的现代表。因为你实际上必须查询这个 API,所以你确保没有人会意外地在这些数据上进行训练。这与当前的公共 ARC 数据不同,后者实际上在 GitHub 上。关于模型是否在这些数据上进行训练,根本没有疑问。它们在训练,因为它们在 GitHub 上进行训练。通过限制对 API 的访问,我们可以避免这个问题。对于那些想尝试任何他们想到的技术,使用任何他们想要的资源的人来说,这将是一种让他们得到答案的方式。我想知道可能会发生什么。我不确定。一种答案是他们会想出一种全新的 AI 算法,其中包含显式的程序合成。现在我们走上了一条新路。另一种是他们用现有模型做了一些巧妙的事情,而这些事情实际上是有效的,这表明也许智能更多的是将事物带到分布的正确部分。然后它就可以推理。在那个世界里,那将是很有趣的。也许这表明你必须用当前的模型做一些巧妙的事情。随着它们变得更好,你就不必做一些巧妙的事情了。我也非常好奇这些多模态模型是否会原生在 ARC 类测试中表现得更好。如果 ARC 在三个月后仍然存在,我们将提高奖金。我们即将通过炸毁奖金池,投入更大的奖金来与现实进行一次非常重要的接触。我们将很快了解到是否有大量的低垂的果实想法。再说一遍,我认为需要新想法。任何听众可能都有这个想法。我鼓励大家试试。随着时间的推移,这增加了我们进展停滞的论点,并且需要新想法来击败 ARC。是的,这就是有奖金的原因。你吸引更多的人,让他们尝试解决它。如果有一种简单的方法可以破解基准,那就表明基准是有缺陷的。你会知道的。事实上,这就是 ARC 最初在 2020 年 Kaggle 竞赛的意义所在。我当时正在举办这场比赛,因为我发布了这个数据集,我想知道它是否可以被破解,你是否可以作弊。当时有一个小额奖金。大约是 2 万美元。这与 GPT-3 发布的时间差不多。当然,人们在公共数据上尝试了 GPT-3。它得了零分。第一次比赛教会我们的是,没有明显的捷径。现在有更多的钱了。会有更多的人来研究它。我们将找出答案。我们将看看基准是否能幸存下来。假设我们最终得到一个解决方案,它不像试图暴力破解所有可能的 ARC 任务空间。它只是基于核心知识进行训练。我不认为它本身就是 AGI,但它很可能是在通往 AGI 的道路上的一个巨大里程碑。它所代表的是仅凭两三个例子就能合成一个解决问题的程序的能力。这本身就是一种新的编程方式。这是一种全新的软件开发范式。你可能可以开始编程相当复杂的程序,这些程序将具有很强的泛化能力。而不是通过在脑海中构思程序的形状然后将其写出来来编程,你实际上只是向计算机展示你想要的输出。你让计算机自己弄清楚。这才是极其强大的。我想稍微扩展一下可能的解决方案类型,以及你认为哪些会破坏 ARC 的目的,哪些是有效的。这里有一个我将提到的。我的朋友 Ryan 和 Buck 因为我告诉他们这件事而熬夜了。他们说:“哦,当然 LLM 可以解决这个问题。”很好。谢谢你传播这个消息。他们试图在 Claude Opus 上进行提示,他们说他们在公共 ARC 测试上获得了 25% 的分数。他们所做的是提供一些 ARC 测试的其他示例,并在上下文中解释从一个输出到另一个输出的推理过程,现在你有当前的问题。我认为他们还以一种对分词器更友好的方式表达了 JSON。另一件事是使用代码解释器。你认为代码解释器,随着这些模型越来越智能而不断改进,本身就是程序合成吗?他们能够做的是通过代码解释器获得单元格的实际输出,即 JSON 输出,例如“编写获取正确输出的 Python 程序”。你认为你所谈论的程序合成研究是否会看起来像使用大型语言模型中的代码解释器?我认为任何得分高的解决方案可能都需要利用深度学习模型,特别是 LLM 的某些方面。我们已经表明 LLM 可以做得相当好。这基本上就是 Jack Cole 的方法。我们还表明,纯粹的离散程序搜索,使用小型 DSL,效果非常好。在 Jack Cole 之前,这就是最先进的技术。事实上,它仍然非常接近最先进的技术,而且这些模型完全不涉及深度学习。我们有两种几乎没有重叠的方法,它们都做得相当好。它们非常处于一个光谱的两端。一方面,你有这些极其庞大的数据库,包含数百万个向量程序,但重组非常浅,重组简单。另一方面,你有非常简单的 DSL,100-200 个原始程序,但搜索非常深,非常复杂。解决方案将介于两者之间。那些将赢得 ARC 竞赛并取得最接近 AGI 的进展的人,将是那些设法将深度学习范式和离散程序搜索范式融合到一个优雅的方式中的人。你问什么合法,什么作弊。如果你想给系统添加一个代码解释器,我认为这很好。这是合法的。作弊的部分是试图预测测试中可能出现的内容,例如暴力破解所有可能的任务空间并在此基础上训练记忆系统。你依赖于你生成了如此多的任务,数百万个任务。不可避免地,你生成的内容与测试集中的内容之间会存在一些重叠。这会破坏基准的意义,因为然后你就可以通过它来解决它,并且你只需要通过获取一个已记忆的解决方案来适应。希望 ARC 能抵抗这一点,但没有基准是完美的。也许有一种方法可以破解它。我们很快就会得到答案。虽然一定程度的微调是有效的,因为他们必须在这里使用开源语言模型进行竞争,而且它们本质上是语言模型。他们需要能够以 ARC 类型的方式思考。是的。你想输入核心知识,类似 ARC 的核心知识,到模型中,但肯定不需要数千万个任务来做到这一点。核心知识非常基础。如果你看一些类似 ARC 的问题,我确实认为它们有点依赖于我一生中看到的东西。例如,某物从墙上弹回并返回,你看到那个模式。我玩过街机游戏,我见过 Pong 之类的东西。例如,你看到弗林效应和人们的智力,根据瑞文推理测验衡量,在这些类型的问题上有所提高。这可能是一个类似的故事,因为从童年开始,我们实际上在电视和其他地方看到了这些空间模式。所以我不认为这是核心知识。这实际上也是人类在成长过程中所拥有的“微调”的一部分,看到不同类型的空间模式并尝试与之匹配。我肯定会将其归类为核心知识。核心知识包括基本的物理学,例如弹跳或轨迹。这将被包括在内。但是的,你完全正确。你之所以能够快速找出解决方案,是因为你的脑海中有这套构建块,这套模式,你可以重新组合它们。获得智能是否需要核心知识?对于你拥有的任何算法,核心知识是否必须在某种意义上被硬编码?或者核心知识本身也可以通过智能来学习?核心知识是可以学习的。就人类而言,一些核心知识是我们天生就有的。我们天生就对我们即将生活的世界有一些了解。我们不是空白的石板。但大多数核心知识是通过经验获得的。核心知识的问题在于,它不会在学校里获得,例如。它实际上是在你生命的前 3-4 年就获得了。到四岁时,你已经拥有了作为成年人所需的所有核心知识。有趣。关于奖金本身,我非常期待看到开源版本,也许是 Llama (70B) 或类似的版本,以及人们在比赛本身中能获得多少分数。我也很期待测试扩展假设,并且我非常好奇你是否可以在 ARC 的公共版本上进行提示。你将无法将其提交给本次比赛本身,但我非常好奇人们是否能够破解它并在那里让 ARC 工作。这会更新你对 AGI 的看法吗?这将是真正鼓舞人心的。我们将继续举办比赛,直到有人公开推出可重现的开源版本。即使有人私下击败了 ARC 评估,我们仍然会保留奖金,直到有人能够重现它并公开可重现的版本。没错。目标是加速通往 AGI 的进程。其中的一个关键部分是,任何有意义的进展都需要共享,需要公开,这样每个人都可以了解它并尝试对其进行迭代。如果没有共享,就没有进展。我特别好奇的是分解赌注。我们可以制作一个开放版本吗,还是这只能通过扩展来实现?我们可以根据公共版本和私有版本来测试两者。我们也正在与现实进行接触。我们将学到很多关于计算的实际极限。如果有人出现说,“嘿,这里有一个闭源模型,我从中获得了 +50% 的分数,”那可能会更新我们。我们会想,“好吧,也许我们应该增加我们在私有测试集上提供的计算量,以求平衡。”最初的一些决定在某种程度上是任意的,以便了解人们想要什么。进展是什么样的?我们两人都致力于随着时间的推移不断发展它,以使其成为最好的或最接近完美的。太棒了。人们可以在哪里了解更多关于奖金的信息,也许可以尝试一下?Arcprize.org。它现在上线了。它今天上线。一百万美元在赌注上,各位。谢谢你们来参加播客。很高兴能探讨智能的各种症结,并获得不同的视角,同时在这里宣布一项奖金。这太棒了。谢谢你帮助打破新闻。谢谢你们邀请我们。