数据工程观察 · Vol.1

合成数据的幻觉与现实:预训练数据质量的新思考

深入解读合成数据在预训练中的真实表现、Classifier-based 质量过滤的局限性,以及 Anthropic 的安全数据过滤新方法

合成数据 数据质量 数据过滤 预训练 安全过滤

本期主题:合成数据到底能不能撑起预训练?

合成数据(Synthetic Data)被寄予厚望——当优质自然数据即将耗尽时,用强模型生成训练数据似乎是唯一的出路。但最近的几项研究给出了更为审慎的答案。


重点论文解读

1. “Demystifying Synthetic Data in LLM Pre-training” (EMNLP 2025)

核心发现:

这篇论文是目前对合成数据在预训练阶段最系统的实证研究,关键结论包括:

  • 纯合成数据预训练效果差:仅使用 textbook-style 合成数据预训练的模型,在大多数下游任务上 loss 显著高于自然数据训练的模型
  • 小数据预算时问题尤为突出:当训练 token 数 < 100B 时,合成数据的质量劣势被放大
  • 混合使用是更好的策略:合成数据 + 自然数据混合训练(比例约 10-30% 合成)可以在部分任务上获得提升

对实践的启示:

不要指望合成数据”替代”自然数据,更现实的定位是”补充”——尤其是在数学推理、代码和特定领域知识等自然数据稀缺的维度上。合成数据的最大价值在于填补分布空洞,而不是扩大总量。

推荐配比思路:
├── Web 数据 (自然): 50-60%
├── 代码 (自然+合成): 20-25%  ← 合成代码补充 edge case
├── 数学/推理 (主要合成): 5-10% ← 合成的主战场
├── 书籍/百科 (自然): 10-15%
└── 特定领域 (合成增强): 5-10% ← 中训练场景

2. “The Data-Quality Illusion” (arXiv 2025)

核心发现:

这篇论文挑战了一个广泛使用的假设——“用分类器过滤低质量数据总是有益的”。

  • Classifier-based 过滤存在系统性偏差:基于 perplexity 或质量分类器的过滤器倾向于保留”Wikipedia-like”文本,丢弃口语化、创意性和领域特异性内容
  • 过度过滤损害多样性:过滤后的数据在 n-gram 分布上显著偏斜,导致模型在非正式文体(对话、社交媒体、论坛)上表现退化
  • 过滤器自身的训练数据决定了偏差方向:不同质量分类器的”质量”定义不一致,组合多个分类器反而可能放大偏差

对实践的启示:

数据质量过滤不应该是”一刀切”。建议采用多维度、可调节的过滤策略:

  1. 不要只看 perplexity,加入话题多样性、信息密度等维度
  2. 按领域分别设定过滤阈值
  3. 保留一定比例的”非标准”文本以维持分布多样性
  4. 定期抽样人工审核过滤效果

3. Anthropic: “Enhancing Model Safety through Pretraining Data Filtering”

核心发现:

Anthropic 发布了他们在预训练数据安全过滤方面的实践经验,亮点包括:

  • 语义聚类过滤优于关键词过滤:先做 embedding 聚类,再对有害聚类进行整体移除,误伤率降低 80%
  • 安全过滤的代价可以很小:精心设计的过滤策略在移除 95% 有害内容的同时,模型在 MMLU/HumanEval 等 benchmark 上的性能下降 < 0.5%
  • 分层过滤架构:快速规则过滤(去除明显有害) → 分类器过滤(灰色地带) → 语义聚类(深层隐含有害),层层递进

对实践的启示:

安全过滤不再是”加分项”,而是预训练数据工程的必要环节。Anthropic 的分层方案值得借鉴:

  • L1: 正则/关键词过滤(快,但粗)
  • L2: 质量分类器(中等精度)
  • L3: Embedding 聚类(慢,但准)

关键是要在安全性和数据多样性之间找平衡——过度的安全过滤会导致模型”过度政治正确”。


开源数据动态

数据集描述规模值得关注
MixtureVitae以版权合规为核心设计的预训练语料8T tokens首个系统解决法律风险的大规模语料,permissive-first 策略
FineWeb-2 EduHuggingFace 教育内容子集的增强版1.5T tokens教育质量分类器升级,数学/科学内容覆盖率提升 3 倍
StarCoder Data v3BigCode 项目新版代码数据900B tokens新增 12 种编程语言,去污染更彻底

中训练 (Mid-training) 相关进展

”Midtraining Bridges Pretraining and Posttraining” (NeurIPS 2025 Workshop)

这篇论文从分布的角度解释了为什么中训练有效:

  • 中训练数据应该是预训练分布和后训练分布的”桥梁”——既不能离预训练分布太远(会导致灾难性遗忘),也不能完全一样(没有适应效果)
  • 最佳开始时机:在预训练的 60-80% 阶段开始中训练效果最好,太早模型基础能力不足,太晚已经过拟合到预训练分布
  • 代码中训练:作为 case study,发现 code mid-training 的最优配比为 40% code + 60% general,纯代码中训练反而会损害通用能力

”Efficient Domain Continual Pretraining” (ACL 2025)

提出了数据感知学习率调度策略:

  • 根据当前 batch 与预训练分布的 KL 散度动态调整学习率
  • 当 batch 与预训练分布差异大时降低学习率(减少遗忘),差异小时提高学习率(加速学习)
  • 在医学和法律领域的中训练实验中,遗忘率降低 60%,领域任务性能提升 15%

本期思考

“数据质量”正在从一维指标走向多维框架。 过去我们用 perplexity 或者简单的分类器来定义”好数据”,但越来越多的证据表明,数据质量需要在多个维度上评估:语言质量、信息密度、话题多样性、安全性、版权合规、领域覆盖度。未来的数据管线需要像做 ML 实验一样,有指标、有监控、有迭代。


下期预告:开源数据集全景图更新 + 中训练数据选择的实验方法论