详细解释
Neural Scaling Laws(神经网络缩放定律 / 尺度定律) 一句话定义:OpenAI 2020 年发现的震惊 AI 界的规律——你在 1 亿参数模型上花 1000 块钱训出来的 loss 曲线趋势,居然能完美预测你花 1 亿训 1000 亿参数模型的最终 loss,误差不到 10%。只要你在 log-log(双对数)图上画出来,最终验证集 Loss ≈ k × N^(-a) × D^(-b) × C^(-c),其中 a、b、c、k 是由模型架构决定的常数(Transformer 架构下 a≈0.34,b≈0.28,c≈0.05)。这是当代大模型研发的牛顿定律——没有它大厂根本不敢砸几十亿训一个模型。
缩放定律有三条最经典的结论,OpenAI 2020 + DeepMind 2022 Chinchilla 论文共同证实:(1) 三个变量等比缩放最优——参数量翻 8 倍、数据量也翻 8 倍、计算量翻 8×8×8=512 倍时,模型效果最好;(2) Chinchilla 最优比例:对于 Transformer 密集模型,每 1 个参数要配 20 个 token 训练数据才是计算最优;之前大家普遍 1 参数配 1-3 token,严重欠训;(3) 大模型训练样本效率更高——达到相同 loss 水平,大模型需要看的总 token 数反而更少(大模型看 100B token 达到 loss 2.0,小模型可能要 500B token 都达不到)。
唯元智创 为训自有模型的企业客户提供「缩放定律预算计算器」:你输入你的目标下游任务(如 GSM8K 达到 80%),我们帮你反推需要多少参数量、多少 token 数据、多少 GPU 小时训练成本,给出 3 档预算方案(保守/均衡/激进),避免你凭感觉花 1000 万训一个模型结果只达到你目标的 60%。
三条经典缩放定律公式 + 实用常量表
| 定律类型 | 公式形式(双对数线性) | 拟合常数(标准 Transformer 密集模型) | 适用场景 |
|---|---|---|---|
| ① 参数量缩放律(固定 D,C) | L(N) = L_min + k_N × N^(-α) | α ≈ 0.34,k_N ≈ 1.7(对 10^7 到 10^12 参数拟合) | 你有固定 token 数据,问「我该把模型做多大」 |
| ② 数据量缩放律(固定 N,C) | L(D) = L_min + k_D × D^(-β) | β ≈ 0.28,k_D ≈ 0.8(对 10^9 到 10^13 token 拟合) | 你有固定大小模型,问「我该给它喂多少数据才不浪费」 |
| ③ 计算量缩放律(N 和 D 可变,固定 FLOPs) | L(C) = L_min + k_C × C^(-γ) | γ ≈ 0.05,N_opt ∝ C^0.73,D_opt ∝ C^0.27 | 你只有固定算力预算,问「最优分配多少参数多少 token」 |
几个你需要背下来的工程常量(省你查论文):
- Chinchilla 最优 N:D = 1 : 20(1 参数配 20 token);保守建议企业级按 1:25 到 1:30 训(宁可多喂点数据别欠训)
- 1 个密集 Transformer 参数训练 1 个 token ≈ 6 FLOPs(前向 2FLOPs/param/token,反向 4FLOPs)
- 1 张 A100 80G 训练时实际有效算力 ≈ 120-150 TFLOPs/s(理论 312 TFLOPs/s,利用率 40-50% 已经很强了)
- 1 万亿 FLOPs ≈ $0.03 到 $0.05 云 GPU 成本(A100 按量付费约 $3/小时,约 4e15 FLOP / 小时 = $3 → 1.3e12 FLOP / $)
- 训练一个 Chinchilla 最优的 7B 模型 = 7B × 1.4T token × 6 FLOP ≈ 5.9e22 FLOP ≈ $2M 到 $3M 云成本
缩放定律在企业场景的三个落地应用(别只会背公式)
场景 1:预算约束下选底座参数——我只有 50 万预算训私有模型,应该训 3B、7B 还是 13B? 按 Chinchilla 最优比例反推:$500k ≈ 1e22 FLOPs,C^0.73 ≈ (1e22)^0.73 ≈ 5.6e15,对应 N_opt ≈ C^0.73 / k ≈ 7B 参数量。所以 50 万预算最优是做 7B + 140B token,不要省参数做 13B 只喂 50B token(欠训严重,效果一定比 7B+140B 差)。这就是 Chinchilla 论文的核心贡献——之前 Google 训了个 540B PaLM,结果只喂了 780B token(N:D=1:1.4,严重欠训),最后效果和 70B+1.4T token 的模型差不多,花了冤枉钱。
场景 2:SFT 微调阶段缩放——我 SFT 数据量和 SFT epoch 数的最优关系? SFT 阶段虽然不是严格的预训练缩放定律,但有经过大量工程验证的经验缩放:SFT 训练损失 L_sft ≈ k × (N_sft × E)^(-0.2),即「样本数 × epoch 数」总量翻 10 倍,SFT loss 降约 37%。大多数企业任务 SFT 的拐点在 「N_sft × E ≈ 10^5(10 万个样本·次)」——你有 1 万条数据,跑 10 个 epoch 就到拐点了,再跑下去过拟合。
场景 3:推断缩放(Inference Scaling)——我没预算训大模型,那把小模型推理时的解码策略 scale 有用吗? 有用!而且这是穷公司性价比最高的 scaling:小模型推理成本的 scaling(自一致性投票 + 思维链多数投票 + 检索增强)叫「Compute-Optimal Inference」。OpenAI 2024 年实验证实:13B 模型用 Self-Consistency 64 路投票 + RAG 检索增强推理出来的效果,和 70B 模型贪心解码出来的效果几乎打平,而推理成本只是 70B 的 1/5。所以买不起大模型的中小企业,先把 Scaling 做在 Inference 侧(多路投票 + RAG + 工具调用),ROI 远比自己训大模型高。