摘要:Scaling Law失效了么,这是当前 AI 领域最热门的话题之一。近日人工智能科学家 Cameron R. Wolfe发表了一篇万字博客文章,详细介绍了 LLM scaling 的发展状况,并阐述了他对 AI 研究未来的看法。
Scaling Law失效了么,这是当前 AI 领域最热门的话题之一。近日人工智能科学家 Cameron R. Wolfe发表了一篇万字博客文章,详细介绍了 LLM scaling 的发展状况,并阐述了他对 AI 研究未来的看法。
AI 研究的大部分最新进展,尤其是大型语言模型 (LLM) ——都是由规模驱动的。如果我们在更多的数据上训练更大的模型,我们会得到更好的结果。这种关系可以通过缩放定律更严格地定义,缩放定律只是一个方程式,它描述了 LLM 的测试损失如何随着我们增加一些兴趣(例如,训练计算)而减少。缩放定律帮助我们预测更大、更昂贵的训练运行的结果,为我们继续投资规模提供了必要的信心。
“如果你有一个大型数据集,并且你训练了一个非常大的神经网络,那么成功是有保证的!”- 伊利亚·萨茨凯弗
多年来,扩展定律一直是 AI 研究的可预测北极星。事实上,像 OpenAI 这样的早期前沿实验室的成功甚至归功于他们对扩展定律的宗教信仰水平。然而,最近有报道对扩展的持续提出了质疑1 声称顶级研究实验室正在努力创造下一代更好的 LLM。这些说法可能会让我们想知道:扩展会碰壁吗,如果是这样,还有其他前进的道路吗?
本概述将从头开始回答这些问题,首先深入解释 LLM 缩放定律和相关研究。缩放定律的想法很简单,但公众对缩放存在各种误解——这项研究背后的科学实际上非常具体。利用对缩放的详细理解,我们将讨论 LLM 研究的最新趋势以及导致缩放定律“停滞”的因素。最后,我们将使用这些信息更清楚地说明人工智能研究的未来,重点关注一些可以继续推动进步的关键思想——包括缩放。
要了解 LLM 的缩放状态,我们首先需要建立对缩放定律的一般理解。我们将从头开始建立这种理解,从幂律的概念开始。然后,我们将探索如何在幂律研究中应用幂律来推导出我们今天使用的缩放定律。
幂律是 LLM 扩展的基本概念。简而言之,幂律只是描述两个量之间的关系。对于 LLM,第一个量是 LLM 的测试损失,或其他一些相关的性能指标(例如,下游任务精度 [7]),另一个是我们尝试扩展的一些设置,例如模型参数的数量。例如,在研究 LLM 的缩放属性时,我们可能会看到如下语句。
“有了足够的训练数据,验证损失的缩放应该大约是一个平滑的幂律,作为模型大小的函数。”- 来自 [4]
这样的陈述告诉我们,模型的测试损失与模型参数的总数之间存在可测量的关系。对其中一个量的更改将在另一个量中产生相对的、尺度不变的变化。换句话说,我们从这种关系中知道,增加模型参数的总数——假设满足其他条件(例如,有足够的训练数据)——将导致测试损失减少可预测的因子。
幂律公式。基本幂律通过下面的方程表示。
这里研究的两个量是 和 ,而 和 是描述这些量之间关系的常数。如果我们绘制这个幂律函数xyap2,我们得到下图。我们提供正常尺度和对数尺度的绘图,因为大多数研究 LLM 尺度的论文都使用对数尺度。
和 之间的基本幂律图 xy
但是,为 LLM 缩放提供的绘图看起来与上面显示的绘图不同,它们通常是颠倒的;请参阅下面的示例。
(来自 [1])
这只是一个反幂定律,可以表述如下。
逆幂律的方程与标准幂律的方程几乎相同,但我们对 使用负指数。将幂律的指数设为负值会使绘图颠倒过来;示例见下文。p
和 之间的反幂律图 xy
当使用对数标度绘制时,这个逆幂律会产生大多数 LLM 缩放定律的特征线性关系。本概述中涵盖的几乎每篇论文都会生成这样一个图,以研究扩展各种不同因素(例如,大小、计算、数据等)如何影响 LLM 的性能。现在,让我们通过学习在 LLM 缩放的背景下研究幂律的首批论文之一来更实际地了解幂律 [1]。
神经语言模型的缩放定律[1]在语言模型的早期,我们还不了解规模对性能的影响。语言模型是一个很有前途的研究领域,但当时的当代模型(例如,最初的 GPT)的能力有限。我们还没有发现更大模型的力量,创建更好的语言模型的道路也不是很清楚。模型的形状(即层的数量和大小)重要吗?放大模型是否有助于它更好地执行?训练这些较大的模型需要多少数据?
“损失随模型大小、数据集大小和用于训练的计算量而缩放为幂律,有些趋势跨越了七个数量级以上。”- 从 [1]
在 [1] 中,作者旨在通过分析几个因素(例如模型大小、模型形状、数据集大小、训练计算和批量大小)对模型性能的影响来回答这些问题。从此分析中,我们了解到 LLM 性能会随着我们的提高而平稳地提高:
模型参数的数量。数据集的大小。用于训练的计算量。更具体地说,当性能不受其他两个因素的瓶颈时,这些因素中的每一个与 LLM 的测试损失之间存在幂律关系。
实验设置。为了适应他们的幂律,作者在 WebText2 语料库的子集上预训练大小高达 1.5B 参数的 LLM,其中包含 22M 到 23B 标记。所有模型都使用 1,024 个标记的固定上下文长度和标准的下一个标记预测(交叉熵)损失进行训练。相同的损失是在保持测试集上测量的,并用作我们的主要性能指标。此设置与大多数 LLM 的标准预训练设置相匹配。
(来自 [1])
LLM 扩展的幂律。在 [1] 中训练的 LLM 的性能(就它们在 WebText2 上的测试损失而言)表明,随着参数、数据和计算的增加,性能会稳步提高3。这些趋势在计算中跨越了 8 个数量级,在模型大小上跨越了 6 个数量级,在数据集大小上跨越了 2 个数量级。上图提供了确切的幂律关系和适合每个关系的方程。这里的每个方程都与我们之前看到的逆幂律方程非常相似。但是,我们在 括号内设置并添加了一个额外的乘法常数a = 14.
[1] 中的作者指出了正确拟合这些幂律所必需的一个小细节。在计算模型参数的总数时,我们不包括位置或标记嵌入,这会产生更清晰的缩放趋势;见下文。
(来自 [1])
这些幂律仅在训练不受其他因素瓶颈的情况下适用。因此,所有这三个组件(模型大小、数据和计算)都应该同时扩展以获得最佳性能。如果我们孤立地扩展这些组件中的任何一个,我们将达到收益递减的点。
幂律告诉我们什么?尽管 [1] 中提供的幂律图看起来很有前途,但我们应该注意到这些图是使用对数刻度生成的。如果我们生成正常图(即没有对数刻度),我们会得到下面的数字,其中我们看到幂律的形状类似于指数衰减。
无对数刻度的幂律图
鉴于许多围绕扩展和 AGI 的在线言论,这样的发现似乎有悖常理。在许多情况下,我们得到的直觉似乎是,LLM 的质量会随着计算的对数增加而呈指数级提高,但事实并非如此。实际上,随着规模的扩大,提高 LLM 的质量会变得呈指数级增长。
(来自 [1])
其他有用的发现。除了 [1] 中观察到的幂律之外,我们还看到,考虑的其他因素(例如模型形状或架构设置)对模型性能的影响很小;见上文。到目前为止,规模是创建更好的 LLM 的最大贡献因素——更多的数据、计算和模型参数可以顺利地提高 LLM 的性能。
“较大的模型明显具有更高的样本效率,因此最佳计算效率训练涉及在相对适量的数据上训练非常大的模型,并在收敛之前显着停止。”- 来自 [1]
有趣的是,[1] 中的实证分析表明,较大的 LLM 往往样本效率更高,这意味着相对于较小的模型,它们以更少的数据达到相同的测试损失水平。出于这个原因,预训练 LLM 以收敛(可以说)是次优的。相反,我们可以用更少的数据训练一个更大的模型,在收敛之前就停止训练过程。就使用的训练计算量而言,这种方法是最佳的,但它不考虑推理成本。实际上,我们通常会用更多的数据来训练较小的模型,因为较小的模型托管成本更低。
作者还广泛分析了模型大小与用于预训练的数据量之间的关系,发现数据集的大小不需要像模型大小那样快速增加。模型大小增加 ~8 倍需要训练数据量增加 ~5 倍,以避免过度拟合。
(来自 [1])
在 [1] 中发现的缩放定律也复制到其他几个数据集上,我们看到在为测试损失添加固定偏移量后(即,为了解释数据集不同的事实),相同的定标定律成立;见上文。这些结果为 LLM 缩放提供了令人信服的理由。我们从更长时间和更多数据上训练更大的模型获得了非常明显和可衡量的好处,这创造了对更大规模的预训练 LLM 的需求。
“这些结果表明,随着我们适当地扩展模型大小、数据和计算,语言建模性能会平稳且可预测地提高。我们预计更大的语言模型将比当前模型表现更好,样本效率更高。- 来自 [1]
大规模预训练如此有益的事实给我们带来了一个小小的困境。最好的结果是通过在大量数据上训练海量模型来实现的。然而,这些训练运行非常昂贵,这意味着它们也会带来很大的风险。如果我们花费 1000 万美元训练一个没有达到我们预期的模型怎么办?考虑到预训练的费用,我们无法执行任何特定于模型的调整,我们必须确保我们训练的模型将表现良好。我们需要制定一种策略来调整这些模型并预测它们的性能,而无需花费太多资金。
(来自 [11])
这就是缩放定律的用武之地。到目前为止,我们已经看到了一些实证分析,以证明缩放定律的存在,但这些缩放定律在 AI 研究中也有非常实际的用例。特别是,我们可以:
使用各种训练设置训练一组较小的模型。根据较小模型的性能拟合缩放定律。使用缩放定律可以推断更大模型的性能。当然,这种方法有局限性。从较小的模型预测较大模型的性能很困难,而且可能不准确。模型的行为可能会因规模而异。但是,已经提出了各种方法来使其更加可行,并且现在通常使用缩放定律来实现此目的。使用缩放定律预测较大模型性能的能力使我们作为研究人员更有信心(和安心)。此外,缩放定律提供了一种简单的方法来证明对 AI 研究的投资是合理的。
扩展和预训练时代“这就是我们今天看到的所有进步的驱动力 — 在大型数据集上训练的超大型神经网络。”- 伊利亚·萨茨凯弗
缩放定律的发现催化了 LLM 研究的大部分最新进展。为了获得更好的结果,我们只是在更大(和更好)的数据集上训练越来越大的模型。遵循这一策略在 GPT 谱系中创建了多个模型,以及来自 OpenAI 以外的组的大多数著名模型。在这里,我们将更深入地研究这种扩展研究的进展——最近被 Ilya Sutskever 描述为“预训练时代”5.
GPT 血统:GPT[2]、GPT-2[3]、GPT-3[4] 和GPT-4[5]LLM 缩放定律最广为人知和最明显的应用是创建 OpenAI 的 GPT 模型谱系。我们将主要关注此谱系中的早期开放模型(直到 GPT-3),因为:
这些模型的细节被更公开地分享。除了扩大预训练过程外,后来的模型还从训练后研究的进步中受益匪浅。我们还将介绍来自 GPT-4 等模型的一些已知扩展结果。
(来自 [2])
最初的 GPT 模型 [2] 实际上非常小——总共 12 层和 117M 参数。该模型首先在 BooksCorpus 上进行预训练,BooksCorpus 是一个包含 ~7,000 本书的原始文本的数据集。然后,我们通过使用监督训练目标并为每个任务创建单独的分类头来微调模型以解决各种不同的下游任务;见上文。这篇论文是最早对 仅解码器转换器进行大规模、自监督预训练的论文之一,这导致了一些有趣的发现:
对平面文本进行自我监督的预训练非常有效。使用较长、连续的文本跨度进行预训练非常重要。以这种方式进行预训练时,可以对单个模型进行微调,以最先进的精度解决各种不同的任务6.总的来说,GPT 并不是一个特别值得注意的模型,但它为后来在更大规模上探索类似模型的工作奠定了一些重要的基础(即仅解码器转换器和自我监督预训练)。
(来自 [3])
GPT-2 [3] 是在 GPT 之后不久提出的,包括几个参数大小高达 1.5B 的模型的集合;见上文。这些模型与 GPT 模型共享相同的架构,并使用相同的自监督语言建模目标进行预训练。然而,与 GPT 相比,GPT-2 对预训练过程进行了两个重大变化:
这些模型在 WebText 上进行了预训练,WebText 是 i) 比 BooksCorpus 大得多,并且 ii) 通过从互联网上抓取数据来创建。这些模型不会在下游任务上进行微调。相反,我们通过执行零样本推理来解决任务7使用预训练模型。GPT-2 模型在大多数基准测试中都达不到最先进的性能8,但它们的性能会随着模型的大小而不断提高 - 增加模型参数的数量会产生明显的好处;请参阅下文。
(来自 [3])
[3] 中的作者还透露,GPT-2 模型尽管结果令人印象深刻,但似乎仍然不适合 WebText 语料库。从这一发现中,我们可以推断出 LLM 预训练的持续扩展——在模型和数据大小方面——应该是有益的。尽管 GPT-2 模型不是特别强大,但这些模型提供的分析为我们提供了继续扩展并最终达到 AI 研究拐点所需的信心。
“具有足够能力的语言模型将开始学习推理和执行自然语言序列中演示的任务,以便更好地预测它们,无论它们的采购方法如何。”- 来自 [3]
GPT-3 [4] 是 AI 研究的分水岭,它明确证实了大规模预训练对 LLM 的好处。该模型有超过 175B 个参数,比最大的 GPT-2 模型大 100 倍以上;见下文。
(来自 [4])
同样,GPT-3 使用仅解码器的模型架构,该架构与以前的模型非常相似,但我们在基于 CommonCrawl 的更大数据集上对模型进行了预训练。该数据集比之前的 WebText 数据集大 ~10 倍,[4] 中的作者将更大的预训练数据集与其他几个预训练数据源相结合,创建了不同语料库的混合;见下文。
(来自 [4])
GPT-3 在 [4] 中主要通过使用小样本学习方法进行评估。小样本提示(GPT-3 使用)、零样本提示(GPT-2 使用)和微调(GPT 使用)之间的区别如下所示。
(来自 [4])
小样本学习是一种新的范式,其中 LLM 根据放置在其上下文窗口中的示例来学习如何执行任务。[4] 中的作者将这个概念称为“上下文学习”。在这种情况下,LLM 实际上并没有“学习”——模型的权重根本没有更新。相反,模型输入中的示例被用作生成更准确输出的上下文。我们在 [4] 中看到,GPT-3 是一个能力很强的小样本学习器,似乎表明上下文学习是一种新兴的9能力;见下文。
(来自 [4])
当在各种语言理解任务上评估 GPT-3 时,我们看到使用更大的模型显着有利于小样本学习性能,如下图所示。相对于较小的模型,较大的模型可以更好、更高效地利用其上下文窗口中的信息。GPT-3 能够通过小样本学习在多项任务上超越最先进的性能,并且模型的性能随着大小的增加而顺利提高。
一个模型能够在如此多的任务中很好地执行这一事实在当时令人印象深刻。解决这些任务中的每一个都不需要对底层模型进行任何微调或更改——我们只需要调整模型的提示符。GPT-3 是首批发布的真正基础模型之一。该模型开创了 AI 研究的下一个时代,并引入了一种全新的直观范式,用于与 LLM 交互(即提示)。
超越 GPT-3。GPT-3 令人印象深刻的性能引起了人们对 LLM 研究的兴趣爆炸式增长,主要集中在大规模预训练上。OpenAI 接下来发布的几个模型——InstructGPT [8]、ChatGPT 和 GPT-4 [5]——结合使用了大规模预训练和新的训练后技术(即来自人类反馈的监督微调和强化学习)来大幅提高 LLM 质量。这些模型令人印象深刻,甚至导致公众对 AI 研究的兴趣飙升。
“GPT-4 是一个基于 Transformer 的模型,经过预先训练,用于预测文档中的下一个标记。训练后的对齐过程可以提高事实性和对预期行为的依从性方面的表现。- 从 [5]
此时,OpenAI 开始发布较少的研究细节。相反,新模型刚刚通过他们的 API 发布,这使公众无法了解这些模型是如何创建的。幸运的是,可以从 OpenAI 发布的材料中收集到一些有用的信息。例如,InstructGPT [8]——ChatGPT 的前身——有一篇相关论文详细记录了模型的训练后策略;见下文。鉴于本文还指出 GPT-3 是 InstructGPT 的基础模型,我们可以合理地推断该模型的性能提升与扩大预训练过程大多无关。
(来自 [8])
与 ChatGPT 相比,GPT-4 在功能上有了显着的提升。然而,研究人员选择分享 GPT-4 的技术细节非常少。GPT-4 的技术报告 [5] 简单地告诉我们:
GPT-4 是基于 transformer 的。该模型使用 next token prediction 进行预训练。使用公共和许可的第三方数据。该模型通过来自人类反馈的强化学习进行微调。尽管如此,在这份技术报告中,扩展的重要性非常明显。作者指出,这项工作中的一个关键挑战是开发一种可扩展的训练架构,该架构在不同规模上的行为是可预测的,允许推断较小运行的结果,从而为更大规模(而且要昂贵得多)的训练练习提供信心。
“经过适当训练的大型语言模型的最终损失是......用幂律近似于用于训练模型的计算量。- 来自 [5]
大规模的预训练非常昂贵,因此我们通常只有一次机会把它做好——没有空间进行特定于模型的调整。缩放定律在这个过程中起着关键作用。我们可以少用 1,000-10,000 倍的计算来训练模型,并使用这些训练运行的结果来拟合幂律。然后,这些幂律可以用来预测更大模型的性能。特别是,我们在 [8] 中看到,GPT-4 的性能是使用衡量计算和测试损失之间关系的幂律来预测的;见下文。
用于训练 GPT-4 的缩放定律公式(来自 [5])
这个表达式看起来与我们之前看到的几乎相同,但它增加了一个不可约损失项,以解释 LLM 的测试损失可能永远不会达到零的事实。拟合后,缩放定律被用来预测 GPT-4 的最终性能,精度非常高;描述见下文。在这里,我们应该注意,该图不是使用对数标度生成的,我们看到损失的改善显然随着计算量的增加而开始衰减!
(来自 [5])
[5] 中的作者还指出,测试损失不是一个易于解释的指标,并尝试预测各种其他性能指标。例如,缩放定律适用于预测 LLM 在 HumanEval 编码基准测试中的通过率。首先,HumanEval 中的问题根据其难度分为多个桶。然后,缩放定律适合预测 LLM 的通过率。我们在 [5] 中看到,使用这种方法可以在 HumanEval 上准确预测 GPT-4 的通过率,该方法基于需要减少 1,000 倍计算的实验;见下文。
(来自 [5])
正如我们所看到的,扩大预训练过程是有价值的。然而,大规模的预训练也非常昂贵。扩展定律使这个过程更具可预测性,使我们能够避免不必要或过多的计算成本。
(来自 [9])
在 [1] 中,作者建议在扩大 LLM 预训练时,以比数据集大小更快的速度增加模型大小。然而,GPT-3 之后的大多数训练前研究表明,我们应该反其道而行之。我们训练了明显大于 GPT-3 的模型——例如 530B 参数 MT-NLG [9] 模型——但用于训练这些模型的数据集的大小与 GPT-3 相似;见上文。这些模型并没有改善 GPT-3 的性能,而使用更多参数和更多数据的组合的模型(例如,Gopher [10])的性能要好得多;见下文。
(来自 [10])
计算最优缩放定律。受这些观察结果的启发,[6] 中的作者完全重新考虑了 [1] 中最初提出的缩放定律的最佳实践。[6] 中对缩放定律的分析是用更大的模型进行的,产生的结果与以前略有不同。更具体地说,大小从 70M 到 17B 参数范围的 LLM 是在大小超过 1 万亿个令牌的数据集上训练的;见下文。
(来自 [10])
通过使用模型和数据大小的许多不同组合来训练 LLM,我们可以发现一个幂律,该幂律可以预测 LLM 的测试损失作为这些因素的函数。根据这些幂律,我们可以确定哪些训练设置最适合给定的计算预算。[6] 中的作者认为,计算最优训练10 应该按比例缩放模型和数据大小。这样的发现表明,大多数 LLM 对其大小来说训练不足——我们将从训练现有 LLM 中受益,这些数据要多得多。例如,[6] 中的缩放定律预测 Gopher 应该在大 20 倍的数据集上进行训练!
“预计需要的训练数据量远远超出了目前用于训练大型模型的数据量。”- 来自 [6]
绒鼠。 [6] 中提供的分析强调了数据规模的重要性。大型模型需要在更多数据上进行训练才能达到最佳性能。为了验证这一发现,作者训练了一个 700 亿参数的 LLM,称为 Chinchilla。与以前的模型相比,Chinchilla 更小,但具有更大的预训练数据集——总共 1.4T 训练标记。Chinchilla 使用与 Gopher 相同的数据和评估策略 [10]。尽管 Chinchilla 比 Gopher 小 4 倍,但其性能始终优于大型模型;见下文。
(来自 [6])
Chinchilla [6] 提出的缩放定律在多年后成为 AI 研究的标准。“Chinchilla-optimal”现在是一个常用的术语。即使在今天,在各种额外的缩放研究发表之后,Chinchilla 及其相关的缩放定律也不断被引用。
扩展定律最近成为 AI 研究中一个热门(且有争议)的话题。正如我们在本概述中所看到的,在整个预训练时代,扩展推动了 AI 的大部分改进。随着模型发布和改进的步伐在 2024 年下半年放缓11然而,我们开始看到对模型扩展的广泛质疑,这似乎表明 AI 研究(尤其是扩展定律)可能会遇到困难。
路透社声称,由于在扩展当前方法方面遇到停滞不前,OpenAI 正在改变他们的产品策略。The Information 声称 GPT 模型的改进速度开始放缓。彭博社强调了几个前沿实验室在尝试构建更强大的 AI 时面临的困难。TechCrunch 声称,扩容的回报开始递减。《时代》杂志发表了一篇细致入微的文章,强调了导致 AI 研究放缓的各种因素。Ilya Sutskever 在 NeurIPS'24 的时间测试颁奖演讲中表示,“我们知道的预训练将结束”。与此同时,许多专家却在争论相反的观点。例如,Dario Amodei(Anthropic 首席执行官)曾表示,扩展“可能......将继续”,而 Sam Altman 则继续推动“没有墙”的说法。在本节中,我们将通过对扩展的现状和可能存在的各种问题进行扎实的解释,为本次讨论增添更多色彩。
“两种说法都是正确的:扩展仍在技术层面上发挥作用。用户的改进速度正在放缓。- 内森·兰伯特
所以。。。 扩展速度是否在放缓?答案很复杂,并且在很大程度上取决于我们对“放缓”的确切定义。到目前为止,我看到的对这个问题最合理的回答是两个答案都是正确的。因此,我们不会尝试回答这个问题。相反,我们将简单地更深入地了解研究对这个主题的确切信息,以便我们可以对 LLM 的当前(和未来)扩展状态有更细致的理解。
缩放定律告诉我们什么?首先,我们需要回顾一下缩放定律的技术定义。缩放定律基于幂律定义了训练计算(或模型/数据集大小)与 LLM 的测试损失之间的关系。然而,这种关系的性质经常被误解。从计算的对数增加中获得指数级性能改进的想法是一个神话。缩放定律看起来更像是指数衰减,这意味着随着时间的推移,我们将不得不更加努力地工作才能获得进一步的性能改进;见下文。
(来自 [5])
换句话说,缩放定律会随着时间的推移自然地趋于稳定。通过这种方式,我们目前正在经历的“放缓”可以说是 LLM 缩放定律的预期部分。
“从业者经常使用下游基准精度作为模型质量的代理,而不是困惑评估集的损失。”- 来自 [7]
定义性能。我们如何衡量 LLM 是否在改进?从扩展定律的角度来看,LLM 性能通常是通过模型在预训练期间的测试损失来衡量的,但较低的测试损失对 LLM 能力的影响尚不清楚。较低的损失是否会导致下游任务的准确性更高?较低的损失是否会导致 LLM 获得新的能力?缩放定律告诉我们的内容与我们实际关心的内容之间存在脱节:
缩放定律告诉我们,增加预训练的规模将平稳地减少 LLM 的测试损失。我们关心获得“更好”的 LLM。根据你是谁,你对新 AI 系统的期望——以及你用来评估这些新系统的方法——会有很大的不同。普通 AI 用户往往专注于一般的聊天应用程序,而从业者通常关心 LLM 在下游任务上的表现。相比之下,顶级前沿实验室的研究人员似乎对 AI 系统抱有很高(而且非常特殊)的期望;例如,写一篇博士论文或解决高级数学推理问题。鉴于 LLM 具有如此广泛的功能,评估是困难的,而且我们可以从许多角度来查看 LLM 的表现;见下文。
(来自 [15])
鉴于模型期望的这种巨大差异,提供扩展是 “有效 ”的明确证据将永远是一场斗争。我们需要一个更具体的扩展定律的成功定义。如果科学告诉我们,更大的模型将实现更低的损失,这并不意味着新模型将满足每个人的期望。未能达到 AGI 或超过屡获殊荣的人类数学家的能力并不能证明扩展在技术层面上没有仍然有效!换句话说,有人可能会争辩说,扩展的 “减慢” 是一个感知和期望问题,而不是 scalion 定律的技术问题。
数据死亡。为了扩大 LLM 预训练的规模,我们必须增加模型和数据集的大小。早期的研究 [1] 似乎表明数据量不如模型大小重要,但我们在 Chinchilla [6] 中看到数据集大小同样重要。此外,最近的工作认为,大多数研究人员更喜欢 “过度训练” 他们的模型,或者在大小超过龙猫最优性的数据集上对其进行预训练,以节省推理成本 [7]。
“扩展研究通常集中在计算最优的训练制度上......由于较大的模型在推理时成本更高,现在通常的做法是过度训练较小的模型。- 来自 [7]
所有这些研究都让我们得出了一个简单的结论——扩大 LLM 预训练需要我们创建更大的预训练数据集。这一事实构成了对 LLM 缩放定律的主要批评之一的基础。许多研究人员认为,可能没有足够的数据来继续扩展预训练过程。就上下文而言,用于当前 LLM 的大部分预训练数据是通过网络抓取获得的;见下文。鉴于我们只有一个互联网,找到大规模、高质量预训练数据的全新来源可能很困难。
(源)
甚至 Ilya Sutskever 最近也提出了这一论点,声称 i) 计算正在快速增长,但 ii) 由于依赖网络抓取,数据没有增长。因此,他认为我们不能永远继续扩大预训练过程。我们所知道的预训练将结束,我们必须为 AI 研究找到新的进展途径。换句话说,“我们已经实现了峰值数据”。
扩展最终会导致收益递减,以数据为中心的反对继续扩展的论点既合理又令人信服。然而,仍有几个研究方向可以改进预训练过程。
合成数据。为了将预训练过程扩大几个数量级,我们可能需要依赖合成生成的数据。尽管担心过度依赖合成数据会导致多样性问题 [14],但我们看到合成数据在 LLM 中的使用有所增加,并且似乎取得了成功 [12]。此外,课程学习 [13] 和持续的预训练策略通过调整预训练数据带来了各种有意义的改进;例如,更改数据混合或在预训练结束时添加指令数据。
(来自 [7])
实用的缩放定律。最近的研究试图解决基于测试损失的缩放定律的局限性。例如,[7] 中的作者定义了可用于预测 LLM 在 LLM Foundry 下游基准测试中的性能的缩放定律;见上文。对人类来说,解释这些类型的指标要容易得多。我们可能不知道测试损失减少 5% 意味着什么,但在我们感兴趣的基准上从 85% 的准确率跃升到 90% 通常很容易掌握。其他一些工作也探索了使用缩放定律来提供更实用和有意义的 LLM 性能估计的想法;例如,在后训练和量化 [16] 之后或在预训练过程中 [17]。
DeepSeek-v3 的 DeepSeek-v3 中。尽管最近存在争论,但我们仍然看到通过扩展 LLM 预训练过程取得了半频繁的进步。例如,DeepSeek-v3 [18] — 一个 671B 参数12 混合专家 (MoE) 模型——最近发布。除了开源之外,该模型还在 14.8T 文本标记上进行了预训练,并超过了 GPT-4o 和 Claude-3.5-Sonnet 的性能;请参阅下面的模型性能,并在此处了解许可证。作为参考,LLaMA-3 模型使用超过 15T 的原始文本数据进行训练;有关更多详细信息,请参阅此处。
(来自 [18])
超越 GPT-4o 等模型的能力对于开放权重 LLM 来说是一个重大飞跃——即使是最大的 LLaMA 模型也未能达到这个目标。DeepSeek-v3 采用了各种有趣的技巧:
来自 DeepSeek-v2 的优化 MoE 架构。一种新的辅助无损策略,用于对 MoE 进行负载均衡。多标记预测训练目标。从长链思维模型(即类似于 OpenAI 的 o1)中提炼出推理能力。该模型还进行了后训练,包括监督微调和来自人类反馈的强化学习,以使其与人类偏好保持一致。
“我们在 14.8T 高质量和多样化的 Token 上训练 DeepSeek-V3。预训练过程非常稳定。在整个训练过程中,我们没有遇到任何无法挽回的损失尖峰,也没有遇到任何不得不回滚的情况。- 从 [8] 起
然而,DeepSeek-v3 令人印象深刻的性能的最大关键是预训练规模——这是一个在同等规模的数据集上训练的海量模型!由于各种原因(例如 GPU 故障和损失峰值),训练如此大型的模型很困难。DeepSeek-v3 的预训练过程非常稳定,并且按照 LLM 标准以合理的成本进行训练;见下文。这些结果表明,随着时间的推移,更大规模的预训练作业变得越来越易于管理和高效。
(来自 [18])
通过 OOM 增加规模。为了继续测试我们的扩展定律,我们必须训练比当前模型高出几个数量级的 LLM。撇开我们对扩展效用的看法不谈,在训练这种规模的模型之前仍然存在各种限制。我们将需要:
更大的计算集群13.更多(和更好)的硬件。强大的动力。新算法(例如,用于可能跨越多个数据中心的更大规模分布式训练)。训练下一代模型不仅仅是为更多 GPU 获得资金的问题,它还是一项多学科的工程壮举。如此复杂的工作需要时间。作为参考,GPT-4 于 2023 年 3 月发布,距离 GPT-3 发布已经过去了近三年,尤其是 33 个月。有理由预期类似的时间表(如果不是更长的话)将再次实现 10-100 倍的规模增长。
“在扩大规模的每个数量级上,都必须找到不同的创新。”- Ege Erdil(Epoch AI)
AI 研究的未来现在我们已经更深入地了解了预训练的扩展状态,让我们假设(纯粹出于讨论目的)预训练研究将突然碰壁。即使模型功能在不久的将来根本没有改进,AI 研究也可以通过多种方式继续快速发展。我们已经讨论了其中一些主题(例如,合成数据)。在本节中,我们将特别关注当前流行的两个主题:
LLM 系统/代理。推理模型。如今,大多数基于 LLM 的应用程序都在单模型范式中运行。换句话说,我们通过将该任务传递给单个 LLM 并直接使用模型的输出作为该任务的答案来解决任务;见下文。
如果我们想改进这样的系统(即以更高的精度解决更难的任务),我们可以简单地提高底层模型的能力,但这种方法依赖于创建更强大的模型。相反,我们可以通过构建一个基于 LLM 的系统来超越单一模型范式,该系统将多个 LLM 或其他组件组合在一起,以解决复杂的任务。
LLM 系统基础知识。LLM 系统的目标是将复杂的任务分解成更小的部分,以便于 LLM 或其他模块解决。我们可以使用两种主要策略来实现此目标(如上所示):
任务分解:将任务本身分解为更小的子任务,这些子任务可以单独解决和聚合14之后形成最终答案。链接:通过对 LLM 进行多次顺序调用而不是单个调用来解决任务或子任务。这些策略可以单独使用,也可以结合使用。例如,假设我们想要构建一个系统来总结书籍。为此,我们可以通过首先总结书籍的每一章来分解任务。从这里,我们可以:
进一步将任务分解为更小的文本块进行总结(即,类似于递归/分层分解)。将多个 LLM 调用链接在一起;例如,让一个 LLM 从章节中提取所有重要事实或信息,让另一个 LLM 根据这些关键事实生成章节摘要。然后,我们可以通过要求 LLM 总结串联的章节摘要来汇总这些结果,形成完整小说的摘要。大多数复杂的任务可以分解成易于解决的简单部分,这使得这样的 LLM 系统非常强大。随着我们执行更广泛的分解和链接,这些系统可能会变得非常复杂,使它们成为应用人工智能研究的一个有趣(和有影响力的)领域。
构建基于 LLM 的产品。尽管 LLM 取得了成功和普及,但 LLM 的实际(和广泛采用)用例的数量仍然非常少。当今 LLM 的最大用例是代码生成和聊天,这两者都是 LLM 相对明显的应用15;见下文。
(源)
鉴于 LLM 的应用有如此多的成熟领域,简单地构建更多真正有用的基于 LLM 的产品是应用 AI 研究的一个重要领域。我们已经可以使用非常强大的模型,但使用这些模型来构建值得使用的产品是一个完全不同的问题。解决这个问题需要学习如何构建可靠且有能力的 LLM 系统。
(来自 [19])
代理。 LLM 系统和代理之间的界限很模糊,因为 AI 社区已经过度使用了“代理”一词。然而,我们应该理解的关键概念是 LLM 系统可以以各种或有趣和有意义的方式进行扩展。例如,我们可以通过教 LLM 在解决问题时使用工具(例如计算器、搜索引擎等)来增强它们;见上文。此外,我们可以允许 LLM 执行自己的程序,甚至为我们执行作;例如,预订酒店或发送电子邮件。可以与 LLM 集成的许多模块和工具为构建功能更强大、更有用的 LLM 系统提供了无限的可能性。
健壮性是构建功能更强大的 LLM/代理系统的最大障碍之一。假设我们有一个 LLM 系统,它对 LLM 进行十次不同的调用。此外,让我们假设这些 LLM 调用中的每一个都有 95% 的成功可能性,并且所有调用都需要成功才能生成正确的最终输出。尽管该系统的各个组件都相当准确,但整个系统的成功率为 60%!
(来自 [20])
随着我们添加更多组件,这个问题会呈指数级恶化,这限制了我们可以构建的 LLM / 代理系统的复杂性。构建更复杂的系统将需要我们大幅提高每个单独系统组件的健壮性。最近的研究表明,可以通过扩展来提高健壮性。但是,我们也可以通过更好的元生成算法来提高健壮性;见上文。这些算法不是从 LLM 生成单个输出,而是使用并行解码、(步骤级)验证、批评等思想来从 LLM 获得更精细、更准确的输出。
(来自 [20])
这一研究领域正在迅速发展,并可能成为人工智能研究进步的关键驱动力;有关该主题的深入调查,请参见 [20]。随着元生成算法的改进,LLM 将变得更加强大,我们将有能力构建越来越复杂的 LLM/代理系统。
对早期 LLM 的一个普遍批评是它们只是记住数据,几乎没有推理能力。然而,LLM 无法推理的事实在过去几年中已在很大程度上被揭穿。我们从最近的研究中了解到,这些模型可能一直具有固有的推理能力,但我们必须使用正确的提示或训练方法来激发这种能力。
思维链 (CoT) 提示 [22] 是最早展示 LLM 推理能力的技术之一。该方法简单且基于提示。我们只是要求 LLM 在生成实际响应之前为其响应提供解释;有关更多详细信息,请参见此处。当 LLM 生成一个基本原理,概述用于得出响应的分步过程时,其推理能力会显著提高。此外,这个解释是人类可读的,可以使模型的输出更具可解释性!
(来自 [22])
思维链的概念既通用又强大。事实上,思维链已成为提高 LLM 推理能力的关键概念,我们已经看到这种技术在许多方面被重新利用:
LLM as-a-Judge 风格的评估模型通常在生成最终评估结果之前提供评分理由 [23, 24]。已经提出了监督微调和指令调整策略,用于教授较小/开放的 LLM 编写更好的思维链 [25, 26]。LLM 通常被要求反思、批评或验证他们自己的输出,然后根据这些信息修改他们的输出 [12, 27]。复杂推理是一个正在迅速发展的活跃研究课题。新的训练算法教 LLM 将(步骤级)验证 [28, 29] 纳入他们的推理过程,已经显示出有希望的结果,随着新的和更好的训练策略的出现,我们可能会继续看到改进。
OpenAI 的 o1 推理模型 [21] 标志着 LLM 推理能力的重大飞跃。o1 使用的推理策略在很大程度上基于思维链。与人类在回答问题之前思考的方式类似,o1 会在提供回答之前花时间“思考”。实际上,o1 产生的“思想”只是模型用来思考问题、将问题分解为更简单的步骤、尝试各种解决问题的方法,甚至纠正自己的错误的长思维链16.
“OpenAI o1 [是] 一种新的大型语言模型,使用 RL 训练来执行复杂的推理。o1 在回答之前会思考——它可以在响应用户之前产生一个很长的内部思维链。- 来自 [21]
o1 的确切训练策略的细节没有公开分享。然而,我们知道 o1 被教导使用“大规模强化学习”算法进行推理,该算法“数据效率高”,专注于改进模型生成有用思维链的能力。根据 OpenAI 研究人员的公开评论和最近关于 o1 的言论,该模型似乎是使用纯强化学习进行训练的,这与早期的观点相矛盾,即 o1 可能在推理时使用某种形式的树搜索。
GPT-4o 和 o1 在推理密集型任务上的比较(来自 [21])
如前所述,o1 在复杂推理任务上的表现令人印象深刻。o1 在几乎所有推理密集型任务上都优于 GPT-4o;见上文。作为 o1 推理能力的一个例子,该模型:
在 Codeforces 的竞争性编程问题中排名第 89 个百分位。在美国数学奥林匹克竞赛 (AIME) 资格赛中进入美国前 500 名学生。超过人类博士生在研究生水平的物理、生物和化学问题 (GPQA) 上的准确性。从 o1 到 o3。o1 最有趣的方面之一是,可以通过在推理时使用更多的计算来提高模型的推理能力。为了解决越来越复杂的问题,该模型可以简单地生成逐渐更长的思维链;请参阅此处的示例。使用更多的推理时间计算来生成这些更长的思维链可以平稳地提高模型的推理性能;见下文。
“我们发现,随着强化学习(训练时间计算)的增加和思考时间的增加(测试时计算),o1 的性能会不断提高。”- 来自 [22]
同样,我们在上图中看到,随着我们通过强化学习将更多的计算投入到训练中,o1 的性能得到了平稳的提高。这正是创建 o3 推理模型所遵循的方法。OpenAI 于 2024 年底预览了该模型的评估结果,有关 o3 的细节很少被公开分享。然而,鉴于该模型在 o1 之后(即三个月后)发布得如此之快,o3 很可能是 o1 的“放大”版本,将更多的计算投入到强化学习中。
(源)
在撰写本文时,o3 模型尚未发布,但缩放 o1 所获得的结果令人印象深刻(在某些情况下甚至令人震惊)。下面列出了 o3 最显着的成就:
在 ARC-AGI 基准测试中得分为 87.5%, 而 GPT-4o 的准确率仅为 5%。o3 是第一个在 ARC-AGI 上超过 85% 人类水平性能的模型。该基准被描述为通往 AGI 的“北极星”,并且一直保持不败17五年多了。SWE-Bench Verified 的准确率为 71.7%,Codeforces 的 Elo 分数为 2727,在地球上排名前 200 的人类竞技程序员中排名 o3。在 EpochAI 的 FrontierMath 基准测试中,准确率为 25.2%, 比之前最先进的 2.0% 的准确率有所提高。Terence Tao 将这个基准描述 为“难以置信的困难”,并且可能在“至少几年内”无法被 AI 系统解决。还预览了名为 o3-mini 的 o3 的提炼版本,该版本的性能非常好,并且计算效率得到了显著提高。
(从 [21] 到这里)
扩展的新范例。阅读此概述后,o1 和 o3 提供的许多图(见上文)可能看起来非常熟悉——这些是对数尺度图,我们看到性能随着计算量的增加而平滑、线性地提高!换句话说,我们看到这些推理模型的性能与两个不同的量之间存在明显的幂律关系:
训练时间(强化学习)计算。推理时计算。扩展 o1 风格的模型不同于传统的扩展定律。我们没有扩大预训练过程的规模,而是扩大了投入到后训练和推理的计算量。这是一种全新的扩展范式,到目前为止,通过扩展推理模型获得的结果非常好。这样的发现告诉我们,除了预训练之外,其他扩展途径显然存在。随着推理模型的出现,我们发现了下一座需要攀登的山峰。尽管它可能以不同的形式出现,但扩展将继续推动 AI 研究的进步。
我们现在对缩放定律、它们对 LLM 的影响以及 AI 研究的未来发展方向有了更清晰的认识。正如我们所了解的,最近对缩放定律的批评有许多促成因素:
缩放定律中的自然衰减。对 LLM 功能的期望差异很大。大规模、跨学科工程工作的延迟。这些问题是有效的,但都不表明扩展没有仍然按预期工作。对大规模预训练的投资将(并且应该)继续,但随着时间的推移,改进将变得呈指数级增长。因此,替代的进步方向(例如,代理和推理)将变得更加重要。然而,随着我们投资于这些新的研究领域,扩展的基本理念将继续发挥巨大作用。扩展是否会继续不是一个问题。真正的问题是我们下一步将扩展什么。
来源:人工智能学家