论文图解 04 / 语言模型 · 规模规律

Scaling Laws

规模变大,语言模型会怎样?

Jared Kaplan、Sam McCandlish 等2020arXiv: 2001.08361

模型、数据与算力增加时,测试损失沿着可估计的曲线下降。

阅读论文原文
浅绿色立体网格上的六个球沿曲线依次下降,表示模型规模增加时测试损失逐渐降低
L(N) ∝ N−α
模型规模 ↑测试损失 ↓

论文前言

2020 年,Jared Kaplan、Sam McCandlish 等人发表了《Scaling Laws for Neural Language Models》。他们通过语言模型实验,研究测试损失如何随模型参数量、训练数据量和训练算力变化,发现在论文考察的范围内,这些关系近似遵循幂律。这项研究让规模扩展带来的效果更容易估计,也为后续研究如何分配模型、数据和算力提供了重要参考。

01 / 先看懂它在做什么

小学生也能看懂的解释

想象教一个小朋友玩“猜下一个词”的游戏。

1

看很多例子

读大量句子,记住常见的词语搭配。

摊开的书,代表训练用的许多句子

“今天天气真不错。”

2

从例子里找规律

读得越多,越知道哪些词常接在一起。

读书的小朋友,代表从文本里学习规律

“今天天气……”后面可能是什么?

3

猜下一个词

根据学到的规律,给候选词分配概率。

举手猜答案的小朋友,代表预测下一个词

“真”比“不”更可能接在后面。

论文研究的是:把模型做大、让它读更多内容,或者投入更多计算后,它猜错的程度会怎样变化?

02 / 动手实验

看看规模如何影响测试损失

选一个变量,拖动滑块,观察对应的曲线。

下图按论文报告的幂律指数归一化绘制,用来理解趋势。算力曲线指最优分配时的计算效率前沿;这些曲线不是原始实验数据,也不能直接相加预测同一个模型。

模型参数 N

网络里可学习的数字有多少

100 倍参数量
1×10,000×
训练数据 D

训练时读了多少文本

100 倍训练 token
1×10,000×
最优训练算力 Cₘᵢₙ

按论文研究的最优方式分配计算

100 倍计算量
1×10,000×

不同因素的规模定律

横轴:规模增加的倍数 · 纵轴:相对测试损失

双对数坐标

选择的变量增加到 100 倍 时,示意曲线上的相对损失约为 70%。基准点设为 100%。

你会看到

边际收益递减

规模每增加相同的倍数,损失仍会下降;但想把损失再降低同样多,往往需要更大的规模投入。

这里的“损失”衡量模型预测下一个词时的不确定程度,越低越好。

03 / 一起扩展

别只拧一个旋钮

模型、数据与算力彼此关联。单独增加其中一个,其他瓶颈不会自动消失。

只增加模型,数据仍很少

模型有更多参数,却没有足够多的训练例子;继续增大模型,额外的收益会受数据限制。

模型
更大
+
少量
数据
损失较高

模型与数据相互配合

给更大的模型足够的训练数据和算力,才能更充分地利用扩展带来的潜力。

模型
更大
+
更多
数据
+
充足
算力
损失更低

04 / 资源分配

固定算力怎么分?

训练预算有限时,参数量与训练步数需要取舍。

这张图说明 2020 年论文的结论:在它研究的模型、数据与训练设置中,较大的模型即使训练较少步,也能更有效地利用固定计算预算。这里不使用原论文的数值坐标。

不同训练策略的对比 固定算力

较大的模型在较少步数处停止,在论文研究的设置中损失更低。

归一化机制示意 · 曲线不是论文原始实验数据

05 / 影响与边界

它改变了什么?又不能说明什么?

Kaplan 2020 与 Chinchilla 2022

这篇论文让“扩大多少规模会得到怎样的测试损失”变得可估计。后来 Chinchilla 在新的设置下重新研究固定算力的分配,发现许多大模型训练时见过的数据偏少,提出模型参数与训练 token 数应更均衡地一起增长。

2020Kaplan 等

在其设置下,计算最优策略倾向更大的模型、较少训练步数。

2022Chinchilla

在新的研究范围内,参数量和训练 token 数宜近似同步扩展。

阅读 Chinchilla 原论文

测量的是什么?有哪些边界?

  • 测量的是测试损失。它衡量预测文本的误差,不能单独代表推理、可靠性或实际使用体验。
  • 幂律是经验拟合。在论文考察的模型和数据范围内成立;换任务、数据和训练方法,需要重新验证。
  • 固定算力结论依赖条件。2020 年的建议不应直接当成今天所有模型的训练处方。