Synthetic data generation — 合成数据生成

From Systems analysis wiki
Jump to navigation Jump to search

使用 LLM 生成合成数据是一种人工创建数据的技术,其在统计和结构特征上模仿真实数据,但不包含实际的个人信息。这种方法利用大型语言模型 (LLM)的能力,已成为现代机器学习中解决数据稀缺、隐私问题以及高昂的手动标注成本等问题的关键工具[1]

定义与背景

什么是合成数据?

合成数据是人工生成的信息,它再现了原始真实数据集的统计属性和规律。美国国家标准与技术研究院 (NIST) 将其定义为保留了原始数据统计特性但不泄露个体细节的数据[2]。与简单的数据脱敏(匿名化)不同,数据合成会创建全新的记录,从而提供更高水平的隐私保护。

为何需要合成数据?

人们对合成数据生成的兴趣日益增长,这由多种因素驱动:

  • 数据稀缺:在许多领域,尤其是在高度专业化的领域,高质量的已标注数据不足以训练鲁棒模型。
  • 高昂的标注成本:手动标注数据是一个耗时且昂贵的过程。
  • 隐私要求:法律和道德规范(如 GDPR)限制了包含个人、医疗或财务信息的真实数据的使用。
  • 类别不平衡:在真实数据中,一些重要但罕见的事件(edge cases)可能代表性不足,这阻碍了模型对它们的学习。

LLM 在海量文本和代码语料库上进行训练,已成为解决这些问题的强大工具,因为它们能够生成连贯且多样化的内容,模仿真实数据的风格和分布。

使用 LLM 的主要生成方法

利用 LLM 创建合成数据有几种关键方法。

1. 基于提示的生成 (Prompt-based)

这是一种直接的方法,LLM 根据文本请求(提示词)生成数据。

  • 零样本 (Zero-shot):模型仅根据任务描述生成样本,不提供任何示例。这种方法有助于提高多样性,但可能导致结果相关性较低。
  • 少样本 (Few-shot):在提示词中包含几个期望输出的示例(样本)。这可以引导模型,提高生成数据的相关性,但也存在重复和丧失多样性的风险,因为模型倾向于复制模板[1]

2. 检索增强生成 (Retrieval-Augmented)

该方法旨在提高合成数据的事实准确性并降低幻觉风险。模型不仅仅依赖其内部知识,而是使用来自可靠外部来源的上下文。例如,为了生成“问题-答案”对,首先从维基百科中提取相关段落,然后要求 LLM 根据该文本严格 formulating 问题和答案。

3. 迭代优化与自我修正 (Self-Refinement)

这类方法使用反馈循环来提高数据质量。最著名的例子是 Self-Instruct 方法[1]

  1. 模型生成初始数据集。
  2. 这些数据用于对模型本身(或其副本)进行微调。
  3. 分析模型在生成数据上的错误和弱点。
  4. 要求模型生成新的、更复杂的示例,这些示例与它出错的示例类似。

著名的 Stanford Alpaca 数据集就是按照这种模式创建的——由 GPT-3 模型生成的 52,000 个“指令-响应”对,这些数据使得开源模型 LLaMA 能够被微调到遵循指令的助手水平。

4. 后处理与过滤

数据生成后,通常会进行过滤以剔除低质量的样本。方法从简单(删除重复项、检查格式)到复杂不等,例如:

  • 使用评判模型:训练一个独立的分类器,用于区分真实数据和合成数据,并剔除最不真实的样本。
  • 基于置信度的过滤:只保留那些 LLM 以高置信度预测正确答案/标签的样本。
  • 数据加权:为疑似错误或幻觉的样本在训练时的损失函数中分配较小的权重,以减少其负面影响(SunGen 方法)。

5. 基于执行反馈的学习 (Execution Feedback)

这种方法对于生成代码特别有效。与自然语言文本不同,代码具有一个形式化的正确性标准——它可以被执行。其循环过程如下:

  1. LLM 生成用于解决任务的代码。
  2. 代码被自动运行并通过测试进行验证。
  3. 正确的解决方案被纳入训练集。不正确的则被丢弃,或者模型收到一个信号(reward)以纠正错误。

合成数据的应用

  • 在数据稀缺的情况下改善任务性能:当真实标注数据稀少时,合成数据最为有效。研究表明,在 100 个真实样本中加入 100 个合成样本,可以将分类器的准确率提高 3-26%[3]
  • 创建指令数据集 (Instruction Tuning):诸如 AlpacaCode Alpaca 等项目已经证明,借助 LLM 几乎可以从零开始创建用于训练助手模型的大型高质量数据集。
  • 信息检索与问答 (QA)InPars 方法利用 LLM 为现有文档生成搜索查询。这使得可以自动创建“问题-相关文档”对,用于训练搜索引擎。
  • 隐私保护:在医疗和金融领域,合成数据被用于在无法访问真实个人数据的情况下训练模型。例如,美国退伍军人事务部在 COVID-19 疫情期间生成了合成医疗数据以进行信息共享[2]

优势与风险

优势

  • 降低成本并加速开发:由模型生成数据比手动标注更便宜、更快捷。
  • 可扩展性:可以生成几乎无限量的合成数据。
  • 可控性:开发者可以灵活地调整生成数据的构成、风格和复杂性。
  • 保护隐私:为处理敏感数据提供了一种去身份化的替代方案。
  • 模型鲁棒性 (Robustness):在多样化甚至“棘手”的合成样本上进行训练,使模型不易过拟合,对异常输入数据更具鲁棒性。

局限与风险

  • 事实不准确(幻觉):LLM 可能会生成错误的事实,如果这些事实被纳入训练集,就会在新模型中固化下来。
  • 真实性不足:合成文本可能过于模板化、形式化,或者无法反映自然语言的全部多样性,从而降低模型的泛化能力。
  • 加剧系统性偏见 (Bias):LLM 会继承并可能放大其训练数据中存在的社会刻板印象和偏见。
  • “模型崩溃”风险:这种现象指的是,在由先前版本模型生成的数据上反复训练模型,会导致质量逐渐下降并“遗忘”罕见现象。
  • 潜在的隐私泄露:如果没有特殊措施(例如差分隐私),LLM 可能会无意中复制其训练集中的真实数据片段,从而带来去匿名化的风险[4]

前景与研究方向

  • 提示词选择自动化:发展能够自动找到用于生成高质量数据的最优提示词的方法。
  • 多模态合成数据生成:将方法论扩展到生成组合数据(文本+图像、音频、视频)。
  • 发展质量度量标准:创建标准化的基准测试,用于评估合成数据的实用性、多样性和真实性。
  • 偏见管理:开发用于控制和减少生成数据中偏见的方法,例如通过生成反事实样本。
  • 在行业中安全部署:为在关键领域使用合成数据制定法律和道德标准。

链接

参考文献

  • Ye, J. et al. (2025). Synthetic Data Generation Using Large Language Models: Advances in Text and Code. arXiv:2503.14023.
  • Wang, Y. et al. (2022). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
  • Gao, J. et al. (2022). Self-Guided Noise-Free Data Generation for Efficient Zero-Shot Learning. arXiv:2205.12679.
  • Jeronymo, V. et al. (2023). InPars-v2: Large Language Models as Efficient Dataset Generators for Information Retrieval. arXiv:2301.01820.
  • Li, Z. et al. (2023). Synthetic Data Generation with Large Language Models for Text Classification: Potential and Limitations. ACL 2023.
  • Shumailov, I. et al. (2023). Nepotistically Trained Generative-AI Models Collapse. arXiv:2311.12202.
  • Long, L. et al. (2024). On LLMs-Driven Synthetic Data Generation, Curation, and Evaluation: A Survey. ACL Findings 2024.
  • Gao, J. C. et al. (2024). Not All LLM-Generated Data Are Equal: Rethinking Data Weighting in Synthetic Datasets. OpenReview.
  • Gehring, J. et al. (2025). RLEF: Grounding Code LLMs in Execution Feedback with Reinforcement Learning. arXiv:2410.02089.
  • Barr, A. A. et al. (2025). Large Language Models Generating Synthetic Clinical Datasets: A Feasibility and Comparative Analysis with Real-World Perioperative Data. Frontiers in AI.
  • Rao, H. et al. (2025). A Scoping Review of Synthetic Data Generation for Biomedical Research and Applications. arXiv:2506.16594.

注释

  1. 1.0 1.1 1.2 Ye, J., et al. «Synthetic Data Generation Using Large Language Models: Advances in Text and Code». arXiv:2503.14023 [cs.CL], 20 марта 2025 г. [1]
  2. 2.0 2.1 «Federal chief data officers seek information on synthetic data generation». FedScoop. [2]
  3. Li, Zhuoyan, et al. «Synthetic Data Generation with Large Language Models for Text Classification: Potential and Limitations». ACL Anthology, 2023. [3]
  4. Schoen, F. P., et al. «Large language models generating synthetic clinical datasets: a feasibility and comparative analysis with real-world perioperative data». Frontiers in Artificial Intelligence, 2025. [4]