什么是合成数据?AI 用自己造的数据训练自己
真实数据快用完了,AI 怎么继续变强?合成数据是什么、为什么在数学和代码上特别有效、「模型崩溃」是怎么回事,一文讲清这条绕不开的路。
上一篇讲 Scaling Law 时留了个问题没展开:互联网上的高质量文本快被扒完了,模型还怎么继续变强?
行业给出的答案听着有点像悖论——让 AI 自己造数据,再拿这些数据去训练 AI。这就是合成数据(Synthetic Data)。它到底靠不靠谱,是这两年最值得搞懂的问题之一。
一句话理解:不是采集来的,是造出来的
传统训练数据是从真实世界收集的:网页、书籍、代码仓库、对话记录。合成数据则是由模型或程序生成的。
常见的造法有三种:
- 让强模型出题:用一个能力很强的模型生成大量问答对、推理步骤,拿去训练另一个模型
- 程序化生成:自动驾驶用仿真引擎造出各种路况,代码领域用编译器和测试用例造出可验证的样本
- 改写扩充:把已有的真实数据换个说法、换个难度、换种语言,一份变多份
第一种和知识蒸馏是近亲——都是”强模型教弱模型”,区别在于蒸馏学的是老师的判断分布,合成数据学的是老师产出的题目和答案本身。
为什么非走这条路不可
三个现实原因:
真实数据见底了。 这是最直接的驱动。参数和算力还能继续加,但”每个参数配约 20 个 token”的另一半——高质量文本——快不够用了。
有些数据根本拿不到。 医疗记录涉及隐私,罕见故障场景本身就没几个样本,金融欺诈的真实案例又少又敏感。这些领域里,合成数据不是备选而是唯一选项。
人工标注太贵。 让专家标注几十万条推理过程,成本高到不现实;让模型生成再筛选,成本降几个量级。
关键洞察:在”可验证”的领域,它特别管用
这是理解合成数据最重要的一点,也是最容易被忽略的一点。
合成数据最大的隐患是质量——万一模型造出来的是错的呢?但在某些领域,对错可以被自动判定:
| 领域 | 怎么自动验证 |
|---|---|
| 数学 | 答案能对照标准解,推理步骤能逐步检查 |
| 代码 | 跑一下测试用例,通过就是对的 |
| 逻辑推理 | 结论能用规则引擎校验 |
在这些领域,可以大量生成、自动筛选、只保留正确的——数据量上去了,质量还不掉。这就是为什么这两年**推理模型在数学和编程上的进步远快于其他方面**:不是这些任务更简单,而是它们的训练数据可以近乎无限地自我生产。
反过来,“这篇文案写得好不好""这个建议是否得体”这类没有标准答案的领域,合成数据的收益就小得多——因为没法自动判断造出来的东西是好是坏。
最大的风险:模型崩溃
用 AI 生成的数据训练 AI,反复几轮之后会出问题,业内叫模型崩溃(Model Collapse)。
打个比方:复印件的复印件。第一次复印几乎看不出差别,第十次之后细节全糊了。
具体会发生两件事:
- 长尾消失:模型生成时倾向于输出常见、典型的内容,罕见但真实的表达会一轮轮流失
- 偏差放大:原有的偏见和错误不但没被纠正,反而在自我循环中被不断强化
结果就是模型看起来越来越”标准”,实际上越来越单调、越来越脱离真实世界的多样性。这和模型幻觉是两类问题,但都会让输出变得不可靠。
所以业界怎么用
没有人真的只用合成数据。实际做法是:
- 真实数据打底,合成数据补充,而不是替换
- 严格过滤:生成十条留一条,宁缺毋滥
- 能验证的领域大胆用,不能验证的谨慎用——这条基本是共识
- 保留真实数据的多样性,尤其是长尾和小众表达
换句话说,合成数据是放大器而不是永动机:它能把已有的高质量数据和模型能力放大,但造不出凭空的新知识。
对普通用户意味着什么
- 数学和代码能力会继续快速提升,因为这条路还没走完
- 写作、判断、审美这类能力提升会慢,它们缺少自动验证的手段
- 开源小模型越来越能打,很大程度上受益于用强模型合成的训练数据
- 也正因如此,用闭源模型的输出去训练自己的模型是否违反其服务条款,一直是争议话题——自己做这件事前务必看清许可协议
小结
合成数据是由模型或程序造出来、而非从真实世界采集的训练数据。它之所以成为绕不开的路,是因为真实高质量数据见底、部分数据拿不到、人工标注太贵。
它的分水岭在于能不能自动验证:数学、代码这类可验证领域,它近乎无限地供给高质量数据,也正是推理模型进步最快的方向;而没有标准答案的领域,收益有限,还要提防模型崩溃——用复印件复印,越印越糊。
理解了这条线,你就能解释一个看似矛盾的现象:为什么大模型在解奥数题上突飞猛进,写出来的文案却还是那个味道。 想把训练这条线补完整,可以回看 Scaling Law 与大模型是怎么工作的。