大语言模型规模定律、GPT-4o与强化学习:曲线所预示的内容
如何解读大语言模型规模定律,卡普兰和钦奇利亚的发现,从GPT-3到GPT-4o各实验室如何应用这些定律,以及为何强化学习会引入新的计算维度。
过去几年中,语言模型质量几乎每一次重大提升都是通过在更大规模上做同样的事情实现的:更多的参数、更多的训练样本、更多的GPU。规模定律将这些经验转化为可规划的因素,因为它们能够预测当增加训练算力等资源时模型测试损失会如何下降。不过这些定律也常常被误解,正因如此新闻标题才会在“规模扩展有保障”和“规模扩展遇到瓶颈”之间交替出现。读完本文后,你将能够正确解读对数-对数规模图,解释Kaplan和Chinchilla的研究结果究竟意味着什么,客观分析关于“增长放缓”的争论,同时明白为何智能体与推理模型会成为下一个算力扩展的领域。
其结构是自下而上的。我们首先从幂律的数学原理开始,接着探讨为语言模型确立缩放律的研究,再了解这些定律如何指导GPT系列及后续模型的发展,随后分析认为缩放效应正在减弱的观点,最后探讨即便预训练收益趋于平稳仍能推动进展的方向。
基础要素:幂律
两个量,一种可预测的关系
幂律本质上是一种将两个测量值相互关联的规则,使得其中一个量的比例变化会带来另一个量的比例变化。在大型语言模型领域,这两个量中几乎总有一个是测试损失(有时也会用下游任务中的准确率等指标作为替代),另一个则是可调整的参数,比如参数数量、数据集规模或总训练计算量。
GPT-3论文中的一条典型结论大致如下:只要数据足够,验证损失应随模型规模呈近似平滑的幂律关系变化。其实际含义是参数数量与测试损失之间存在可量化的关联。增大模型规模,同时保持其他条件不变(数据充足、计算资源足够),损失就会以可预先预测的比例下降。
这里一个有用的特性就是尺度不变性。无论从曲线上的哪个点开始,只要将输入乘以某个常数,输出也会乘以相同的常数。这正是幂律在预测中具有吸引力的原因:通过测量1000万参数模型与1亿参数模型之间的关系,就能大致推断出从100亿参数模型到1万亿参数模型的变化趋势。
标准形式与逆形式
其基本形式为 y = a * x^p,其中 x 和 y 是两个变量,而 a 和 p 是从数据中拟合得到的常数。当指数为正时,y 会随着 x 的增大而增大。在普通坐标轴上,该曲线呈向上弯曲的形态;而在对数坐标轴上则变为直线,因为取对数后 log y = log a + p * log x 就会变成斜率为 p 的线性方程。正因如此,科学论文中的图表几乎总是采用对数坐标轴来绘制。
不过,在LLM相关论文中看到的曲线趋势却是相反的:资源越多,损失越低。这符合反幂律关系,即 y = a * x^(-p),只不过指数为负数。改变指数的符号就会使曲线形状发生变化,在对数坐标系中就会呈现出发散向右下方的特征直线。当论文将损失与计算资源、数据量或参数数量的关系绘制成一条平滑的下降曲线时,指的正是这种关系。请记住这一点,因为直线的平滑度其实是対数坐标系的特性所致,很多人对比例关系的误解都源于忽视了这一点。
第一项系统性研究:损失与参数、数据及计算资源的关联
2020年之前的未解问题
最初的GPT出现时,规模的重要性并不明显。语言模型虽具潜力但能力有限,且当时还没有明确的改进方法。有几个问题尚无定论:网络的架构,即层数以及每层的宽度,是否真的很重要?更大的模型是否一定能表现得更好?更大的模型需要多少数据?
2020年OpenAI发表的论文《神经语言模型的规模定律》试图通过测量测试损失对模型大小、网络架构、数据集规模、训练算力以及批量大小的响应来回答这些问题。该论文的核心发现是,在这三个因素中,损失都遵循幂律关系,而且某些趋势在超过七个数量级的情况下依然成立:
- 模型参数的数量。
- 数据集规模。
- 训练算力。
关键的一点是,每一种关系仅在另外两个量并非限制因素时才成立。在极小的数据集上训练的庞大模型并不符合参数曲线,因为数据已变成了瓶颈。
实验的开展方式
研究人员在规模从2200万到230亿个标记不等的WebText2语料子集上,预训练了参数量高达15亿的模型。所有模型都使用1,024个标记的上下文,并采用常规的下一标记预测目标,即基于词汇表的交叉熵损失函数。在保留的测试文本上测得的相同交叉熵值被用作主要的性能指标。这些方法并无特别之处,本质上就是大多数大型语言模型所采用的标准化预训练流程,这也解释了为何实验结果具有如此好的泛化能力。
拟合出的规律形态
随着参数、数据量和计算能力的增加,WebText2上的测试损失持续下降。这些变化涵盖了八个数量级的计算能力、六个数量级的模型规模以及两个数量级的数据集规模。拟合得到的方程与上述的幂律倒数形式类似,但表达方式略有不同:首项常数被设为1,而比例常数则位于括号内。例如,对于模型规模,其表达式为L(N) = (N_c / N)^alpha_N,其中N表示参数数量,N_c是拟合常数,alpha_N是拟合指数。对于数据集规模D和计算能力C也存在类似的表达式。
要获得整齐的拟合曲线,有一个细节需要注意:位置嵌入表和令牌嵌入表中的参数不会被计入统计。若将它们纳入计算,趋势线会显得更加杂乱;而仅统计非嵌入参数则能得到整齐的直线。如果你试图重现比例图,这类统计处理方式可能会悄然改变你的结果。
由于每条规律都假设其他因素并非瓶颈,因此实际操作中应同时对这三者进行比例调整。只调整其中一项,很快就会遇到收益递减的问题。
不使用对数刻度读取曲线
对数-对数图看起来极为线性,容易让人产生过于乐观的解读。若将相同的拟合规律绘制在普通坐标轴上,其形态会完全改变:曲线起初会急剧下降,随后趋于平缓,看起来很像指数衰减。
这一点很重要,因为许多流行的评论都暗示了相反的直觉,仿佛模型质量呈指数级提升,而计算资源仅以对数级增长。但数学事实却更为冷静:每次进一步降低损失都需要成倍增加资源,因此随着进展深入,要实现性能提升的成本会逐渐且显著地上升。在对数-对数坐标图上呈现的直线意味着“十倍的计算资源只能带来固定比例的性能提升”,而非“稍多一些的计算资源就能带来大幅度的质量提升”。
形状几乎无关紧要,规模则至关重要
除了这三种幂律关系外,该论文还发现,与原始尺度相比,深度与宽度之类的架构选择对损失的影响微乎其微。更多的参数、更多的数据以及更强的计算能力才能带来平稳且可靠的改进;而调整网络的比例几乎无法产生显著效果。
研究人员还发现,规模更大的模型在样本利用效率方面更高。与较小模型相比,更大模型在处理更少的标记数后就能达到相同的损失值。从纯粹的训练计算角度来看,这暗示了一种非传统的策略:在相对有限的数据量上训练非常大的模型,并在它收敛之前就停止训练。从计算效率而言,这确实是训练上的最优选择,但却忽略了训练之后的问题。由于大型模型在处理每个请求时都需要较高的成本,因此在实际应用中,团队通常会采取相反的做法,即在更多数据上训练较小的模型,因为较小模型的托管成本要低得多。
该论文还研究了数据集规模应如何随模型规模一同增长,并得出结论:数据增长速度可以慢于参数增长速度。大致而言,要将模型规模扩大约八倍,只需增加大约五倍的数据量即可避免过拟合。(这一比例源于所建立的关联关系,即数据需求量随模型规模的略小于一的幂次方增长。)请记住这一建议,因为后来Chinchilla研究推翻了它。
最后,通过在损失函数中加入固定偏移量以弥补不同数据分布带来的差异,同样的规律在其他多个评估数据集上也得到了验证。综合这些结果可以有力地证明:当模型规模、数据量和计算资源得到适当调整时,语言建模的效果会以平稳且可预测的方式提升,而且更大的模型不仅性能更好,样本效率也更高。正是这一结论为后续大规模的预训练工作提供了依据。
实验室如何实际运用缩放规律
大规模预训练的优势伴随着一个令人困扰的弊端:要获得最佳效果,就需要庞大的模型和数据集,而这样的训练成本极高。试想,仅一次训练就要花费数千万美元,结果却发现模型效果不尽如人意。以这样的成本,根本无法对完整规模的模型进行反复调试;在开始之前就必须确信当前的配置能够奏效。
标度律正是提供这种信心的工具。除了证明这些关联确实存在之外,它们还为研究人员提供了具体的工作流程:
- 在多种设置下训练一系列规模较小的模型。
- 根据这些小型模型的表现拟合标度律。
- 利用拟合得到的律值来预测更大规模模型的表现。
这一方法并非万无一失。从少量实验结果推导到大规模实验时可能会出现误差,而且某些行为会随着规模变化而呈现小型模型无法发现的特征。为提高从小规模到大规模的推导可靠性,人们开发了超参数迁移等技术,而在低成本实验中拟合比例定律现已成为常规做法。除了降低技术风险外,可靠的预测还能让支付费用的一方更易于认可大规模实验的预算合理性。
有一个判断是否不可信赖此类推导的实用经验法则:如果小型实验的覆盖范围没有达到至少几个数量级,或者在小规模实验与大规模实验之间改变了数据组合、分词器或架构,那么所拟合的常数可能不再适用。比例定律的价值完全取决于在其他条件保持不变的情况下才能体现。
预训练时代的规模扩展:从GPT-3到GPT-4
一旦规模扩展规律被确立,进步的路径就变得简单得近乎可笑:在更大、更干净的数据集上训练更大的模型。OpenAI在GPT系列中遵循了这一路径,其他大多数知名模型也是如此。Ilya Sutskever后来将这一时期称为“预训练时代”,其特点是使用极其庞大的数据集来训练规模巨大的网络。
GPT系列作为规模扩展实验
GPT系列是这些理念最著名的应用实例。此处主要讨论GPT-3之前的模型,原因有二:其一,这些模型的详细信息已公开发布;其二,后续模型的改进在很大程度上得益于训练后的技术进步,而不仅仅是预训练规模的扩大。如果您想了解每一代产品为应用开发者带来了哪些变化,可参阅我们的指南从GPT-1到推理模型:每一代为开发者带来了什么变化;该指南重点阐述的是每一步进展对模型规模扩展的意义。
GPT以今天的标准来看规模很小:仅有12层结构,参数量为1.17亿。它最初在BooksCorpus上进行预训练,该数据集包含约7,000本书的原始文本,之后又针对不同的下游任务分别进行微调,每个任务都配有监督目标函数和专门的分类头。这是最早展示仅解码器结构的Transformer模型进行大规模自监督预训练的案例之一,同时也揭示了几个重要规律:
- 在纯文本上进行自监督预训练效果极为出色。
- 对较长且连续的文本段落进行训练非常重要。
- 通过这种方式预训练得到的模型可以通过微调在多种任务上达到顶尖的准确率。
该模型本身并无特别突出之处,但它确立了两个关键要素——仅解码器结构的Transformer模型与自监督预训练——后续的研究正是基于这些要素将模型规模扩展到了更大程度。
GPT-2紧随其后问世,是一组参数量高达15亿的模型。其架构和训练目标与GPT相同,但有两点变化:
- 预训练使用了WebText,这是一个从互联网上爬取的数据集,规模远大于BooksCorpus。
- 没有进行针对特定任务的微调,而是通过直接提示预训练模型来零样本解决任务。
GPT-2在大多数基准测试中并未达到最先进的水平,但随着模型规模的扩大,其性能持续提升,这充分证明了增加参数确实有效。同样重要的是,即便是最大的GPT-2版本似乎仍无法充分适配WebText数据集。这说明还有提升空间:进一步扩展模型规模和数据量应该会持续带来改善。GPT-2的相关论文还提出,具备足够容量的语言模型会开始推断并执行其在自然语言中看到的任务,因为这样做有助于其更准确地预测文本。这一观点加上实测到的发展趋势,让研究人员有信心继续深入研究。
GPT-3的出现成为了决定大规模预训练是否值得的转折点。它拥有1750亿个参数,是最大规模GPT-2的100多倍。其架构依旧为仅包含解码器的变换器结构,与前辈类似,但训练数据量大幅增加:这些数据基于CommonCrawl构建,规模约为WebText的十倍,并与其他几类数据源混合在一起。
GPT-3主要通过少样本提示方式进行评估,这一点需与早期的方法区分开来:
- GPT采用微调方式,为每项任务更新权重。
- GPT-2则使用零样本提示,无需示例即可描述任务。
- GPT-3则采用少样本提示,在提示中给出少量已解决的示例。
GPT-3的相关论文将这种现象称为“上下文学习”。不过这个名称有些误导,因为实际上并没有发生通常意义上的学习:模型的权重根本没有变化。提示中的示例仅仅起到上下文的作用,引导模型产生更好的输出。事实证明GPT-3在这方面表现极为出色,这表明上下文学习是一种随着模型规模扩大而出现的特性。
在各类语言理解评测中,少样本任务的准确率会随着模型规模的增大而提升。更大的模型能够比小型模型更高效地利用上下文窗口中的信息,在多项任务上GPT-3的少样本表现甚至超越了此前的最佳水平,且其性能还会随着模型规模的扩大而持续提升。仅通过改变提示语,同一个模型就能在如此多的任务中取得优异成绩,这在当时实在令人惊叹。GPT-3成为了最早一批真正的基础模型之一,同时也推动了提示工程成为人们与大型语言模型交互的主要方式。
GPT-3之后:训练后处理占据更重要地位
GPT-3引发了人们对大型语言模型的热烈关注,人们主要关注更大规模的预训练。OpenAI后续推出的InstructGPT、ChatGPT和GPT-4将大规模预训练与新的训练后方法相结合,即监督式微调以及基于人类反馈的强化学习(RLHF),这些方法带来的质量提升使人工智能受到了主流领域的重视。GPT-4的技术报告将其描述为一种在下一个词元预测上进行预训练的Transformer模型,其训练后的对齐机制提升了内容的真实性及对预期行为的遵循程度。
大约在这段时间,OpenAI的发布频率大幅降低。通过API推出的模型不再附带详细的论文,不过仍有一些信息可供查阅。ChatGPT的直接前身InstructGPT有一篇论文详细介绍了其训练后的处理流程,该论文指出GPT-3是其基础模型。因此可以合理推断,InstructGPT的性能提升主要来自训练后的优化,而非更长时间的预训练。
GPT-4显然比ChatGPT更具能力,但其技术报告披露的信息非常有限。报告仅确认了以下几点:
- 该模型属于Transformer架构。
- 它通过下一个词元预测进行预训练。
- 训练数据来源于公开资料及经授权的第三方数据。
- 它通过RLHF技术进行微调。
尽管如此,规模扩展仍是那份报告的核心内容。一个重要的工程目标就是构建一种在不同规模下都能表现出稳定行为的训练框架,这样通过小规模测试得到的结果就可以用来推断大规模且成本极高的最终训练结果。报告指出,经过适当训练的大型模型的最终损失可以通过训练计算量的幂律关系来很好地近似表示。
这就是早先提出的实际工作流程,如今也被应用在前沿研究中。由于完整的预训练成本极高,实际上只能进行一次尝试,没有空间进行针对特定模型的调整。因此,该团队使用仅为原来1,000到10,000倍的计算量来训练模型,为其拟合幂律关系,再利用这些规律来预测大型模型的性能。GPT-4的报告正是如此,它使用了计算量与损失之间的幂律关系来预测GPT-4的最终损失。
与之前相比,拟合后的方程多出了一个项:一个不可约损失项,使其形式变为 L(C) = a * C^b + c。常数 c 能体现损失值永远无法降至零这一事实,因为自然文本包含模型无法预测的真正随机性。通过对少量数据应用该模型,GPT-4 最终损失值的预测结果非常准确。另外请注意,此图使用的是线性坐标轴,收益递减的现象一目了然:随着计算资源增加,每单位计算资源带来的改进幅度明显缩小。
该报告也承认原始损失数据难以解读,因此试图预测更有意义的指标。其中一个例子就是HumanEval编程基准测试的通过率。这些题目按难度被分到不同的组别,然后通过拟合标度律来预测每组的通过率。该团队仅使用计算量约为原来的千分之一的训练次数,就准确预测出了GPT-4在HumanEval测试中的通过率。
这一系列研究得出的结论始终如一:虽然大规模预训练需要投入更多成本,但其价值值得;而标度律使得我们可以足够准确地预测结果,从而避免在无法产生有效结果的训练上浪费计算资源。
Chinchilla:模型面临数据匮乏的问题
2020年的研究建议以快于数据增长的速度提升模型参数。在GPT-3问世后的那段时间里,该领域大多遵循这一建议,但结果并不理想。那些参数远超GPT-3的模型,比如拥有5300亿参数的MT-NLG,虽然是在与GPT-3规模相当的数据集上训练的,却仍无法超越它。与此同时,那些同时增加参数量和数据量的模型,如DeepMind的Gopher,表现则明显更好。
这些观察结果促使人们开展了“训练计算最优的大语言模型”以及“Chinchilla”研究,它们从零开始重新探讨了模型规模扩展的问题,并采用了规模更大的实验:在超过一万亿个标记的数据集上训练参数量从7000万到170亿不等的模型。通过测试多种模型规模与数据量组合,研究人员得出了一个能同时预测这两类因素对模型损失影响的规律。根据这一规律,就可以在固定的计算预算下确定最佳的资源配置方案。
他们的结论是,计算最优的训练应当使模型规模和数据规模以相同的比例增长。按照这一标准,大多数现有的大型语言模型相对于其规模而言训练不足,它们需要更多的数据才能获得更好的性能。所建立的规律表明,例如Gopher应该在一个规模大约是其两倍的训练数据集上接受训练。论文还明确指出,这一标准要求的数据量远远超出了当时实际使用的数量。
为验证这一观点,该团队训练了Chinchilla,这是一种拥有700亿参数、基于1.4万亿个标记训练的模型。它使用了与Gopher相同的数据和评估方案,但规模仅为Gopher的四分之一,且训练时使用的数据量要多得多,其性能始终优于Gopher。
Chinchilla的缩放定律多年来一直被视为参考标准。“Chinchilla最优”一词进入了该领域的日常用语,尽管此后出现了大量关于缩放的研究,这篇论文仍被频繁引用。
明确“Chinchilla最优”的含义非常重要,因为它经常被误用。它描述的是在固定训练预算下的最佳损失值,而与推理成本无关。那些希望让模型被调用数十亿次的团队,可能会刻意训练出规模小于Chinchilla比例所要求的模型,从而接受效率较低的训练过程,以换取在部署时更低的成本。这种权衡在后面还会再次出现。
GPT-4o之后关于缩放发展遇阻的争论
随着2024年下半年模型性能提升的速度放缓,规模扩展问题变得愈发引人关注。在以往几年里,规模扩展几乎推动了所有进步,但如今越来越多的报告表明这一趋势可能正在停滞:
- 路透社报道称,OpenAI在现有方法达到瓶颈后正在调整其产品策略。
- The Information指出,GPT系列模型之间的性能提升速度正在放缓。
- Bloomberg描述了多个前沿实验室在构建更具能力的系统方面面临的困难。
- TechCrunch认为,规模扩展带来的收益正在逐渐减少。
- 《时代》杂志发表了一篇更为客观的文章,分析了认为进展放缓的各种因素。
- Ilya Sutskever在2024年NeurIPS大会的“时间考验奖”颁奖演讲中表示,我们目前所熟知的预训练方式将会终结。
其他知名人士则持不同意见。Anthropic的首席执行官达里奥·阿莫代表示扩展趋势可能会持续,而OpenAI的萨姆·奥尔特曼则坚称并不存在瓶颈。与其选边站队,不如弄清楚研究实际上支持什么观点,因为双方都有部分道理。
扩展速度在放缓吗?这取决于衡量标准
内森·兰伯特对此做了简洁的阐述:从技术层面看,扩展仍在发挥作用,但用户感受到的改进速度却在放缓。对于“扩展速度是否在放缓?”这一问题的诚实回答取决于定义,而且“是”与“否”都可以找到依据。因此,与其强行下结论,不如分别探讨几个独立的问题。
数学模型本身就蕴含收益递减的规律
回想一下缩放定律的实际含义:训练计算资源(或模型规模、数据量)与测试损失之间存在幂律关系。它并不能保证通过少量额外的计算资源就能获得指数级的提升。在常规坐标轴上绘制的曲线看起来像是指数级衰减,而且每一次进一步的改进所需成本都高于前一次。
换言之,缩放定律本身就是设计成逐渐平缓的。人们所观察到的性能提升放缓,在很大程度上正是这些公式所预测的结果。如果依据缩放定律进行规划,就应该预期每一代新模型都需要以更高的资源投入才能获得更小的绝对提升。
损失并非大家真正关心的指标
还存在测量上的不一致。虽然有缩放律可用于拟合预训练阶段的测试损失,但更低的损失究竟意味着怎样的能力提升却并不明确。它是否意味着在下游任务中能有更高的准确率?是否会产生新的能力?关于过训练的研究指出,从业者通常是根据下游基准测试的准确率来评估模型,而非根据保留样本的困惑度。因此,这里存在两种观点之间的差距:
- 缩放律表明,更长时间的预训练会使测试损失稳步下降。
- 人们所追求的则是一个“更好”的模型,无论他们如何定义“更好”。
这一定义存在巨大差异。普通用户大多依据聊天质量来评判。从业者则关注其执行特定任务时的准确性。前沿实验室的研究人员往往设定极高且极为具体的标准,比如撰写博士论文或解决类似FrontierMath基准测试中的研究级数学问题。由于大语言模型的应用范围极为广泛,因此存在多种有效的评估视角,没有任何一种能够涵盖所有方面。
鉴于这种差异,任何关于规模扩展是否“有效”的说法都难免存在争议。明确的成功标准有助于解决这一问题。如果科学预测更大规模的模型能降低损失,但这并不意味着每个新模型都能满足所有用户的需求。未能实现通用人工智能,或无法超越那些获奖的数学家,也并不表明从技术层面来看规模扩展已不再有效。人们所感受到的进展放缓,在很大程度上其实是预期与认知的问题,而非底层规律失效所致。
数据供应是有限的
反对继续扩大预训练规模的最有力论据在于数据问题。要扩大预训练规模,就必须同时增加模型规模和数据集规模。2020年初的研究认为数据的重要性低于参数,但Chinchilla研究表明数据的重要性与参数相当。此外,后来关于过训练的研究指出,由于大型模型在推理时的成本较高,人们通常会使用远超过Chinchilla所推荐的理想数据集规模的较小模型进行训练,而这种做法要求每个参数对应更多的数据。
所有这些都指向一个结论:要进一步扩大预训练规模,就需要更大的数据集。而目前大多数预训练数据都是通过爬取网络获得的。互联网仅有一个,要找到如此大规模的高质量文本全新来源实属困难。
苏茨克弗正是提出了这样的观点:计算能力发展迅速,但数据量却没有,因为数据依赖网络爬取。按照这种看法,预训练无法无限扩展,该领域需要新的发展路径。他用“数据已达峰值”来形容这一状况。
预训练仍可扩展的途径
收益递减确实存在,数据方面的论点也很有道理。即便如此,仍有几条研究方向能够提升预训练的效果。
合成数据与更高效的数据利用
若要将预训练的规模再提升几个数量级,很可能需要合成数据。确实存在这样的担忧:过度依赖生成的文本会降低数据的多样性,但目前合成数据在大型语言模型中的应用已越来越广泛,且效果似乎相当不错。与此同时,通过课程式训练方法以及持续的预训练,通过调整数据而非模型本身——例如调整数据组合或在预训练接近尾声时添加指令类数据——也取得了显著的提升。
人们易于理解的度量标准的发展规律
基于损失值的法则难以付诸实践,因此近期的研究致力于将法则与更易理解的目标相对应。之前提到的过训练研究,其法则的目标是LLM Foundry附带的评估工具中的得分,而非原始损失值,这样更便于理解。很少有人知道测试损失降低5%在实际中意味着什么,但若某个基准测试的准确率从85%提升到90%,则很容易被理解。其他研究则进一步将这一理念扩展到预测训练后及量化后的性能,以及模拟预训练过程中的性能变化。
DeepSeek-V3——规模优势依然有效的证明
尽管存在悲观情绪,预训练的规模扩展仍会带来性能的阶段性提升。DeepSeek-V3是一款拥有6710亿参数的专家混合模型(MoE),在14.8万亿个标记上经过训练,并以开放权重形式发布。其技术报告表明,在相关测试基准中,该模型的表现优于GPT-4o和Claude 3.5 Sonnet。作为对比,Meta的Llama 3系列模型则在超过15万亿个标记上进行了训练。
能够超越GPT-4o对于开放权重模型而言是一个重要的里程碑,即便是最大的Llama模型也尚未达到这一水平。DeepSeek-V3结合了多种技术:
- 从DeepSeek-V2继承而来的优化版MoE架构。
- 一种不依赖辅助损失函数的专家负载均衡策略。
- 多标记预测训练目标。
- 借鉴OpenAI的o1理念,从长链思维模型中提取推理能力。
它还经历了训练后的优化过程,包括监督式微调与RLHF,以使其更符合人类偏好。报告指出,基于14.8T令牌的预训练过程极为稳定,没有出现无法恢复的损失峰值,也不需要回退操作。
不过,其强大的核心原因还是规模巨大:在相应庞大的数据集上训练出的超大型模型。如此规模的训练因硬件故障、损失峰值等诸多原因而困难重重,因此能在大语言模型标准下以合理成本实现稳定运行本身就已十分难得。这表明随着时间推移,超大规模的预训练任务正变得越来越容易管理且效率更高。请将具体的基准测试对比视为某一时刻的现状,因为自那以后排名榜已发生变化。
再提升一个数量级则属于工程项目
真正进一步测试扩展定律意味着要训练规模比当前大几个数量级的模型。无论你如何看待其价值,都存在诸多实际的制约因素。这需要:
- 更大的计算集群。
- 更多且更先进的硬件。
- 极其庞大的电力供应。
- 新的算法,例如用于更大规模分布式训练的算法,可能涉及多个数据中心。
下一代模型的发展并非仅仅购买更多GPU那么简单,而是一项多学科的工程任务,需要时间。作为参考,GPT-4于2023年3月问世,距离GPT-3已有近三年时间。预计每实现10到100倍的规模提升,都需要类似甚至更长的时间。Epoch AI的Ege Erdil很好地总结了这一规律:每增加一个数量级就需要相应的创新。
当预训练停滞时进步的来源:强化学习与测试时计算
仅作为假设,假如明天预训练的收益就停止了,人工智能研究依然有充足的空间实现快速进展。合成数据已是其中一种方法,目前还有两种方法尤为活跃:
- 大语言模型系统与智能体。
- 推理模型。
利用大语言模型系统提升现有模型的性能
超越单次调用模式
目前大多数大语言模型应用都采用单模型模式:将任务发送给一个模型,直接使用其输出作为答案。如果希望该系统能更准确地处理更复杂的任务,显而易见的办法是使用性能更好的底层模型,但这意味着要等待下一代模型的推出。另一种方法是构建一个结合多个大语言模型调用或其他组件的系统来完成任务。
分解与串联
大语言模型系统的核心思想是将复杂任务拆分成模型或其他模块更容易处理的各个部分。主要有两种策略:
- 任务分解:将任务拆分为子任务,分别独立解决,再将结果整合为最终答案。
- 串联处理:通过一系列大语言模型调用而非仅一次调用来完成任务或子任务。
它们可以单独使用,也可以结合使用。以总结书籍内容的系统为例,可以先通过总结每一章的内容来分解任务。之后可以选择:
- 进一步分解,将章节拆分成更小的文本片段,这就是递归或分层总结的思路。
- 串联调用,例如先通过一次调用提取章节中的关键事实,再通过另一次调用根据这些事实撰写章节总结。
最后,再通过一次调用将所有章节总结合并为整本书的总结。大多数复杂的任务都可以通过这种方式拆解为简单的部分,这也正是大语言模型系统如此强大的原因。随着分解和串联方式的日益复杂,这些系统便变成了功能完备的软件,而如何设计这类系统本身也是一门重要的应用人工智能领域。
打造人们真正会使用的产品
尽管大语言模型备受关注,但实际被广泛应用的场景仍然很少。目前最主要的用途还是代码生成和聊天,这两者都是该技术较为合适的应用领域。
还有很多领域大语言模型本可以发挥作用,但目前尚未实现,因此开发真正有用的基于大语言模型的产品本身就是一个重要的研究和工程难题。具备相应能力的模型已经存在,但要将它们变成人们愿意使用的工具则是一项不同的挑战,关键在于围绕这些模型构建可靠、高效的系统。
智能体:工具与动作
大型语言模型系统与智能体之间的界限并不清晰,部分原因在于“智能体”这一术语已被过度使用。关键在于,大型语言模型系统可以在许多有用的方向上进行扩展。可以训练模型在解决问题时调用各种工具,比如计算器或搜索引擎;它还可以运行自己编写的代码,或代表用户执行操作,例如预订酒店或发送邮件。能够附加到模型上的工具和模块种类极为丰富,这为构建功能更强大的系统提供了几乎无限的可能。如果您想了解智能体循环的具体结构,我们的关于目标、工具、内存及智能体循环的指南中有详细说明。
稳定性才是真正的瓶颈
可靠性是提升系统性能的最大障碍之一,数学原理可以解释其中原因。假设一个系统进行了十次大型语言模型调用,每次调用的成功率为95%,且只有全部十次调用都成功时最终结果才是正确的。由于0.95^10大约等于0.60,因此整个系统的成功率仅约为60%。虽然每个组件单独来看都似乎可靠,但整个处理流程在十次尝试中仍有四次会失败。
增加更多步骤会呈倍数级地使问题恶化,从而限制了系统在变得无法使用之前的复杂程度。因此,构建更庞大的系统就需要让每个组件都具备更高的可靠性。有证据表明,规模本身就能提升系统的稳健性。另一个有效方法则是改进元生成算法。这类算法不会仅从模型中获取单个样本,而是通过并行解码、逐步骤验证以及反馈评估等技术,得出更为精细准确的输出结果。关于这一领域的全面综述可见论文《从解码到元生成:大型语言模型的推理时算法》。
这项研究进展迅速,很可能会成为推动技术进步的重要力量。随着元生成技术的提升,模型将变得更加可靠,而更复杂的大型语言模型及智能体系统也将逐步实现实际应用。
对于任何构建此类系统的人来说,一个实际的建议是:在流程中增加新步骤之前,先通过将各步骤的成功率相乘来估算端到端的成功率,同时考虑通过添加验证或重试步骤来提升最薄弱的环节,是否比在其他地方增强功能更为经济。
推理模型与新的扩展维度
早期的大型语言模型常被视作只会记忆数据、无法真正进行推理的模式匹配器。但近年来这一批评已大多被推翻。目前的观点是,这些模型很可能一直都具有潜在的推理能力,只是需要合适的提示或训练方法才能将其激发出来。
思维链
思维链(Chain-of-thought, CoT)提示法是最早展现这一效应的技术之一。它纯粹是一种提示方法:在让模型给出最终答案之前,先要求其解释推理过程。当模型在回答前逐步阐述推理依据时,其推理性能会显著提升。另一个好处是这些推理过程便于人类理解,从而使输出结果更易解读。
这一理念简单且通用,现已成为提升大语言模型推理能力的核心手段。它已被以多种形式重新应用:
- 作为评估者的模型通常会在给出最终分数之前撰写评分依据。
- 人们还开发了监督微调与指令微调方法,旨在帮助规模较小或开放式的模型生成更完善的思维链。
复杂推理仍是一个发展迅速的研究领域。那些教会模型在推理过程中加入逐步骤验证的训练方法已展现出良好的效果,随着更优的训练策略的出现,其效果还有进一步提升的空间。
o1:先思考再回答
OpenAI的o1是大型语言模型推理能力发展中的重要一步,其工作原理基于思维链。就像人在回答难题之前会先思考一样,o1在回应之前也会花时间“思考”。具体而言,它的思维表现为漫长的思维链,模型通过这些思维链逐步分析问题、将其分解为更简单的步骤、尝试不同的解决方法,并纠正自身的错误。OpenAI称其为通过强化学习训练出来的具备推理能力的模型,能够在回复之前形成冗长的内部思维链。
具体的训练方案尚未公开。OpenAI表示,o1是通过一种“大规模强化学习”算法来学习推理的,该算法“数据效率极高”,且旨在提升模型生成有用思维链的能力。OpenAI研究人员的公开评论表明,该模型是采用纯强化学习方式进行训练的,这与此前关于o1在推理时会进行某种树搜索的猜测不符。
在需要强推理能力的任务上,o1几乎在所有方面都优于GPT-4o。根据OpenAI公布的结果,该模型:
- 在Codeforces的编程竞赛题目中得分处于第89百分位。
- 在作为美国数学奥林匹克竞赛选拔赛的AIME考试中,表现相当于美国前500名学生的水平。
从o1到o3:训练与推理计算能力的扩展
o1最有趣的特性之一在于,通过增加推理计算资源可以提升其推理能力。为了解决更复杂的问题,模型会生成更长的思维链,而在推理阶段为这些更长的思维链投入更多计算资源,就能使推理性能得到稳步提升。据OpenAI称,o1的性能会通过两个独立参数持续改进:训练过程中使用的强化学习量(训练时计算资源)以及每道问题允许的思考时长(测试时计算资源)。
训练情况也是如此:随着更多计算资源投入强化学习,o1的性能会持续提升。显然,o3正是通过这条路径发展而来的。OpenAI在2024年底展示了o3的评估结果,但并未透露太多细节。鉴于它仅在o1出现约三个月后出现,很可能是通过在强化学习上投入更多计算资源而升级版的o1。
在那个预览阶段,o3尚未正式发布,但预览数据十分惊人:
- 在ARC-AGI基准测试中取得了87.5%的得分,而GPT-4o的得分仅为5%。这使o3成为首个在ARC-AGI上突破85%人类水平阈值的模型。ARC-AGI被誉为AGI领域的“北极星”基准测试,已有五年多时间无人能超越该阈值。这一优异成绩得益于高配置的计算资源。
- SWE-Bench 测试的准确率为 71.7%,Codeforces Elo 分数为 2727,这一成绩足以使其跻身全球前 200 名竞技程序员之列。
- 在 Epoch AI 的 FrontierMath 基准测试中准确率为 25.2%,而此前的最佳成绩仅为 2.0%。陶哲轩曾称该基准测试极为困难,预计至少几年内人工智能系统都难以突破它。
与此同时还发布了简化版本 o3-mini,其测试结果表现优异且计算效率更高。这些数据仅来自首次发布时的预览,如需了解正式发布模型的表现,请查阅最新文档及独立评测。
为何这属于一种新的扩展范式
如果 o1 和 o3 的图表看起来很眼熟,那是因为它们正是本文一直在探讨的同一类图表:x 轴为对数刻度,性能则呈平滑的上升趋势。换句话说,这些推理模型显示出性能与两个量之间存在明显的幂律关系:
- 用于强化学习的训练阶段计算资源。
- 用于思考的推理阶段计算资源。
这与传统的缩放定律不同。传统定律关注的是预训练阶段的缩放,而这里关注的是训练后及推理阶段的计算资源缩放。这是一种真正全新的缩放维度,目前的研究结果十分有力,表明存在超越预训练阶段的缩放方法,该领域也找到了下一个需要攻克的目标。虽然表现形式可能会变化,但缩放依然是推动进步的关键因素。
有一个工程上的重要结论值得明确说明:当模型质量与推理计算能力成正比时,每次请求的成本和延迟便可以当作可调节的质量控制参数,而非模型固有的属性。这改变了应用程序的预算与设计方式——复杂的查询可以被分配更长的推理时间,而简单的查询则保持较低成本。
阅读扩展性图表时需记住的事项
- 扩展性定律指的是资源(参数、数据或计算能力)与测试损失之间的幂律关系。对数坐标图上的直线会掩盖收益递减的趋势,因此每进一步改进所需的成本都会呈倍数增长。
- 这些定律仅在其他因素不是瓶颈时成立,正因如此,数据、参数和计算能力必须同步增长。
现在重要的问题不再是扩展是否持续,而是哪些资源在扩展,以及这些改进是否体现在你真正关心的指标上。