如果我告诉你,AI 模型的进步可以像物理定律一样精确预测——你信吗?而且,让一个 13 亿参数的模型表现得比 1750 亿参数的更好,只需要教它”听话”。

第一个惊喜:进步是一条直线

2020 年,OpenAI 的 Kaplan 等人发现了一个惊人的规律:把语言模型的损失(loss,越低表示越好)和模型大小画在对数坐标系上——居然是一条直线

这意味着:模型每大 10 倍,性能就提升一个固定的量。不是有时候有效有时候不有效——是跨越了 7 个数量级(从百万参数到千亿参数)都精确成立。

这种规律在物理学中很常见(引力、电磁力都是幂律关系),但在 AI 这种年轻的、经验主义占主导的领域里发现如此精确的定律,令人震惊。

它的实际价值在于:你可以在小模型上做实验(便宜、快速),然后精确预测大模型的表现。不需要真的训练一个千亿模型才能知道它好不好——数学就能告诉你。

Kaplan 的关键结论是:如果计算预算有限,应该优先把模型做大,而不是多喂数据。 这直接指导了 GPT-3 的设计——1750 亿参数,但”只”用了 3000 亿 token 训练。

第二个惊喜:Kaplan 错了(一半)

2022 年,DeepMind 的 Hoffmann 等人(Chinchilla 论文)重新做了实验,发现结论需要修正。

Kaplan 说”优先做大模型”。Chinchilla 说”参数和数据应该等比例增长“——大约 20 个 token 对应 1 个参数。

验证:他们训练了 Chinchilla(700 亿参数,1.4 万亿 token),它匹配了 2800 亿参数的 Gopher 的性能——用相同的计算量,但更小的模型 + 更多的数据。

翻译成人话:GPT-3 其实是被”饿着”训练的。1750 亿参数的模型按 Chinchilla 比例应该看 3.5 万亿 token,但它只看了 3000 亿——相当于让一个能力很强的学生只上了两天课就参加考试。

这个发现改变了整个行业。之后的模型都开始重视数据量:LLaMA 7B 训练了 1 万亿 token,远超 Chinchilla 最优比例——因为他们发现还有第三个因素。

第三个视角:部署时的成本

Chinchilla 最优化的是训练计算。但在实际应用中,训练只做一次,推理要做百万次。

一个 700 亿参数的模型推理成本是 70 亿参数模型的 10 倍(大致)。如果你的模型要服务数百万用户,这个 10 倍成本日复一日地累积。

2024 年的”Beyond Chinchilla”理论框架指出:当预期推理量大时,最优策略是训练一个小模型但训更久。多花训练钱(一次性),省推理钱(每天都省)。

这就是 Meta 做 LLaMA 的哲学:7B 模型训练 1 万亿 token——按 Chinchilla 比例它”该”训练的量的 7 倍。训练时多花了钱,但部署时每一次推理都省钱。

训练的工程:怎么喂饱一千张 GPU

一千亿参数的模型,单张 GPU 装不下。怎么办?把模型切开分到多张 GPU 上。但切法有讲究:

数据并行:最简单——每张 GPU 都有完整模型,但看不同的数据。问题是每张 GPU 都要装下整个模型。

张量并行:把一个矩阵乘法切到多张 GPU 上。比如一个 12288×49152 的矩阵,切成 8 份,每张 GPU 算一份。问题是切了之后中间要通信同步,需要极高带宽的互连(NVLink)。

流水线并行:不同的层放在不同的 GPU 组上,数据像工厂流水线一样流过。第 1 组 GPU 算第 1-12 层,第 2 组算第 13-24 层……

ZeRO(DeepSpeed):把优化器状态、梯度、甚至参数本身分散存在不同 GPU 上。用到时通信获取,用完就丢。像图书馆借书而非买书——省空间但每次都要”借”。

实际训练超大模型时,四种并行全部叠加。比如 530B 参数的 Megatron-Turing NLG:8 路张量并行 × 35 路流水线 × 数据并行 + ZeRO。数千张 GPU 协同工作,像一个巨大的分布式计算机。

另一个关键问题:怎么让模型”听话”

到 2022 年,大模型已经足够强大。但有一个问题:它们不一定”听话”。

GPT-3 可以写文章——但它可能写出有害内容、编造事实、或者就是不按你的要求来。它学会了”预测下一个词”这件事,但没学会”当一个好助手”。

这就需要对齐(Alignment):让模型的行为符合人类期望。

RLHF:教模型什么是”好回答” (2022)

OpenAI 的 InstructGPT 确立了经典流程:

第一步:监督微调。收集人类写的”好回答”示例,让模型模仿。就像老师先给范文。

第二步:训练奖励模型。给模型的多个回答让人类排序(”A 比 B 好”),训练一个单独的模型来预测人类偏好。这个模型学会了”打分”。

第三步:强化学习。用 PPO 算法让语言模型最大化奖励模型的打分,同时不偏离太远(防止”作弊”——找到奖励模型的漏洞而非真正变好)。

结果惊人:13 亿参数的 InstructGPT,在人类评估中击败了 1750 亿参数的 GPT-3。对齐比规模有效 100 倍。

但 RLHF 很痛苦——需要同时维护三个模型(语言模型、奖励模型、参考模型),PPO 训练不稳定、超参数敏感。有没有更简单的方法?

DPO:一行公式替代整个 pipeline (2023)

Rafailov 等人证明了一个数学等价关系:RLHF 的最优解可以用一个简单的分类损失函数直接算出来。

不需要奖励模型。不需要 PPO。不需要强化学习。

只需要:偏好数据(”人类更喜欢 A 而非 B”)和一个简单的损失函数。一步到位,直接优化语言模型。

这就像发现了一条捷径:你本来要翻过一座山(训练奖励模型→PPO→调参),结果数学告诉你山下面有条隧道可以直达对面。

DPO 迅速被广泛采用(LLaMA 2、Zephyr 等都用了它),因为它太简单了:实现只需几十行代码,训练稳定得多,效果相当甚至更好。

GRPO:连基线都不需要了 (2024)

DeepSeek 进一步简化:PPO 需要一个 “critic 模型”来评估每一步的好坏。GRPO 的想法是——何必要一个 critic?

对每个问题生成一组(比如 8 个)回答,算它们的奖励分数,然后用组内平均作为基线。比平均好的 → 鼓励,比平均差的 → 抑制。

就这样。不需要单独的 critic 模型。省了一半显存。

GRPO 被用在 DeepSeek-R1 上训练数学推理能力——没有任何人工标注的推理示范数据,纯靠”自我对弈 + 组内比较”就学会了复杂推理。

flowchart LR
    RLHF["RLHF 2022<br/>3个模型<br/>SFT+RM+PPO"] --> DPO["DPO 2023<br/>1个模型<br/>直接偏好优化"]
    DPO --> GRPO["GRPO 2024<br/>1个模型<br/>组内相对优化"]
    
    RLHF ---|"复杂度高"| DPO
    DPO ---|"更简化"| GRPO

对齐技术的方向

RLHF (2022) → DPO (2023) → GRPO (2024):

  • 模型数量:3 → 1 → 1
  • 训练复杂度:高 → 低 → 更低
  • 效果:好 → 相当 → 某些场景更好

趋势清晰:越来越简单,越来越高效。复杂的多阶段管道被简洁的数学等价物取代。

这些认识改变了什么

Scaling laws + 对齐技术共同改变了 AI 开发的逻辑:

  1. 进步可预测:不需要盲目试错。数学告诉你下一步该做什么。
  2. 小模型可以很强:对齐比规模更有效。好的训练策略比堆参数重要。
  3. 简单方法通常更好:从 RLHF 到 DPO 到 GRPO,每一步简化都带来实际改善。

下一篇——也是最后一篇——我们要面对一个根本性的问题:Attention 还是最优解吗?Mamba、RWKV、xLSTM 这些挑战者提出了怎样的替代方案?以及 2024 年那个令人惊讶的统一发现。