这是如何使用Sonnet 3.5和一种名为“Evolutionary Test-time Compute”的方法在ARC-AGI-Pub上取得第一名的文章,这篇文章由Jeremy Berman撰写,并发表在Params网站上。
ARC-AGI是一个衡量抽象模式识别的智能测试,类似于IQ测试。人类能够轻松解决这些难题,而大型语言模型(LLMs)如OpenAI的o1和Sonnet 3.5则表现不佳。这突显了当前LLMs的核心限制:它们不擅长对未训练过的事物进行推理和泛化。
解决ARC的关键可能是解决AGI的关键
作者通过让Sonnet 3.5生成一系列Python转换函数,测试它们在挑战示例中的表现,并使用表现最好的函数来创建新的提示,以生成更好的解决方案。
我的方法是让Sonnet 3.5生成一堆Python转换函数,针对挑战性示例测试它们,然后使用性能最好的函数创建新的提示,以生成更好的解决方案。此过程重复多次,最终每个挑战使用31个动态提示生成多达500个函数。
我受到遗传算法的启发,并将这种方法称为进化测试时计算(Evolutionary Test-time Compute)。
我让LLM生成Python函数,而不仅仅是输出解决方案网格grids ,因为函数可以执行并验证正确性(下一节将详细介绍),但网格grids 不能。
什么是ARC
ARC-AGI是一种智力测试,旨在测量抽象模式识别,类似于IQ测试。值得注意的是人类和人工智能之间存在明显的性能差距:虽然人类可以很容易地解决这些难题,但LLM却很难解决。该测试通过几个示例呈现新颖的模式,然后挑战应试者继续该序列,衡量他们识别和概括以前从未遇到过的潜在规则的能力。
这些挑战对人类来说并不困难。人类可以轻松地在一批400个挑战中获得85%的准确率。相比之下,最好的LLM只有18%。你可以在这里找到排行榜。
ARC-AGI-Pub是一个使用互联网解决ARC挑战的排行榜。因此,您可以使用任何公开的LLM。你可以在Kaggle笔记本上计算12个小时,并支付10,000美元的API费用,以完成500个挑战(其中400个在互联网上不存在)。
我的方法在挑战要求内获得了53.6%的准确率。这是目前的公共记录。
架构
我开发了一种使用LLM和进化算法解决ARC的方法。它的工作原理如下:
我们的目标是发展一个Python函数,可以正确地将输入网格转换为输出网格。
进化过程遵循以下步骤:
1、初始生成
- LLM 创建了多个 Python 转换函数,每个函数都试图将输入网格转换为输出网格
2、适应度评估
每个转换函数都使用 ARC 挑战赛中提供的输入输出对示例进行评分。由于 ARC 提供了这些训练示例,我们可以在示例输入上运行每个函数,并将其输出与正确答案进行比较,从而对其进行评估。
评分分为两级:
- 一级评分: 函数完美解决的完整示例网格数
- 二级得分: 对于未完美求解的网格,我们计算函数正确求解的单个单元格数量
3.选择和复制
- 选择表现最好的函数作为亲代
- 利用这些成功的函数创建修订提示
- LLM 利用这些提示为下一代生成新的子代函数
4.迭代
- 这一过程不断重复,每一代函数的性能通常都比上一代函数更好
- 不断进化,直到一个函数完美地转换了所有示例网格,或者达到最大生成极限
关键是将LLM视为一个进化引擎:使用它来生成初始尝试,并通过引导迭代来改进成功的方法。
。。。
ARC和通往AGI的道路
在ARC上工作让我思考了很多关于人类如何思考的问题。
人类和当前LLM解决ARC的一个关键区别是人类使用演绎推理。
AGI需要演绎推理吗?
演绎推理(Deductive reasoning),或称演绎(deduction),是从给定前提得出必然结论的过程--如果前提为真,结论必定为真。举例来说:
- 假设1:所有人都会死
- 命题2:苏格拉底是人
- 结论:因此,苏格拉底是必死的
人类一直在使用推理。它使我们能够以一致、准确的方式对世界进行推理。
- 当我们接近ARC挑战时,我们直观地假设模式,然后使用演绎逐步测试这些假设。当我们的推论有缺陷时,错误就会发生,但是一旦我们发现错误,我们就可以纠正它。
- 相比之下,归纳推理或归纳涉及从模式或经验中得出结论,而没有保证的确定性。
举例来说:
- 我观察到所有的人都在110岁之前死去。
- 因为苏格拉底是人,
- 他很可能会在110岁之前死去。
LLM大模型使用归纳法,他们不能实际使用演绎法。当他们看起来像是在使用推理时,那是一种错觉。
您可以通过查看我的解决方案中的绝大多数LLM响应来了解这一点。他们充满了幻觉和明显的错误陈述,而这些陈述并不来自假设。这与偶尔的人为错误不同,这是系统性的。
LLM通过归纳进行培训。他们通过预测单词序列中的下一个单词来学习,这使得他们非常擅长输出顺序正确的单词。他们已经通过观察数百万个单词序列完成来学习如何做到这一点的模式。
因为它们非常擅长在一个序列中输出正确发音的单词,所以它们的输出通常在逻辑上是正确的。因为,发音正确的单词在逻辑上比发音错误的单词更有可能是正确的。
- 一只生活在法院里的鹦鹉比一只生活在疯人院里的鹦鹉能说出更多正确的话。
这解释了为什么思想链(CoT)提示,测试时计算和其他“让LLM思考”的策略是有效的。
这些策略告诉LLM“使用一步一步的推理”,就像人类解决问题一样。
有了CoT,LLM做他们最好的演绎印象。而且因为LLM擅长印象,他们经常猜测正确的演绎线。这使得结论更有可能是正确的。
把LLM大模型的工作称为“猜测”似乎有些苛刻,公平地说,这是受过高等教育的猜测。
这正是他们正在做的!
事实上,归纳,顾名思义,猜测就是猜测,你使用过去的经验,而不是前提或理解,来得出结论。没有任何“理由”可以解释为什么过去的经验会成立,或者你从你的经验中推断出正确的结论。归纳法本质上是概率性的,演绎Deduction不是。
问题是,我们能从不能使用演绎法的LLM中获得AGI吗?
这可能以两种方式发生。
首先,可能是因为LLM变得越来越大,它们变得如此擅长模仿演绎,以至于无法将其与人类区分开来。如果LLM如此擅长模仿演绎,以至于它可以只用1905年之前的数据(爱因斯坦推导出它)来发现狭义相对论,那么我会称之为AGI。
第二,测试时计算可能是演绎推理的代理(智能体)。这就是我的ARC解决方案和o1正在做的事情。产生大量有根据的“猜测”并智能地搜索它们可能是演绎的替代品。
这里的关键问题是:你如何验证一个猜测是好的?
有了ARC,这很容易:在挑战示例中运行猜测。
但是,对于无限的任务,您如何做到这一点呢?你如何验证一个论点在逻辑上是合理的,或者结论总是从假设中得出?你可以训练一个AI来做这件事,但最终验证者会遇到与基本LLM相同的问题-它不能固有地使用演绎,这意味着它只是进行有根据的猜测。
要有一个AGI的验证器,该验证器可能需要是AGI!
- 解决ARC将是迈向AGI的一大步,但它的解决方案不一定是AGI。
ARC是另一类问题,因为可能的解决方案很容易验证。
- 像o1这样的测试时计算方法非常有用,并且将继续改进。
- LLM将更好地模仿聪明,逻辑的人。
- 他们将变得更加准确和有用。
但由于验证器的问题,我不认为测试时计算可以单独让我们走向AGI。
我认为可能需要一个新的架构:一个允许LLM,或任何他们的继任者如智能体,使用演绎推理。
关于AGI
人类不是用符号来思考的,我们用概念来思考。
在说“The cat(一只猫) sitted on the mat(一张垫子)”之前,我们有一个概念上的理解:一只猫,一张垫子,以及它们的空间排列。具体的词语是在后面选择的。不同的措辞传达了相同的基本概念。(这个认知可能有问题:是先有客观上空间排列还是先有主观上词语?客观决定主观,还是主观与客观合一?这些都是哲学上没有定论,而作者假设客观决定主观,这个方向一旦错误,造成后面演绎推理满盘皆输!)
当前的LLM被训练来预测令牌。虽然他们学习了丰富的内部表征,但他们的训练最终还是要匹配特定的单词。这类似于为像素重建训练的视觉模型:它们可能会在内部开发边缘检测器和对象编码器,但它们的优化标准仍然集中在像素级精度而不是特征质量上。
这一洞察激发了Yann LeCun的[url=https://ai.meta.com/blog/yann-lecun-ai-model-i-jepa/]联合嵌入预测架构[/url](JEPA)。
非JEPA流程:
- 输入→编码器→特征→解码器→预测输入(根据像素/标记精度判断)
JEPA:
- 输入→上下文编码器→特征→预测器→预测特征
- 输入→目标编码器→目标特征(用于比较预测)
JEPA的一个关键创新是它直接在特征空间而不是像素空间中优化预测:
- 损失函数将预测特征与目标特征进行比较,强调学习表示的质量,而不仅仅是重建像素或令牌。
- 这个想法可以通过使用当前的LLM来识别训练文本中的概念片段,然后掩蔽这些片段并训练模型来预测它们的特征级表示。
通过直接在特征空间而不是令牌空间中进行优化,我们将学习目标与我们实际关心的内容保持一致:概念的连贯操作。
虽然目前的模型在内部开发了丰富的概念表示,但它们只针对预测令牌进行了优化-任何概念理解都是表面任务的附带内容。
当我们将概念级预测作为实际的优化目标时,我们直接优化了演绎所需要的:理解抽象概念之间必要关系的能力。
通过使模型的成功取决于准确预测概念如何关联和转换-而不仅仅是预测令牌-我们优化了我们试图构建的功能。
正如人类思维在概念层面上运作,而不是专注于所使用的特定单词一样,引导模型进行概念推理可能是迈向更强大和更通用的人工智能的重要一步。
网友:
怪不得 杨立昆(Yann LeCun)认为OpenAI O3不是LLM大模型。他认为o3是推理模型。
OAI 研究员尖刻回应 Yann LeCun 称 o3 不是大语言模型的说法:
- 杨丽坤认为:大语言模型LLM无法独自带领我们实现 AGI,但这并不意味着它不会成为解决方案的一部分。
- o3 显然会有自己的 llm 模型,但它大概也包含一些额外的推理技术,这些技术显然不是 llm,而且它在很大程度上推动了 o3 的改进。
- o3不是一个推理包装器,而是一个经过微调以产生思路链的LLM大语言模型
- o 系列模型不仅仅是推理连 Chain-of-Thought(CoT)模型:首先,OpenAI 花了近两年的时间来开发 Strawberry,其次,现有的推理模型(除了 o 系列)并没有表现出同样显著的改进。而Gemini 2.0 Flash Thinking、DeepSeek R1Lite 和 Marcos 等模型表现出标准的 CoT 扩展,而 o 系列似乎取得了超越这一点的成就。
- 可以将其称为大型推理模型,但从技术上讲,两者兼而有之(在这种情况下,LRM 是 LLM 的子集)。