CS336 - Assignment 3: Scaling Laws
CS336 Assignment 3: fit neural scaling laws using the IsoFLOP method and a training API to predict compute-optimal model size and data.
Assignment 3 研究缩放定律(Scaling Laws):在给定算力预算下,模型应该多大、数据应该多少,才能让 loss 最低?这一篇把”凭感觉调参”变成”用规律外推”。
概述#
- 不能无限训练大模型,只能训练一批小模型,拟合规律后外推
- 通过查询一个 training API 收集 (FLOPs, loss) 数据点
- 目标:预测 compute-optimal 的模型规模与数据量
Scaling Laws 背景#
Kaplan et al. (2020)#
- loss 随参数量 、数据量 、算力 呈幂律下降
Chinchilla(Hoffmann et al., 2022)#
- 参数与数据应同比例增长(约 20 tokens / 参数)
- 联合形式:
IsoFLOP 方法#
- 固定若干算力预算 ,在每个预算下用不同 训练
- 每条 IsoFLOP 曲线的最低点 → 该预算下的最优模型大小
- 把各预算的最优点连起来 → 、 的幂律
对 decoder-only Transformer,前向和反向通常可粗略估计为每个 token 约 次浮点运算,因此总训练计算量可写成 ,其中 是参数量, 是训练 token 数。拟合时可在 log 空间中回归幂律关系,并保留验证集或 bootstrap 重采样来估计外推的不确定性。
Training API 与数据收集#
- 用有限的 query 预算换取最多信息量的数据点
- 如何选择 网格、如何处理噪声
拟合与外推#
- 用最小二乘 / Huber loss 拟合幂律参数
- 外推到目标算力,给出最优配置
- 误差分析与置信区间
参考资料#
- Assignment 3 仓库 ↗
- Kaplan et al., Scaling Laws for Neural Language Models (2020)
- Hoffmann et al., Training Compute-Optimal LLMs (Chinchilla) (2022)