Skip to content

Scaling Law 量化账:损失、算力与数据的三角关系 ​

"大力出奇迹"是大模型行业的直觉,但"大力"该怎么分配——多堆参数还是多喂数据?这就是 Scaling Law 回答的问题。本文把损失、算力、数据三者的定量关系讲透,衔接 预训练算力规划。

1. 标准 Scaling Law:损失 = 算力 + 数据 + 不可降的极限 ​

经验上,模型损失 L 可以写成三部分:

L(N,D)=ANα+BDβ+EL(N, D) = \frac{A}{N^\alpha} + \frac{B}{D^\beta} + E

  • N:参数量,D:训练数据量(token);
  • A/N^α:模型太小导致的损失(随 N 幂律下降);
  • B/D^β:数据不足导致的损失(随 D 幂律下降);
  • E:不可约损失(数据本身的熵/噪声,加再多的算力也降不到 0)。

判断:Scaling Law 不是玄学,是"损失 = 三个幂律之和"——它直接告诉我们:单边堆参数不划算,两头都要喂。

2. 训练算力下限:6ND ​

一次训练(不考虑重复查看数据)的总算力下限:

C≈6×N×D(FLOPs)C \approx 6 \times N \times D \quad (\text{FLOPs})

  • 前向 2ND + 反向 4ND(每 token 每参数约 6 FLOPs);
  • 这是理论下限,实际(激活、重算、通信)还要乘 1.2-2 倍;
  • 它把"参数-数据-算力"三个变量压缩成一个方程:给定算力 C,参数与数据不能同时贪。

3. Kaplan vs Chinchilla:最优配比之争 ​

结论主张配比
Kaplan 定律(2020)算力有限时多堆参数更划算数据增长慢于参数
Chinchilla 定律(2022)参数与数据同步增长,约 20 token/参数最优:D ≈ 20N

工程含义:按 Chinchilla,70B 模型最优预训练数据量 ≈ 1.4T token;数据不足就硬上大参数,浪费算力。今天的大模型大多按"Chinchilla 之上"(过训练)配置,把数据价值榨干。

4. Inference-time Scaling:用算力换质量的新账 ​

标准 Scaling Law 只管训练时的算力;2024 年后,"思考模型"(RL + 长思维链)把算力也搬进了推理时:

Quality=f(Ctrain,N,D)→test-time computeQuality=f(Ctrain,N,D,Cinference)Quality = f(C_{train}, N, D) \quad \xrightarrow{\text{test-time compute}} \quad Quality = f(C_{train}, N, D, C_{inference})

  • 推理时算力花在哪:更多采样、更长思维链、自我纠错(见 输出采样账);
  • 关键权衡:同样一笔钱,花在训练更大的模型,还是推理时多想一会儿?——后者迭代快、成本可控,是中小团队的现实路径。

5. 可复算 Python ​

python
def chinchilla_opt(n_params_b):
    """Chinchilla 最优数据量(token)与训练算力下限(FLOPs)"""
    d_opt = 20 * n_params_b * 1e9                # 20 tokens/param
    c_min = 6 * n_params_b * 1e9 * d_opt         # 6ND
    return f"{d_opt/1e12:.1f}T token", f"{c_min/1e24:.1f}E FLOPs"

chinchilla_opt(70)
# (1.4T token, 5.9E24 FLOPs ≈ 5.9 ZFLOPs)

6. 交付清单 ​

  1. 定模型规模前先算 Chinchilla 配比:数据够不够 20 token/参数;
  2. 用 6ND 估训练算力下限,再乘 1.2-2 做实际预算(衔接 算力规划);
  3. 数据富余时允许"过训练"(>20 token/参数),数据稀缺时缩模型别硬撑;
  4. 推理侧评估 Inference-time scaling 与"换更大模型"的成本收益比再决策;
  5. 每次实验记录 (N, D, C, loss),验证自己的 Scaling Law 曲线(见 验收基线)。

本文为本站整理思考后撰写,用于知识库学习交流;公式与算例为本站自行推导整理,具体版本与实测数据以现场为准。

AI-HPC 智算超算专家 · Contact: openaihpc@gmail.com