关于 scaling-law-tracker
scaling-law-tracker 是一款面向研究人员和模型训练团队的技能,用于量化数据、参数、算力或批量规模变化时指标的走势。附带脚本可拟合幂律曲线、估算收益递减并外推目标预算下的结果。
主要功能
- 01拟合幂律及带下限曲线
- 02报告指数与 R²
- 03外推目标预算下的结果
- 04标记收益递减阈值
适用场景
- 01比较不同训练运行的扩展效果
- 02估算更大预算下的结果
- 03决定何时在不同扩展轴间调整资源
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jurgendn/ agent-skills --skill scaling-law-tracker安装后在 Claude Code 中输入/scaling-law-tracker确认已加载。
附带文件scripts/fit_scaling_law.py
详细介绍
Scaling Law Tracker
衡量扩大规模是否带来了预期收益,并进行量化,而不是凭感觉判断双对数图。
工作流
- 定义缩放轴和指标。 每次只选一个轴:数据量、参数量、计算量(FLOPs)或批次大小。说明指标是越高越好(准确率),还是越低越好(损失)。
- 收集可比较的运行结果。 使用相同的架构系列、数据分布和评估方式。设置不可比较会使指数失去意义。
- 使用随附脚本拟合并外推(见下文),而不是手动拟合——双对数回归和带偏移项的形式很容易出现细微错误。
- 读取指数、拐点和外推结果。 曲线是否仍有收益,还是已经过了值得沿该轴扩展的阶段?
- 建议下一步。 进一步扩大该轴的规模、将资源重新分配到其他轴(数据 ↔ 模型 ↔ 优化),或停止。
使用随附脚本进行拟合
scripts/fit_scaling_law.py 会同时拟合幂律(y = a·x^b)和带下限的幂律(y = E + a·x^b,即 Kaplan/Chinchilla 形式,适用于趋于平台期的损失),报告指数和 R²,将结果外推至目标预算,并标记资源翻倍带来的收益何时低于有用的相对增益。
# Fit val-loss vs. tokens, extrapolate to a larger budget:
python scripts/fit_scaling_law.py \
--x 1e6 2e6 4e6 8e6 1.6e7 \
--y 3.10 2.84 2.63 2.48 2.37 \
--metric "val loss" --lower-better --extrapolate 6.4e7
python scripts/fit_scaling_law.py selftest # verify the install
它也接受 --json '{"x":[...],"y":[...],"lower_better":true,"extrapolate":6.4e7}'。
解读输出
- 指数 b — 双对数空间中的斜率。斜率越陡(|b| 越大),沿该轴扩展带来的收益越大。比较不同轴的指数,以决定资源投向。
- R² — 低于 ~0.9 时,可能不符合清晰的幂律;应明确指出这一点,不要进行大幅外推。
- 收益递减拐点 — 资源达到此水平后,翻倍带来的相对增益会低于阈值(默认 2%)。超过拐点后,应重新分配资源。
- 外推范围 — 对超过最大运行规模 ~10× 的预测误差较大;应将其视为先验,而非承诺。
规则
- 不要比较不可比的训练设置——数据、评估方式或架构系列不同,都会使拟合失效。
- 如果运行结果集较稀疏(<5 个点),应说明不确定性:指数的误差范围很大。
- 外推是一项有待通过一次更大规模运行来检验的假设,而不是可作为实测结果报告的结论。
评论
支持 Markdown