Scaling Law 先定义口径,再谈最优比例
它不是“模型越大越聪明”的自然定律,而是一份有适用域的实验账本:固定架构、数据分布、Tokenizer、优化配方与 Loss 后,用许多较小训练拟合参数、数据和计算的局部关系,再用更大实验验证。只要合同变了,旧系数就只能当先验,不能当报价。
Scaling Law 预测局部 Loss 趋势,不直接预测“智能”
经典语言模型 Scaling Laws 通常拟合同口径的 token-level cross-entropy(逐 Token 交叉熵),但“哪份 Loss”也必须写清:Kaplan 主报 WebText2 测试分布 Loss;Chinchilla 主分析平滑训练 Loss,并在训练 Token 少于完整语料池的“infinite-data”设定下把它视作测试 Loss 的无偏估计。Loss 常呈现平滑幂律,不代表每个下游能力都按同一指数增长,也不证明曲线能跨数据、Tokenizer、架构和训练目标复用。
L̂(N,D) = E + A/Nα + B/Dβ
这是 Hoffmann 等人在 Chinchilla 论文第三种方法中提出并拟合的参数化形式。N 是该研究口径下的模型参数,D 是见过的训练 Token;模型项和数据项都随规模增加而下降。E 是拟合常数,论文把它解释为当前数据分布上理想生成过程的 Loss;换数据分布、Tokenizer 或目标后,E、A、B、α、β 都不能原样搬走。Kaplan 论文使用的是另一组拟合关系,不能把这条式子倒称为“Kaplan 定律”。
幂律是经验现象
先训练模型、记录 Loss,再判断在哪个尺度区间近似为直线;不是从 Transformer 数学中演绎出永远成立的指数。
邻近配方最可信
同一模型族、数据混合、优化器和 Tokenizer 内的插值通常比跨四个数量级外推稳健;拟合残差与置信区间不能省略。
最低 Loss 只是一个目标
产品还要考虑训练墙钟、推理显存、吞吐、安全、数据权利和下游任务。训练 compute-optimal 不自动等于系统最优。
它像给同一款发动机、同一种燃料做台架曲线:可以估计下一档油门,却不能把曲线直接套给柴油卡车。类比中的“发动机合同”对应架构、数据、Tokenizer、优化器、Loss 和计数方法。
同样写 N、D、C,不同论文可能根本没在数同一件事
对标准 Dense Transformer,C≈6ND 是常用的训练算法 FLOPs 量级代理:一次前向约按每权重一次乘加计 2 FLOPs,反向再粗略取前向的 2 倍。它不是硬件时间、用电量或所有架构的精确公式,比较曲线前必须锁定三份合同。
N · 参数口径
Kaplan 把 N 定义为不含词表与位置 Embedding 的参数,并报告 non-embedding compute;Chinchilla 的分析计入总参数,并在详细 FLOPs 中计入 Embedding 与最终 logits。跨论文比较指数或“最优模型大小”时,必须先统一口径。
D · 数据口径
D 常指训练过程实际见过的 Token,不必等于唯一 Token、唯一文档或字节数。重复 4 轮的 100B Token 语料会产生约 400B seen tokens,但四轮的边际价值不能假设等同 400B 唯一 Token。
C · 计算口径
Algorithmic FLOPs(算法 FLOPs)回答理论工作量;hardware FLOPs、Model FLOPs Utilization、集群墙钟和电费回答执行效率。Attention 的上下文项、重计算、通信、数据加载与故障恢复会让同一算法账得到不同训练时间。
2025 年一份仍属预印本的 Chinchilla 复核发现,其 Table A9 报告参数与按架构字段套标准公式得到的参数在 50/50 个配置上都不一致,平均差约 7.4%、最高 15.2%;但用三种参数解释重拟合时,论文的主要指数和约 20 Token / 参数结果没有显著改变。它证明的是原数据对这类计数扰动较稳健,不是“参数随便数”或“20 可以跨 Tokenizer、架构复用”。
Cforward ≈ 2N + 2·nlayer·nctx·dattn
Kaplan 在大部分实验中使用 1,024 上下文,并在模型宽度相对上下文足够大时忽略第二项;再把反向近似为前向的 2 倍,得到每训练 Token 约 6N FLOPs。长上下文会放大 Attention 的上下文相关项;大词表、小模型、MoE、共享权重或多模态编码器也会改变误差。Chinchilla 用更细的逐算子账核对过 6ND;其 Table A4 中 73M–6.8B 六个代表配置的“详细 FLOPs / 6ND”比值为 0.99–1.10,所以“差异小”是该组模型内的实测范围,不是精确相等。
固定代理 FLOPs,拨动 D / N 比例
计算器假设标准 Dense、同一 N/D 口径,并令 D=rN,所以 N=√(C/6r)。它不预测 Loss、能力、墙钟或真正的最优比例。
同一代理 FLOPs 下,D/N=20 只是一个候选配置;是否接近最低 Loss 必须由同配方 IsoFLOP 实验回答。
70B 参数 × 1.4T Token → 约 5.88×10²³ FLOPs
6 × 70×10⁹ × 1.4×10¹² = 5.88×10²³。这里用的是“70B”教学圆整值;Chinchilla Appendix F 按其精确参数与逐算子口径报告约 6.3×10²³ FLOPs,对应的精确参数 6ND 代理约 5.76×10²³。这个手算适合说“约 10²⁴ FLOPs”,不是训练报价;要换成 GPU 数量、天数或电费,还要给硬件峰值、实测吞吐、利用率、并行通信、重计算与故障预算。
Compute-optimal 不是先认定 20,而是让每档预算画出最低点
Chinchilla 团队训练了 400 多个 70M–超过 16B 的模型,训练长度覆盖约 5B–500B Token。其第二种方法选择 9 个固定训练 FLOPs 档位,在每档改变模型大小,让 Token 数随预算约束变化,再对“平滑最终训练 Loss—参数量”曲线的谷底做拟合。论文把这份训练 Loss 当作测试 Loss 的无偏估计,是建立在训练 Token 少于完整语料池、近似 infinite-data 的明确假设上;数据重复或过拟合场景不能照搬。
先冻结实验合同
固定模型族、Tokenizer、数据混合、序列长度、优化器和学习率调度,并写清总参数 / 非 Embedding 参数、seen / unique Token 以及逐算子 / 6ND FLOPs 口径。
每个预算覆盖谷底两侧
同一 C 下同时训练参数偏多、居中和数据偏多的配置。如果只采到单调下降的一侧,就没有证据说最低点在哪里;重复种子还能估计训练噪声。
先找每档最低点,再连前沿
Chinchilla Approach 2 对各档 IsoFLOP 曲线拟合抛物线,再把谷底对应的 N 与 D 对 C 拟合幂律。拟合形状、权重和异常点处理都会改变外推。
用较大训练验证,不只看拟合优度
Chinchilla 用与 Gopher 相近的训练预算实际训练 70B / 1.4T 模型;Llama 3 也先在 6×10¹⁸–10²² FLOPs 的小实验上拟合,再外推并训练 405B 模型。大规模验证仍不能证明无限外推。
N∗∝Cmin⁰·⁷³ · D∗∝Cmin⁰·²⁷
这里的 Cmin 是把批量效率校正到远低于 critical batch 后估计的最小 non-embedding compute;同论文直接按固定批量实际计算拟合的 N 指数约为 0.88。实验模型范围约 0.8K–1.5B 非 Embedding 参数,两种 C 口径不能混写。
约 0.5 / 0.5,但三法并不完全相同
三种方法分别得到 N 指数 0.50、0.49、0.46;D 指数 0.50、0.51、0.54。“等比例”是近似摘要,不是精确恒等式。
两项研究给出互补解释
Pearce & Song 把很大一部分差异归因于非 Embedding / 总量计数和小尺度曲率;Porian 等的复现实验另识别最终输出层计算、对小模型过长的固定 warmup 与不完整优化器调参。数据和架构差异仍未被消除。
70B / 1.4T 恰好约为 20。Llama 3 在自己的数据、Tokenizer 与训练配方上,把 3.8×10²⁵ FLOPs 外推为约 402B / 16.55T,最终训练 405B / 15.6T,实际约 38.5 Token / 参数;报告还指出高预算 IsoFLOP 谷底变平,因此相邻配比可能差异很小。两个数字都不能被提升成跨模型定律。
Clifetime ≈ 6NDtrain + 2NDinfer
这里的 Dinfer 是全生命周期所有请求的输入与输出 Token 总量,不是请求次数;最简代理按每推理 Token 约 2N FLOPs 计。Beyond Chinchilla-Optimal 在固定预训练 Loss 的设定下把训练与推理 FLOPs 相加;47 个 150M–6B 模型的实验整体覆盖 10–10,000 Token / 参数,但 10,000 只跑到 150M,较大模型覆盖更窄,6B 只跑了 20。其分析显示,若预计约 10⁹ 次请求,更小、训练更久的模型可能更省生命周期成本。结论依赖请求长度与数量可预估、Loss 能代表质量、数据充足等假设;论文也警告,用常见不超过约 100 Token / 参数的实验去拟合极端长训练,可能高估新增 Token 的收益。
MoE 把容量、算术和通信拆开,一条 Dense 曲线不够用了
在固定 Dense 架构里,参数规模和矩阵乘工作量联系较紧;但“全部总参数都对每个 Token 乘一遍”仍不精确,例如 Embedding 只查相应行、Attention 还有序列相关计算。Mixture of Experts(混合专家,MoE)再让 Router 只选择部分专家,总权重与每 Token 路径进一步分离。
总参数更接近容量与存储
所有专家权重都要保存、加载、分片与检查点;即使单个 Token 只走少数专家,总参数仍影响显存、网络放置和容错。
前向 FLOPs 更接近算术工作
激活专家参数可帮助估算专家 FFN,但还要加 Attention、共享层、Router、输出层等路径。不能只拿 active parameters 代替完整 FLOPs。
路由通信决定墙钟
专家跨设备时会产生 dispatch / combine、负载不均与容量问题。相同算法 FLOPs 可能因拓扑、Token 分布和 kernel 不同得到完全不同吞吐。
168 个路由模型揭示 P 与 F 两轴,但没有拟合 Token 最优交互
该研究用总参数 P、每次前向 TeraFLOPs F 和利用率 P/F 统一若干路由变体;所有模型都固定训练 130B Token。作者明确说明系数和极限紧密依赖这份 Token 预算,无法据此回答改变专家数后 compute-optimal 训练 Token 应怎样变化。因此不能把 Dense 的 6ND 曲线简单换成“总 MoE 参数 × D”。
它告诉你专家容量与一部分活动路径,却没有给出 Attention / 共享参数、Top-k、每层是否 MoE、序列长度、通信拓扑、负载均衡、数据和 Loss。存储规划看 P,算术看逐层 FLOPs,线上速度看实测系统;质量仍要看同合同实验。
D 不是可互换的筹码:重复、分词、模态和生成方式都会改价值
把数据量压成一个 Token 数,隐含了“每个 Token 的信息、质量与成本相近”。现实中唯一 / 重复、自然 / 合成、文本 / 图像 / 视频,以及不同压缩率的 Token 都不等价。正确继承的是实验方法,不是固定系数。
重复数据 · seen tokens 不等于 unique tokens
Muennighoff 等在固定计算的实验中发现,最多约 4 个 epoch 的重复数据与同量唯一数据相比,Loss 差异可忽略;但继续重复后,新增计算的价值最终衰减到零。该结果来自其最高 9B 参数、900B 训练 Token 的设置,不是“重复四轮永远安全”。
Tokenizer · Token 数甚至不是稳定物理单位
Meta 2026 的 Compute Optimal Tokenization 预印本训练了 988 个 latent-tokenized BLT 和 320 个 subword 模型,共 1,308 个、规模 50M–6.7B,预算覆盖 5×10¹⁸–2×10²¹ FLOPs;在其设置中,compute-optimal 参数量更接近随数据字节数而非 Token 数同比例扩展。它提醒我们跨 Tokenizer 比 D/N 前要同时报告字节、语言与压缩率;但实验固定了 batch size 与 learning rate,结论仍需在其他架构、配方和更大预算上复验。
多模态 · 视觉 Token 还带着编码器和分辨率合同
MM1 的消融显示,图像编码器、分辨率与视觉 Token 数对其结果有显著影响,而 connector 设计在该组比较中相对不重要。它没有建立一条通用多模态比例;图像 / 视频还要报告 patch、帧采样、encoder FLOPs、模态混合和对应评测。
合成数据 · 替换与累积不是同一个实验
Gerstgrasser 等观察到逐代用合成数据替换原始真实数据会趋向 model collapse;保留原始数据并累积后续合成数据,在其模型规模、架构与超参范围内避免了坍塌。生成器、筛选器、真实数据锚、代数和任务分布都必须进入合同,不能简化成“合成 Token 等价”或“合成数据必然有害”。
测试时计算 · 预训练曲线没有包含候选搜索与验证器
训练后若在推理时采样多条轨迹、调用工具或用 verifier 选择答案,系统能力多了一条 test-time compute 轴。它可能改变最终质量—成本前沿,却不能倒过来证明预训练 Loss 定律已包含这些运行时工作。
至少冻结:模型与参数口径、数据快照 / Tokenizer / 重复策略、训练目标与验证分布、逐算子 FLOPs 和墙钟账、超参搜索范围、随机种子、每档 IsoFLOP 原始点、拟合代码与区间,以及一个更大规模的外推验证。只要其中关键项改变,就把旧曲线降级为先验并重做局部 sweep。
一手来源与证据边界
优先使用论文、官方文档、官方模型卡和代码仓库。页面中的数字只代表来源所述设置,不自动外推到其他模型与数据。
非 Embedding 参数 / 计算口径、C≈6ND 代理,以及批量效率校正后的 C_min 下 N∝C_min⁰·⁷³、D∝C_min⁰·²⁷;不能与固定批量实测计算下约 0.88 的参数指数混写。
Chinchilla 的三种拟合方法、总参数 / 总算力口径、IsoFLOP 最低点、70B / 1.4T 验证实验与详细 FLOPs 计算。
量化解释非 Embedding 与总参数口径、小模型尺度和拟合形式怎样造成 Kaplan / Chinchilla 系数差异。
复现实验识别末层计算、固定 warmup 与尺度相关优化器调参对 compute-optimal 估计的影响。
把生命周期推理需求加入目标函数;47 个 150M–6B 模型和 10–10,000 Token / 参数实验也揭示极端配比外推风险。
400 多次训练、最高 9B 参数 / 900B 训练 Token 下的数据重复实验,以及重复轮次回报递减的局部证据。
路由模型的总参数 P、前向 FLOPs F 与参数利用率 P/F 两轴;其 168 个模型均固定训练 130B Token。
多模态预训练中图像编码器、分辨率、视觉 Token 数和数据混合的重要性;connector 结论限定于论文消融。
区分递归合成数据“替换原始数据”与“保留原始数据并累积”的实验和理论边界。
3.8×10²⁵ FLOPs 下预测 402B / 16.55T,实际训练 405B / 15.6T,并为较小模型采用推理成本导向的更长训练。
988 个 BLT 与 320 个 subword 模型、50M–6.7B 参数的压缩率实验;在论文设置中,compute-optimal 关系更贴近按字节而非 Token 计量的数据量。
复查 Chinchilla 表格与架构公式间最高 15.2% 的参数计数歧义,并在原数据重拟合中检验主要 scaling 结论对这些计数差异的稳健性。