ARC Prize 2024:技术报告
ARC Prize 2024: Technical Report
https://arxiv.org/pdf/2412.04604
摘要
截至2024年12月5日,ARC-AGI基准测试已经存在五年,并且仍然未被超越。我们相信它目前是世界上最重要的未解决的AI基准测试,因为它旨在衡量对新任务的泛化能力——这是智能的本质——而不是对可以提前准备的任务的技能。今年,我们发起了ARC Prize,这是一项全球竞赛,旨在通过达到85%的目标基准分数来激发新想法并推动AGI的开放进展。结果,在几种前沿的AGI推理技术(包括深度学习引导的程序合成和测试时训练)的推动下,ARC-AGI私有评估集上的最先进分数从33%提高到了55.5%。在本文中,我们调查了顶级方法,回顾了新的开源实现,讨论了ARC-AGI-1数据集的局限性,并分享了从竞赛中获得的关键见解。
1 引言:ARC-AGI
François Chollet在2017年首次写到了深度学习的局限性(5)。2019年,他将这些观察形式化为一种新的人工通用智能(AGI)定义,将其描述为一个能够高效获取新技能并解决新问题的系统,这些问题既不是为其明确设计的,也不是为其训练的(7)。
除了这一定义,Chollet还发布了抽象与推理语料库(ARC)基准测试(6)(后来更名为ARC-AGI,以避免与其他AI基准测试的名称冲突),作为衡量这一定义智能的首次具体尝试。我们将此数据集称为ARC-AGI-1。它是一组独立的“任务”(见图1),每个任务由多个“演示对”(两个或更多,中位数为三个)和一个或多个“测试输入”组成。一个测试对由一个“输入网格”(一个可变大小的矩形网格,最大为30行×30列,每个单元格可以有十个不同的“值”之一)和一个应该完全可以从输入网格的特征推断出的输出网格组成。目标是使用演示对来理解任务的性质,并利用这种理解来构建与每个测试输入相对应的输出网格。测试者每个测试输入允许两次尝试。
该基准测试的定义特征是,不应该能够提前为任何任务做准备。数据集中的每个任务都遵循不同的逻辑。所有任务都是由人类创建的,以确保高度的新颖性和多样性。
ARC-AGI任务不需要专门的世界知识(例如历史事实)或语言来解决。唯一假设的先验知识是核心知识(7)——如物体性、基本拓扑、基本整数算术等概念。人类核心知识已被Spelke等人研究(23)。这些知识先验在儿童早期(通常在四岁之前)获得,并且为所有人类普遍共享。ARC-AGI-1的公共训练任务旨在让测试者接触到解决ARC-AGI任务所需的所有核心知识先验。
1.1 数据集构成
ARC-AGI-1 包含 1,000 个任务,分为四个子集:
- 公共训练任务(400 个,简单):旨在展示任务格式并允许学习核心知识先验。
- 公共评估任务(400 个,困难):旨在让研究人员在本地评估其表现。
- 半私有评估任务(100 个,困难):旨在让我们评估依赖公开可用商业 API 的第三方方法。它是“半私有”的,因为虽然尚未公开发布,但已暴露给商业 API,因此存在泄露风险。
- 私有评估任务(100 个,困难):旨在让我们评估独立方法。它是完全私有的,理论上不存在泄露风险。
ARC-AGI任务的另一个重要特征是,它们对AI系统来说很难,但对人类来说却很容易。最初的私有评估任务由两个人测试,他们的得分分别为97%和98%,并且两人共同解决了所有任务(100%)。纽约大学最近发表的一项研究测试了Mechanical Turk工作者,结果显示99%的公共评估任务至少由一名工作者解决,每个任务分配了10名工作者。(18)
1.2 2024年之前的进展
在2024年ARC Prize之前,ARC-AGI已经成为了三次公开竞赛的目标:
2020年:第一届ARC-AGI Kaggle竞赛(奖金20,000美元)(9)
2022年:第一届ARCathon(奖金100,000美元)(16)
2023年:第二届ARCathon(奖金100,000美元)(17)
在ARC-AGI-1最初发布后的几年里,纯粹的深度学习方法在ARC-AGI上表现不佳,因为经典的深度学习范式通过将新情况与训练时看到的情况联系起来工作,而在测试时没有适应或知识重组,这使得此类模型无法在测试时理解完全新颖的任务。在2020年的第一届Kaggle竞赛中,没有任何基于深度学习的方法得分超过1%。OpenAI的原始GPT-3模型通过直接提示在公共评估中得分为0%。
这就是为什么尽管ARC-AGI是在大型语言模型(LLMs)之前创建的,但在2022-2024年期间,它仍然抵御了LLMs的崛起。
2020年,第一届ARC-AGI竞赛在Kaggle上举办(9),最高得分为20%。四年后,最高得分仅增加到33%。ARC-AGI进展缓慢可以归因于AGI领域的进展不足。从2020年到2024年初,AI研究领域主要集中于深度学习系统的扩展,这提高了特定任务的技能,但并未改善在训练时没有可用训练数据的情况下处理任务的能力(即通用智能)。我们的观点是,在此期间,AGI的进展停滞不前——AI系统变得越来越大,记忆了更多的训练数据,但前沿AI系统的通用性大致保持不变。
2 ARC Prize 2024 结果
2.1 Kaggle 排行榜
2024年初,前沿AI系统在ARC-AGI上的糟糕表现清楚地表明了阻碍AGI进展的概念局限性。为此,我们发起了ARC Prize(15),以激励AI研究人员探索新想法并公开分享。由于大多数前沿AI研究不再由工业实验室发布,ARC Prize旨在鼓励和促进开放共享。
ARC Prize 2024于2024年6月11日启动,并于2024年11月10日结束。竞赛同时在kaggle.com和arcprize.org上进行。奖项包括:
大奖:60万美元,奖励首个在私有评估集上达到85%的团队;
进展奖:5万美元,与Kaggle排行榜挂钩;
最佳论文奖:7.5万美元,奖励最佳论文提交。
最终,大奖未被领取。
2024年的获奖者如表1所示。所有得分均在arcprize.org上开源且可复现。
获奖者在Kaggle上竞争,他们的解决方案试图在12小时内,在一台配备单个P100 GPU且无网络访问权限的虚拟机上解决私有评估集的100个任务。只有开源其解决方案的团队才能被命名为获奖者并领取奖金。MindsAI在竞赛期间在私有评估集上取得了55.5%的最高分,但选择不开源其解决方案,因此不符合获奖资格。
2.2 公共排行榜
除了Kaggle排行榜外,ARC Prize还设有一个次级排行榜——ARC-AGI-Pub,该排行榜允许访问互联网并放宽计算限制,以评估使用闭源前沿模型可实现的性能。由于数据泄露的风险,提交的内容未在私有评估集上验证,而是在“半私有”评估集(100个任务)上验证。我们同时报告公共评估集(400个任务)的结果,以防止过拟合。如果半私有评估集和公共评估集的得分超过±10%的绝对差异,我们认为得分存在过拟合。所有得分均在arcprize.org上开源且可复现。
该排行榜为参赛者提供了比Kaggle排行榜多约1000倍的计算资源。ARC-AGI-Pub的参赛作品允许消耗高达10,000美元的API积分,而Kaggle上的参赛作品每次只能消耗相当于10美元的计算资源。ARC Prize为公共排行榜高分提交验证的API费用提供了支持。
2024年公共排行榜的最终最高分如表2所示。“pass@1”商业API结果使用了公开可用的直接提示方法(所有模型均相同)。
令人惊讶的是,竞赛和次级公共排行榜的最高分非常接近。这表明,AGI的算法改进具有显著的力量,并且可能不需要大量的计算资源来击败ARC-AGI。
2.3 论文奖项
ARC Prize 2024还设立了“论文奖项”,以奖励新颖的概念,无论其解决方案的得分如何。以下论文获得了奖项。所有论文均与开源代码一起在arcprize.org上共享。
第一名:Li 等人,《结合归纳与演绎进行抽象推理》
第二名:Akyürek 等人,《测试时训练在抽象推理中的惊人效果》
第三名:Bonnet 和 Macfarlane,《搜索潜在程序空间》
入围奖:
– Franzen 等人(ARChitects 团队):《LLM ARChitect:解决ARC-AGI是一个视角问题》
– Barbadillo,《Omni-ARC》
– Fletcher-Hill,《Mini-ARC:使用小型Transformer模型解决抽象与推理谜题》
– Ouellette,《面向高效神经引导的程序归纳以解决ARC-AGI》
– Puget,《用于ARC Prize的2D nGPT模型》
总计有1,430个团队为ARC Prize 2024提交了17,789份参赛作品。许多资金充足的初创公司也已将重点转向ARC-AGI——今年我们已收到七家此类公司的消息。此外,多家大型企业实验室也已启动内部项目以攻克ARC-AGI。
尽管我们距离实现AGI还有很长的路要走,但我们很高兴ARC Prize催化了几种新的开源前沿AGI推理方法,特别是测试时训练(test-time training)。这种方法我们最初在2023年由Jack Cole和Mohamed Osman使用,随后在今年通过ARC Prize得到了推广。
3 顶级方法
在2024年之前,所有顶级的ARC-AGI方法都依赖于离散程序搜索,始于2020年icecuber的获胜作品(9),该作品完全依赖暴力程序搜索,在私有评估集上达到了20%的得分。
在接下来的四年中,进展缓慢。尽管大型语言模型(LLMs,如GPT-3、3.5、4)的出现,尝试使用这些系统击败ARC-AGI的努力并未成功。进展主要体现在改进的领域特定语言(DSLs)上,尤其是Michael Hodel创建的一种DSL(12),它提高了程序搜索过程的性能。
然而,在ARC Prize 2024期间,进展重新加速,主要得益于三大类方法的推动:
深度学习引导的程序合成**:利用深度学习模型,特别是专门的代码LLMs,生成任务解决程序或引导程序搜索过程,超越盲目的暴力方法。
用于转导模型的测试时训练(TTT)**:在训练时针对给定的ARC-AGI任务规范对LLM进行微调,以将LLM的先验知识重组为适应手头任务的新模型。
将程序合成与转导模型结合**:将上述两种方法合并为一种超级方法,基于每种方法倾向于解决不同类型任务的观察。
今年第一个令人兴奋的成就来自Ryan Greenblatt,他使用LLM引导的程序合成方法在ARC-AGI-Pub排行榜上达到了42%的得分(11)。他的解决方案使用GPT-4为每个任务搜索数千个Python程序(并迭代调试最有潜力的程序),以找到一个能够成功映射任务输入/输出示例的程序。
在为期5个月的竞赛期间,得分最高的团队之一MindsAI将其在ARC-AGI-1私有评估集上的得分从33%(2023年竞赛结束时由同一团队实现)提高到了55.5%。MindsAI从2023年开始率先在ARC-AGI中应用测试时训练(TTT)。尽管他们选择不公开分享其2024年的TTT实现,但他们激励了许多团队发明了自己的方法。
值得注意的是,ARC Prize 2024的第一名获奖者ARChitects使用TTT在私有评估集上获得了53.5%的得分,而第二名论文奖得主Ekin Akyürek及其团队使用TTT在半私有评估集上获得了47.5%的得分。两者均因竞赛而开源,并可在arcprize.org上获取。
3.1 深度学习引导的程序合成
在2019年发布ARC-AGI时,Chollet提出可以将其理解为一个程序合成基准测试,并可以通过利用深度学习模型来引导离散程序搜索过程来解决——从而解决程序合成的组合爆炸瓶颈。这种方法在Chollet 2020年11月的AAAI秋季研讨会演讲中进行了详细描述(8)。2020年的竞赛完全由暴力程序搜索技术主导,而自2023年起,能够生成代码的LLMs的兴起催生了更高效的程序合成解决方案,这些方案使用LLMs编写候选程序,然后由代码解释器进行评估。
迄今为止,ARC-AGI的程序合成方法主要包括以下几种:
基于领域特定语言(DSL)的暴力搜索:这种方法涉及在预定义的DSL中穷举搜索可能的程序空间。虽然在理论上是完备的,但由于组合爆炸问题,它无法单独扩展到复杂程序,因为随着DSL规模和目标程序规模的增加,搜索空间会急剧膨胀。这是第一种在ARC-AGI上取得积极结果的方法,早在2020年,我们就通过将所有2020年竞赛作品集成在一起,证明了一种非常简单、计算量相对较低的暴力策略可以在私有评估集上达到49%的得分。使用这种方法的单个Kaggle提交在私有评估集上的最高得分为40%(由Agnis Liukis,团队名alijs实现)。
基于开放式语言的LLM驱动程序生成:在编程相关数据上预训练的LLMs可以用于生成通用语言(如Python)的程序。Greenblatt(11)展示了一种方法,通过向GPT-4o提供任务描述(包含任务的演示对)来生成数千个候选Python程序以解决任务,然后由代码解释器运行并根据其在演示对上的表现进行选择。为了取得良好效果,这种方法需要大量的提示工程工作,并依赖于对可能生成的大量程序进行确定性评估。
LLM引导的基于DSL的离散程序搜索:这种方法结合了基于DSL的离散程序搜索和LLMs的优势。Ouellette(21)展示了使用LLM在DSL内引导搜索过程的策略,有效减少了搜索空间并提高了效率。
LLM驱动的迭代程序调试:LLMs可以用于迭代调试和改进启发式生成或接近正确的程序,而不是从头生成完整程序。Greenblatt(11)也探索了这种方法,使用LLMs识别并修正最有潜力的错误程序(通过启发式标准选择)中的错误,从而提高了ARC-AGI的性能。
迄今为止尚未尝试的一种方法(可能因为技术挑战较大),但我们预计未来会表现良好的,是使用专门的深度学习模型来引导离散程序搜索过程的分支决策——类似于Google DeepMind的AlphaProof系统(2)中所见。
我们预计,程序合成以及与之密切相关的测试时搜索技术将在未来12到24个月内被所有前沿AI系统采用。这将导致未来对基准得分的正式效率报告需求更强,因为任何基于搜索的方法在提供更多计算资源时都可以获得更高的得分,因此不再可能为一种方法分配得分,而只能为方法加上计算预算的组合分配得分。例如,我们估计,像Greenblatt的方法在每任务生成、评估和调试约1亿个程序时,可以实现85%的ARC-AGI得分,这将需要数百万美元的计算预算来解决100个任务。
我们还注意到,深度学习引导的程序合成目前并未明显优于基于DSL的暴力程序搜索——两者在可比的计算预算下目前得分都在40%左右。我们预计,未来利用深度学习的更高效程序搜索技术应该能够超越暴力搜索。
3.2 测试时训练
以2022-2023年期间的LLMs为代表的经典深度学习范式,首先在大型数据集上训练模型,然后使用冻结版本的模型进行推理。然而,解决ARC-AGI需要超越简单的记忆模式提取和应用——它需要在测试时适应特定任务的能力。这导致了测试时训练(TTT),也称为测试时微调(TTFT),成为基于LLM的ARC-AGI解决方案中的主导方法。如今,所有基于LLM的顶级转导方法都利用了TTT,并且没有任何静态推理式转导解决方案的得分超过11%。这一显著差距凸显了经典深度学习范式在泛化到新任务上的不足。
在这种背景下,TTT涉及在测试时看到的每个任务实例的演示对上微调预训练的LLM,从而为每个任务有效地创建基础模型的不同变体。然后,模型被提示直接预测输出网格(转导)。
有趣的是,TTT在概念上可以看作与程序搜索类似,尽管处于记忆/重组光谱的另一端。两者都涉及重组现有的构建块来解决任务。程序搜索通常采用少量通用编程原语的深度重组,而TTT则利用大量专门的“构建块”(预训练LLM权重中的向量函数),并通过测试时梯度下降进行浅层重组。
将TTT应用于ARC-AGI的关键方面包括:
- 数据增强和替代数据集:鉴于ARC-AGI-1数据集的规模有限,成功的TTT严重依赖于增加可用于预训练的类似ARC-AGI的数据量,例如使用ARC-Heavy/ARC-Potpourri(由Ellis等人发布的包含40万个额外类似ARC任务的数据集(19))和Re-ARC(由Hodel发布的ARC-AGI训练集的程序化实现,允许对400个训练任务的新实例进行无限采样(13)),或通过精心设计的数据增强。例如,ARChitects(10)引入了新的增强方法以及基于生成解决方案在这些增强下的稳定性的选择标准。
- 微调策略:LoRA微调(14)和完全微调都已被探索用于在测试时适应LLMs。微调是在从特定测试实例派生的增强演示对上进行的。
-专门的2D感知架构:有效的TTT通常利用专门为视觉推理设计的Transformer架构。这包括使用2D注意力机制或2D位置编码(如Puget/NVIDIA的“用于ARC Prize的2D nGPT模型”(22)所示),以更好地捕捉输入网格中的空间关系。
2024年ARC Prize中使用的TTT示例:
OmniARC(Barbadillo(3))**:一个在多个程序归纳任务上预训练的Qwen2.5-0.5B-Instruct模型,并在测试时使用增强的ARC数据进一步微调。他们将其与程序合成方法结合,形成一个有竞争力的集成方案。
Akyürek等人(1):使用TTT的8B参数模型在公共评估集上达到了53%的准确率。
MindsAI(20):一个在公共评估集和合成数据上预训练的Salesforce T5系列模型,在测试时对每个私有任务进一步微调。
ARChitects(10):一个具有广泛数据增强的NeMo-Minitron-8B基础模型,以及基于增强下解决方案稳定性的新颖选择标准。
TTT的一种变体涉及在LLM的潜在空间中进行搜索,如Bonnet和MacFarlane(4)所示。这种方法使用随机搜索和梯度下降在模型的潜在空间中找到更好的程序表示——这是一种新颖的测试时适应方法,既不是微调也不是离散搜索。
总体而言,我们预计测试时训练(TTT)将成为基于LLM的AI系统提高在预训练任务之外任务表现的主要技术。与程序合成相比,将TTT整合到生产系统中更具挑战性,因此我们预计它不会在未来几年内投入生产应用——但它或其衍生技术应该从2026年开始流行起来。
3.3 将程序合成与转导结合
解决ARC-AGI的方法大致可以分为两种:
程序合成,或“归纳:基于测试任务的演示对,找到一个似乎将输入网格转换为相应输出网格的程序或函数,然后将该程序应用于测试输入网格。
转导:基于测试任务的演示对和输入网格,直接预测相应的输出,例如通过向LLM提供任务描述和测试输入来提示。
自从基于转导的方法在2023年底开始得分超过零(由Jack Cole和Mohamed Osman率先提出)以来,研究人员注意到程序搜索和转导能够解决显著不同的任务集。这一问题后来被Li等人在《结合归纳与转导进行抽象推理》(19)中进行了详细研究。
如今,所有最高分(例如公共排行榜上的Akyürek和Berman,以及Kaggle排行榜上的ARChitects和Barbadillo)都使用了转导和归纳的结合。仅使用转导或仅使用归纳的单一提交得分约为40%,因此只有两者的集成才能竞争最先进水平。
4 未来
我们承诺每年举办ARC Prize,直到ARC-AGI基准被击败并公开参考解决方案。ARC Prize 2024是一项大规模的实验,我们认为它非常成功,并希望将ARC Prize从其实验性起源发展为一个持久的AGI北极星。我们正在应用ARC Prize 2024期间学到的经验教训,以指导未来竞赛和基准的版本。
4.1 ARC Prize:2025年及以后
我们很高兴ARC Prize催化了对AGI新想法的广泛关注。我们预计ARC Prize会推动学术界、独立研究人员和大型实验室重新关注ARC-AGI。但我们惊讶于资金充足的AI研究初创公司会改变其路线图,优先击败这一基准。我们现在了解到至少有七个由资金超过100万美元的组织正在努力解决ARC-AGI,包括Basis AI(basis.ai)、Tufa Labs(tufalabs.ai)、Agemo(agemo.ai)和Symbolica(symbolica.ai)。
这些群体的激励并不完全相同(例如,进展奖不足以激励风险投资支持的初创公司和大型企业实验室分享成果),我们计划重新设计2025年竞赛以考虑这一点。我们的目标是为从学术实验室到初创公司再到大型实验室的全方位AI研究参与者提供最佳的AGI方向指南。
4.2 ARC-AGI-2
自2019年以来,ARC-AGI-1的私有评估集一直未变,并且已知存在一些缺陷。首先,私有评估集仅包含100个任务。这100个任务已被所有四次ARC-AGI竞赛用于报告中间排行榜得分,因此迄今为止已向参与者报告了大约10,000次私有评估集得分。这带来了显著的过拟合风险,因为每次得分都有可能提取关于隐藏任务内容的少量但非零的信息。通过增加样本量并使用两个独立的数据集,可以提高基准的可靠性:一个用于中间排行榜得分(更大的半私有评估集),另一个用于最终评分(更大的私有评估集)。这种方法消除了对私有评估集过拟合的风险。
此外,虽然2020年任何单一提交的最高得分为20%,但对所有2020年提交的分析发现,49%的私有评估集任务至少被一个团队解决(所有这些团队都使用了某种形式的暴力程序搜索技术)。这表明ARC-AGI-1数据集中有很大一部分过于容易受到这些暴力程序搜索技术的影响,因此无法提供有关AGI的有用信号。然而,数据集中有足够部分的任务仍然具有挑战性,这也是ARC-AGI至今未被解决的原因。
最后,一些轶事证据表明,不同的评估数据集并未从一致的人类难度分布中抽取,这使得跨评估的得分比较具有挑战性。
为了解决这些问题,同时保留ARC-AGI熟悉的任务格式,我们正在积极开发ARC-AGI-2,并计划在2025年竞赛中推出新数据集。
5 结论
ARC Prize 2024 是一项非常成功的实验——基准测试的知名度显著提高,并涌现了几种新方法,将最先进水平从33%提升至55.5%。然而,ARC-AGI 仍然未被击败——尤其是考虑到早在2020年,使用基本的暴力程序搜索技术就可以实现49%的得分。构建AGI仍然需要新的想法。ARC-AGI 在五个月的激烈竞争中经受住了考验,并提供了60万美元的大奖和数十万美元的额外奖金,这一事实强有力地表明,解决方案尚未出现。我们感到鼓舞、自豪并充满希望,因为ARC-AGI 在将注意力转向新的研究想法方面发挥了重要作用。我们相信,最终构建AGI的团队今天正在思考ARC-AGI,而我们致力于将这种关注作为通往AGI的北极星。
6 附录
6.1 ARC-AGI 生态系统
ARC Prize 激发了一个由研究人员和开发者组成的社区,他们贡献了宝贵的工具、数据集和资源库,以支持竞赛参与者和更广泛的AI社区。
ARC-DSL:用于处理ARC-AGI任务的领域特定语言:[GitHub 仓库](https://github.com/arc-prize/arc-dsl)
ConceptARC:ARC-AGI领域的基准测试,系统地评估在多个基本空间和语义“概念组”上的抽象和泛化能力:[GitHub 仓库](https://github.com/arc-prize/conceptarc)
RE-ARC:用于程序化生成ARC-AGI训练任务示例的资源库:[GitHub 仓库](https://github.com/arc-prize/re-arc)
Bootstrapping ARC:用于生成合成ARC-AGI问题的工具:[GitHub 仓库](https://github.com/arc-prize/bootstrapping-arc)
arcsolver:一个使用Claude和以对象为中心的建模自动解决ARC挑战的Python库:[GitHub 仓库](https://github.com/arc-prize/arcsolver)
ARC Interactive:一个基于Web的交互式工具,用于参与ARC-AGI任务:[Web 工具](https://arc-prize.github.io/arc-interactive)
Arckit:用于轻松处理抽象与推理语料库的Python和命令行工具:[GitHub 仓库](https://github.com/arc-prize/arckit)
The ARC Game:用于ARC-AGI任务的用户界面:[Web 界面](https://arc-prize.github.io/arc-game)
ARC Gym:一个数据生成框架,旨在帮助研究和开发组合泛化与高效搜索问题的解决方案:[GitHub 仓库](https://github.com/arc-prize/arc-gym)
开源Kaggle Notebooks:为ARC Prize 2024公开分享的数百个Kaggle提交:[Kaggle 竞赛代码](https://www.kaggle.com/competitions/arc-prize-2024/code)
更多资源列在官方ARC Prize技术指南中。
原文链接:https://arxiv.org/pdf/2412.04604
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.