首页| 论坛| 搜索| 消息
主题:让AI自我进化?斯坦福华人博士答辩视频火了,庞若鸣参与评审
爱我中华发表于 2026-03-06 10:39
相邻文档的对数概率。这里需要说明的是,每一个源文档(d1)可能对应多个目标文档(d2)。这个过程会极大程度地增加模型的熵,例如,如果每个 d1 对应 20 个 d2,那么在逻辑回归下,最大似然估计的分布就会像黑墙一样,将均匀的概率质量分配给每一个文档。因此,经过这种微调后,你的模型会处于极高熵的状态。在这个过程之后,因为模型存在很多误差,所以在我们生成合成数据时,我们不使用任何花哨的提示词技巧,只是直接使用温度为 1 的设置,对你所拥有的所有真实文档反复应用温度为 1 的生成过程。举例来说,如果你有一篇不那么长的小说,你会得到一段对这篇小说的合成评论。这就能让你获得极其多样化的合成内容。为了让大家了解在这种类似于无条件生成范式下生成的内容是什么样子的,这里展示一个我们训练中的例子。在左侧,这是一份来自 DCLM 数据集的真实文档。它讨论了圣地亚哥的咖啡馆,基本上是列出了不同的咖啡馆。而右侧的合成文档,内容开始像是在讲述一趟圣地亚哥之旅,然后它开始把焦点转向浓缩咖啡机,而浓缩咖啡机并非源文档关注的内容。也就是说,模型完全自主地想出了这个主意,这也展示了合成内容的多样性。我们还有另一篇不同的合成文章,试图将圣地亚哥的咖啡馆与纽约进行对比,而「纽约」这个词根本没有在真实文档中出现过。这就是为了让大家体会一下这种生成过程会呈现出什么样的感觉。在我们准备好所有这些真实数据和合成数据之后,我们将用它们混合在一起来进行训练。这就是「合成引导预训练」算法层面的内容。接下来为了将其付诸实践,我们需要一个实验设计。对于这个设置,你主要需要三个组件:数据模型架构评估基准关于数据我们之前已经讨论过了;在架构方面,我们使用了 Llama 3 的架构,并额外加上了 QK LayerNorm,我们发现这有助于稳定训练过程;在评估方面,我们采用了六项问答准确率、 Few-shot 问答准确率以及三项困惑度评估,这些都是常用于预训练阶段的指标。在这个设置下,我们进行了计算量匹配的对比:我们的基准是通过简单的重复来复用固定数量的数据。这非常直接明了。对于合成引导预训练,我们以基准为参考,控制了两个变量。区别在于,每当基准方法试图重复数据时,我们使用的是合成数据,而不是简单的复制。最后,为了将 SBPT 和基准测试的性能置于更广的背景下比较,我们还引入了 Oracle 过程:在这里我们不再控制对相同数据的访问限制,但我们依然控制使用相同的计算量。这个作为参考的 Oracle 基准可以使用无限的真实数据。 所以它试图模拟这样一种情况:如果数据永远增长下去会发生什么。让我们先从更能反映定性结果的训练动态开始,试图直观地告诉你它是如何运作的。X 轴代表训练 token 的数量, Y 轴代表在 OpenWebText2 上的测试损失。一开始我们可以看到, Oracle 和基准测试的表现很相似,但它们都不及合成引导预训练的效果。我认为它们两者表现相似是很有道理的,因为基准方法只是单纯的重复数据,当你的训练计算量不大时,它们的表现或多或少是一样的。但随后基准方法就会饱和。当 Oracle 的损失继续下降时,基准方法的曲线开始变平,这是因为它一遍又一遍地重复相同的训练信号。它再也无法从中获取新知识了。但是,到了最后阶段, Oracle 和合成引导预训练都继续以近似线性的方式进行扩展。这是定性层面的结果。接下来,我们来看一个更具定量性质的结果表。这个表格包含三个主要列。这里的 200B 指的是总的训练 token 长度,也就是模型被训练了多久,而 1 万亿相当于 5 倍的训练量。在第一列中,我们使用了一个 3B 参数的模型;在第二列中,我们固定了 3B 参数模型,但将训练计算量放大到了 1 万亿 token ;在第三列中,我们固定了 1 万亿 token 的训练计算量,但将模型规模放大到了 6B 参数。我们看到的关键结论是,如果我们观察问答准确率的平均提升情况,包括 SBPT 和 Oracle 相对于基准的相对提升,在所有这三种情况下,我们都看到了可以由 Oracle 实现的约 30% 的提升,所以这种改进是非常一致的。有趣的是,我们发现在某些基准测试中, 6B 参数、 1 万亿 token 的模型已经几乎像是一个可用的语言模型了,这相当于 Llama 计算量的一半,理应如此,这意味着我们能改进的空间应该更少了。但是,在某些基准测试中,我们实际上在 6B 参数的处理条件下看到了更大的提升。这是因为你的合成数据生成器也变得更强大了。它的幻觉变少了。正是这个观察将我们引向了关于自我改进预训练能力的最后一张结果表。在这里,我们希望考察的是合成数据的质量。这张表包含四行,前三行分别代表了我们实验中的一种设置。即 200B-3B 、 1T-3B 、 1T-6B,最后一行是真实数据。这里我们采用的通用范式是,因为我们试图评估数据集的某项属性,而该数据集非常庞大。因此,我们会对一部分文档进行子采样,然后使用像现成的 GPT 模型那样,编写一些评分标准来检测文档中是否存在重复内容,或者是否包含不符合事实的信息。我们发现,随着模型规模的扩大,生成的数据质量也更好,而且这些合成数据并不仅仅是简单的复述。在表格的各列中,我想重点强调「非事实」这一列,我认为这非常令人兴奋。因为对于合成数据而言,事实性始终是一个难题。在 200B 规模下,我们看到,事实错误率甚至达到了 50%。存在着大量的幻觉。当你把训练计算量增加 5 倍时,非事实的比例显著下降;当你把模型规模增大一半时,这一比例进一步降低。虽然它还没有达到完全比肩真实数据的水平,但我认为这种从 3B 到 6B 的下降非常有趣。因为事实性在某种程度上,取决于模型掌握了多少关于世界的知识。如果你只是将训练数据规模从第一列增加到第二列,这是令人惊讶的,因为模型看到了更多独特的数据,它拥有更多的世界信息。但当你增加模型规模时,环境的总熵是相同的。你所做的,只是花费更多的计算能力,从环境中提取信息。如果熵是守恒的,但这允许你拥有更低的事实错误率。我认为这是一个非常有意思的结果。自我训练能力的部分就讲到这里。这表明我们可以普遍地提升语言模型的预训练能力。迈向 AI 设计 AI在最后一部分,我想展示的是「迈向 AI 设计 AI」的方向。从根本上说,我们现在在做的是试图让语言模型来做我们的工作。我想先探讨这样一个哲学问题:为什么我们期望 AI 在 AI 研究领域能做得更好?我想追溯到这个科学方法论。Fisher 提出了科学进步的两阶段过程:首先提出假设,在提出假设之后,你需要做两件事:进行实验,然后试图证伪这个假设。这带来了一个非常严谨的科学过程。例如,你可能会说你无法证伪牛顿定律,但你不能理所当然地假设牛顿定律是绝对正确的。后来,我们有了爱因斯坦的理论,那只是因为在当时的实验条件下,你无法证伪牛顿定律而已。这意味着科学的本质就是运行实验和产生想法。不用说,对于语言模型来说,产生想法就像写文本一样简单。所以它能够做到,只是校准度还不够。更有趣的部分在于运行实验。如果你看看当前 AI 领域的状态,首先, AI 的进展非常依赖基准测试驱动,比如 ImageNet 或其他各种基准数据集;其次, AI 实验最终都会具体化为编写代码,而编写代码正是计算机极其擅长的事情。我们可以看到 SWE-bench 的准确率随着时间推移,从最初的 20% 一路上升,几乎饱和到了 80%。这意味着,运用 AI 来推动 AI 科学本身的发展,拥有强大的第一性原理支撑。为了使模型能够做到这一点,我将引入「研究环境」的概念。它提供了一个简洁的抽象,告诉你进行 AI 实验需要什么。我们先从一个更通用的研究环境开始。它实
下一页上一页  (3/5)
回帖(0):

全部回帖(0)»
最新回帖
收藏本帖
发新帖