常州做网站代理商,网络建站公司源码,国家城乡建设网站,网站备案后有可能会被注销吗本文介绍 LLM 训练过程中重要的 Scaling Laws#xff0c;这是一个经验规律#xff0c;指出了固定训练成本#xff08;总计算量FLOPs#xff09; C C C 时#xff0c;如何调配模型规模#xff08;参数量#xff09; N N N 和训练 Token 数据量 D D D#xff0c;才能实现…本文介绍 LLM 训练过程中重要的 Scaling Laws这是一个经验规律指出了固定训练成本总计算量FLOPs C C C 时如何调配模型规模参数量 N N N 和训练 Token 数据量 D D D才能实现最高的效率。利用 Scaling Laws我们可以利用较小模型的训练经验预测更大模型的性能表现本文主要是对论文 Scaling Laws for Neural Language Models 的解析只关注汇总结果的话可以直接看第 5 节 文章链接Scaling Laws for Neural Language Models发表arxiv 2020作者OpenAI 摘要我们研究了 LM 在交叉熵损失上的经验缩放规律empirical scaling laws。测试损失随着模型大小、数据集大小和训练计算量的增加呈幂律减小有时这种趋势可以横跨七个数量级以上相比而言网络宽度或深度等其他架构细节在较大范围内几乎没有影响。过拟合与模型规模/数据集大小的依赖关系、训练速度与模型大小的依赖关系都可以用简单的方程进行描述这些关系使我们能够确定计算量预算的最佳分配方式。较大模型具有更高的样本效率因此在最高效的计算训练中应该在相对较少的数据上训练非常大的模型并在收敛之前很久停止训练stopping significantly before convergence 文章目录 0. 背景和方法0.1 Transformer 模型的参数量和计算量0.2 实验方法 1. Basic Power Laws1.1 模型形状基本不影响性能1.2 参数量和性能呈现幂律关系1.3 数据量 计算量和性能呈现幂律关系 2. 利用 Scaling Laws 计算避免过拟合所需的数据量2.1 参数量 N N N 和数据量 D D D 对模型性能的联合影响2.2 实验验证2.3 预测数据集尺寸以避免过拟合 3. 模型大小和训练时间的缩放定律3.1 拟合 B crit ( L ) B_{\text{crit}}(L) Bcrit(L), S min ( S ) S_{\min }(S) Smin(S) 和 C min ( C ) C_{\min }(C) Cmin(C)3.2 拟合 L ( N , S ) L(N,S) L(N,S) 4. 计算量的优化分配5. 总结 0. 背景和方法
0.1 Transformer 模型的参数量和计算量 原文符号有点乱直接引用前文的分析结论详见序列模型3—— LLM的参数量和计算量。首先给出符号约定 参数符号说明Decoder 层数 l l lToken 嵌入维度 d d dAttention 层嵌入维度 d d dMLP 隐藏层维度 4 d 4d 4d通常设置为嵌入维度4倍Attention head 数量 n n n要求其整除 d d d词表尺寸 V V V模型输入长度 s s s代表模型处理的上下文长度训练 batch data x \pmb{x} x张量尺寸 R B × s × d \mathbb{R}^{B\times s\times d} RB×s×d训练步数 S S S即模型参数更新次数交叉熵损失 L L L本文中主要指测试损失可用于指示模型性能batch_size B B B模型参数量 N N N训练数据量Token D D D训练计算量FLOPs C C C损失的幂律指数 α X \alpha_X αXScaling Laws 就是 L ( X ) ∝ 1 / X α x L(X)\propto1/X^{\alpha x} L(X)∝1/Xαx其中 X X X 可以是 N , D , C N,D,C N,D,C 之中的任意一个 Decoder-only Transformer 模型的参数量 N N N、计算量 C C C 和数据量 D D D 之间有以下关系 模型总参数量近似为 N ≈ 12 l d 2 N\approx 12ld^2 N≈12ld2对于一次训练迭代过程输入 token 数据量为 D B s DBs DBs总计算量FLOPs近似为 C ≈ 72 B s l d 2 C \approx 72Bsld^2 C≈72Bsld2训练过程中 N , C , D N,C,D N,C,D 之间有关系 C ≈ 6 N D C\approx 6ND C≈6ND
0.2 实验方法
模型主要考察 Decoder-only Transformer 模型GPT1同时也对 Encoder-Decoder Transformer 模型Universal transformers和 LSTM 等传统序列模型进行了小规模实验。除非特殊说明则上下文长度固定为 1024数据集使用 WebText2 数据集进行训练它使用字节对编码进行分词词表大小为 50257训练方法 优化自回归交叉熵损失损失具体设计为一条轨迹上所有 token 预测交叉熵损失的平均值除非专门说明使用 Adam 优化器进行训练 2.5 × 1 0 5 2.5 × 10^5 2.5×105 步 B 512 , s 1024 B512, \space\space s1024 B512, s1024除非专门说明所有训练过程的学习率调度为3000 步线性预热然后余弦衰减至 0 实验设置为了考察语言模型的缩放规律作者在大量不同设置下进行训练调整的参数包括 模型规模参数量 N N N 从 768 到 15 亿不等不含嵌入层参数数据集大小Token 数量 D D D 从 2200 万到 230 亿模型形状调整深度、宽度、注意力头和前馈维度等的设计并维持总参数量基本不变上下文长度大多数训练中为 s 1024 s1024 s1024但也会尝试了更短的上下文批量大小大多数训练中为 2 19 2^{19} 219
1. Basic Power Laws
1.1 模型形状基本不影响性能
当保持模型规模 N N N 固定时Transformer 性能对模型深度注意力头数和前馈网络宽度等的依赖性非常弱
1.2 参数量和性能呈现幂律关系
作者通过调整模型层数 l l l 和嵌入维度 d d d 设置了一系列不同参数规模的模型参数范围从小模型 ( l , d ) ( 2 , 128 ) (l,d)(2,128) (l,d)(2,128) 到具有十亿参数规模的大模型形状从 ( 6 , 4288 ) (6,4288) (6,4288) 到 ( 207 , 768 ) (207,768) (207,768)所有模型都训练到接近收敛并确保没有观测到过拟合 如图所示注意到考虑嵌入层参数时模型深度也会在总参数量之外影响性能规律不考虑嵌入层参数时性能和总参数量 N N N 具有稳定的幂律关系可以表示为 L ( N ) ≈ ( N c N ) α N L(N) \approx \left(\frac{N_c}{N}\right)^{\alpha_N} L(N)≈(NNc)αN 作者进一步考察了其他序列模型以及模型的泛化性能 作者验证了 LSTM 和 Encoder-Decoder 类模型都服从以上幂律关系 左图显示了 LSTM/Transformer 模型的参数规模与性能间的幂律关系从中也可发现 Transformer 模型总能用较少的参数量实现更好的性能右图显示了上下文长度和预测性能的关系可见 LSTM 仅在早期 Token 部分和 Transformer 模型性能类似长跨度下性能不如 Transformer 这里考察的是带有递归循环和参数复用结构的 Encoder-Decoder Transformer 模型 Universal Transformers可见参数量和性能间也满足幂律关系作者验证了模型泛化性能也服从以上幂律关系 左图显示了在 WebText2 上训练模型然后在多种数据集上测试的泛化性能表现显示出一致的幂律关系右图说明泛化性能仅取决于训练分布上的性能而与训练阶段无关
1.3 数据量 计算量和性能呈现幂律关系
作者发现数据量 计算量也都和模型性能呈现幂律关系如下所示 考察计算量 C C C 与性能的关系时左图作者先用充足的数据训练多种不同参数规模 N N N 的模型只收敛然后对任意给定的 C C C考察所有模型找到第 S C 6 N B S\frac{C}{6NB} S6NBC 步时最优的模型性能绘制为此需保持所有模型训练时 B B B 不变我们将在第 4 节进一步讨论更高效的训练方案。注意到幂律关系 L ( C ) ≈ ( C c C ) α C L(C) \approx \left(\frac{C_c}{C}\right)^{\alpha_C} L(C)≈(CCc)αC 值得注意的时以上幂律关系在 LLM 多模态任务中依然存在 考察数据量 D D D 与性能的关系时中图作者训练规模为 ( l , d ) ( 36 , 1280 ) (l,d)(36,1280) (l,d)(36,1280) 的模型直到收敛。注意到幂律关系 L ( D ) ≈ ( D c D ) α D L(D) \approx \left(\frac{D_c}{D}\right)^{\alpha_D} L(D)≈(DDc)αD
2. 利用 Scaling Laws 计算避免过拟合所需的数据量
第一节分析的三个幂律关系 L ( C ) , L ( D ) , L ( N ) L(C),L(D),L(N) L(C),L(D),L(N) 都是单独考察的即考察一个量时总是调整其他两个量的取值使模型性能仅受被考察的量影响本节中进一步考察模型性能如何同时受到 N N N 和 D D D 两个量的影响这可以指导我们如何在控制过拟合的情况下考察训练模型所需的数据量
2.1 参数量 N N N 和数据量 D D D 对模型性能的联合影响
基于第一节发现的幂律关系作者直接将 L ( N , D ) L(N,D) L(N,D) 的表达式假设为 L ( N , D ) [ ( N c N ) α N α D D c D ] α D L(N,D) \left[\left(\frac{N_c}{N}\right)^{\frac{\alpha_N}{\alpha_D}} \frac{D_c}{D}\right]^{\alpha_D} L(N,D)[(NNc)αDαNDDc]αD 此设计很好地适配了数据其形式基于以下三个原则 词表大小或 tokenize 方法的变化应当会对损失值进行整体的缩放rescale the loss by an overall factor这种缩放需要被自然地考虑到 该设计中我们可以通过调节 N c , D c N_c,D_c Nc,Dc 来适应这些变化 固定 D D D N → ∞ N\to \infin N→∞ 时应有 L ( N , D ) → L ( D ) L(N,D)\to L(D) L(N,D)→L(D)固定 N N N D → ∞ D\to \infin D→∞ 时应有 L ( N , D ) → L ( N ) L(N,D)\to L(N) L(N,D)→L(N) 有限的 D D D 下任何模型都无法接近最佳损失即文本的熵同样固定大小 N N N 的模型将受到容量限制。另一方面有 L ( ∞ , D ) L ( D ) , L ( N , ∞ ) L ( N ) L(\infin,D) L(D), \space\space L(N,\infin) L(N) L(∞,D)L(D), L(N,∞)L(N) L ( N , D ) L(N,D) L(N,D) 应该在 D → ∞ D\to\infin D→∞ 时进行分析通常有足够的数据训练模型这时它应具有以整数次幂的 1 D \frac{1}{D} D1 为变量的级数展开即形如 f ( D ) a 0 a 1 D a 2 D 2 . . . f(D)a_0\frac{a_1}{D}\frac{a_2}{D^2}... f(D)a0Da1D2a2...因此以上设计中 N N N 和 D D D 并不完全对称 这个原则更具推测性由于过拟合应该与数据集的方差或信噪比相关而它们按 1 D \frac{1}{D} D1 成比例缩放所以我们通常期望过拟合在非常大的 D D D 下也成比例于 1 D \frac{1}{D} D1 进行缩放。这个期望对于任何平滑的损失函数都应该成立。然而这假设 1 D \frac{1}{D} D1 的修正项在方差的其他来源如有限 batch size上占主导地位这还没有经验证实 利用以上定义可以将模型的过拟合程度形式化表示为 δ L ( N , D ) ≡ L ( N , D ) L ( N , ∞ ) − 1 ≈ ( 1 ( N N c ) α N α D D c D ) α D − 1 \begin{aligned} \delta L(N, D) \equiv \frac{L(N, D)}{L(N, \infty)}-1 \\ \approx\left(1\left(\frac{N}{N_{c}}\right)^{\frac{\alpha_{N}}{\alpha_{D}}} \frac{D_{c}}{D}\right)^{\alpha_{D}}-1 \end{aligned} δL(N,D)≡L(N,∞)L(N,D)−1≈(1(NcN)αDαNDDc)αD−1 这意味着模型的过拟合程度和 N α N α D / D N^{\frac{\alpha_N}{\alpha_D}}/D NαDαN/D 成幂律关系
2.2 实验验证
作者用 10% 的 dropout 对所有模型进行正则化训练直到测试损失不再下降早停策略结果如下所示 左图对于较大的 D D D性能表现出关于 N N N 的幂律关系对于较小的 D D D随着 N N N 的增加模型开始过拟合。虚线是拟合结果验证了以上定义的有效性右图考察过拟合情况实线拟合了 N α N α D / D N^{\frac{\alpha_N}{\alpha_D}}/D NαDαN/D 和过拟合程度间的幂律关系验证了以上定义的有效性
2.3 预测数据集尺寸以避免过拟合
利用大量小规模实验的结果可以拟合出当 Scaling Laws 中的一些关键常数这里为 设不同随机种子下的验证损失变化约为 2%这意味着在训练达到我们所需的收敛阈值时避免过拟合需要 D ≥ ( 5 × 1 0 3 ) N 0.74 D \geq\left(5 \times 10^{3}\right) N^{0.74} D≥(5×103)N0.74 通过这种关系可在 token 数据量 D D D 为 22B 的数据集上以最小的过拟合训练参数量 N N N 不超过 1 0 9 10^9 109 的模型这一节的重要意义在于给出了一种利用 Scaling Laws 进行预测的思路即首先进行大量小规模实验然后用基于 Scaling Laws 的关系式对结果进行拟合最后用拟合曲线预测更大规模模型的情况
3. 模型大小和训练时间的缩放定律 现在我们讲起 Scaling Laws 时主要关注的通常就是前两节特别是第一节所述内容。但是原始论文中还进行了进一步分析使其更符合现实情况。在进一步分析之前首先引入一些新符号 参数符号说明关键 batch size B crit B_{\text{crit}} Bcrit以此 batch size 进行训练大致上在时间和计算效率之间提供了一个最优的折衷最小计算量 C min C_{\min} Cmin达到给定损失值最小计算量这是模型以远小于 B crit B_{\text{crit}} Bcrit 的 batch size 训练时的计算量最小训练步骤 S min S_{\min} Smin达到给定损失值的最小训练步数。这是模型以远大于 B crit B_{\text{crit}} Bcrit 的 batch size 训练时的步数最小处理数据量Token E min E_{\min} Emin达到给定损失值所处理的最小数据量 设置过大的 batch size 会影响计算效率因为足够大的 batch size 下计算的梯度方向已经足够准确继续加大的意义不大。一般认为训练过程中存在一个临界 batch size B crit B_{\text{crit}} Bcrit当 B ≤ B crit B\leq B_{\text{crit}} B≤Bcrit 时加大 B B B 对计算效率无明显影响当 B B crit B B_{\text{crit}} BBcrit 时加大 B B B 会使得计算效率下降。 以 B ≈ B crit B\approx B_{\text{crit}} B≈Bcrit 进行训练可以最大化训练的计算效率即到达相同性能用时最短以 B ≫ B crit B\gg B_{\text{crit}} B≫Bcrit 进行训练可以最小化训练步骤数量 S → S min S \to S_{\min} S→Smin但达相同性能耗时更长以 B ≪ B crit B\ll B_{\text{crit}} B≪Bcrit 可以最小化计算量 C → C min C \to C_{\min} C→Cmin但达相同性能耗时更长
3.1 拟合 B crit ( L ) B_{\text{crit}}(L) Bcrit(L), S min ( S ) S_{\min }(S) Smin(S) 和 C min ( C ) C_{\min }(C) Cmin(C)
作者通过实验发现为了达成任意固定的性能损失 L L L训练步数 S S S 和训练处理数据量 E B S EBS EBS 之间存在反比例关系 如图所示作者使用不同参数量的两个 Transformer 模型考察达到指定性能损失颜色表示所需的训练步数 S S S 和处理 Token 数量 E E E 之间的关系。图像说明为了达成固定的 L L L随着 S S S 增大所需处理的 Token 数量 E E E 在减少 为了达成固定的 L L L从左到右训练步数 S S S 越多处理的 Token 数量 E E E 越少 B B B 越小总计算量 C C C 越小注意到每一条线都呈现反比例关系作者提出它们服从如下关系 ( S S min − 1 ) ( E E min − 1 ) 1 \left(\frac{S}{S_{\min}}-1\right)\left(\frac{E}{E_{\min}}-1\right) 1 (SminS−1)(EminE−1)1 注意到这本质就是一个反比例函数两个 − 1 -1 −1 是把坐标轴移动到曲线所在位置 每一条线最左边的点对应 B max E max S min B_{\max} \frac{E_{\max}}{S_{\min}} BmaxSminEmax最右边的点对应 B min E min S max B_{\min} \frac{E_{\min}}{S_{\max}} BminSmaxEmin它们对应训练效率的两个低点 B crit B_{\text{crit}} Bcrit 应该在二者之间作者将其定义为 B crit ( L ) ≡ E m i n S min B_{\text {crit }}(L) \equiv \frac{E_{\mathrm{min}}}{S_{\text {min }}} Bcrit (L)≡Smin Emin 作者发现这种定义和另一种可以估计 B crit B_{\text {crit }} Bcrit 的方法 “噪声梯度度量” 得到的结果类似。根据拟合情况以 B crit B_{\text {crit }} Bcrit 训练大约需要 2 S min 2S_{\min} 2Smin 的训练步骤和 2 E min 2E_{\min} 2Emin 的数据量作者通过实验验证了 B critc B_{\text{critc}} Bcritc 也和模型性能用损失表示之间呈现幂律关系 如图可见 B crit ( L ) B_{\text {crit }}(L) Bcrit (L) 仅和性能 L L L 相关而与模型规模等其他因素无关。作者将幂律关系表示为为 B crit ( L ) ≈ B ∗ L 1 / α B B_{\text {crit }}(L) \approx \frac{B_{*}}{L^{1 / \alpha_{B}}} Bcrit (L)≈L1/αBB∗ 其中 B ∗ B_* B∗ 和 α B \alpha_B αB 是需要拟合的参数这种表示可以使 B crit ( L ) B_{\text {crit }}(L) Bcrit (L) 的估计值在 L → 0 L\to 0 L→0 时发散以保持和另一种估计方法 “噪声梯度度量” 的一致性。给定任意训练过程参数 C , N , B , S C, N, B, S C,N,B,S如前文所述它们之间满足 C ≈ 6 N B S C\approx 6NBS C≈6NBS设该训练过程达成的性能损失表示为 L L L可以借助 B crit B_{\text{crit}} Bcrit 表示出达成相同 L L L 对应的 S min S_{\min} Smin 和 C min C_{\min} Cmin S min ( S ) ≡ S 1 B crit ( L ) / B ( minimum steps, at B ≫ B crit ) C min ( C ) ≡ C 1 B / B crit ( L ) (minimum compute, at B ≪ B crit ) \begin{aligned} S_{\min }(S) \equiv \frac{S}{1B_{\text {crit }}(L) / B} \quad\left(\text { minimum steps, at } B \gg B_{\text {crit }}\right) \\ C_{\min }(C) \equiv \frac{C}{1B / B_{\text {crit }}(L)} \quad \text { (minimum compute, at } B \ll B_{\text {crit }} \text {)} \end{aligned} Smin(S)≡1Bcrit (L)/BSCmin(C)≡1B/Bcrit (L)C( minimum steps, at B≫Bcrit ) (minimum compute, at B≪Bcrit ) 总体上可以看出就是按上面的反比例关系调整了一下但具体为什么如此调整定义说实话有点没看懂。由于 B crit ( L ) B_{\text{crit}}(L) Bcrit(L) 可以拟合表示这里的 S min ( S ) S_{\min }(S) Smin(S) 和 C min ( C ) C_{\min }(C) Cmin(C) 也都可以拟合表示了
3.2 拟合 L ( N , S ) L(N,S) L(N,S)
作者通过实验验证了在无数据量限制的情况下对给定参数量 N N N 的模型以足够大的 batch size 训练 S min S_{\min} Smin 步之后如下右图所示 模型性能与 N N N 和 S min S_{\min} Smin 之间存在以下幂律关系关系 L ( N , S min ) ( N c N ) α N ( S c S min ) α S L\left(N, S_{\min }\right)\left(\frac{N_{c}}{N}\right)^{\alpha_{N}}\left(\frac{S_{c}}{S_{\min }}\right)^{\alpha_{S}} L(N,Smin)(NNc)αN(SminSc)αS 再配合上一节中 S min S_{\min } Smin 的定义在无数据限制的情况下对参数量为 N N N 的模型训练 S S S 步后得到的性能可以用下式拟合 L ( N , S ) ( N c N ) α N ( S c S min ( S ) ) α S L\left(N, S\right)\left(\frac{N_{c}}{N}\right)^{\alpha_{N}}\left(\frac{S_{c}}{S_{\min}(S)}\right)^{\alpha_{S}} L(N,S)(NNc)αN(Smin(S)Sc)αS作者进一步在无数据限制的情况下拟合了不同参数量 N N N 下性能和计算量 C C C 以及训练步数 S S S 的关系 良好的拟合结果也验证了以上提出 L ( N , S ) L\left(N, S\right) L(N,S) S min ( S ) S_{\min }(S) Smin(S) 和 C min ( C ) C_{\min }(C) Cmin(C) 等表达式的有效性
4. 计算量的优化分配 第 1 节已经分析了在不考虑 N N N 和 D D D 限制的情况下计算量 C C C 与性能的之间存在幂律关系 L ( C ) ≈ ( C c C ) α C L(C) \approx \left(\frac{C_c}{C}\right)^{\alpha_C} L(C)≈(CCc)αC 但是这个结果的前提是以固定 batch size B B B 进行训练事实上我们可以按第 3 节所述的 B crit B_{\text{crit}} Bcrit 进行训练从而提高训练效率。本节中我们进一步分析这种情况 作者首先对性能和 C min C_{\min} Cmin 的关系进行拟合不考虑 N N N 和 D D D 的约束如下所示 这里作者使用远低于 B crit B_{\text {crit }} Bcrit 的 batch size 训练以考察性能和 C min C_{\min} Cmin 的关系。注意到 C min C_{\min} Cmin 同样和性能间存在幂律关系 L ( C min ) L(C_{\min}) L(Cmin)但是具体的表达式和 C C C 的幂律关系 L ( C ) L(C) L(C) 有所区别 作者进一步考察可以最高效训练的最优模型参数量 N ( C min ) N(C_{\min}) N(Cmin)拟合结果如下所示 如左图所示最优参数量和最小计算量之间也存在幂律关系拟合结果约为 N ( C min ) ∝ C min 0.73 N(C_{\min})\propto C_{\min}^{0.73} N(Cmin)∝Cmin0.73 进一步地注意到 ( 3.1 节拟合结果 ) B crit ∝ L − 4.8 ( 4.1 节拟合结果 ) L ∝ C min − 0.05 ⇒ B crit ∝ C min 0.24 \begin{aligned} (3.1 节拟合结果) B_{\text {crit }} \propto L^{-4.8} \\ (4.1节拟合结果) L\propto C_{\min}^{-0.05} \end{aligned} \Rightarrow B_{\text {crit }} \propto C_{\min}^{0.24} (3.1节拟合结果)(4.1节拟合结果)Bcrit ∝L−4.8L∝Cmin−0.05⇒Bcrit ∝Cmin0.24 又根据定义 C min ≡ 6 N ( C min ) B crit S C_{\min} \equiv 6N(C_{\min}) {B_{\text {crit }}}S Cmin≡6N(Cmin)Bcrit S可以推出 C min ∝ 6 C min 0.73 C min 0.24 S ⇒ S min ∝ C min 0.03 C_{\min} \propto 6C_{\min}^{0.73} C_{\min}^{0.24}S \Rightarrow S_{\min} \propto C_{\min}^{0.03} Cmin∝6Cmin0.73Cmin0.24S⇒Smin∝Cmin0.03 这个结果也和拟合结果相吻合如上右图所示 PS这里说根据定义我觉得有点问题因为根据定义 C min C_{\min} Cmin 应该是在用远小于 B crit B_{\text{crit}} Bcrit 的 batch size 训练得到的这里应该是假设了这个小 batch size 仍然和 B crit B_{\text{crit}} Bcrit 有相同的数量级 总之我们可以得出结论当不受训练数据量限制时随着总计算量的提高存在有对应的最优模型规模训练效率最高 我们应该以最佳的计算分配来扩大语言模型即 主要按 N ( C min ) ∝ C min 0.73 N(C_{\min})\propto C_{\min}^{0.73} N(Cmin)∝Cmin0.73 的幂律关系模型参数规模通过 B ∝ B c r i t B\propto B_{crit} B∝Bcrit即 B ∝ C min 0.24 B\propto C_{\min}^{0.24} B∝Cmin0.24 来扩大 batch size训练步数 S S S 的增量可以忽略不计
5. 总结
本文只涵盖了原文中的核心结论部分更进一步的分析假设比较强就没有写了请参考原文。下面对本文通过实验发现的 Scaling Laws 进行总结 模型性能与规模密切相关与模型形状关系较弱模型性能主要取决于模型参数量不包括嵌入 N N N、数据集Token大小 D D D 以及训练计算量FLOPs C C C。在合理范围内性能对其他超参数如深度与宽度的比例、训练学习率调度方案的依赖程度很低 平滑的幂律关系当不被其他两个因素限制时模型性能与 N N N、 D D D、 C C C 之间存在幂律关系这种关系在很大范围内一直保持跨越六个以上数量级。这种幂律关系在 Decoder-Only Transformer、Encoder-Decoder Transformer、LSTM 等多种序列模型上都有体现对于 NLP 以外的多模态任务也成立。 通过在小模型上拟合以下幂律关系可以外推预测大模型、大数据量和大计算量下的性能表现 控制模型参数量 N N N用足够数据训练至收敛性能与 N N N 的关系满足不包含嵌入参数 L ( N ) ≈ ( N c N ) α N L(N) \approx \left(\frac{N_c}{N}\right)^{\alpha_N} L(N)≈(NNc)αN控制训练数据量 D D D使用早停策略训练足够大的大规模模型性能与 D D D 的关系满足 L ( D ) ≈ ( D c D ) α D L(D) \approx \left(\frac{D_c}{D}\right)^{\alpha_D} L(D)≈(DDc)αD控制训练计算量 C min C_{\min} Cmin使用足够大的数据集对最优尺寸的模型以足够小的 batch size 进行训练此时计算量最小时性能与 C min C_{\min} Cmin 满足 L ( C min ) ≈ ( C c min C min ) α c min L(C_{\min}) \approx \left(\frac{C_c^{\min}}{C_{\min}}\right)^{\alpha_c^{\min}} L(Cmin)≈(CminCcmin)αcmin 过度拟合的普遍规律在不考虑训练数据量 C C C 的限制时只要同时扩大 N N N 和 D D D性能就会可预测地提高但如果固定 N N N 或 D D D 中的一个而增加另一个就会进入回报递减的领域。过拟合程度和 N α N α D / D N^{\frac{\alpha_N}{\alpha_D}}/D NαDαN/D 之间存在幂律关系。这意味着每当模型大小 N N N 增加 8 倍将数据量 D D D 增加 8 α N α D 8^{\frac{\alpha_N}{\alpha_D}} 8αDαN 倍就可以维持过拟合程度不增加 不考虑训练计算量限制时性能受到 N N N 和 D D D 的联合影响 L ( N , D ) [ ( N c N ) α N α D D c D ] α D L(N,D) \left[\left(\frac{N_c}{N}\right)^{\frac{\alpha_N}{\alpha_D}} \frac{D_c}{D}\right]^{\alpha_D} L(N,D)[(NNc)αDαNDDc]αD 过拟合程度可以表示为 δ L ( N , D ) ≡ L ( N , D ) L ( N , ∞ ) − 1 ≈ ( 1 ( N N c ) α N α D D c D ) α D − 1 \begin{aligned} \delta L(N, D) \equiv \frac{L(N, D)}{L(N, \infty)}-1 \\ \approx\left(1\left(\frac{N}{N_{c}}\right)^{\frac{\alpha_{N}}{\alpha_{D}}} \frac{D_{c}}{D}\right)^{\alpha_{D}}-1 \end{aligned} δL(N,D)≡L(N,∞)L(N,D)−1≈(1(NcN)αDαNDDc)αD−1 这意味着过拟合程度和 N α N α D / D N^{\frac{\alpha_N}{\alpha_D}}/D NαDαN/D 成幂律关系 训练的普遍规律训练曲线遵循可预测的幂律通过外推训练曲线的早期部分我们可以大致预测如果我们训练更长时间会达到的损失 在无数据限制的情况下对参数量为 N N N 的模型训练 S S S 步后得到的性能可以用下式拟合 L ( N , S ) ( N c N ) α N ( S c S min ( S ) ) α S L\left(N, S\right)\left(\frac{N_{c}}{N}\right)^{\alpha_{N}}\left(\frac{S_{c}}{S_{\min}(S)}\right)^{\alpha_{S}} L(N,S)(NNc)αN(Smin(S)Sc)αS 其中 S min ( S ) ≡ S 1 B crit ( L ) / B ( minimum steps, at B ≫ B crit ) S_{\min }(S) \equiv \frac{S}{1B_{\text {crit }}(L) / B} \quad\left(\text { minimum steps, at } B \gg B_{\text {crit }}\right) Smin(S)≡1Bcrit (L)/BS( minimum steps, at B≫Bcrit ) 迁移随着测试性能的提高而提高当我们使用与训练数据不同的分布对文本进行模型评估时结果与训练验证集上的结果高度相关损失大致恒定。换句话说迁移到不同的分布会导致恒定的损失但其他方面会大致与训练集上的性能保持一致 样本效率大型模型比小型模型更具样本效率使用更少的优化步数和更少的数据点就能达到相同的性能水平 收敛效率低随着 C C C 的增大为了达成最高训练效率数据 D D D 的增量要显著小于模型参数量 N N N 的增量。因此当固定计算量预算 C C C 而不限制模型大小 N N N 和可用数据 D D D 时可以通过训练非常大的模型并在明显缺乏收敛性时停止来获得最佳性能这比将小模型训练至收敛的训练效率高很多 当固定训练总计算量 C C C 而没有其他任何限制时可以基于 L ( N , S ) ( N c N ) α N ( S c S min ( S ) ) α S L\left(N, S\right)\left(\frac{N_{c}}{N}\right)^{\alpha_{N}}\left(\frac{S_{c}}{S_{\min}(S)}\right)^{\alpha_{S}} L(N,S)(NNc)αN(Smin(S)Sc)αS 预测最优模型大小 N N N 、最优批量大小 B B B 、最优步骤数 S S S 和数据集大小 D D D 应按如下方式增长 N ∝ C C α C min / α N , B ∝ C α C min / α B , S ∝ C C α C min / α S , D B ⋅ S N \propto C_{C}^{\alpha_{C}^{\min } / \alpha_{N}},\quad B \propto C^{\alpha_{C}^{\min } / \alpha_{B}}, \quad S \propto C_{C}^{\alpha_{C}^{\min } / \alpha_{S}}, \quad DB \cdot S N∝CCαCmin/αN,B∝CαCmin/αB,S∝CCαCmin/αS,DB⋅S 其中 α C min 1 / ( 1 / α S 1 / α B 1 / α N ) \alpha_{C}^{\min }1 /\left(1 / \alpha_{S}1 / \alpha_{B}1 / \alpha_{N}\right) αCmin1/(1/αS1/αB1/αN) 作者拟合的最优结果为 N ( C min ) ∝ C min 0.73 , B crit ∝ C min 0.24 , S min ∝ C min 0.03 N(C_{\min})\propto C_{\min}^{0.73}, \space\space B_{\text {crit }} \propto C_{\min}^{0.24}, \space\space S_{\min} \propto C_{\min}^{0.03} N(Cmin)∝Cmin0.73, Bcrit ∝Cmin0.24, Smin∝Cmin0.03这意味着随着计算量预算 C C C 的提高应该更多地增加模型参数量 N N N较少地增加训练数据量 D D D 最优 batch size使用合适的 batch size 进行训练可以实现最高的训练效率关键 batch size 的大小 B crit B_{\text{crit}} Bcrit 可以通过测量梯度噪声规模来确定作者进一步验证了它仅和目标性能损失值有关且呈现幂律关系而与模型规模等其他因素无关 最佳 batch size B crit ( L ) B_{\text {crit }}(L) Bcrit (L) 仅和性能 L L L 相关而与模型规模等其他因素无关。幂律关系表示为为 B crit ( L ) ≈ B ∗ L 1 / α B B_{\text {crit }}(L) \approx \frac{B_{*}}{L^{1 / \alpha_{B}}} Bcrit (L)≈L1/αBB∗ 其中 B ∗ B_* B∗ 和 α B \alpha_B αB 是需要拟合的参数这种表示可以使 B crit ( L ) B_{\text {crit }}(L) Bcrit (L) 的估计值在 L → 0 L\to 0 L→0 时发散以保持和另一种估计方法 “噪声梯度度量” 的一致性 最后必须注意以上 Scaling Laws 都是针对 “最大化训练效率” 而言的。有时我们会故意违反它比如 LLaMa 就使用更多的数据训练了较小的模型虽然训练效率低但是可以减少部署和推理成本