热闻岛
返回全网热点

合成数据讲透:大模型为什么开始自己给自己出题?

6月12日21 阅读
合成数据讲透:大模型为什么开始自己给自己出题?配图
从“造数据”到“数据飞轮”,一文看懂合成数据的技术细节、工程链路和真实风险 先说结论:合成数据不是假的数据,而是为了训练模型、评测模型、补齐边界场景而“有目的地生成”的数据。它可以让模型变聪明,也可能把模型喂偏。关键不在“生成”,而在“筛选

从“造数据”到“数据飞轮”,一文看懂合成数据的技术细节、工程链路和真实风险

合成数据讲透:大模型为什么开始自己给自己出题?配图

先说结论:合成数据不是假的数据,而是为了训练模型、评测模型、补齐边界场景而“有目的地生成”的数据。它可以让模型变聪明,也可能把模型喂偏。关键不在“生成”,而在“筛选、评测、混合、闭环”。

01 合成数据到底是什么?

很多人一听“合成数据”,第一反应就是:这不就是 AI 瞎编吗?这句话只说对了一半。合成数据确实不是现实世界原封不动采集来的,但它也不是随便编出来凑数的。真正有价值的合成数据,必须围绕一个明确目标:让模型学会某种能力,或者让评测覆盖某种风险。

举个简单例子:你想训练一个客服模型识别“用户要退款”。真实客服日志里可能只有 500 条退款样本,而且写法很单一。合成数据可以让模型生成 5 万种表达:我要退、东西坏了想退、能不能原路返回、我买错了、订单取消后钱怎么还没到。这样模型才不会只认识“退款”两个字。

所以,合成数据的核心不是“虚构”,而是“补齐”。补齐真实数据少、标注贵、隐私敏感、长尾不足、边界场景罕见的问题。

合成数据讲透:大模型为什么开始自己给自己出题?配图

合成数据变火的根因:真实数据越来越贵,边界场景越来越重要

02 为什么大模型时代更需要合成数据?

过去做机器学习,很多公司还能靠人工标注慢慢堆数据。到了大模型时代,这套方法开始吃力。模型要学的不再只是“是/否分类”,而是复杂推理、工具调用、多轮对话、代码修复、RAG 引用、长文总结、数学证明。每一种能力都需要对应样本,靠人工一条条写,成本高到吓人。

Meta 在 Llama 3.1 公开说明里提到,后训练会经过 SFT、Rejection Sampling、DPO 多轮对齐,并使用合成数据生成绝大部分 SFT 样本,同时还要做多种数据处理来过滤到高质量。Microsoft Phi-3 技术报告也明确说,训练数据由重度过滤的公开网页数据和合成数据组成。NVIDIA Nemotron-4 340B 报告更直接:其对齐过程中超过 98% 的训练数据是合成生成的。

这些例子说明一件事:合成数据已经不是“补丁”,而是大模型后训练和能力迁移里的核心燃料。

问题

只靠真实数据

加入合成数据

长尾场景

发生少,收集慢

可按规则主动生成

隐私数据

很多不能直接训练

可生成相似但不含个人信息的样本

标注成本

专家贵、周期长

让强模型先生成,人工做抽检

能力迭代

上线后问题难沉淀

失败样本可回流成新训练题

合成数据讲透:大模型为什么开始自己给自己出题?配图

不同训练目标,对应不同形态的合成数据

03 合成数据不是一种数据,而是一组“训练食材”

做大模型训练时,合成数据通常会被做成几类格式。第一类是指令数据,也就是“用户问题 + 标准回答”,常用于 SFT。第二类是偏好数据,也就是同一个问题下,一个好答案、一个差答案,用于 DPO、RLHF、RLAIF。第三类是工具调用轨迹,记录模型什么时候该调用搜索、什么时候该查数据库、什么时候该调用下单接口。第四类是 RAG 数据,包含问题、召回资料、标准答案和引用依据。第五类是多模态数据,比如图像说明、视频动作、机器人操作轨迹。

技术人最容易犯的错,就是把所有数据都混成一个 JSONL 文件,然后幻想模型自己悟。现实很残酷:样本格式不清楚,模型学到的就是一锅粥。你要训练工具调用,就得有工具调用轨迹;你要训练拒答,就得有安全边界样本;你要训练 RAG,就得有检索片段和引用答案。

04 一条靠谱的合成数据流水线,应该怎么跑?

合成数据讲透:大模型为什么开始自己给自己出题?配图

真正的合成数据工程,不是写一个 prompt 扔给大模型,然后把结果保存下来。那叫“批量造文本”,不是数据生产。生产级流水线至少要过七步。

第一步是种子任务。可以来自真实日志、用户投诉、PRD、专家样例、历史 Bug、面试题、客服 FAQ。第二步是生成。用强模型按模板扩写问题、生成回答、构造对话、模拟边界情况。第三步是结构化。用 JSON Schema、字段校验、枚举约束,把数据变成可训练样本。第四步是清洗去重。既要文本去重,也要语义去重,避免 1 万条样本看起来很多,实际只是在说同一句话。第五步是质量打分。用规则、LLM Judge、Reward Model、人工抽检,把低质量数据筛掉。第六步才是混合训练。第七步是评测回流,让线上失败样本继续反哺下一轮数据。

一句话:合成数据的价值不在“生成多少”,而在“能不能证明它有效”。没有评测闭环的合成数据,就是更贵的垃圾数据。

05 具体怎么合成?常见 5 种技术路线

合成数据讲透:大模型为什么开始自己给自己出题?配图

1)从零生成:直接让模型出题

这是最直观的方式:给模型一个主题、一个格式、一个难度要求,让它生成指令、答案、解释。比如生成 1 万条 SQL 优化问答,或者生成 3 万条客服多轮对话。NVIDIA NeMo Curator 的合成数据能力里就区分了 Generation Mode 和 Transformation Mode:前者可以不依赖输入文档直接生成新数据,后者则基于已有文档做改写、问答、知识抽取、蒸馏。

2)改写增强:把少量真实样本变成多样表达

如果你已经有 1000 条真实问题,最适合做改写增强。比如同义改写、口语化改写、方言表达、多语言翻译、难度升级、加入噪声。这个方法很适合客服、搜索、意图识别、RAG 问题生成。

3)教师蒸馏:强模型教小模型

这几年最常见的模式,就是让更强的教师模型生成答案、解释、偏好对,再用这些样本训练更小、更便宜、更快的学生模型。它的好处很明显:线上可以用小模型承接高频场景,成本低,延迟低。坏处也明显:教师模型错了,学生会学错;教师模型有偏见,学生会复制偏见。

4)反向生成:先定标签,再造输入

有些任务正向很难,比如信息抽取。你想让模型从文本里抽出公司、金额、日期、合同条款,但真实标注太贵。反向生成的思路是:先给一个结构化标签,比如“公司=A,金额=500 万,风险=逾期付款”,再让模型生成一段符合这个结构的合同文本。这样标签天然存在,训练小模型很方便。

5)仿真模拟:在虚拟世界里造数据

自动驾驶、机器人、具身智能、游戏智能体,很多数据不能靠现实世界慢慢等。真实车祸不能为了训练模型去制造,机器人摔 1 万次成本也高。所以会用仿真环境、世界模型、多 Agent 模拟来生成场景。这个方向的合成数据不只是文本,而是图像、视频、动作、传感器、轨迹。

06 质量过滤:合成数据最贵的环节

合成数据讲透:大模型为什么开始自己给自己出题?配图

很多团队做合成数据翻车,不是因为模型不会生成,而是因为生成之后不筛。看起来有 100 万条,实际一训练模型变傻了。原因很简单:错答案、重复答案、模板化答案、幻觉事实、泄漏隐私、污染评测集,全都混进去了。

质量过滤通常要分几层。第一层是格式校验:JSON 能不能解析,字段有没有缺失,答案是不是空的。第二层是规则校验:金额、日期、枚举值、工具参数是否符合业务规则。第三层是事实校验:如果答案引用了资料,就要能追溯到资料片段。第四层是去重和多样性检查:不能一堆样本长得差不多。第五层是模型打分:用 LLM Judge 或 Reward Model 判断有用性、正确性、安全性、表达质量。第六层是人工抽检,尤其是高风险行业必须保留人工审核。

NVIDIA Nemotron-4 的公开报告里就把合成提示生成、回答和对话生成、质量过滤、偏好排序作为合成数据管线的一部分。也就是说,业界真正重视的不是“我能生成”,而是“我能生成后筛出能训练的东西”。

07 合成数据怎么进入训练?别一锅炖

合成数据讲透:大模型为什么开始自己给自己出题?配图

合成数据进入训练,通常有四种位置。第一种是预训练或继续预训练,用大规模文本、代码、领域文档补知识。第二种是 SFT,用指令-回答样本教模型按格式完成任务。第三种是偏好优化,用 chosen/rejected 或打分数据教模型什么答案更好。第四种是评测集,用真实失败样本和合成边界题持续测模型有没有退化。

这里最重要的工程原则是:候选池和训练集要分开。生成出来的数据先进入候选池,带上来源、模型版本、prompt 版本、生成时间、过滤规则、质量分。只有通过质量门禁的数据,才能按比例混进训练集。否则你今天训练效果好,明天想回滚都不知道是哪批数据导致的。

08 数据飞轮:让线上失败变成下一轮能力

合成数据讲透:大模型为什么开始自己给自己出题?配图

做 AI 应用,最值钱的数据往往不是一开始准备好的,而是上线后用户真实问出来的。比如智能客服答错了,代码助手改坏了,RAG 引错文档了,智能体工具参数抽错了。这些失败样本如果只是存在日志里,就是成本;如果进入合成数据流水线,就是资产。

数据飞轮的做法是:先监控线上失败,再归因失败类型,然后围绕这些失败生成一批相似但不同的边界题,加入评测集和训练候选池。下一次模型发布前,必须在这些题上通过回归测试。这样产品越用,模型越懂你的业务。OpenAI 的模型优化文档也强调,优化模型输出需要 evals、prompt engineering、fine-tuning 形成持续反馈飞轮。

09 隐私合规:合成数据不是万能遮羞布

很多人以为“我把真实数据合成一下,就没有隐私问题了”。这很危险。合成数据确实可以降低隐私风险,但前提是不能把真实用户的姓名、手机号、地址、订单号、病历细节原样搬进去。更极端一点,如果合成数据和某个真实用户太相似,仍然可能被重新识别。

Apple 在 2025 年公开介绍过一种更谨慎的路线:先生成合成消息和 embedding,再让选择参与设备分析的用户设备在本地比较哪些合成 embedding 更接近本地样本,Apple 只学习聚合趋势,并通过差分隐私保护,不读取用户邮件内容。这个案例说明:合成数据要和隐私技术、端侧计算、聚合统计、权限审计一起使用,不能单兵作战。

10 最大风险:模型坍塌,越喂越窄

合成数据讲透:大模型为什么开始自己给自己出题?配图

合成数据最大的坑,叫模型坍塌。Nature 2024 论文讨论了一个现象:如果一代模型生成的数据污染下一代模型训练集,再一代代递归下去,模型会逐渐误解真实分布。早期表现是长尾信息丢失,后期可能变成分布方差明显缩小,输出越来越单调。

用大白话说,就是模型吃多了自己做的菜,口味越来越单一,最后忘了真实世界本来有多复杂。解决办法不是禁止合成数据,而是四件事:真实数据持续注入,多源模型生成,数据分布检测,真实长尾评测集长期保留。

记住一句狠话:只用合成数据训练模型,就像让学生只做自己出的题,短期看分数很高,长期一定偏科。

11 企业要落地,架构应该怎么设计?

合成数据讲透:大模型为什么开始自己给自己出题?配图

如果你真的要在公司里做合成数据,不建议从一个脚本开始失控扩张。比较稳的架构应该分六层。

第一层是数据源层,接入业务日志、人工标注、知识文档、专家规则、线上反馈。第二层是生成编排层,管理 prompt 模板、多模型生成、多 Agent 模拟、批处理任务。第三层是质量治理层,负责规则校验、去重、LLM Judge、Reward Model、人工抽检。第四层是数据资产层,沉淀样本库、向量库、元数据、版本号、数据血缘。第五层是训练评测层,连接 SFT、DPO、RLAIF、Eval、A/B、回归测试。第六层是安全合规层,负责脱敏、权限、审计、许可证、禁止泄漏。

如果是 Java 业务团队 + Python AI 团队,可以这样拆:Java 负责数据任务、权限、审核流、版本管理、训练任务状态;Python 负责生成、清洗、打分、Embedding、评测和模型训练。两边通过任务队列或 HTTP/gRPC 打通,所有样本都要有 requestId、datasetVersion、promptVersion、modelVersion。

12 落地检查清单

合成数据讲透:大模型为什么开始自己给自己出题?配图

第一,目标要清楚。你到底是补客服意图、训练工具调用、做 RAG 问答,还是构造评测集?目标不同,数据格式完全不同。第二,格式要固定。训练数据不是文章,必须有 schema。第三,来源要可追。每条数据怎么来的,用哪个模型、哪个 prompt、哪个 seed,都要记录。第四,质量要可测。没有独立评测集,就不要谈提升。第五,比例要可控。真实数据和合成数据要混合,不能全靠模型自嗨。第六,合规要可审。PII、版权、许可证、内部敏感信息都要过一遍。

结尾:合成数据不是捷径,是数据工程升级

合成数据真正厉害的地方,不是让你省掉人工,而是把人工从重复标注里解放出来,让人去设计规则、审核质量、构建评测、控制风险。

它会成为大模型应用的基础设施:智能客服要用它补长尾问法,代码助手要用它补 Bug 样例,RAG 系统要用它补评测问题,智能体要用它补工具调用轨迹,机器人要用它补仿真场景。

但它也不是万能药。没有真实数据打底,没有质量门禁,没有评测闭环,没有版本管理,合成数据只会把模型喂得越来越像一个自信的复读机。真正能做出效果的团队,一定不是“生成最多”的团队,而是“最会筛、最会测、最会闭环”的团队。

要点速读

从“造数据”到“数据飞轮”,一文看懂合成数据的技术细节、工程链路和真实风险 先说结论:合成数据不是假的数据,而是为了训练

  • 从“造数据”到“数据飞轮”,一文看懂合成数据的技术细节、工程链路和真实风险 先说结论:合成数据不是假的数据,而是为了训练
  • 更多细节仍在持续更新中
  • 更多细节仍在持续更新中