跳到主要内容

不会崩溃的合成数据管道:大规模生成训练数据

· 阅读需 9 分钟
Tian Pan
Software Engineer

用模型自身的输出训练模型,再用该模型的输出训练下一个模型,三代之内你就构建了一台逐渐变笨的机器。这就是模型崩溃——一个退化过程,其中每一代合成训练数据都会缩窄分布,直到模型遗忘罕见但重要的长尾模式。Nature 上的一项里程碑式研究证实了从业者的经验观察:即使微小比例的合成数据污染(低至千分之一的样本)也会引发词汇、句法和语义多样性的可测量退化。

然而合成数据并非可选项。真实世界的标注数据昂贵且在专业领域稀缺,在前沿模型所需的规模下日益枯竭。2025-2026 年成功交付微调模型的团队并非在回避合成数据——他们正在设计管道架构以确保生成过程不会崩溃。一个高效管道与一个自我中毒管道之间的区别在于多样性保持、验证循环以及知道何时该停下来。

模型崩溃的实际运作机制

模型崩溃不是突然的失败,而是一种缓慢的侵蚀,很容易被忽视,直到你的模型开始产生可疑的一致性输出。

每个生成模型都在近似一个分布。当该模型为下一个模型生成训练数据时,近似误差会累积。高概率输出被强化,而低概率输出——"长尾"部分——逐渐被低估。经过几代之后,模型实际上已经忘记了罕见事件的存在。它产生流畅、自信但危险地狭隘的输出。

数学上的结论是严峻的:当每一代的合成数据替换原始真实数据时,测试误差随迭代次数单调递增。不存在平台期——它只会持续恶化。合成文本中的词汇量增长速度远低于人类文本的词汇量增长,无论使用哪个模型生成。你的合成数据乍看之下很多样,但这种多样性是浅层的。

这在生产环境中有三个具体影响:

  • 领域覆盖缺口。 一个用于医疗编码的微调模型如果发生崩溃,将能很好地处理常见诊断,但在罕见病症上产生幻觉——而这恰恰是你最需要它准确的地方。
  • 对抗性脆弱性。 研究表明,单源合成微调可能在保持输出质量的同时移除安全防护栏,对于在小型生成器的窄合成数据上微调的模型,36.3% 的越狱提示回应落入危险区域。
  • 静默退化。 因为模型的输出依然流畅且自信,标准质量指标可能无法捕捉到崩溃,直到下游任务性能显著下降。

累积策略:真实数据永不离场

近期模型崩溃研究中最重要的发现看似简单:将原始真实数据与每一代合成数据一起保留,崩溃就不会发生。

一项涵盖语言模型、扩散模型和变分自编码器的研究表明,将合成数据代次与原始真实数据累积在一起,可以产生测试误差的有限上界——与运行多少次迭代无关。真实数据充当锚点,持续将分布拉回基准真值,即使合成代次引入了近似误差。

这具有直接的实践意义:

  • 永远不要替换,始终增强。 你的管道必须将原始人工生成的数据集作为永久组成部分保留。合成数据被添加到训练混合中,而非替代其中的数据。
  • 追踪数据溯源。 训练管道中的每个样本都需要标签:人工撰写、人工编辑、合成(附带生成模型 ID)或未知。没有溯源追踪,你就无法执行混合比例或调试分布偏移。
  • 版本化你的合成代次。 当你用模型 A 生成数据,微调模型 B,然后用模型 B 生成更多数据时,你需要知道哪一代产生了哪些样本。这不仅仅是记录——这是受控增强与递归自我污染之间的区别。

多源生成优于单源生成

从多个模型而非单个模型生成合成数据可以显著改善结果。

单源生成——一个模型产生所有合成数据——产生的模型困惑度分布更窄,这是输出分布崩溃的直接指标。多源生成在响应内和响应间的词汇多样性指标上都保持了更高水平。

困惑度数据说明了一切:多源微调增加了合成输出的困惑度(小模型均值 1.38 vs. 基线 1.30),同时降低了人类文本的困惑度(6.88 vs. 8.33)。多源模型在建模真实人类语言方面变得更好,同时减少了对合成模式的过拟合。

实用的多源策略包括:

  • 跨系列生成。 使用来自不同训练谱系的模型(例如开源模型和商业 API),避免刻印单一模型系列的特有偏差。
  • 温度调度。 在不同批次中变化采样温度——低温用于事实精确的示例,高温用于多样化的措辞。不要对所有内容使用单一温度。
  • 角色多样化。 在生成对话数据时,变化系统提示以产生不同的写作风格、专业水平和视角。同质化的提示产生同质化的数据。

验证鸿沟:没有基准真值时的质量控制

合成数据管道中最难的问题不是生成——而是知道你生成的内容是否优质。

新兴的共识是,验证比生成更容易,而这种不对称性是你最大的杠杆。你不需要从一开始就有完美的数据。你需要候选数据和积极的过滤。

外部验证器堆栈。 构建多层验证管道,而不是依赖任何单一质量信号:

  • 格式和模式验证器捕获结构性问题——格式错误的 JSON、缺失的必填字段、超出范围的值。这些验证廉价且确定性强。
  • 一致性检查器将生成的样本与现有数据集进行比较,标记统计异常值——具有异常词频分布、意外标签组合或异常长度特征的样本。
  • 跨模型一致性。 让不同的模型评估生成的样本。如果生成器和评估器在质量上不一致,则将样本标记为需要人工审核。这之所以有效,是因为不同架构间的模型误差是部分不相关的。
  • 特定任务验证器。 对于代码生成,运行生成的代码。对于数学,验证答案。对于分类数据,检查标签与已知规则的一致性。凡是能构建程序化预言机的地方,都应该这样做。

人机协同检查点。 统计验证可以捕获分布漂移,但人工审核者能发现自动化指标无法发现的语义问题——文化敏感性、内部一致但实际错误的事实错误,以及微妙的领域违规。每批抽样固定比例而非全部审核,将人工注意力集中在自动化验证器标记的样本上。

预算感知的生成策略。 在预算有限时,为现有提示创建新回答(答案增强)最为有效。随着预算增加,生成全新的提示会产生更好的结果。最优策略随管道规模的变化而变化——从答案多样化开始,逐步过渡到提示多样化。

多样性监控:在崩溃发生之前捕获它

你无法保持你没有测量的东西。每个合成数据管道都需要对分布漂移进行持续监控,而指标必须超越表面统计数据。

分布散度。 Jensen-Shannon 散度和最大均值差异(MMD)量化了合成分布偏离真实数据的程度。逐批追踪这些指标并设置警报阈值。持续上升的趋势意味着即使单个批次看起来没问题,你的管道也在缓慢崩溃。

潜在空间覆盖。 将真实样本和合成样本嵌入到同一潜在空间中,测量合成样本覆盖了真实数据空间的多大比例。这可以捕获合成数据质量高但集中在少数聚类中、留下整个分布区域未被覆盖的场景。

词汇和 n-gram 多样性。 随时间追踪各批次的唯一词频数、类型-词频比和 n-gram 多样性。人类生成的文本有一个特征性的词汇增长曲线,而合成文本无法匹配。监控这条曲线可以在下游任务指标退化之前提供早期预警。

下游回归测试。 最终唯一重要的指标是你的微调模型在真实任务上的表现。维护一个仅包含真实数据的留出评估集,并在每个微调周期后运行回归测试。如果留出集性能下降而合成基准保持稳定,说明你的管道正在崩溃。

构建抗崩溃管道

将这些原则结合起来,一个生产级合成数据管道有五个阶段:

  1. 种子数据策划。 从你能获得的最高质量真实数据开始。积极清洗数据——种子数据的质量为下游一切设定了上限。为每个样本添加溯源元数据。

  2. 多源生成。 使用多个模型系列和不同的采样参数生成合成候选数据。过量生成目标量的 3-5 倍,因为你将进行大量过滤。

  3. 多层验证。 让每个候选数据通过验证器堆栈:格式验证器、一致性检查器、跨模型评估和特定任务预言机。无情地拒绝。一个更小的高质量数据集胜过一个更大的受污染数据集。

  4. 累积混合。 将经过验证的合成样本与保留的真实数据集合并。永远不要丢弃真实数据。设置每个训练批次的最大合成与真实数据比率,并以编程方式执行。

  5. 持续监控。 跨微调周期追踪分布散度、潜在空间覆盖和下游任务性能。为漂移阈值设置自动警报。当指标呈负面趋势时,降低合成比例或使用更新的数据源重新生成。

成功使用合成数据的团队将其视为一门工程学科,而非捷径。生成是容易的部分。围绕它的管道——溯源追踪、验证、多样性监控、累积混合——才是区分持续改进的模型和崩溃的模型的关键。合成数据是一种强力工具:使用手册比引擎更重要。

References:Let's stay in touch and Follow me for more thoughts and updates