合成数据是这几年训练pipeline里最热闹的省钱方案:让 GPT-4 写指令回答、让强模型造数学题、蒸馏长思维链,成本只有人工标注的零头。但"模型给自己造数据"有一个理论上的暗礁——model collapse。Shumailov 等人 2024 年发在 Nature 上的论文把这个直觉做成了数学:递归地在模型输出上训练,分布的尾部先消失,然后是整体的退化和方差崩塌。这篇文章推导这个 toy model,划清合成数据的安全边界。
高斯玩具模型:递归训练的解析解
设真实数据服从一维高斯 $x \sim \mathcal N(\mu, \sigma^2)$。第一代模型学出一个估计 $\hat\mu$(简单起见设方差估计准确)。用第一代模型采样合成数据,再用合成数据训第二代:
$$ x^{(1)} \sim \mathcal N(\hat\mu, \sigma^2), \qquad \hat\mu^{(2)} = \frac{1}{n}\sum_{i=1}^n x_i^{(1)}. $$
第二代模型的参数期望是 $\mathbb E[\hat\mu^{(2)}] = \mu$,但方差是
$$ \mathrm{Var}(\hat\mu^{(2)}) = \frac{\sigma^2}{n} + \mathrm{Var}(\hat\mu^{(1)}), $$
多出来的第二项就是前一代参数不确定性的直接继承。递归 $t$ 代:
$$ \mathrm{Var}(\hat\mu^{(t)}) = t \cdot \frac{\sigma^2}{n}. $$
每过一代,参数方差线性累积——模型对真实均值的定位越来越不准,表现为输出逐渐偏离真实分布的中心。更贴近实际的版本允许模型有自己的函数近似误差 $\varepsilon$(Wasserstein 距离意义下):Shumailov 等人的完整结果是每代误差满足递推 $d_{t+1} \ge d_t + \alpha \sigma_t^2$,其中 $\sigma_t^2$ 是第 $t$ 代数据分布的方差,$\alpha > 0$——每一步训练都在真实分布之外累加一层扰动,且扰动幅度与分布本身的离散度成正比。
两个阶段:尾部消失先于整体退化
Toy model 的一个关键预言是崩溃不是均匀的。真实数据是厚尾的——罕见样本(小语种文本、冷僻知识、长尾代码模式)存在但频率低。模型对这些低频区域的拟合误差最大,合成数据在这里的可信度最低。递归训练时,低概率事件被系统性低估(模型向高概率模式收缩),合成数据中稀有样本进一步稀释,下一代模型在这些区域更加无知——尾部以超线性速度消失。这个机制在实证里反复出现:用早期 LAION 合成的图像迭代训练生成模型,几代之后输出多样性肉眼可见地收窄,人脸朝向、构图模式趋同;文本侧的对照实验(Villalobos & Atkinson 的递归摘要实验)显示几代之后摘要开始丢失原文的细节修饰语。
整体退化(均值漂移 + 方差崩塌)发生得更慢,因为模型对分布主体的拟合在前几代仍然可用。这给了工程上一个重要判断:合成数据的退化是可以监测的早期信号——在固定探针集上测输出多样性(self-BLEU、n-gram distinct 率、embedding 方差),下降曲线在能力退化之前就有可测的拐点。把监测做进数据管线,能在崩溃之前截停递归。
边界在哪:什么情况下合成数据是安全的
Model collapse 的结论经常被误读成"合成数据有毒"。Toy model 揭示的崩溃机制依赖一个条件:合成数据是训练分布的递归唯一来源。打破这个条件的方式都安全:
混入真实数据是最直接的解毒剂。 Shumailov 论文的扩展分析显示,只要每代保持一定比例 $p$ 的真实数据,退化速度从线性降为 $O(1/p)$ 的常数级——真实数据像锚一样把分布钉在原位。工程含义:合成数据占比低于 50% 时,几代的累积漂移在噪声范围内;超过这个线就需要真实数据锚定,且锚的比例随递归深度增加。
可验证的合成数据不受此约束。 关键区分是"合成数据有没有外部真值"。数学题:生成的题目可以用符号验证器(SymPy、形式化证明器)判定对错,答错的直接丢弃——等价于用真实数据的验证函数替换了分布锚,误差不会被继承。代码同理:单元测试当过滤器。RLVR(可验证奖励的强化学习,本系列对齐篇会展开)就是这条路线的大规模版:奖励信号来自程序运行结果而非人类偏好,自产自销闭环在这里是安全的,因为每次迭代都有外部世界在纠偏。没有验证器的领域(开放写作、主观问答)才是 collapse 的高危区。
单代蒸馏比多代递归安全得多。 风险随代数累积,一次性的强到弱蒸馏(teacher 生成、student 学一遍、不再迭代)在实践中没有表现出 collapse 症状——Alpaca、蒸馏版 TinyLlama 都验证了这点。危险的是"学生毕业后当老师再带学生"的循环。
工程监测清单
如果管线里已经用了合成数据,我建议固定四项监测:固定探针集上的输出多样性指标(distinct-3、self-BLEU);合成数据与真实数据的 embedding 分布距离(Wasserstein 或 MMD 估计);验证器通过率的时间序列(数学/代码场景,通过率缓慢下降 = 数据在退化);以及人工抽检比例(不低于 1%)看长尾样本质量。四项里任何一项出现单调恶化趋势,就该暂停合成管线的自我递归、回灌真实数据。
小结
Model collapse 的数学本质:递归自训练把每代的参数不确定性无衰减地传给下一代,误差随代数线性(或更快)累积,分布尾部以超线性速度先消失。崩溃的前提条件是"合成数据成为分布的唯一来源"——混入真实数据锚定、用可验证奖励替代分布监督(数学/代码验证器)、限制递归代数,三条边界内合成数据是安全的工程工具。开放域无验证器的自递归,才是理论预言和实验观测一致崩塌的场景。