合成数据怎么用?大模型生成训练数据有哪些风险?

第 1223 题 约 2 分钟读完

本文目录
  1. 面试怎么回答
  2. 合成数据的常见用途
  3. 主要风险
  4. 控制方法

面试怎么回答

合成数据常用来扩充微调样本、基于文档自动构建评测集、生成不含真实个人信息的测试数据、生成边界和攻击样本,以及做表达方式的增强。风险是错误被当成真理、多样性不足和真实分布差距大、偏差被放大、反复用合成数据训练导致模型崩塌、用同一模型出题再评测自己分数偏高,以及可能复现真实隐私信息。我的控制方法是真实数据为主合成为辅;能验证的必须验证,SQL 要能执行且结果正确,问答要能在原文找到依据;生成时控制场景、难度和风格并统计分布;每批人工抽检,标记数据来源;上线判断基于真实问题的评测集,并对合成数据做敏感信息扫描。

先把这段讲顺;面试官追问时,再展开下面的原理和细节。

详细讲解

真实数据不够、标注太贵、涉及隐私不能用,于是越来越多团队用大模型生成训练数据和测试数据:生成问答对、生成 SQL 样本、生成模拟的用户对话。面试官问合成数据,想看你知道它能解决什么,也知道它的风险和控制方法。

合成数据的常见用途

  • 扩充训练数据:为微调生成指令和回答样本,尤其是覆盖真实数据里少见的场景;
  • 构建评测集:基于文档自动生成问题和标准答案,用于 RAG 评测;
  • 隐私替代:生成和真实数据分布相似但不包含真实个人信息的测试数据;
  • 边界和攻击样本:生成各种注入、越权、歧义的问题,测试系统的鲁棒性;
  • 数据增强:同一个问题生成多种表达方式。

主要风险

  1. 错误被当成真理:生成的答案可能是错的,模型学会了错误的知识或 SQL 写法;
  2. 多样性不足:模型生成的数据风格趋同,句式、用词、问题类型集中,和真实用户的分布差距大;
  3. 偏差放大:生成模型自身的偏见和习惯被复制和放大;
  4. 模型崩塌:反复用模型生成的数据训练模型,多代之后输出的多样性和质量下降;
  5. 评测失真:用同一个模型生成测试题再评测它自己,分数会偏高;
  6. 隐私泄露:生成模型可能把训练时见过的真实信息复现出来。

控制方法

  • 真实数据为主,合成数据为辅:合成数据用来补充覆盖面,不要完全替代真实数据;
  • 可验证的就验证:生成的 SQL 必须能执行,结果和预期一致;生成的问答对,答案必须能在原文中找到依据;
  • 多样性控制:生成时指定不同的场景、难度、用户角色、表达风格;生成后做去重和分布统计,与真实数据对比;
  • 人工抽检:每批合成数据抽样审核,统计错误率,错误率高的生成方式停用;
  • 标记来源:每条数据标明是真实、合成还是人工修订,训练和评测时可以分别分析效果;
  • 评测集以真实数据为主:合成测试集可以用于扩充覆盖面,但最终的上线判断要基于真实问题;
  • 隐私检查:对合成数据做敏感信息扫描。