/ CS336
[CS336-09] Scaling Laws 基础
整理 CS336 第九讲:data scaling、model scaling、Chinchilla、compute-optimal training 和小规模实验外推。
这篇是 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 是大模型训练里的预算规划工具。
参考#
- Stanford CS336 Spring 2025 Course Materials: lecture 9.pdf