开源:Test-Time Training 测试时训练对抽象推理的有效性

科技   2024-11-14 06:30   上海  

The Surprising Effectiveness of Test-Time Training for Abstract Reasoning

测试时训练对抽象推理的出人意料的有效性

https://ekinakyurek.github.io/papers/ttt.pdf

https://arxiv.org/pdf/2411.07279



论文:

摘要

语言模型在训练分布内的任务上表现出了令人印象深刻的性能,但在需要复杂推理的新问题上往往表现不佳。我们研究了测试时训练(TTT)——在推理过程中使用来自输入数据的损失临时更新模型参数——作为一种提高模型推理能力的机制,使用抽象和推理语料库(ARC)作为基准。

通过系统性实验,我们确定了成功TTT的三个关键组成部分:(1)在类似任务上的初始微调(2)辅助任务格式和增强(3)逐实例训练。TTT显著提高了ARC任务的性能,与基础微调模型相比,准确度提高了高达6倍;将TTT应用于一个8B参数的语言模型,我们在ARC的公共验证集上达到了53%的准确度,比公开的纯神经方法提高了近25%的最佳性能。通过将我们的方法与最新的程序生成方法结合起来,我们得到了61.9%的最佳公共验证准确度,与人类平均得分相匹配。我们的发现表明,显式符号搜索并不是提高神经语言模型抽象推理能力的唯一途径;在少量样本上继续训练的额外测试时应用也可以非常有效。


1 引言

大规模神经语言模型(LMs)擅长执行其训练数据中出现的任务,以及这些任务的基本变体或组合(Brown et al., 2020; Todd et al., 2024)。给定自然语言任务规范或少量示例,LMs通常能够成功推断出所需的任务并产生适当的输出。但LMs也能解决涉及非平凡推理、规划或与预训练数据截然不同的字符串操作的新问题吗?这个问题对于理解当前AI系统获取新技能的能力至关重要,已被提出作为衡量智能的关键指标(Chollet, 2019)。

对于复杂和新颖的任务,通常很难仅通过从语言模型(LM)中采样来获得正确答案(Wu et al., 2023)。然而,近年来的一个重要发现是,通过在测试时增加额外的计算来增强LM解码,可以显著提高LM的性能。这一类方法包括链式思考提示(Wei et al., 2022)、多数投票采样(自我一致性;Wang et al., 2022)、代码执行(Brown et al., 2024; Snell et al., 2024; Damani et al., 2024)和搜索(Yao et al., 2024)。

最近受到关注的一个扩展策略是测试时训练(TTT),在这种方法中,模型会根据测试时的输入通过显式的梯度步骤进行更新(Krause et al., 2018; 2019)。这种方法与标准的微调不同,因为它在极低数据环境下操作——通常是通过单个输入的无监督目标,或者应用于一个或两个上下文标记样本的有监督目标。

这种方法的现代版本由Sun et al. (2020)提出用于视觉模型,Gandelsman et al. (2022)也将其应用于序列模型。TTT方法的设计空间很大,目前对于哪些设计选择对LMs(特别是对于新任务学习)最有效,我们的理解还是有限的。在本文中,我们系统地研究了各种TTT设计选择的影响,以及它与预训练和采样方案的相互作用。

我们在抽象和推理语料库(ARC)中评估这些方法(Chollet, 2019),这是一个极其具有挑战性的少量视觉推理问题的集合。ARC是测试LM泛化能力极限的理想基准,因为它提出了新任务,以新格式呈现,需要非平凡的搜索和推理能力。当前的语言模型在ARC上表现不佳。大多数成功的方法是依赖于程序合成技术(Butt et al., 2024; Ainooson et al., 2023; Huang et al., 2023),尽管最近Cole et al. (2024)报告了在基准测试上使用TTT的有希望的结果。

我们确定了将TTT有效应用于少量学习的几个关键要素:(1)在测试时遇到的类似合成任务上进行初始微调,(2)用于构建测试时数据集的增强型留一法任务生成策略,(3)逐实例适配器训练和(4)在可逆变换下的自我一致性(Wang et al., 2022)方法。通过仔细选择这些组件,TTT可以显著提高LM在ARC上的性能——将1B模型的准确度提高多达六倍,并在ARC任务上为发布的纯神经模型实现了8B模型的最新结果。事实上,我们的结果表明,当配备测试时训练时,普通的LMs可以在ARC上匹配或超过许多神经符号方法的性能。

我们的主要贡献如下:

1. 我们识别并系统分析了在ARC任务上进行测试时训练所需的关键组件,包括一个新颖的测试时训练数据生成和自我一致性组件。

2. 我们在ARC验证集上取得了已发布神经方法中的最佳结果:

   - 8B参数模型在公共验证集上的准确率达到53%。

   - 与程序合成方法结合后,准确率达到61.9%,与该数据集上的平均人类表现相匹配。

3. 我们证明了以前只能通过程序合成解决的任务,现在可以通过配备我们TTT框架的全神经方法来解决。

这些结果挑战了符号组件对于解决这类复杂任务是绝对必要的假设。相反,它们表明解决新颖推理问题的关键因素可能是在测试时分配适当的计算资源,这些资源可能是通过符号或神经机制部署的,这一点可能并不重要。


2 预备知识

在这一部分,我们首先正式描述ARC挑战。接下来,我们概述上下文学习和测试时训练,这构成了我们研究的基础。最后,我们详细说明我们的默认实验设置。

2.1 ARC挑战

抽象和推理语料库(ARC)旨在通过语言模型解决视觉谜题的能力来评估其抽象推理能力。每个谜题,以下简称为任务,由2D网格的输入输出对组成(大小可达30×30),包含由多达10种不同颜色构成的形状或图案,如图1(b)所示。每对输出是通过应用一个直观且共享的变换规则或函数y = f(x)得到的。实际上,这些变换非常多样化且复合,从简单的概念如反射和计数,到更复杂的如重力应用和路径寻找。

ARC中的每个任务都包含训练和测试分割,包括:

给定一组训练样本,目标是通过推理底层变换来预测测试输入的测试输出。我们用表示一个任务,其中d属于DARC,即这样的ARC任务的集合。原始的ARC数据集的训练和验证集分别为,每个包含400个任务。

成功的标准要求对所有测试输出产生完全匹配(如果不给部分分数)。请参考Johnson et al. (2021)对这些任务的分类和分析。

大多数ARC的方法可以分为两大类:程序合成和全神经方法。程序合成方法(Butt et al., 2024; Wang et al., 2024; Li et al., 2024; Greenblatt, 2024)首先尝试找到变换函数f,然后将其应用于测试样本。另一方面,全神经方法(Thoms et al., 2023; Bober-Irizar 和 Banerjee, 2024)尝试直接预测输出y_test,只是隐式推理底层变换。在这项工作中,我们使用全神经方法,使用语言模型(LM)来预测测试输出。

我们从一个在文本数据上预训练的语言模型开始(没有视觉编码器)。为了将ARC示例作为输入提供给这些模型,我们需要一个格式化函数(表示为str),它将2D网格转换为它们的文本表示形式,如附录A.3所示。以前的工作已经以数字列表(Wang et al., 2024)、颜色词或标记有形状和位置的连接组件列表(Greenblatt, 2024)的形式呈现示例。给定任何这样的任务的字符串表示,我们可以将其呈现给语言模型,并执行少量提示的预测,如下一节所解释。

2.2 上下文学习

在一定规模下,许多语言模型(LMs)表现出了一种能力,即无需更新它们的参数,只需通过条件化输入示例或提供的指令就能适应新任务。给定一系列输入输出对(x1, y1),...,(xn, yn)和一个新输入xn+1,可以通过从以下采样来使用语言模型生成输出ŷn+1:

上下文学习(In-context Learning)并不类似于任何标准的机器学习算法,并且对于新任务来说,并不是即插即用的——例如,小型语言模型(几十亿参数)在ARC上的表现很差。

2.3 测试时训练(Test-Time Training, TTT)

测试时训练(TTT)使得参数化模型能够在推理过程中通过动态参数更新来适应,这种方法在大型语言模型时代相对较少被探索。这种技术是一种归纳学习的形式,其中模型利用测试数据结构来改进其预测。

TTT的一般过程如下:从初始模型参数θ0开始,对于每个测试输入(或一批输入),我们首先从测试输入生成训练数据。然后我们优化这些参数以最小化损失函数,产生临时更新的参数θd用于预测。生成预测后,模型恢复到原始参数θ0,以进行下一个实例或批次的预测。因此,TTT为每个测试输入训练了一个专门的预测模型,该模型是通过在从该测试输入生成的测试时数据集上微调基础模型获得的。

在以往的工作(例如Sun等人,2020)中,数据到文本转换任务(Data-to-Text Transformation Task,简称DTTT)通常是通过仅对输入x应用无监督目标(例如掩码自编码)来构建的。然而,我们所考虑的上下文学习设置提供了更丰富的上下文,其形式为演示对(x1, y1), ...,(xK, yK)。在这里,应用测试时调优(Test-Time Tuning)涉及以下步骤:首先构建一个初始的语言模型LM,将每个测试输入x映射到一个特定于输入的数据集DTTT,然后根据数据集上的某个损失函数L对LM进行微调,以优化该函数,具体形式为:∑d∈DTTT L(LM(d)),最后从更新后的模型中采样以获得最终预测。本文的实验对这一流程的每个组件进行了描述,包括:

  1. 如何从测试输入构建增强的TTT数据集DTTT(第3节)。

  2. 一种基于变换自一致性的增强推理策略(第4节)。

  3. 一个在类似任务的数据集DFT上进行微调的基础模型,其参数为θ0(第5节)。


2.4 实验设置

为了研究每个TTT组件的影响,我们通过改变一个组件,同时保持其他组件在其最优值(在它们各自的部分中描述)来进行实验。我们在实验中使用以下默认配置:

模型架构和优化我们使用了来自Llama-3模型的8B参数语言模型,以及来自Llama-3.2模型的1B、3B参数(Dubey等人,2024)。我们使用低秩适应(LoRA)(Hu等人,2021)进行参数高效的测试时训练。对于每个任务d,我们初始化一组单独的LoRA参数,这些参数在数据集DTTT上进行训练。LoRA的秩设置为128,适应性应用于MLP、注意力和输出层。我们使用AdamW优化器(Loshchilov和Hutter,2019)训练模型,训练2个epoch,批量大小为2。

数据和格式化为了高效评估,我们从ARC验证集中随机选取80个平衡的ARC任务,包括20个简单、20个中等、20个困难、20个专家任务,根据LeGris等人(2024a)的分类(见附录A.2以获取此任务列表)。我们将在整篇论文中使用这个ARC任务的子集,除了我们在第6节中给出的完整验证集的最终结果。我们限制DTTT每个任务最多有250个示例,以提高效率。有了这个限制,整个TTT和推理过程大约需要12小时来处理100个随机抽样的验证任务,当使用NVIDIA-A100 GPU时。附录B.2提供了有关超参数的额外详细信息。输入网格使用numpy的默认数组打印格式转换为文本,如图8所示。

在接下来的部分中,我们研究了有助于语言模型成功进行抽象推理的关键因素。我们的分析涵盖了微调数据DFT数据、TTT数据DTTT、训练目标、推理程序和模型大小的影响,为部署测试时训练的有效策略提供了见解。


3 在TTT期间使用什么数据集和损失函数?

3.1 数据生成

给定一个任务,我们取一组训练输入-输出对,并将它们转换成一个增强的测试时训练任务集。我们通过一个两步过程获得:首先,我们从给定的训练输入-输出对中创建一组留一法上下文学习任务。其次,我们使用可逆的基于规则的变换对这组任务进行增强以获得一个更大的数据集。这个过程在图2中进行了总结。

第一步 - 留一法任务:通过从训练样本中排除第j个样本对,我们可以创建以下合成任务:

其中是一个合成的训练任务,将第j个样本对视为测试案例。我们可以生成n个不同的任务,每个任务包含n-1个样本对。我们进一步包括两个随机排列版本的,其中我们打乱了训练样本的顺序。


我们选择那些保持基本关系的同时引入受控变化的简单变换,例如旋转、翻转、颜色排列、样本排列、大小缩放等。这些变换的列表和描述在附录B.1中提供。最后,我们获得

基线:端到端学习任务 为了与上述描述的“测试时上下文学习”方法进行比较,我们还评估了一种“测试时端到端学习”方法。我们通过将每个输入-输出对视为独立的训练实例,直接从示例演示中创建一个监督数据集。与上下文学习设置不同,预测时不使用上下文:

请注意,这将等同于在ICL设置中的留-(n-1)出任务集,因为没有提供训练样本作为上下文。类似于ICL情况,我们可以应用基于规则的变换来增强数据集:

这种方法在计算上更加高效,因为它直接学习输入输出映射,而不需要管理示例上下文的开销,即少量样本提示。

3.2 优化目标

在测试时训练期间,我们使用LoRA(低秩适应;Hu等人,2021)优化一组特定任务的参数,同时保持大部分基础模型冻结。这种方法允许在保持模型通用能力的同时进行计算高效的适应。

训练目标:给定一个任务的测试时训练数据集,我们在演示和测试输出上最小化标准的语言建模损失:

其中LLM是语言建模的标准交叉熵损失。请注意,我们从第二个示例(n = 2)开始包括演示的损失项。这样做,我们鼓励模型从第二个演示对开始就对变换模式进行推理。

特定任务参数:我们不是为测试集中的所有任务学习一个单一的LoRA适配器,而是为每个任务学习一个特定的任务特定的LoRA适配器。也就是说,我们获得了N个不同的LoRA适配器,其中N是测试任务的数量。

3.3 结果

我们将我们方法的主要实现与以下消融实验进行比较:

1. FT(无TTT):原始基线,其中TTT被消融,而使用微调模型代替。

2. 无变换:不使用基于变换的数据增强。也就是说,第3.1节中描述的数据生成流程第2步的数据不包含在测试时训练数据集中。

3. 端到端(E2E)数据:不使用标准的上下文任务设置,而是使用第3.1节中描述的端到端任务表述。

4. 共享TTT:与学习特定任务的LoRA适配器不同,使用所有任务的聚合数据集学习单一的LoRA适配器。

5. 无示例损失:在数据的训练输出中不对示例取损失。也就是说,TTT损失仅仅是:

6. QLoRA:与全精度的基础模型更新不同,为每个任务学习量化的LoRA适配器(Dettmers等人,2024),这是考虑到内存效率而作为LoRA的替代方案。

结果在图3中展示。我们的TTT方法非常有效,将微调模型的准确率提高了大约6倍(从5提高到29)。辅助任务的结构显著影响了TTT的有效性。使用上下文学习任务大大优于使用端到端任务,在相同条件下相对性能下降了11个任务(下降了38%)。这可能仅仅是因为训练的参数更少。去掉用于增强数据的变换会损害16个任务的性能(下降了55%)。

接下来,我们对TTT优化的多个组成部分进行消融分析,以分析它们对性能的贡献。在所有任务中学习单一的LoRA适配器会在7个任务上降低性能(下降了24%)。这是预期的,因为学习专用的适配器允许每个任务训练更多的参数。其次,我们通过在输出示例上取损失的决定略微提高了性能(从26提高到29),因为我们认为这迫使模型在处理示例时推理变换。最后,我们观察到使用量化的LoRA(QLoRA)只会导致性能的轻微下降(从29下降到26)——在内存瓶颈场景中使用QLoRA可能是可行的。


4 在TTT之后采用什么推理策略?

4.1 增强推理

最近的研究显示,扩大测试时的计算能力可以显著提高大型语言模型(LMs)的性能。实现这一点最常见的技术之一是通过采样多个响应,然后使用排名器选择最佳响应。然而,尽管采样在有多种可能解决方案的领域(代码中的程序)或有多种可能路径到达最终答案的领域(数学)中非常有效,但在直接生成答案时它可能是有害的,因为在确保样本内连贯性的同时无法直接强制样本间的多样性。作为一种替代的推理时扩展,我们使用一种增强推理策略,通过使用几何变换生成多个预测候选,并结合贪婪解码方案。

对于给定的任务,其训练样本为我们使用可逆的几何变换来产生任务的等效变换版本,如图3所示。设 T 是一组可逆几何变换(例如,旋转和平移)。对于每个变换,我们将 t 应用于所有训练示例和测试输入,并使用这些变换后的输入运行我们的模型。

然后我们应用逆变换以获得该变换的最终预测。


我们通过打乱训练样本的顺序进一步增强我们的预测。对于每个变换 g,我们对示例序列进行 n = 2 次不同的排列,每个任务总共得到个预测。这是为了减轻模型处理示例序列时的任何偏见。Bober-Irizar和Banerjee(2024)也发现,转置和旋转有助于产生额外的预测候选。

4.2 集成预测(投票策略)

我们采用分层投票策略从候选集中确定最终预测。

这种方法涉及两个阶段的投票,以逐步缩小最佳候选范围:首先,在每个变换内选择最频繁的预测,然后跨变换特定的候选进行整体投票,以识别最频繁的前2个预测。每个阶段的详细信息如下:

1. 变换内投票:我们按它们对应的变换 t 对预测进行分组,并在每个组内选择最频繁的前3个预测。如果一个组内少于3个独特的预测,我们通过以下方式补充候选:

   - 基于行的多数:对于预测输出网格的每一行,我们取变换组内所有预测中该行值出现最频繁的行。

   - 基于列的多数:类似地,对于预测输出网格的每一列,我们取变换组内所有预测中该列值出现最频繁的列。

2. 全局投票:使用从(1)中获得的选定的变换特定候选,我们进行整体投票,以选择提交的最频繁的前2个预测。如果出现平局,优先选择具有恒等变换的预测。

4.3 结果

为了分析增强推理和投票的影响,我们进行了以下消融实验:

1. 原始:这个基线遵循标准的推理方法,没有任何增强推理或投票。它为任务的2种排列从模型生成2个预测。这个设置作为评估我们的增强推理和投票策略好处的参考点。

2. 变换推理(旋转/转置/翻转):衡量仅从图5中显示的特定变换版本的任务生成预测时的性能。这评估了每种变换单独应用时的个体有效性。请注意,原始方法也可以被认为是这一类别的一个部分,其变换是恒等函数 。

3. 层次投票:我们的完整流程,包括增强推理和投票 。

4. 扁平投票:与使用层次投票策略不同,我们在全部的个预测上执行单一轮投票,以识别2个最频繁的预测 。

5. 预言机:如果个预测中存在正确答案,预言机会选择它。预言机提供了如果投票程序完美的话可能的最佳性能的上限 。

结果总结在图5中。如图中所示,特定变换版本的个体性能通常较差,转置变换产生了最差的准确率。然而,通过投票程序聚合这些变换可以显著提高性能。这表明,一些任务可能在它们的变换版本中更容易解决,并且使用自我一致性(投票)进行聚合通常是有益的,这也是之前工作中观察到的一个发现。此外,尽管扁平投票程序提高了准确率,我们的层次投票程序优于它。实际上,我们的层次程序与预言机相当,表明层次聚合有效地以高准确率选择正确答案(当它存在时)。


5 在TTT之前进行微调的目的是什么?

虽然测试时训练有助于特定任务的适应,但基础模型的能力影响最终性能。我们开发了几种生成合成训练数据的方法,通过微调增强基础模型的抽象推理能力,探索了自动化和半自动化的任务生成方法。在本节中,我们详细说明了我们的微调数据生成策略,并分析了不同数据源和模型大小对最终性能的影响。

5.1 准备微调数据

Hodel(2024)提供了特定领域的语言(DSL),REARC,以及解决任务i的变换fi和在DARC_train数据集中每个训练任务实现的DSL中的数据处理函数gi。这些函数使得采样新的输入-输出对成为可能,同时保持相同的基本变换原则:

(a) 使用现有生成器 REARC中的生成器函数gs已经提供了一个有效的数据增强工具,通过产生相同任务的不同实例。我们通过多次运行这些代码并随机分割这些新示例(d ∼ eval(gi))到训练和测试样本集中,从这些训练任务中生成额外的样本。这些增强的示例已经随其DSL发布提供。

(b) 对LLM进行少量样本提示 此外,我们还使用几种方法利用语言模型(在我们的情况下是GPT4和GPT4-o的集成)生成新任务。

最简单的方法使用少量样本示例生成新的任务生成器:

为了获取任务描述,我们手动创建了10个训练任务的种子描述。然后,这些种子描述被用来通过少量样本提示生成训练和验证任务的描述。为了增加任务的多样性,我们使用具有层次字段(类别、摘要和描述)的任务描述。获取这些描述的过程在附录D.1中提供。

我们没有同时生成任务描述和功能生成,而是额外部署了一个两阶段方法,如下所述:

这种方法首先生成任务描述s',然后根据现有任务对和新描述对生成器进行条件化。通过这些基于LLM的方法,我们总共收集了6426个生成器。我们在图11中提供了这些由LM生成的任务的定性样本。

(c) 几何变换 最后,我们的合成任务通过各种几何变换得到增强,例如基本变换(旋转、反射、随机位移和大小缩放)、图案操作(随机贴片、平铺和重复)、颜色排列,以及涉及多个基本变换顺序应用的复合变换。这些变换以三种方式应用:

变换的完整规范及其应用细节在附录B.1中提供。这些变换以30%的时间随机应用于任务的变体。

5.2 结果

我们对1B、3B Llama 3.2指令微调模型和8B Llama 3指令微调模型使用增强数据进行了完整的微调。格式和训练目标与第2.4节中描述的TTT相同。超参数细节在附录B.2中给出。我们对增强数据进行了以下消融实验:

1. 无FT:没有任何微调的原始Llama 3指令微调模型。

2. 全部:我们使用第5.1节中描述的所有方法,包括REARC、基于规则的增强和LM生成。

3. 无几何:我们从所有任务中移除几何变换。

4. 无LM:我们只使用REARC和基于规则的增强,排除由LM生成的任务。

FT数据如何影响TTT?我们在图7中比较了使用不同微调数据的模型。我们发现,在REARC上训练并结合基于规则的增强的模型实现了最强的性能。令人惊讶的是,包括由LM生成的任务会使性能下降5%,这表明当前基于LM的任务生成方法可能需要更复杂的筛选机制,如Li等人(2024年)中所使用的(见他们在第6节的结果)。最后,我们发现FT性能与TTT性能的相关性很小。

模型大小和TTT中的扩展我们在图7中展示了使用不同模型大小的结果。增加模型大小一致地提高了FT性能,8B模型达到了最高的准确率36%。我们还观察到TTT有效地缩小了较小模型的性能差距,1B和3B模型在TTT后达到了相似的准确率。


6 ARC基准测试和其他系统的比较

在我们对80个任务的开发实验之后,我们在完整的ARC公共评估集上展示了全面的成果,并与现有方法进行了比较。我们的分析集中在三个关键方面:我们的TTT方法的影响、将我们的方法与现有方法结合的好处,以及全神经和程序合成方法之间的差异。

测试时训练的影响我们将TTT和推理程序(在第3节和第4节中解释)应用于我们的基础微调模型(第5节中没有使用任何LM数据的微调8B模型)。TTT将准确率从39.3%提高到47.1%,超过了现有的端到端神经模型结果。

与现有方法的集成与现有方法的集成Li等人(2024年)的并行工作引入了BARC,通过结合神经和程序合成方法实现了54.4%的准确率——之前公开可用的最高结果。虽然他们的全神经方法与我们的系统有相似之处,但我们的TTT和推理流程有几个额外的组件可以提升性能。特别是,我们的测试时训练包括每个任务的LoRA和更大的增强集,而我们的预测流程包括在可逆变换下的增强推理和层次化的自我一致性投票方案。

为了验证我们的改进,我们将我们的TTT流程应用于BARC的全神经模型,实现了53%的准确率——比他们原始的TTT方法提高了35%。

基于这些结果,我们探索了我们的方法与BARC组件的各种组合:

- 将我们的TTT流程和神经模型与BARC的合成器结合起来,准确率提高到58.5%。

- 将我们的TTT流程与BARC的神经模型和合成器结合起来,准确率提高到61.9%。

这种最终配置在ARC公共评估集上建立了一个新的最高标准,与平均人类表现的60.2%相当。虽然这代表了显著的进步,但与最佳人类表现的97.8%相比仍有相当大的差距,表明还有进一步改进的空间。

比较程序生成和端到端建模Li等人(2024年)发现,对于ARC的程序合成和全神经预测器是高度互补的,即使在训练相同的任务时也是如此。他们的端到端神经模型只能解决程序合成模型解决的任务中的42.2%。然而,我们发现,当我们的TTT流程配备时,BARC的微调全神经模型解决了程序合成模型解决的任务中的73.5%。这表明我们的TTT流程显著提高了神经模型学习系统推理模式的能力,这些模式与程序合成模型捕获的模式类似。


7 结论

在这项工作中,我们对测试时训练进行了调查,并证明它可以显著提高大型语言模型在流行的ARC数据集上的性能。我们发现,学习特定任务的LoRA适配器和使用几何变换生成增强的测试时数据集是至关重要的。我们还开发了一个增强的推理流程,该流程使用可逆变换生成多个预测,然后使用自我一致性来选择最佳候选。我们的总体流程应用了多种测试时计算方法,每个组件都做出了积极贡献。这表明,测试时计算不仅可以提高大型语言模型的性能,而且不同的测试时方法也可以相互补充。

我们的TTT流程与现有方法(BARC)相结合,在ARC公共集上取得了最先进的结果,并与平均人类表现相当。我们的发现表明,测试时方法在推进下一代大型语言模型的发展中可能发挥关键作用。


局限性

评估框架 ARC挑战维护着独立的公共和私有排行榜,私有评估在100个新任务上进行。虽然我们的TTT流程在公共基准测试中显示出有希望的结果,但硬件限制(Llama 8B在A100 GPU上12小时的运行时间)目前排除了提交到官方排行榜的可能性,官方排行榜要求在P100或2xT4 NVIDIA GPU上在12小时内完成。我们的发展过程使用了80个任务进行验证,虽然我们的方法旨在适用于各种任务,但我们承认潜在的优化偏差来源。附录B.1中详细说明的固定基于规则的增强是在TTT阶段选择的。标准的超参数(学习率、批量大小、周期)是使用我们的发展集和80个验证任务进行优化的。



附录



原文链接:https://ekinakyurek.github.io/papers/ttt.pdf

https://arxiv.org/pdf/2411.07279

https://github.com/ekinakyurek/marc

CreateAMind
ALLinCreateAMind.AGI.top , 前沿AGI技术探索,论文跟进,复现验证,落地实验。 鼓励新思想的探讨及验证等。 探索比大模型更优的智能模型。
 最新文章