返回博客

/ CS336

[CS336-09] Scaling Laws 基础

整理 CS336 第九讲:data scaling、model scaling、Chinchilla、compute-optimal training 和小规模实验外推。

3 minCS336 · Scaling Laws · Chinchilla

这篇是 Stanford CS336 Spring 2025 第 9 讲 Course Materials 的学习笔记。主题是 scaling laws:用小规模实验预测大规模训练。

1. 为什么需要 scaling laws#

假设你有一大批 H100 和一个月训练时间,关键问题不是“能不能训练”,而是:模型多大、数据多少、batch 多大、学习率怎么选、训练多久。

直接在最大规模上调参太贵。Scaling laws 的价值在于:先做小规模实验,拟合可预测规律,再推断大规模配置。

这是一种资源分配工具,不只是理论曲线。

2. Data scaling:数据量和 loss 的关系#

很多任务上,数据量增加和 error/loss 下降近似呈 power law。在 log-log 图上,它看起来接近直线。

直觉上,经典统计估计中 error 会随样本数以多项式速度下降;神经网络虽然复杂,但许多经验结果也呈现类似可预测曲线。

这类规律可以帮助回答:增加多少数据能换来多少 loss 改善,以及数据质量变化主要影响曲线的 slope 还是 offset。

3. 数据组成和重复#

第 9 讲还讨论了数据 composition 和 repetition。数据不是只有数量,来源和质量也重要。

如果重复训练同一批数据,额外 token 的价值会下降。可以把重复数据理解为有效数据量小于原始 token 数。规模越大,数据选择可能越应该自适应:小模型可能受益于高质量小数据,大模型可能需要更多覆盖度和多样性。

这为后面的 data lecture 做铺垫。

4. Model scaling:模型大小和训练预算#

模型 scaling laws 关心参数量、数据量、compute 与 loss 的关系。经典问题是:给定 compute budget,应该训练更大的模型少看数据,还是更小的模型多看数据?

Kaplan-style scaling 给出了早期答案,但 Chinchilla 重新强调 compute-optimal 训练中数据量的重要性,提出更高 token-to-parameter ratio 的经验结论。

这里的关键不是某个固定比例永远正确,而是训练目标要区分:

  • 只关心训练 compute 最优;
  • 还要考虑未来大量 inference 成本;
  • 是否愿意 upfront 多训练以降低部署时模型大小。

如果模型会被大量调用,训练一个更小但更充分训练的模型可能更划算。

5. 超参数是否能外推#

Lecture 9 还提到 architecture、optimizer、depth/width、batch size、learning rate 等选择可以通过 scaling 实验来比较。

一个好的 scaling procedure 应该让小规模实验能预测大规模趋势。例如同一架构不同大小的模型,loss 随 compute 的曲线是否平滑;不同 optimizer 的优劣是否在 scale up 后保持。

但下游 benchmark 往往比 pretraining loss 更不稳定。loss 可预测,不代表所有能力都线性可预测。

6. takeaway#

Scaling laws 的工程意义是减少盲目试错:

  • 用小模型、小数据、小 compute 拟合趋势;
  • 用趋势选择模型大小、数据量、batch 和学习率;
  • 把 compute allocation 从经验猜测变成可量化决策;
  • 同时警惕下游能力和 benchmark 的不可预测性。

一句话:scaling laws 是大模型训练里的预算规划工具。

参考#