ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
连OpenAI都推不动Scaling Law了?MIT把「测试时训练」系统研究了一遍,发现还有路
3602点击    2024-11-12 17:18


昨天,The Information 的一篇文章让 AI 社区炸了锅。


这篇文章透露,OpenAI 下一代旗舰模型的质量提升幅度不及前两款旗舰模型之间的质量提升,因为高质量文本和其他数据的供应量正在减少,原本的 Scaling Law(用更多的数据训练更大的模型)可能无以为继。此外,OpenAI 研究者 Noam Brown 指出,更先进的模型可能在经济上也不具有可行性,因为花费数千亿甚至数万亿美元训练出的模型会很难盈利。


这篇文章引发了业界对于未来 AI 迭代方向的讨论 —— 虽然 Scaling Law 放缓这一说法令人担忧,但其中也不乏乐观的声音。有人认为,虽然从预训练来看,Scaling Law 可能会放缓;但有关推理的 Scaling Law 还未被充分挖掘,OpenAI o1 的发布就证明了这一点。它从后训练阶段入手,借助强化学习、原生的思维链和更长的推理时间,把大模型的能力又往前推了一步。这种范式被称为「测试时计算」,相关方法包括思维链提示、多数投票采样(self-consistency)、代码执行和搜索等。



其实,除了测试时计算,还有另外一个近来非常受关注的概念 —— 测试时训练( Test-Time Training ,TTT),二者都试图在测试(推理)阶段通过不同的手段来提升模型的性能,但 TTT 会根据测试时输入,通过显式的梯度步骤更新模型。这种方法不同于标准的微调,因为它是在一个数据量极低的环境中运行的 —— 通常是通过单个输入的无监督目标,或应用于一个或两个 in-context 标注示例的有监督目标。


不过,TTT 方法的设计空间很大。目前,对于哪些设计选择对 LM(特别是对新任务学习)最有效,人们的了解还很有限。


在一篇新论文中,来自 MIT 的研究者系统地研究了各种 TTT 设计选择的影响,以及它与预训练和采样方案之间的相互作用。看起来,TTT 的效果非常好,至少从论文标题上看,它的抽象推理能力惊人(surprising)。



  • 论文标题:The Surprising Effectiveness of Test-Time Training for Abstract Reasoning


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


具体来说,作者确定了将 TTT 有效应用于 few-shot 学习的几个关键要素:


1.在与测试时类似的合成任务上进行初始微调;


2.用于构建测试时数据集的增强型 leave-1-out 任务生成策略;


3.训练适用于每个实例的适应器;


4.可逆变换下的自我一致性(self-consistency)方法。


实验环节,研究者在抽象与推理语料库(ARC)中对这些方法进行了评估。ARC 语料库收集了很多极具挑战性的 few-shot 视觉推理问题,被认为是测试 LM 泛化极限的理想基准。目前的大多语言模型在 ARC 上均表现不佳。



ARC 推理任务示例。可以看到,这是一组类似于智力测试的问题,模型需要找到图形变换的规则,以推导最后的输出结果。


通过对这些部分的精心选择,TTT 可以显著提高 LM 在 ARC 上的性能 —— 在 1B 模型上将准确率提高到原来的 6 倍,使用 8B 模型时也超过其它已发布的 SOTA 纯神经模型方法。



事实上,他们的研究结果表明,当配备测试时训练时,普通的语言模型可以在 ARC 任务上达到或超过许多神经 - 符号方法的性能。


这些结果挑战了这样一个假设:解决这类复杂任务必须严格依赖符号组件。相反,它们表明解决新推理问题的关键因素可能是在测试时分配适当的计算资源,也许与这些资源是通过符号还是神经机制部署无关。


数据科学家 Yam Peleg 高度评价了这项研究:



Jackson 实验室基因组学部教授 Derya Unutmaz 则表示这是一项「令人震惊的研究」,因为如果 TTT 与 LLM 相结合足以实现抽象推理,我们就有可能消除对显式、老式符号逻辑的需求,并找到实现 AGI 的可行途径。



不过,过完一关还有一关:Epoch AI 与 60 多位顶尖数学家合作打造的 FrontierMath,已经成为评估人工智能高级数学推理能力的新基准,恐怕接下来各位 AI 研究者有的忙了。



论文概览


作者研究了现有的测试时训练理念:根据测试输入构建辅助数据集,并在预测前更新模型。但目前还不清楚的是,应该在哪些任务上进行训练、进行哪种推理以及从哪个基础模型开始?


他们为 ARC 挑战赛提供了一组广泛的消融数据。具体来说,他们进行了三项分析,以回答如何进行 TTT,以及 TTT 之前和之后要做什么。


TTT 需要什么数据?  


作者尝试了两种不同的 TTT 数据生成方式:一是 in-context learning(ICL)格式;另一种是端到端格式。在 ICL 中,作者从给定的测试演示中创建 leave-1-out 任务。在 E2E 中,他们将每个 i/o 对视为一个单独的任务。



他们还应用了一些几何变换来扩充数据;请看上图中 ICL 任务是如何生成的。他们使用这些生成的任务,用 LoRA 更新他们的模型。他们发现,ICL 优于 e2e 任务,数据增强至关重要。



他们用 LoRA 更新了模型。但问题是,应该为每个测试任务训练一个新的 LoRA,还是使用从所有测试任务生成的数据集训练一个共享的 LoRA?他们发现,为每个任务训练 LoRA 要好得多 (FT + TTT vs Shared-TTT)。



TTT 之后的推理


ARC 中没有 CoT,因此无法通过多数投票来改进推理。研究者对此的做法与 TTT 相同:创建少量任务,然后用可逆函数对其进行变换。于是有了一堆经过变换的原始任务输入。



研究者输入变换后的输入,然后将输出反转回来。现在,他们可以从多数表决中获益更多。他们将其命名为「可逆变换下的 self-consistency」。它比任何单一变换的预测效果都要好,分层投票的优势更大。



TTT 前的微调


你需要微调一个基础 LM,但不需要太多新数据。根据训练任务的重现 + 少量几何变换对模型进行微调,就能获得不错的得分。



研究者尝试了大量基于 LM 的合成数据,但意外地发现,这些数据并没有什么帮助。有趣的是,TTT 缩小了不同级别模型之间的差距。



以 ARC 来检验


抽象推理语料库(ARC)旨在通过语言模型解决视觉谜题的能力来评估其抽象推理能力。如图 1 (b) 所示,每个谜题(以下简称任务)都是由输入 - 输出对组成的二维网格(最大尺寸为 30 × 30),其中包含最多 10 种不同颜色的形状或图案。通过应用直观、共享的变换规则或函数 y = f (x),可以获得每对网格的输出。在实践中,这些变换具有高度多样性和复合性,既有简单的概念,如反射和计数,也有更复杂的概念,如施加引力和路径查找。



ARC 中的每项任务都由训练和测试两部分组成。给定训练样本集,目标是通过推理潜在变换,预测测试输入 x^test 的测试输出 y^test。


研究者用表示一个任务,其中,即 ARC 任务的集合。ARC 数据集的原始训练集和验证集各由 400 个任务组成。成功标准要求对所有测试输出结果进行精确匹配(如果没有给出部分分数)。


大多数 ARC 方法可分为两大类:程序合成和 fully neural(全神经网络方法)。程序合成试图首先找到变换函数 f,然后将其应用于测试样本。另一方面,全神经方法试图直接预测输出 y 测试,只是隐含地推理底层变换。在这项工作中,研究者采用了全神经网络方法,使用 LM 来预测测试输出。


研究者首先使用了在文本数据(没有视觉编码器)上预训练过的 LM。为了向这些模型提供 ARC 样本作为输入,需要一个格式化函数(用 str 表示),将二维网格转换为文本表示。以前的一些工作将样本表示为一串数字或 color word,或标有形状和位置的连接组件列表。给定任务的任何此类字符串表示,都可以将其呈现给 LM,并通过简短提示进行预测。


实验结果


最终,在对 80 项任务进行开发实验之后,研究者展示了 ARC 全部公共评估集的综合结果,并将本文系统与现有方法进行了比较。分析主要集中在三个方面:本文 TTT 方法的影响、本文方法与现有方法相结合的益处、全神经方法与程序合成方法之间的差异。


测试时训练的影响。研究者将测试时训练和推理过程应用于本文的基础微调模型(没有任何 LM 数据的微调 8B 模型)。TTT 将准确率从 39.3% 提高到 47.1%,超过了现有端到端神经模型的结果。


与现有方法的整合。最近的一项工作引入了 BARC,通过结合神经和程序合成方法实现了 54.4% 的准确率,这是此前公开发表的最高结果。虽然这里的全神经方法与本文系统有相似之处,但本文 TTT 和推理 pipeline 有几个额外的组件可以提高性能。特别是,本文的测试时训练包括每个任务的 LoRA 和更大的增强集,而预测 pipeline 包括可逆变换下的增强推理和分层 self-consistency 投票方案。为了验证这种改进,研究者将本文的 TTT pipeline 应用于 BARC 的全神经模型,准确率达到了 53%,比最初的 TTT 方法提高了 35%。


在这些结果的基础上,研究者探索了本文方法与 BARC 组件的各种组合:


  • 将本文的 TTT pipeline 与神经模型与 BARC 合成器相结合,准确率提高到 58.5%。


  • 将本文的 TTT pipeline 与 BARC 神经模型和合成器相结合,准确率提高到 61.9%。



这一最终配置在 ARC 公共评估集上实现了新的 SOTA 水平,与 60.2% 的人类平均性能相当。当然,这是一次重大进步,但与人类 97.8% 的最佳表现仍有很大差距,表明仍有进一步提高的空间。


程序生成和端到端建模的对比。程序合成和用于 ARC 的全神经预测器具有很强的互补性,即使在相同的任务上进行训练也是如此。此前的端到端神经模型只能解决程序合成模型所解决任务的 42.2%。然而研究者发现,当配备本文的 TTT pipeline 时,BARC 的微调全神经模型可以解决程序合成模型所解决任务的 73.5%。这表明,本文的 TTT pipeline 大大提高了神经模型学习系统推理模式的能力,与程序合成模型所捕捉到的推理模式类似。


更多研究细节,可参考原论文。


参考链接:https://x.com/akyurekekin/status/1855680791784600013


文章来源“AI研究前沿” 作者“机器之心”


AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner