一文详尽之Scaling Law


一文详尽之Scaling Law

仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接

作者丨CameronR.Wolfe
来源丨机器之心
编辑丨极市平台
导读
ScalingLaw撞墙了吗?这算得上是近段时间AI领域最热门的话题之一。近日,资深机器学习研究科学家CameronR.Wolfe更新了一篇超长的博客文章,详细介绍了LLMscaling的当前状况,并分享了他对AI研究未来的看法。
原文链接:https ://cameronrwolfe.substack.com/p/llm-scaling-laws
近些年来,AI领域的大部分研究进展(尤其是LLM)都是基于scaling。也就是说,只要使用更多数据训练更大模型,就能得到更好的结果。这种关系可以被更严格地定义成ScalingLaw,这是一个可以描述LLM的测试损失随某个量(如训练计算量)的增长而降低的公式。ScalingLaw可帮助我们预测当投入更多资源进行更大规模训练时的效果,这能给我们提供继续投资scaling的必要信心。
「如果你有一个庞大的数据集并且训练了一个非常大的神经网络,那么成功是肯定的!」——IlyaSutskever
过去多年时间里,ScalingLaw一直指引着AI研究前进的方向。事实上,像OpenAI这样的早期前沿实验室的成功甚至可以归功于他们对ScalingLaw的虔诚信仰。然而,最近有报道称,顶级研究实验室正在努力训练下一代更好的LLM。这些说法可能会让我们怀疑:scaling之路会撞墙吗?如果会,还有其他前进的道路吗?
本文将从头开始回答这些问题,首先是深入解释LLMScalingLaw和相关研究。ScalingLaw的概念很简单,但公众对ScalingLaw存在各种误解——这项研究背后的科学实际上非常具体明确。利用对ScalingLaw的详细理解,我们将讨论LLM研究的最新趋势以及导致ScalingLaw「停滞」的因素。最后,我们将利用这些信息更清楚地说明AI研究的未来,重点关注一些可能继续推动进步的关键思想——其中也包括scaling。
为了理解LLM的scaling现状,我们首先需要对ScalingLaw有一个总体的了解。我们将从头开始建立这种理解,首先是理解幂律的概念。然后,我们将探讨幂律在LLM中的应用研究,最终得出我们今天使用的ScalingLaw。
幂律是LLMscaling的基本概念。简而言之,幂律描述了两个量之间的关系。对于LLM来说,第一个量是LLM的测试损失(或其他一些相关的性能指标,例如下游任务准确率[7]),另一个量是我们想要scaling的一些设置,例如模型参数量。例如,在研究LLM的scaling属性时,我们可能会看到类似以下的陈述。
「有了足够的训练数据,验证损失的scaling与模型大小的函数关系应该大致上是平滑幂律。」-摘自[4]
这样的陈述告诉我们,模型的测试损失和模型参数量之间存在可测量的关系。其中一个量的变化将导致另一个量发生相对的、无关尺度的变化。换句话说,我们可基于这种关系了解到:增加模型参数量(假设已满足其他条件,比如训练数据充足)将导致测试损失降低某个可预测的程度。
幂律公式。基本的幂律可表示为以下公式:
这里研究的两个量是x和y,而a和p是描述这些量之间关系的常数。如果我们绘出这个幂律函数,我们会得到如下所示的图。这里提供普通和对数度量的图,因为大多数研究LLMscaling的论文都使用对数度量。
但很多时候,展示LLMscaling的图看起来并不像上面的图,而通常是上下颠倒的;请参阅下面的示例。
这只是逆幂律,可用如下公式表示:
逆幂律与标准幂律的公式几乎相同,但我们通常会对p使用负指数。使幂律的指数为负数会使图颠倒过来;请参阅下面的示例。
当使用对数度量绘制此逆幂律时,会产生大多数LLMScalingLaw特有的标志性线性关系。本文中涵盖的几乎每篇论文都会通过这样的图来研究ScalingLaw的各种不同的因素(例如规模、计算、数据等)对LLM的性能的影响。现在,让我们更实际地来看看幂律,也就是看看最早的一些在LLMscaling语境中研究幂律的论文。
在语言模型的早期,我们还不了解规模对性能的影响。语言模型是一个很有前途的研究领域,但当时的模型(例如原始GPT)功能有限。我们尚未发现更大模型的力量,而创建更好的语言模型的途径还不明确。模型的形状(即层的数量和大小)重要吗?使模型更大是否有助于其表现更好?训练这些更大的模型需要多少数据?
「损失随模型大小、数据集大小和用于训练的计算量呈幂律变化,有些趋势跨越了七个数量级以上。」-摘自[1]
在[1]中,作者的目标是通过分析多个因素(例如模型大小、模型形状、数据集大小、训练计算和批大小)对模型性能的影响来回答这些问题。通过此分析,我们了解到LLM性能会随着以下因素的增加而平稳提升:
模型参数的数量。
数据集的大小。
用于训练的计算量。
更具体地说,当性能不受其他两个因素的瓶颈限制时,可以观察到这些因素中的每一个与LLM的测试损失之间存在幂律关系。
实验设置。为了拟合幂律,作者在WebText2语料库的子集上预训练了最大1.5B参数的LLM。这些子集的token数量从22M到23B不等。所有模型都使用固定的1024个token的上下文长度和标准的下一个token预测(交叉熵)损失进行训练。在留存测试集上测量相同的损失并将其用作主要性能指标。此设置与大多数LLM的标准预训练设置相匹配。
LLMscaling的幂律。在[1]中训练的LLM的性能(就其在WebText2上的测试损失而言)会随着参数、数据和计算量的增加而稳步提高。这些趋势在计算量方面跨越了八个数量级,在模型大小方面跨越了六个数量级,在数据集大小方面跨越了两个数量级。上图提供了确切的幂律关系和拟合每个幂律关系的方程。这里的每个方程都与我们之前看到的逆幂律方程非常相似。但是,我们设置a=1并在括号内添加一个额外的乘法常数。
[1]的作者注意到一个小细节,并且这个细节对于正确拟合这些幂律是必要的。在计算模型参数的总数时,不包括位置或token嵌入,从而可以得到更清晰的scaling趋势;如下图所示。
不过,只有当训练不受其他因素阻碍时,这些幂律才适用。因此,为了获得最佳性能,应该同时增大这三个分量(模型大小、数据和计算量)。如果我们单独增大其中任何一个分量,我们就会达到某个收益递减点。
幂律意味着什么?虽然[1]中提供的幂律图看起来很有希望,但我们应该注意到这些图是基于对数度量的。如果使用普通度量绘制,我们会得到下面的图——可以看到幂律的形状类似于指数衰减。
考虑到网上关于scaling和AGI的大量言论,这样的发现似乎违反直觉。在许多情况下,我们被灌输的直觉似乎是:随着计算量的对数增加,LLM的质量呈指数级提高,但事实并非如此。实际上,随着规模增大,提升LLM的质量会变得越来越困难。
其他有用的发现。除了[1]中观察到的幂律之外,我们还看到,研究中涉及的其他因素(例如模型形状或架构设置)对模型性能的影响微乎其微;见上文。规模是打造更好LLM的最大因素——更多的数据、计算量和模型参数可以平稳地提高LLM的性能。
「较大的模型具有更高的样本效率,因此最佳的计算效率训练涉及在相对适量的数据上训练非常大的模型,并在收敛之前停止。」-来自[1]
有趣的是,[1]中的实证分析表明,较大的LLM往往具有更高的样本效率,这意味着它们在数据较少的情况下可达到与较小模型相同的测试损失水平。因此,对LLM进行预训练以使其收敛(可以说)不是最优的。相反,我们可以在较少的数据上训练更大的模型,在收敛之前停止训练过程。这种方法在训练计算使用量方面是最优的,但它没有考虑到推理成本。实际上,我们通常会在更多数据上训练较小的模型,因为较小的模型托管成本较低。
作者还广泛分析了模型大小与用于预训练的数据量之间的关系,发现数据集的大小不需要像模型大小那样快速增加。模型大小增加约8倍需要训练数据量增加约5倍才能避免过拟合。
[1]中发现的ScalingLaw也在其他几个数据集上得到复现,我们发现在向测试损失添加固定偏移量后,相同的ScalingLaw仍然成立(即考虑到数据集不同);见上文。这些结果为LLMscaling提供了令人信服的案例。我们通过更长时间、在更多数据上训练较大的模型获得了非常明显和可衡量的收益,这激发了人们对更大规模预训练LLM的兴趣。
「这些结果表明,随着我们适当扩大模型大小、数据和计算,语言建模性能会平稳且可预测地提高。我们预计,更大的语言模型将比当前模型表现更好,样本效率更高。」-来自[1]
大规模预训练非常好,但这一事实却带来了一些困境。续为了得到最好的模型,需要大量数据进行大规模模型训练。然而,这些训练成本很高,这意味着它们也会带来很大的风险。如果我们花费了1000万美元,结果训练了一个不符合我们期望的模型,这可如何是好?考虑到预训练的费用,我们无法执行任何特定于模型的调整,我们必须确保我们训练的模型表现良好。我们需要制定一个策略来调整这些模型并预测它们的性能,同时无需花费太多钱。
这就是ScalingLaw的用武之地。到目前为止,我们已经看到了一些实证分析,这些分析是为了证明ScalingLaw的存在而进行的,但这些ScalingLaw在AI研究中也有非常实际的用例。特别是,我们可以:
使用各种训练设置训练一堆较小的模型。
根据较小模型的性能拟合ScalingLaw。
使用ScalingLaw推断更大模型的性能。
当然,这种方法有局限性。从较小的模型预测较大模型的性能很困难,而且可能不准确。模型可能因规模不同而表现不同。然而,研究社区已经提出了多种方法来使这更可行,ScalingLaw现在通常用于此目的。使用ScalingLaw预测较大模型的性能的能力让我们作为研究人员更有信心(和安心)。此外,ScalingLaw提供了一种简单的方法来证明对AI研究的投资是合理的。
「这就是我们今天看到的所有进步的驱动力——在庞大的数据集上训练的超大型神经网络。」-IlyaSutskever
ScalingLaw的发现成为了LLM研究的大部分最新进展的催化剂。为了获得更好的结果,我们只是在更大(更好!)的数据集上训练越来越大的模型。基于这一策略,OpenAI打造了GPT系列模型,此外OpenAI之外也有很多模型。在这里,我们将更深入地解读这一scaling研究的进展——最近被IlyaSutskever描述为「预训练时代」。
LLMScalingLaw最广为人知和最明显的应用是OpenAI打造的GPT系列模型。我们将主要关注该系列中早期的开放模型——直到GPT-3——因为:
这些模型的细节更公开。
除了scaling预训练过程外,后期的模型还极大受益于后训练研究。
我们还将介绍一些已知的scaling结果,如GPT-4。
最早的GPT模型[2]实际上非常小—总共12层和117M个参数。该模型首先在BooksCorpus上进行预训练,BooksCorpus是一个包含约7000本书原始文本的数据集。然后,使用监督训练目标并为每个任务创建单独的分类头来微调模型以解决各种不同的下游任务;见上文。这篇论文是第一批对仅解码器Transformer进行大规模自监督预训练的论文之一,其中得到了一些有趣的发现:
对纯文本进行自监督预训练非常有效。
使用长而连续的文本跨度进行预训练非常重要。
以这种方式进行预训练后,可以对单个模型进行微调,使其能以最领先的准确度解决各种不同的任务。
总体而言,GPT并不是一个特别值得关注的模型,但它奠定了一些重要的基础(即仅解码器Transformer和自监督预训练)。
GPT-2[3]诞生在GPT之后不久,是多个模型的集合,其中最大的有1.5B参数;如上所示。这些模型与GPT模型具有相同的架构,并使用相同的自监督语言建模目标进行预训练。然而,与GPT相比,GPT-2对预训练过程进行了两大改变:
预训练数据集改成了WebText,它比BooksCorpus大得多,并且是通过从互联网上抓取数据创建的。
这些模型没有针对下游任务进行微调。相反,是通过使用预训练模型执行零样本推理来解决任务。
GPT-2模型在大多数基准测试上都达不到最先进的性能,但它们的性能会随着模型的大小而不断提高——扩大模型参数的数量会带来明显的好处;如下所示。
[3]的作者还透露,尽管GPT-2模型取得了很亮眼的结果,但似乎仍然没有拟合WebText语料库。基于这一发现可以推断,继续scalingLLM预训练(无论是模型还是数据大小)应该是有益的。尽管GPT-2模型并不是特别强大,但这些模型所呈现的分析为「继续scaling并最终达到AI研究的转折点」提供了所需的信心。
「具有足够体量的语言模型将开始学习推断和执行自然语言序列中演示的任务,以便更好地预测它们,无论它们的方法如何。」-来自[3]
GPT-3[4]是AI研究的一个分水岭,它明确证实了大规模预训练对LLM的好处。该模型有超过1750亿个参数,比最大的GPT-2模型大100多倍;如下所示。
同样,GPT-3使用的仅解码器模型架构与之前的模型非常相似,但预训练却是基于CommonCrawl的更大数据集。这个数据集比之前的WebText数据集大约大10倍,[4]中的作者将更大的预训练数据集与其他几个预训练数据源相结合,创建了不同语料库的混合;如下所示。
[4]中的GPT-3主要通过使用少样本学习方法进行评估。少样本提示(GPT-3使用)、零样本提示(GPT-2使用)和微调(GPT使用)之间的差异如下所示。
少样本学习是一种新范式:LLM学习如何根据放置在其上下文窗口内的示例执行任务。[4]中的作者将此概念称为「上下文学习(in-contextlearning)」。在这种情况下,LLM实际上并没有「学习」——模型的权重根本没有更新。相反,模型输入中的示例被用作上下文,以生成更准确的输出。在[4]中可以看到,GPT-3是一个能力很强的少样本学习器,似乎表明上下文学习是较大模型的一种涌现能力;如下所示。
当在各种语言理解任务上评估GPT-3时,研究者发现使用较大的模型时,可显著提高少样本学习的性能,如下图所示。与较小的模型相比,较大的模型可以更好、更有效地利用其上下文窗口中的信息。GPT-3能够通过少样本学习在多个任务上超越SOTA,并且模型的性能随着规模的扩大还能平稳提升。
单个模型能够在如此多的任务中表现如此出色,这一事实在当时震撼了很多人。解决这些任务时,不需要对底层模型进行任何微调或更改——只需要调整模型的提示词。GPT-3是最早发布的真正基础模型之一。该模型开创了AI研究的下一个时代,并引入了一种与LLM交互(即提示词)的全新直观范式。
超越GPT-3。GPT-3的出色表现引发了人们对LLM研究的极大兴趣。这些兴趣主要集中在大规模预训练上。OpenAI发布的接下来几个模型——InstructGPT[8]、ChatGPT和GPT-4[5]——结合了大规模预训练和新的后训练技术(即监督微调和RLHF),大大提高了LLM质量。这些模型非常吸引眼球,甚至引爆了公众对AI研究的兴趣。
「GPT-4是一个基于Transformer的模型,经过预训练可以预测文档中的下一个Token。训练后的对齐过程可提高事实性和遵守期望行为的衡量标准。」-来自[5]
自那以后,OpenAI开始更少发布研究细节。相反,新模型只是通过他们的API发布,这使得公众无法了解这些模型是如何创建的。幸运的是,可以从OpenAI发布的材料中收集到一些有用的信息。例如,ChatGPT的前身InstructGPT[8]有一篇相关论文,详细记录了该模型的后训练策略;如下所示。鉴于该论文还指出GPT-3是InstructGPT的基础模型,我们可以合理地推断,该模型的性能提升与scaling预训练过程基本无关。
与ChatGPT相比,GPT-4的功能有了明显的提升。然而,研究者只是选择性地分享GPT-4的极少技术细节。GPT-4的技术报告[5]只是告诉我们:
GPT-4是基于Transformer的。
该模型使用了下一个token预测进行预训练。
使用公开和授权的第三方数据。
该模型通过RLHF进行了微调。
尽管如此,scaling的重要性在这份技术报告中也非常明显。作者指出,这项工作的一个关键挑战是开发一种可scaling的训练架构,该架构在不同规模上的行为可预测,从而可以基于较小规模的运行结果进行外推,以提供对更大规模(且成本更高!)训练实践的信心。
「经过适当训练的大型语言模型的最终损失……可通过用于训练模型的计算量的幂律近似。」-来自[5]
大规模预训练成本非常高,因此研究者通常只有一次机会来做对——根本没有针对具体模型调整的空间。ScalingLaw在此过程中起着关键作用。研究者可以使用少成千上万倍的计算量来训练模型,并使用这些结果来拟合幂律。然后,这些幂律可用于预测更大模型的性能。特别是,研究者在[8]中看到,可使用衡量计算和测试损失之间关系的幂律来预测GPT-4的性能;如下所示。
用于训练GPT-4的ScalingLaw公式(来自[5])
此表达式看起来与我们之前看到的几乎相同,但它增加了一个不可约损失项,以解释LLM的测试损失可能永远不会达到零的事实。一旦拟合,ScalingLaw就可用来以非常高的准确度预测GPT-4的最终性能;请参见下面的描述。在这里,我们应该注意,该图没有使用对数尺度,可以看到损失的改善随着计算量的增加而明显开始衰减!
[5]中的作者还指出,测试损失不是一个容易解释的指标,他们也尝试了预测各种其他性能指标。例如,ScalingLaw适合预测LLM在HumanEval编码基准上的通过率。首先,根据HumanEval中的问题的难度将其分成几类。然后,ScalingLaw适合预测LLM的通过率。研究者在[5]中看到,基于所需计算量少1000倍的实验,使用这种方法可以在HumanEval上准确预测GPT-4的通过率;如下所示。
如我们所见,scaling预训练过程很有价值。然而,大规模预训练也成本非常高。ScalingLaw使这个过程更可预测,使研究者能够避免不必要或过多的计算成本。
在[1]中,作者认为在scalingLLM预训练时,模型大小的增加速度要快于数据集的大小。然而,GPT-3之后的大多数预训练研究表明研究者应该做相反的事情。研究者训练的模型明显大于GPT-3——例如530B参数MT-NLG[9]模型——但用于训练这些模型的数据集的大小与GPT-3相似;如上所示。这些模型并没有在GPT-3之上实现性能提升,而使用更多参数和更多数据组合的模型(例如Gopher[10])表现要好得多;如下所示。
计算最优的ScalingLaw。受这些观察的启发,[6]的作者完全重新考虑了[1]中最初提出的ScalingLaw的最佳实践。[6]中的ScalingLaw分析是使用更大的模型进行的,得出的结果与以前略有不同。更具体地说,使用大小从70M到17B参数的LLM,在大小超过一万亿个token的数据集上进行训练;如下所示。
通过使用许多不同的模型和数据大小组合训练LLM,我们可以发现一个幂律,该幂律可以根据这些因素预测LLM的测试损失。
根据这些幂律,研究者可以确定哪种训练设置最适合给定的计算预算。[6]的作者认为,计算最优的训练应该按比例scaling模型和数据大小。这一发现表明,大多数LLM都训练不足,无法拟合其规模——使用大量数据训练现有的LLM将对研究者大有裨益。例如,[6]中拟合的ScalingLawGopher应该使用再大20倍的数据集进行训练!
「预计所需的训练数据量远远超出了目前用于训练大型模型的数据量。」-来自[6]
Chinchilla。[6]中提供的分析强调了数据规模的重要性。大型模型需要使用更多数据进行训练才能达到最佳性能。为了验证这一发现,作者训练了一个700亿参数的LLM,称为Chinchilla。与之前的模型相比,Chinchilla较小,但拥有更大的预训练数据集——总共1.4T个训练token。Chinchilla使用与Gopher[10]相同的数据和评估策略。尽管比Gopher小4倍,但Chinchilla的表现始终优于更大的模型;如下所示。

ScalingLaw最近成为AI研究中的一个热门(且有争议)话题。正如我们在前文中所看到的,在整个预训练时代,scaling推动了AI的大部分进步。然而,随着2024年下半年模型发布和改进的速度放缓,我们开始看到对模型scaling的广泛质疑,这似乎表明AI研究(尤其是ScalingLaw)可能会遇到瓶颈。
路透社称,OpenAI正在改变其产品战略,因为其在scaling当前方法方面遇到了瓶颈。
TheInformation称,GPT模型的改进速度开始放缓。
彭博社强调了几个前沿实验室在尝试构建更强大的AI时面临的困难。
TechCrunch称,scaling开始产生收益递减。
《时代》杂志发表了一篇细致入微的文章,强调了导致AI研究放缓的各种因素。
IlyaSutskever在NeurIPS’24的获奖演讲中表示,「我们所知的预训练将会终结」。
与此同时,许多专家则持相反观点。例如,DarioAmodei(AnthropicCEO)表示,scaling「可能……会继续」,而SamAltman则坚持「没有墙」。本文将通过提供scaling的当前状态和可能存在的各种问题的合理解释,为这一讨论增添更多色彩。
「这两种说法都可能是真的:scaling在技术层面上仍然有效。针对用户的进步速度正在放缓。」-NathanLambert
那么……scaling速度正在放缓吗?答案很复杂,并且高度依赖于研究者对「放缓」的确切定义。到目前为止,我看到的对这个问题最合理的回答是:两个答案都是正确的。
因此,本文不会尝试回答这个问题。本文将更深入地介绍相关研究,以便研究者能够对LLM的当前(和未来)scaling建立更细节的理解。
ScalingLaw能告诉我们什么?首先,研究者需要回顾一下ScalingLaw的技术定义。ScalingLaw基于幂律定义了训练计算量(或模型/数据集大小)与LLM的测试损失之间的关系。然而,这种关系的性质常常被误解。通过对数增加计算来获得指数级性能改进的想法是一个神话。ScalingLaw看起来更像是指数衰减,这意味着随着时间的推移,研究者必须更加努力才能获得进一步的性能改进;如下所示。
换句话说,ScalingLaw会随着时间的推移自然地趋平。这样一来,研究者目前经历的「放缓」可以说是LLMScalingLaw的预期部分。
「实践者经常使用下游基准准确度作为模型质量的代理指标,而不是在困惑度评估集上的损失。」-来自[7]
定义性能。研究者如何衡量LLM是否在改进?从ScalingLaw的角度来看,LLM性能通常通过预训练期间模型的测试损失来衡量,但较低的测试损失对LLM能力的影响尚不清楚。较低的损失会导致下游任务的准确性更高吗?较低的损失会导致LLM获得新功能吗?ScalingLaw暗含的东西和我们真正关心的东西之间存在脱节:
ScalingLaw告诉我们,增加预训练的规模将平稳地降低LLM的测试损失。
我们真正关心的是获得「更好」的LLM。
根据你的身份,你对新AI系统的期望——以及用来评估这些新系统的方法——将有很大的不同。普通AI用户往往专注于一般的聊天应用程序,而实践型研究者通常关心LLM在下游任务上的表现。相比之下,顶级前沿实验室的研究者似乎对AI系统抱有很高的(而且非常特殊的)期望;例如,撰写博士论文或解决高级数学推理问题。鉴于LLM具有如此广泛的能力,评估是很困难的,而且研究者可以从许多角度来看待LLM的表现;如下所示。
鉴于对模型的期望存在巨大差异,提供scaling「有效」的确凿证据注定会有很大争议。研究者需要对ScalingLaw的成功做出更具体的定义。如果科学告诉我们更大的模型将实现更低的损失,这并不意味着新模型将满足所有人的期望。未能实现AGI或超越顶级人类数学家的能力并不能证明scaling在技术层面上仍然不起作用!换句话说,人们可以争辩说,scaling的「放缓」是一个感知和期望问题,而不是与ScalingLaw相关的技术问题。
数据死亡。为了scalingLLM预训练,研究者必须同时增加模型和数据集的大小。早期的研究[1]似乎表明数据量并不像模型大小那么重要,但研究者在Chinchilla[6]中看到数据集大小同样重要。此外,最近的研究表明,大多数研究人员更喜欢「过度训练」他们的模型——或者在超出Chinchilla最优大小的数据集上对它们进行预训练——以节省推理成本[7]。
「scaling研究通常侧重于计算最优的训练方案……由于较大的模型在推理时成本更高,因此现在对较小的模型进行过度训练是一种常见的做法。」-来自[7]
所有这些研究都给研究者带来了一个简单的结论——scalingLLM预训练将需要研究者创建更大的预训练数据集。这一事实构成了对LLMScalingLaw的主要批评之一的基础。许多研究者认为,可能没有足够的数据来继续scaling预训练过程。作为背景,当前LLM使用的绝大多数预训练数据是通过网络抓取获得的;如下所示。鉴于研究者只有一个互联网,找到全新的大规模高质量预训练数据来源可能会很困难。
甚至IlyaSutskever最近也提出了这一论点,声称i)计算正在快速增长,但ii)由于依赖网络抓取,数据没有增长。因此,他认为研究者不能永远scaling预训练过程。我们所知的预训练将会终结,我们必须为AI研究找到新的进步途径。换句话说,「我们已经实现了峰值数据」。
scaling最终会收益递减,以数据为中心反对继续scaling的论点既合理又令人信服。然而,仍有几个研究方向可以改进预训练过程。
合成数据。为了将预训练过程scaling几个数量级,研究者可能需要依赖合成生成的数据。尽管人们担心过度依赖合成数据会导致多样性问题[14],但我们可以看到合成数据的使用有所增加,而且似乎取得了成功[12]。此外,课程学习[13]和持续的预训练策略通过调整预训练数据带来了多种有意义的改进;例如,在预训练结束时更改数据混合或添加指令数据。
实践型ScalingLaw。最近的研究试图解决基于测试损失的ScalingLaw的局限性。例如,[7]中的作者定义的ScalingLaw可用于预测LLM在LLMFoundry下游基准测试中的表现;如上所示。对人类来说,解释这些指标要容易得多。研究者可能不知道测试损失减少5%意味着什么,但在研究者感兴趣的基准测试中从85%到90%的准确率通常很容易理解。其他几项研究也探讨了使用ScalingLaw来提供更实用、更有意义的LLM性能估计的想法;例如,在训练后和量化[16]之后或在预训练过程中[17]。
DeepSeek-v3。尽管最近对ScalingLaw的争议颇多,但我们仍然看到了通过scalingLLM预训练过程而取得的进步。例如,最近发布的DeepSeek-v3[18]——一个671B参数的混合专家(MoE)模型。除了开源之外,该模型还在14.8T文本token上进行了预训练,并超越了GPT-4o和Claude-3.5-Sonnet的性能;请参阅下图了解模型的性能。作为参考,LLaMA-3模型是在超过15T的原始文本数据上进行训练的。
能够超越GPT-4o等模型对于开放权重LLM来说是一个重大飞跃——即使是最大的LLaMA模型也未能达到这一目标.DeepSeek-v3采用了许多有趣的技巧:
基于DeepSeek-v2的优化版MoE架构。
用于平衡MoE负载的新型无辅助损失策略。
多token预测训练目标。
从长思维链模型(类似于OpenAIo1)中蒸馏推理能力。
该模型还经过了后训练,包括监督微调和RLHF,以使其符合人类偏好。
「我们在14.8T高质量和多样化的token上训练DeepSeek-V3。预训练过程非常稳定。在整个训练过程中,我们没有遇到任何无法挽回的损失峰值或不得不回滚。」-来自[8]
然而,DeepSeek-v3令人印象深刻的表现的最大关键是预训练规模——这是一个在同样庞大的数据集上训练的庞大模型!由于各种原因(例如GPU故障和损失峰值),训练如此大的模型很困难。DeepSeek-v3具有令人惊讶的稳定预训练过程,并且训练成本以LLM标准来说也很低;如下所示。这些结果表明,随着时间的推移,更大规模的预训练会变得更易于管理和更高效。
将规模增大一个数据集。要继续测试ScalingLaw,我们必须训练比当前模型高几个数量级的LLM。抛开对scaling效用的看法,仍然存在各种限制阻碍这种规模的模型训练。研究者需要:
更大的计算集群。
更多(和更好的)硬件。
大量电力。
新算法(例如,用于更大规模分布式训练的算法,可能跨越多个数据中心)。
训练下一代模型不仅仅要确保获得更多用于购买GPU的资金,它是一项多学科的工程壮举。如此复杂的事情需要时间。作为参考,GPT-4于2023年3月发布,距离GPT-3发布已近三年(具体为33个月)。可以合理地预期,解锁另一个10-100倍规模增长的时间线(如果不是更长的话)也差不多。
「在scaling的每一个数量级,都必须找到不同的创新。」——EgeErdil(EpochAI)
现在我们更深入地了解了预训练的scaling状态,让我们假设(纯粹出于讨论目的)预训练研究将突然遇到障碍。即使模型能力不久后就无法继续进步,AI研究仍可以通过多种方式继续快速发展。我们已经讨论过其中一些主题(例如合成数据)。在本节中,我们将特别关注当前流行的两个主题:
LLM系统/智能体。
推理模型。
当今大多数基于LLM的应用都采用了单一模型范式。换句话说,我们在解决任务时,会将任务传递给单个LLM并直接使用该模型的输出作为答案;如下所示。
如果我们想改进这样的系统(即以更高的准确度解决更困难的任务),我们可以简单地改进底层模型的功能,但这种方法依赖于更强大的模型。相反,我们可以超越单一模型范式,构建一个基于LLM的系统,其可组合多个LLM或其他组件来解决复杂任务。
LLM系统基础。LLM系统的目标是将复杂任务分解成更小的部分,这些部分对LLM或其他模块来说更容易解决。我们可以使用两种主要策略来实现这个目标:
任务分解:将任务本身分解成更小的子任务,这些子任务可以单独解决,然后汇总形成最终答案。
链式处理:通过对LLM进行多次顺序调用而不是单次调用来解决任务或子任务。
这些策略可以单独使用或结合使用。例如,假设我们要构建一个用于总结书籍的系统。为此,我们可以首先将任务分解成总结书中的每一章。然后我们可以:
将任务进一步分解成更小的文本块来总结(即类似于递归/层次分解)。
将多个LLM调用链接在一起;例如,让一个LLM提取章节中所有重要的事实或信息,然后另一个LLM基于这些关键事实生成章节总结。
然后,我们可以通过让LLM对连接的章节总结进行总结来汇总这些结果,从而形成完整小说的总结。大多数复杂任务都可以分解成容易解决的简单部分,这使得这样的LLM系统非常强大。随着我们进行更广泛的分解和链接,这些系统可以变得非常复杂,使其成为应用人工智能研究的一个有趣(且影响深远)领域。
构建基于LLM的产品。尽管LLM取得了成功并广受欢迎,但LLM的实际(且广泛采用的)用例数量仍然很少。目前LLM最大的用例是代码生成和聊天,这两者都是LLM相对明显的应用;如下所示。
考虑到LLM存在如此多潜在的应用领域,应用型AI研究的一个重要方向其实就是基于LLM构建更多真正有用的产品。我们已经拥有了非常强大的模型,但使用这些模型来构建一个值得使用的产品是一个完全不同的问题。解决这个问题需要了解如何构建可靠且强大的LLM系统。
智能体(Agent)。LLM系统和智能体之间的界限很模糊,因为「智能体」这个术语已在AI社区中被过度使用。然而,我们需要理解的关键概念是LLM系统可以通过多种有趣且有意义的方式进行扩展。例如,我们可以通过教会LLM在解决问题时使用工具(如计算器、搜索引擎等)来增强它们的能力。此外,我们可以允许LLM执行自己的程序甚至为我们执行操作,例如预订酒店或发送电子邮件。可以与LLM集成的众多模块和工具为构建更强大和更有用的LLM系统提供了无限可能。
稳健性是构建更强大的LLM/智能体系统的最大障碍之一。假设我们有一个LLM系统需要调用LLM十次。此外,假设每次LLM调用的成功率为95%,并且所有调用都需要成功才能生成正确的最终输出。尽管该系统的各个组件的准确率相当高,但整个系统的成功率仅为60%!
随着我们添加更多组件,这个问题会呈指数级恶化,这限制了我们可以构建的LLM/智能体系统的复杂性。构建更复杂的系统将需要大幅提高每个系统组件的稳健性。最近的研究表明,通过扩展可以提高稳健性。但是,我们也可以通过更好的元生成(meta-generation)算法来提高稳健性。这些算法不是从LLM生成单一输出,而是使用并行解码、(步级)验证、评判等方法来获得更精炼和准确的输出。
这个研究领域正在快速发展,并可能成为AI研究进展的关键驱动力。随着元生成算法的提升,LLM将变得更加稳健,我们将能够构建越来越复杂的LLM/智能体系统。
针对早期LLM,一个常见的批评意见是它们仅仅是记忆数据,而缺乏推理能力。然而,过去几年中,LLM无法推理的说法已基本被推翻。从最近的研究中我们了解到,这些模型很可能一直具有内在的推理能力,但我们需要使用正确的提示词或训练方法来激发这种能力。
思维链(Chainofthought,CoT)提示是首批展示LLM推理能力的技术之一。这种方法简单且基于提示词。我们只需要让LLM在生成实际响应之前提供其响应的解释。当LLM生成解释其得出响应的步骤过程的理由时,其推理能力会显著提高。此外,这种解释是人类可读的,可以使模型的输出更具可解释性!
思维链的概念既通用又强大。实际上,思维链已成为提高LLM推理能力的关键概念,我们已经看到这种技术被多种方式重新应用:
LLM-as-a-Judge风格的评估模型通常会在生成最终评估结果之前提供评分理由。
已有研究者提出用于教导较小/开放LLM写出更好思维链的监督微调和指令调优策略。
LLM经常被要求反思并批评或验证自己的输出,然后基于这些信息修改输出。
复杂推理是一个快速发展的活跃研究课题。教导LLM在推理过程中纳入(步级)验证的新训练算法已经展现出有希望的结果,随着新的更好的训练策略出现,我们可能会继续看到改进。
OpenAIo1推理模型标志着LLM推理能力的重大飞跃。o1使用的推理策略在很大程度上基于思维链。类似于人类在回答问题前先思考,o1会在提供回答前花时间「思考」。从实际角度来说,o1生成的「思考」只是长长的思维链,模型用它们来思考问题、将问题分解成更简单的步骤、尝试各种解决问题的方法,甚至纠正自己的错误。
「OpenAIo1是一个使用强化学习训练的新型大型语言模型,可以执行复杂的推理。o1在回答之前会思考——它可以在回复用户之前产生一个很长的内部思维链。」-来自[21]
o1的确切训练策略细节尚未公开。但是,我们知道o1是使用「大规模强化学习」算法进行推理的,该算法「数据效率高」,并专注于改进模型生成有用思维链的能力。根据OpenAI研究人员的公开评论和最近关于o1的言论,该模型似乎是使用纯强化学习进行训练的,这与之前的观点相矛盾,即o1可能在推理时使用某种形式的树搜索。
如前所述,o1在复杂推理任务上的表现令人印象深刻。o1在几乎所有推理密集型任务上都胜过GPT-4o;见上文。作为o1推理能力的一个例子,该模型:
在Codeforces的竞争性编程问题中排名第89位。
在美国数学奥林匹克(AIME)资格赛中达到美国学生前500名水平。
在研究生水平的物理、生物和化学问题(GPQA)上超过人类博士生的准确率。
从o1到o3。o1最有趣的方面之一是,通过在推理时使用更多计算,可以提高模型的推理能力。为了解决日益复杂的问题,模型可以简单地生成越来越长的思路链;请参阅此处的示例。使用更多的推理时间计算来生成这些更长的思路链,可以平稳提高模型的推理性能;见下文。
「我们发现,随着强化学习的增加(训练时间计算)和思考时间的增加(测试时间计算),o1的性能会持续提高。」-来自[22]
同样,我们在上图中看到,随着研究者通过强化学习将更多计算投入到训练中,o1的性能会平稳提高。这正是创建o3推理模型所遵循的方法。OpenAI于2024年底预览了该模型的评估结果,目前公开分享的有关o3的细节非常少。然而,鉴于该模型是在o1发布后不久(即三个月后)发布的,o3很可能是o1的「放大版」,即使用了更多计算来做强化学习。
在撰写本文时,o3模型尚未发布,但通过scalingo1所取得的结果令人印象深刻(在某些情况下甚至令人震惊)。o3最吸睛的成就如下:
在ARC-AGI基准测试中得分为87.5%,而GPT-4o的准确率仅为5%。o3是第一个在ARC-AGI上超过人类水平(85%)的模型。该基准测试曾被称为AGI的「北极星」,五年多来一直未被攻克。
在SWE-BenchVerified上的准确率为71.7%,在Codeforces的Elo得分为2727,这使o3的水平达到了全球前200名参赛的人类程序员。
EpochAI的FrontierMath基准测试的准确率为25.2%,比之前最先进的2.0%的准确率有所提高。陶哲轩曾表示,此基准「极其困难」,并且很可能在「至少几年内」都无法被AI系统解决。
OpenAI给出了o3的精简版本o3-mini的预览,它的性能非常好,并且计算效率得到了显著提升。
scaling的新范式。阅读完本文后,o1和o3表现出的许多图(见上文)可能看起来非常熟悉——这些是对数尺度的图,我们可以看到随着计算量的增加,性能呈平滑、线性增长!换句话说,我们看到这些推理模型的性能与两个不同数量之间存在明显的幂律关系:
训练时间(强化学习)计算。
推理时间计算。
scalingo1式模型不同于传统的ScalingLaw。这不再是扩大预训练过程,而是扩大投入到训练和推理后的计算量。这是一个全新的scaling范式,到目前为止,scaling推理模型所取得的成果非常好。这一发现向我们表明,除了预训练之外,显然还存在其他scaling途径。随着推理模型的出现,我们发现了下一座要攀登的山峰。尽管它可能以不同的形式出现,但scaling将继续推动AI研究的进步。
现在,我们已经对ScalingLaw有了更清晰的认识。我们也了解了它们对LLM以及AI研究未来发展方向的影响。此外,最近对ScalingLaw也存在一些批评:
ScalingLaw正在自然衰减。
对LLM能力的期望差异很大。
大规模跨学科工程研究的没有想预期那么快。
这些问题是有效的,但它们都无法说明scaling不如预期。对大规模预训练的投资将(也应该)继续,但随着时间的推移,提升将变得越来越困难。因此,其他进展方向(例如,智能体和推理)将变得更加重要。然而,随着我们对这些新的研究领域的投资,scaling的基本思想将继续发挥巨大作用。问题不在于scaling是否会继续。真正的问题是我们下一步将scaling什么。
参考文献
[1]Kaplan,Jared,etal.”Scalinglawsforneurallanguagemodels.”arXivpreprintarXiv:2001.08361(2020).
[2]Radford,Alec.”Improvinglanguageunderstandingbygenerativepre-training.”(2018).
[3]Radford,Alec,etal.”Languagemodelsareunsupervisedmultitasklearners.”OpenAIblog1.8(2019):9.

[5]Achiam,Josh,etal.”Gpt-4technicalreport.”arXivpreprintarXiv:2303.08774(2023).

[17]Xiong,Yizhe,etal.”Temporalscalinglawforlargelanguagemodels.”arXivpreprintarXiv:2404.17785(2024).

[28]Lightman,Hunter,etal.”Let’sverifystepbystep.”arXivpreprintarXiv:2305.20050(2023).


文章作者: ZejunCao
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ZejunCao !
  目录