万字梳理:揭秘DeepSeek中的RL与AGI下一步丨AI...

智能科技有评论 2025-02-22 14:16:58
Transformer架构的非递归设计阻碍了跨层的记忆共享,或限制模型泛化能力。

作者丨王悦

编辑丨陈彩娴

在 DeepSeek 能够破圈而出的一众原因中,完全摒弃传统的监督微调(SFT)、转而采用大规模强化学习(RL)的创新之处是关键所在,这使得模型推理能力在质上取得显著突破,更证明了强化学习在提升大语言模型推理能力方面的巨大潜力。

近几年,学界和业界关于 RL 和 LLM 也涌现出了颇多具备开创性意义的研究成果。在 AI 智能体推理与决策研讨会(AIR 2025)上,来自伦敦大学学院、加州大学伯克利分校、普林斯顿大学、华盛顿大学、卡内基梅隆大学、Meta、华为等多位学术界和工业界的研究人员围绕强化学习、推理决策、AI 智能体展开讨论,回答了诸多问题,例如:

AI 系统如何模拟类人推理和决策过程?

最新的算法、框架和工具如何支持在不确定性下进行稳健的决策?

如何确保 AI 的决策过程是道德的、透明的且公正的?

……

从一系列前沿的推理决策研究中,可以看到 DeepSeek 的影子。2023 年,来自华盛顿大学的 Hanna Hajishirai 教授团队发布了一项关于大语言模型推理的开放训练方法的工作,研究强调,为了从预训练模型发展到最终模型,需要经历了三个阶段:指令微调、偏好微调以及具有可验证奖励的强化学习。而这一方法也是 DeepSeek 所采用的推理开放训练方法。

Meta GenAI 的田渊栋教授系统总结了当下应对大语言模型局限的解决方式,除了 Scaling Law 之外还有 Test-time Scaling(测试时扩展),即使用更大的模型加工具或思维链,使用不同的策略,最终可能会找到一个比单纯的大型模型更好的解决方案。田渊栋教授也分享了通过使用梯度上升(gradient ascent)对神经网络进行训练的方式,从而试图将符号结构与神经网络表示统一起来,但这一方法还处于非常初级的阶段,并不确定未来是否能成为主流。

俄亥俄州立大学的 Huan Sun 教授从隐式推理出发,探讨了数据集中的两种事实:原子事实与推断事实,并提出了一个与主流不相同的研究发现:泛化速度与绝对数据量并没有关系,而是与关键数据分布、特别是推断事实与原子事实的比例密切相关,且比例越高,泛化速度就越快。

同时,也有研究围绕 AI for Math 这一主流的推理能力应用领域。普林斯顿大学的金驰教授团队开发了Goedel-Prover 这一开源的大模型,通过将自然语言数学问题翻译成形式语言(如Lean 4),并生成形式化证明,从而解决形式化数学陈述和证明稀缺的问题,这一模型在自动定理证明方面达到了当前世界范围内的最佳性能水平。

更有实用性较强的 AI 智能体研究。卡内基梅隆大学的 Graham Neubig 教授团队提出了一个混合 Agents 方案,这种 Agents 能够交替执行浏览和 API 调用操作,并且在每一步中,它会选择与人类沟通、生成自然语言、执行Python代码(包括API调用)以及执行网页浏览操作。

AIR2025 由伦敦大学学院汪军、Meta GenAI 田渊栋等教授联合主办,致力于推动智能系统的发展,使其能够自主、适应性强且负责任地运行(会议详情及注册可访问官网:https://ai-agent-reasoning.com)。本次会议特别鸣谢来自加州大学伯克利分校的博士后研究员顾尚定。

这是一篇围绕 DeepSeek 的过去、当下与未来所展开的对人工智能的精彩讨论。AI 科技评论截取会议部分精彩内进行编译,以下为核心内容的演讲实录:

1DeepSeek 的语言模型推理开放训练方法

华盛顿大学的 Hanna Hajishirai 教授做了主题为“Open Training Recipes for Reasoning in Language Models”的演讲,探讨了语言模型推理的开放训练方法。

为了从预训练模型发展到最终模型,我们经历了三个阶段:指令微调、偏好微调以及具有可验证奖励的强化学习。这是我们 2023 年论文中引入的新内容。这基本上也是 DeepSeek 所采用的方法,后来我们发现 DeepSeek 也引入了同样的方法。

我们先来谈谈指令微调。指令微调中,人们也把它称为 SFT,即监督式微调。其核心思想是,你拿一个预训练的语言模型,然后向模型输入各种不同类型的任务指令,接着对模型进行微调,教会它如何遵循这些指令。

我们团队在这个方向上已经投入了很长时间。我们在 2022 年开始专注于语言模型的指令微调,当时主要关注的是自然语言处理(NLP)标签等语言测试。

2023 年,我们引入了一个自我指导框架(self-instruct framework),在这个框架下,我们教会模型合成生成越来越多的数据,以便我们能够获得更好的、更多的数据用于监督式微调。

这种范式在 2023 年得到了广泛的关注,我们看到在工业界和学术界都有很多工作基于自我指导框架展开,并设计了像 Alpaca、Vicuna 等模型。这些模型都大量使用了合成生成的指令数据进行训练。

下一步就是在监督式微调中进行偏好微调。这里有一个非常重要的步骤,就是数据整理。这和我刚才提到的合成数据生成是一样的,但同时也是一个很好的数据混合设置,因为当我们关注一组任务和我们试图优化的目标技能时,当我们增加一组任务的提示和完成内容时,我们可能会在其他组上失去准确性和改进。

比如,如果你在监督式微调中添加了大量数学提示和数学类型的数据,你可能会在知识回忆方面表现下降,因为你总是希望生成越来越长的思考链。所以,数据混合是构建一个好的微调模型中非常重要的一步。

刚才我们一直在讲数据,但现在我想聚焦于什么样的数据才真正有助于推理。这里所说的“推理”,举个例子,比如一个数学问题:一家商店正在进行衬衫促销,每件衬衫售价 25 美元,现在我们想买 7 件衬衫,总共要花多少钱?我们可以很容易地标注出答案是 125 美元,但仅仅用这种问题和金额答案作为监督式微调数据是不够的。

大家已经认识到,真正重要的是处理这种逐步推理的输出,它能一步步告诉我们发生了什么。这种数据可以成为监督式微调的优质来源。

这其实并不是一个新想法,它在自然语言处理(NLP)领域的语义解析、语义理解和推理方面已经被研究很久了。但现在它又在语言模型中重新受到关注,因为如今我们可以处理这种既包含语言又包含形式化表达的推理链。

在早期的研究中,我们只能依赖于形式化的推理图或推理思路。但现在面临的巨大挑战是:

这种逐步推理的标注虽然很好,能够帮助模型处理复杂的多步骤问题,也能揭示模型在预训练过程中所获得的推理过程,甚至因为有了这些标注,我们还能发现推理链中间可能出现的错误,比如答案是125,但推理过程中可能有错误,这有点类似于人类的思维过程。标注这种类型的推理提示非常困难。它成本高昂、耗时费力,而且不够多样化。

我们的方法是做混合数据策划,即:查看现有的资源,然后将其与合成数据生成相结合。事实上,我们采用了这篇非常有趣的论文中介绍的方法,用于合成地生成数据,但针对不同的用户角色。这为什么重要呢?因为它增加了生成提示的多样性。而且,它还使我们能够不断扩大这种思维链条以及这种很难收集的推理数据的规模。

论文链接:https://arxiv.org/abs/2406.20094

这是如何运作的呢?我们会给模型设定不同的用户角色,比如“这是一个化学动力学研究人员”,然后让模型以这个角色生成数据和数学问题。接下来,我们再给它设定一个不同的角色,让它生成一个逻辑推理问题,就可以得到这样的结果。

我们给模型提供了许多不同类型的用户角色。事实上,我们使用了25万种角色,包括计算机科学家、化学教授、五岁小孩等等。然后,我们让模型根据这些角色生成数学问题。通过这种方式,我们收集了 15 万道硬件数学题和 5 万道小学数学题。

我们还让模型生成编程问题,这主要是 Python 代码生成以及精确指令的遵循,贯穿于这些角色之中。在收集完这些提示后,我们使用了像 GPT-4o 或 Claude 这样的大模型来为我们生成思维链条数据。然后,它们生成了逐步的解决方案。

我们来看一下这是否有所帮助。我们已经在这些设置下进行了评估,查看了一个公开的数据集,例如在数学领域,有一些由社区驱动的公开开源数据集,这些数据集是由其他团队、朋友和学术界生成或策划的。然后,我们开始引入一些我们基于角色生成的合成数学问题。

这些曲线展示了在不同百分比下整合角色数据的情况,32 和 69 是我们不包含任何角色数据时在数学和 GSM8K 上的结果。而最后一列则显示了逐步增加角色生成数据的数量。

在数学领域,我们在 GSM8K 或高年级数学问题上取得了显著的提升。相比之下,我们在小学数学(GSM with K)上的提升较小,但仍然很有趣。

在生成合成数据时,一个重要的问题就是结果的质量。你可能会说:“好吧,你们生成了这些数学数据,然后让GPT-4为这些生成内容做标注,那么这些标注的质量高不高呢?”

为了提高数据的质量,我们做了以下工作:我们让 GPT-4 生成多个实例或者多条思维链条,然后进行了多数投票,并保留了那些大多数情况下答案正确的实例。

通过这种方式,我们删除了很多数据。我们基本上只保留了 60% 的数据。好消息是,即使只使用了 60% 的数据,我们在数学领域的准确率仍然相似,GSM8K 上甚至略有提升。

在整个通用方案中,我们不仅仅局限于数学,而是涉及许多不同类型的数据。

这是我们早期的混合方案,比如用于 Tulu 2 的。随着时间的推移,我们尝试了许多不同类型的混合方式,最终我们的混合方案给出了最佳的平均效果。正如你在中间看到的,例如,有些混合方案在安全性方面表现更好,而在其他方面表现稍差。但最终,我们希望在平均意义上达到一种平衡,于是我们最终选择了这种最终方案。

这是监督式微调阶段的结果。现在我们进入下一个阶段:偏好微调。

那么,偏好微调的作用是什么呢?它的想法是,我们将比较同一个提示的不同完成结果,并选择我们认为更强的那个。通常,这在风格和聊天评估中非常有用。比如它会告诉我们:“这个结果可能更符合人类的偏好。”但我们也发现,它甚至在推理测试中也有所提升。

我们将使用基于强化学习的方法来根据这种反馈、这种偏好数据进行优化。

在优化步骤中,我们将优化一个奖励,这个奖励是受到人类偏好的启发。同时,我们希望确保不会偏离原始语言模型太远。因此,我们加入了一个 KL 散度惩罚项。

我们如何进行优化?有哪些不同的算法可以用于优化这种形式化问题?通常,人们会使用 PPO(近端策略优化)。然后,去年还引入了一种更简单的算法,称为直接近端偏好优化(Direct Proximal Preference Optimization)。而我们的问题是:这两种算法中,哪一种更好?

在直接近端偏好优化(DPO)中,它就像是一种非常简单的基于学习的算法,与机器学习中的排序算法非常相似。而在近端策略优化(PPO)中,它是一种真正的强化学习方法,你有一个奖励模型,然后我们希望对策略模型进行优化。

在最近的研究中,我们决定从理论和实证的角度更深入地研究这个问题,以了解这些算法中哪一个更好。我们发现PPO(近端策略优化)始终优于DPO(直接近端偏好优化)。然而,PPO 的实现要复杂得多。它需要大量内存,因为我们希望同时将奖励模型和策略模型保留在内存中进行优化。而当我们处理更大的模型时,这会变得更加困难,吞吐量也会显著降低。

论文链接:https://arxiv.org/abs/2406.09279

这些是关键的发现。我们在比较这两种算法时注意到,有很多不同的变量在起作用。因此,我们开始分别对它们进行消融研究。比如说,这是我的初始监督微调结果,这些是我的平均性能,以及它们在一组任务——大量任务中的变化情况。

我们首先想研究数据的作用。我们最初加入了较弱的偏好数据,效果并不太强,所以只有一点点提升。当我们提高了偏好数据的质量时,我们看到了一个很大的跳跃。我们使用完全相同的数据,只是替换了算法,结果 PPO 带来了更好的提升。

当我们引入更大的奖励模型时,这是非常直观的——当我们有一个更大的奖励模型时,我们期望PPO能取得更好的结果,但实际的提升并没有达到我们的预期。我们原本以为,有了更大的奖励模型,我们应该会看到一个很大的跳跃,但结果却只是这么多。我们并没有看到太多提升,这让我们感到非常惊讶。

现在让我更具体地谈谈特定的推理测试,在一些数学推理测试上看到了几乎完全相同的趋势。但有趣的部分是,当我们将其与PPO结合时,我们实际上看到了一个更大的提升,尤其是在引入更大的奖励模型时。这非常有趣。当我们开始引入更具体的数学提示时,我们在这里看到了一个很大的跳跃。

因此,我们意识到,当我们专注于推理的提示时,情况就是这样。这也是我们在偏好微调阶段看到改进的方式。比如我们希望整合更多特定领域的数学问题。

我们把所有的发现汇总起来,然后设计了我们 2.3 模型中的偏好微调阶段:

首先,我们非常谨慎地选择提示词。我们使用了在监督微调阶段已经引入模型的一部分提示词。我们引入了新的提示,专注于像推理领域这样的特定领域,我们希望在这些领域看到更大的改进。同时,我们也引入了一些领域外的提示,并且发现这实际上也非常有帮助。

我们收集这些提示词,并从一个非常大的模型集合中查看偏好响应,比如从 70 亿参数的模型到像 GPT-4o 这样非常强大的模型。我们开始比较它们之间的偏好,看看哪一个更好,这样你的模型就会逐渐得到改进。我们还确保包含未请求的数据,确保将 Tulu 38B 和 70B 数据纳入其中,因为这是符合策略的。

然后,我们使用 GPT-4o、LLaMa 这样的模型作为评判,来为我们对这些四个维度(帮助性、指令遵循性、真实性、诚实性)的偏好进行排序。我们也尝试了不同的 LLM 作为评判,但结果差异不大。它们的结果几乎都差不多。

研究发现,我们在使用所有模型时看到了很大的提升。我们展示出,与之前的偏好数据混合集相比,我们看到了一个巨大的进步。同样,我们进行了大量的数据混合分析,研究应该从监督微调(SFT)中引入多少初始提示,以及应该引入多少新的提示。这经过了大量的实验,以确定最佳的混合比例。

我想在这里强调一点,对于 2.3 版本,我们决定在这个阶段再次使用 DPO(直接近端偏好优化),因为我们还想训练更大的模型,我们认为它的实验速度更快,而且很有帮助。因此,我们对 DPO 做了很多改进,比如我们让它进行了长度归一化等。我们进行了大量的超参数调整,最终发现,这真的效果很好,尤其是在这里使用 DPO。

但对于我们的 2.3 版本,我们实际上引入了一种新算法。我们将其称为“可验证奖励的强化学习”。当我们观察偏好微调时,我们实际上是在训练一个奖励模型,这是一个为模型的某种输出分配分数的神经网络。

我们的想法是,如果我们使用一个更简单的设置,仅仅使用一个验证机制,会怎么样呢?也就是说,如果我们生成的内容与标准答案等价,就返回 1,否则返回 0。所以它只是一个基于规则的、非常简单的奖励模型。

然后,我们训练这个非常简单、非常基础的强化学习框架,训练数据以提示的形式输入。如果生成的结果非常好,我们就优化并改进我们的策略。

它对于这类推理任务非常有用,因为我们在一开始就已经提到,为复杂的数学问题标注思维链条是非常困难的。然而,在很多情况下,最终答案就足够了。得出一个最终答案相对容易。或者我们处理的是一些生物学相关任务。对于所有这些任务,我们只需要两种标注:原始提示和最终答案。然后我们就可以进行验证。

我们甚至可以将其用于精确指令的遵循,如果给出一个非常复杂的指令,让模型生成一些内容。然后,我想了解满足的约束条件的百分比是多少,所以我们可以将这种验证扩展到不同的阶段。

这并不是一个全新的想法。但变化在于,现在的基础模型,或者是在监督微调阶段结束时的模型,已经得到了很大的改进。如今,我们能够生成相对较好的思维链条,并将其与真实情况相对比,从而判断它是否足够好,是否不好,等等。

这就是我们的最终方案。我们使用最终答案或可验证的约束来进行验证。我们并不是在训练中间的思维链条,而是让模型自己生成思维链条。我们采用了经典的强化学习实现,特别是这里我们使用了 PPO 算法,并且我们尝试了三个数据集。

结果是好的。以下展示是与这些数据集的基准对比,包括一些模型,比如DeepSeek V3、GPT-4o以及我们模型的不同版本,这些版本分别来自监督微调(SFT)、直接近端偏好优化(DPO)和可验证奖励的强化学习(RLV)。

这里有一个非常有趣的观察:当我们处理一个更大的模型,比如 405B 模型时,我们在强化学习驱动的推理(RLDR)阶段看到了更大的提升。所以,这条绿色的线显示了在自动验证强化(Auto VR)阶段的不同轮次中,我们的数学推理能力提升了多少,而粉色的线则显示了我们在处理 70B 参数模型时提升了多少。

这也与 DeepSeek V3 的发现非常一致,他们发现在处理更大模型时,强化学习带来的改进更为显著。这实际上是一个非常有趣的观察。这也引出了我们在本次讨论开始时提到的观点,即如果基础模型变得更好,那么我们对强化学习微调(RFM)的期望也会更高。

我们最近做了一个很小的改动,就是把 PPO 换成了 GRPO。我们借鉴了 DeepSeel 的想法,尝试将强化学习的实现从 PPO 迁移到 GRPO,并将其应用于一个更好的基础模型——QwenMath。我们在数学推理方面看到了显著的提升。

我们在一个非常大的任务集合上进行了评估,这些任务涵盖了推理、知识回忆、安全性等方面,且在所有这些方面都保持了良好的平衡,结果如下:

最后,我在这里提到的所有内容都与训练有关,即如何从基础模型发展到能够进行推理的真实且良好的模型。我们在最近的一篇论文中,还没有将其整合到 Tulu 配方中,但我们目前正在做这项工作,我们开始专注于数学类任务,即数学推理任务。

然后我们开始收集非常高质量的推理数据和更复杂的数学问题。我们最初收集了 6 万个样本,然后进行了大量的质量筛选,最终得到了 1000 个多样化的样本。然后我们生成了这种深度思考的推理链条,通过从 Gemini 思考模型中提炼出深度思考的标记。不久前,我们将其替换为DeepSeek R1推理模型。到目前为止,我们只进行了简单的监督微调(SFT),结果非常好。

然后我们采用了一种非常简单但令人惊讶的推理时扩展方法,得到了一个非常有趣的结果。我们允许模型在生成结果时有一定数量的标记预算,然后我们将这个标记预算从 512 调整到 2048,或者对于 GPQA 来说,调整到 496 等等。

如果模型没有用完它的标记预算,我们就添加一种延续标记,后让模型再思考一会儿。通过这种方式,我们发现模型现在能够生成更好、更深入的推理路径,这非常有趣。还有一个更有趣的事实:当我们没有添加任何标记,只是简单地让模型生成更多内容时,我们并没有看到这种效果。

2领悟的 Transformer 是隐式推理器

俄亥俄州立大学的 Huan Sun 教授做了主题为“Understanding Reasoning in LLMs and Agents:From Grokking of lmplicit Reasoning to Test-Time Scaling with Verifiers”的演讲,探讨了从隐式推理的领悟到测试时通过验证器进行的扩展。

首先来谈谈什么是隐式推理。

论文链接:https://arxiv.org/abs/2405.15071

当模型已经掌握了原子效应,我们希望模型能够推理出多跳查询,比如“奥巴马妻子的生日”或者“比较年龄属性值后,预测谁更年轻”等问题。我们希望模型能够直接预测答案,而不是在模型内部进行语言化的思考,也不需要语言化地表达中间步骤。

CoT(思维链)现在非常流行。那么,为什么“隐性”的推理很重要呢?

首先,大规模训练或预训练的默认模式大多数情况下是不需要 CoT 的,所有数据都是可用的。实际上,为训练提供推理器可能会非常昂贵。而且,从根本上来说,我认为这决定了语言模型从数据中学习事实和规则结构的能力。如果一个模型能够在内部进行思考,那么它在压缩和整合信息方面可能会更强大。

我们对这样的结果感到好奇,想要了解其中的原因,于是我们开始了探索之旅,试图回答以下问题:

Transformer 是否能够学会隐式推理呢?又或者,是否存在一些根本性的限制,阻碍了模型获得这种能力?

哪些因素会影响这种能力的获取?是数据、技能、分布,还是模型架构?

这个数据集非常有趣。我们使用合成数据设置来控制研究,以便得出严谨的结论。

在我们的数据集中有两种事实:一种被称为原子事实(atomic facts),另一种被称为推断事实(infer factor)。

原子事实就像是知识图谱中的每个边,是单一关系,单一关系不能再进一步拆分,这就是原子事实。

而对于推断事实,你可以将它们视为由原子事实组合而成的多跳关系。在这里,我们专注于两种组合。例如,将“母亲”这一关系和“出生地”结合起来,模型应该能够回答这样的问题:当提到母亲的出生地是阿拉巴马州时,模型能够推断出答案。这就是我们所说的推断事实。

模型的目标是能够归纳并应用潜在的规则。为了使模型能够归纳出潜在规则,我们在训练过程中提供了一种混合的原子效应和推断事实。我们希望模型在训练中能够学会这些潜在规则,比如如何应用这些原子效应来推导出多跳事实。

例如,现在给定一个新的查询,比如关于哈勃望远镜的查询,我们希望模型在测试时能够应用这些归纳出的规则,并正确回答这个新的多跳查询。

但更有趣的是,我们有 ID 和 OOD 两种设置,基本上涵盖了分布内和分布外的所有情况。这意味着我们将所有的原子效应分成两组:一组用于 ID 设置,另一组用于 OOD 设置。

对于用于 ID 设置的原子效应,我们会将这个集合中的所有原子事实进行组合,并将推断出的事实划分为训练集和测试集。在这个测试设置中,我们称之为 ID 测试集。对于另一组原子效应,我们会对这个集合中的原子事实进行组合,而这些推断出的事实将被用作测试。

所以,你可以这样理解:如果一个多跳查询,比如(h,r1)、(h,r2)属于 ID 设置,这意味着它们涉及的原子事实已经在训练中与其他原子效应组合过。但如果这个多跳查询属于 OOD 设置,那么这些原子效应虽然在训练中出现过,但它们与其他任何因素的组合在训练中都没有出现过。

我们在训练集上训练这个模型,并测试其在 ID 的表现。现在,我们先来看一下这两个任务的学习曲线,可以观察到,模型能够达到完美的分布内泛化性能,但是,这需要在过拟合之后进行更长时间的训练。

对于这两个任务,正如你所看到的,过拟合大致发生在这里,这意味着模型在这一点上倾向于完美地拟合训练性能,但它需要经过更多步骤的优化,才能使分布内泛化性能赶上并达到完美的表现。这种延长的训练周期就是我们所说的“阻塞期”。

第二个发现是,我们来看一下蓝色曲线。可以观察到,在组合性任务中,Transformer 并没有实现完全的泛化。所以,分布内泛化性能从未提升,但相比之下,它最终赶上并达到了完美的表现。

我们还发现,泛化速度与绝对数据量并没有关系,而是与关键数据分布、特别是推断事实与原子事实的比例密切相关。也就是说,比例越高,泛化速度就越快。

这似乎与之前的研究结果相矛盾,他们认为存在一个临界数据量的概念,即所谓的“突破现象”。但我们认为实际上起决定作用的是推断事实与原子事实之间的比例。

然而,仍有一些更重要的问题有待进一步探讨。例如,泛化过程中发生了什么?为什么会出现泛化?为什么不同任务之间的泛化水平会有所不同?

这就需要我们进行更多的分析,以剖析在泛化过程中模型内部的工作机制。在这部分,我们使用了来自机制可解释性文献中的一些标准技术,称为 Logit lens。

我们可以利用 logit 镜头将模型的内部状态投影回输入空间。例如,你可以看到这里的标记 r1 是最大的成分之一,我们将其视为代表 r1 关系的隐藏状态。这是一个高层次的想法。因果归因(Causal Attribution)的目的是衡量一个隐藏状态与另一个状态之间的因果关系。在这里,我们关注的是 r1 在第四层的隐藏状态与目标预测之间的差异。

具体操作如下:在正常的运行过程中,我们输入一个常规的查询,然后生成最终的预测结果。这个过程是在模型已经过拟合之后进行的,因此模型总是能够预测出目标。关键在于,我们还会进行一种干扰实验,即用随机采样的 r1' 替换 r1,然后通过网络获取 r1' 的隐藏表示,并用它替换正常运行中 r1 的隐藏表示,观察这一变化如何影响最终的预测结果。我们会多次重复这个过程,通过采样许多不同的随机实体,观察最终预测结果的改变频率。

在那之后,你可以将整个神经网络视为一个从输入到输出传播信息的计算图。基于连接的强度,我们可以在那些连接非常弱的边上进行剪枝。在经过阻塞或者在阻塞的最后阶段,我们在模型检查点(checkpoint)上进行机制分析。我们发现了我们所说的“泛化电路”,用于这两个任务。让我带你看看这个,这对我们来说非常有趣。

对于组合任务,这个泛化电路是这样的:它看起来像一个顺序的或分阶段的电路。你可以看到,在前四层,模型试图检索第一个事实。然后在最后四层,模型试图检索第二个事实。在前四层,也就是底层,模型试图同时并行地检索这两个实体的属性级别,这就是为什么我们称其为并行的。然后在上层,模型试图进行比较操作,并得出结论,比如 a 是否大于或小于 b。

我们还通过 Logit lens 检查每个隐藏状态代表的输入 token。我们发现,这个隐藏表示实际上代表标记 B,它是桥接实体(bridge entity),也是 r1 的目标,并且这个隐藏表示还代表关系 r2。基本上,两个关系确实被保留了,上层确实正在执行第二阶段的知识检索。

我们想要深入了解在 grokking(领悟)过程中发生了什么。因此,我们在 grokking 期间对许多检查点进行了类似的分析,并跟踪隐藏状态与目标预测之间的因果联系。这些特征实际上展示了隐藏状态与最终预测之间的因果关系。两者之间的差异被称为在阻塞期间的变化。

同时,我们还跟踪了 r1 在第五层的隐藏表示,以及 r2 在第五层的隐藏表示。我们通过大量样本检查桥接实体(bridge entity)的排名,以及 r2 在这些成分中的关系。这些特征非常密集。

总结一下这里的关键发现:首先,我们观察到 r1 在第五层的隐藏状态与最终预测之间的因果联系显著增强,这种变化在阻塞期间非常明显。另一个有趣的现象是,r2 在第五层的隐藏表示逐渐出现,这意味着 r2 关系在阻塞期间得到了保留。此外,r1 在第五层的隐藏状态始终是桥接实体,这表明原子效应在过拟合之前已经被记忆。因此,桥接实体始终存在,只是它与最终预测之间的因果强度在不断增强。

基于这些证据,我们认为这表明模型在阻塞期间逐渐形成了操作。在 grokking 之前,模型很可能只是在进行记忆化操作,即将查询直接与目标关联。

那么,为什么会出现“grokking”现象?我们认为,在我们的模型训练初期,会形成一个记忆化电路,它直接将输入与目标预测关联起来,而无需经过中间步骤。然而,在训练的后期,随着模型逐渐泛化,会形成一个泛化路线,这个泛化路线是从记忆化路线中分化出来的。

那么,为什么会出现这种分化呢?或者,为什么记忆化路线会在训练后期被泛化路线取代?

这是因为在优化过程中,模型被激励去变得更高效。从记忆化到泛化的转变,我们可以从效率的角度来理解:记忆化路线需要存储大量的事实,而泛化路线需要支持的事实数量要少得多。

此外,我们还可以从优化过程中的权重调整来理解这一点。在 grokking 阶段,当模型达到完美的训练性能后,模型开始优化权重,其中权重项会显著减小。这表明模型试图找到一种更简洁的方式来保持相同的训练精度。

那么,为什么这两个任务并没有总是实现 OOD 泛化呢?更根本的原因是,Transformer 架构的非递归设计阻碍了跨层的记忆共享,从而限制了模型在 OOD 任务中的泛化能力。

我们还尝试了一个小规模的实验环境:我们在模型的不同部分共享参数,比如前四层和后四层使用相同的参数,然后我们重新进行训练,结果发现泛化性能有了显著提升。但我们没有等到它完全收敛,就像一个生成器达到完美性能那样。我们认为这种参数共享的方式能够解锁更好的泛化性能,但这只是潜在的一种方法,还有其他方式可以改进架构。

3统一符号结构与神经网络表示

Meta GenAI 的田渊栋教授做了主题为“Towards a unified framework of Neural and Symbolic Decision Making”的演讲,探讨了迈向神经与符号决策的统一框架。

今天,我们仍然能看到大语言模型(LLM)存在一系列问题,关于这一问题有几种不同的方法可以解决:

首先,当然你可以将越来越多的数据输入到模型中,希望能够通过数据量的增加来帮助模型更好地学习;

第二,我们希望利用测试时扩展(test time scaling)。也就是说,我们可以使用更大的模型加上工具,或者更大的模型加上思维链。通过这种测试时扩展,使用不同的策略,我们最终可能会找到一个比单纯的大模型更好的解决方案。

最后,我会简要介绍我们最近的一些理论研究,这些研究试图将符号结构与神经网络表示统一起来。实际上,通过使用梯度上升(gradient ascent)对神经网络进行训练,我们可以发现符号结构逐渐出现。通过这种方式,我们实际上看到了符号表示和神经表示在同一框架内的统一。但目前这还处于非常初级的阶段,希望未来它能成为主流,但我们还不确定。

就像在第一种选择中,我们需要大量的计算资源、大量的数据,而且这非常昂贵。所以,我们不确定这种方法是否适用。

第二种选择是测试时扩展。接下来,我会稍微讲一下这两个部分:第一部分是工具的使用,第二部分是使用某种思维链。

对于工具的使用,我们实际上可以调用外部工具来解决推理问题。以旅行规划问题为例,我们并不是让用户直接向模型提问,而是让模型首先将用户的需求转化为符号形式。这个符号形式能够准确地描述用户的需求。然后,结合来自外部的航班和酒店信息,将这些信息整合成一个大型的优化问题,并通过混合整数线性规划(一种组合求解器)来解决。

这个求解器会给出最优行程的符号表示,然后你可以通过现有的大模型将其翻译回自然语言,从而得到由 Agents提供的答案。通过这种方式,你可以得到一个有保证的解决方案。同时,这个过程并不慢。如果你走完整个流程,它实际上是非常快的。

我们基于这个思路构建了一个演示,在两到三秒内,就能得到一个保证正确的解决方案。当然,这是在用户请求被准确翻译的前提下,大模型的翻译是相当准确的。你可以看到有一个两秒的延迟,但整个演示仍然可以很好地运行。此外,我们还让人类标注员进行了测试,他们对结果非常满意。

当然,如果你考虑到旅行规划,我们也会希望让 Agents提出澄清性的问题,也就是说,我们希望 Agents 能够真正思考用户请求中缺少的细节,并且判断 Agents 是否可以提出越来越多的问题来澄清这些细节,以确保他们理解用户的需求。

这促使我们开展了一项后续研究,探讨如何构建多轮对话,以便 Agents 能够更有效地与人类互动。

我们基本上是通过要求 Agents 遵循 Agents 章程来构建的。也就是说, Agents 需要根据几项标准进行评估。有些标准是非常客观的,而有些则是比较主观的。所谓客观,是指 Agents 最终需要得到一个准确的答案。同时, Agents 还需要积极主动地针对特定人物提出正确的问题。因此,Agents 在进入实际解决方案之前,还需要高效地完成所有问题的提问和回答。

我们基本上以一种有指导的方式进行了这种直观的 DPO(可能是某种优化方法)和项目采样,并且我们已经展示了,通过这种方式训练的 AB 模型在多轮对话的多个方

0 阅读:1
智能科技有评论

智能科技有评论

感谢大家的关注