如果说 scaling laws 告诉我们模型需要更多、也更合适配比的数据,那下一步立刻会撞上一堵墙:高质量数据远没有互联网上“总 token 数”看起来那么充足。
表面上看,互联网文本多得不可思议;但真正能用来训练大模型的语料,要同时满足很多条件:
- 语言质量过关;
- 重复不过多;
- 垃圾模板不过量;
- 安全和版权风险可控;
- 不污染评测;
- 领域分布和目标产品匹配。
换句话说,训练大模型不是“把网上所有字都抓下来”这么粗暴,而是一个庞大的数据工程问题。到这个阶段,数据已经不再只是燃料,而是模型能力本身的一部分。
一、为什么“大量文本”不等于“可用数据”
先把一个常见幻觉打掉:互联网当然有海量文本,但可用训练数据并不是“见字就收”。
1.1 原始网页里有大量低信息密度内容
比如:
- 导航栏和页脚模板;
- SEO 垃圾文;
- 采集站镜像;
- 自动生成、相互抄袭的内容农场;
- 乱码、脚本片段、样板免责声明。
这些东西 token 很多,但信息量很低。模型如果大量吃这种数据,会学到:
- 冗长模板化表达;
- 不必要的 boilerplate;
- 低质量分布的高频模式。
1.2 “只要够大,噪声会被平均掉”是危险想法
在某些统计学习场景里,噪声可以靠规模摊平;但语言数据里的噪声很多不是独立白噪声,而是结构化偏差。重复模板、垃圾站、SEO 文、广告式语言,一旦量够大,会显著拉偏模型风格。
所以数据工程的第一原则不是“先全收进来再说”,而是“先决定什么值得喂,什么不值得喂”。
二、预训练数据一般从哪里来
虽然每家公司的私有数据不一样,但公开语料的大类差不多。
2.1 Web crawl:量最大,但质量起伏也最大
Common Crawl 是很多公开语料的上游来源。它的优势是:
- 便宜;
- 覆盖广;
- 更新快;
- 足够大。
但它只是原始网页抓取,后面必须经历大量清洗。C4、RefinedWeb、Dolma 等公开语料,本质上都是在 Common Crawl 这类原始源之上再加工。
2.2 书籍、论文、百科:密度高,但量有限
这类数据通常:
- 结构完整;
- 语言质量高;
- 信息密度高;
- 噪声相对低。
缺点是量没有网页大,而且版权、获取与许可问题更复杂。
2.3 代码、问答、对话、论坛:为特定能力补分布
如果你想让模型更懂代码、对话、论坛口语、数学解题,就需要额外补相应语料。通用网页并不能自动覆盖到这些能力分布。
所以今天的大模型数据集几乎都是 mixture,而不是单一来源。
三、数据工程最重要的四件事:清洗、去重、过滤、混配
把海量原始文本变成训练数据,至少要做四件硬事。
3.1 清洗:先把明显垃圾拿掉
典型操作包括:
- 去 HTML、脚本、样式残留;
- 处理编码错误和乱码;
- 去过短、过长、非自然语言内容;
- 标准化空白、换行、Unicode 变体。
这一步看起来基础,但如果做不好,后面所有更精细的过滤都会在脏地基上工作。
3.2 去重:重复语料对大模型伤害很大
去重是数据工程里最值回票价的环节之一。
重复会带来三个直接问题:
- 训练 token 被浪费在重复模式上;
- 模型更容易过拟合热门文本和模板;
- benchmark contamination 风险升高。
这里的重复不只是完全相同文本,还包括近重复(near-duplicate)。很多网页只是改了几个词、换了域名,本质上是同一份内容。
3.3 质量过滤:不是所有语法正确文本都值得保留
常见做法包括用规则或小模型打分,筛掉:
- 低语言质量;
- 过度模板化;
- 信息密度过低;
- 广告和 SEO 风格明显;
- 明显机器生成的低质量文本。
这一步很容易过度:过滤太狠会丢掉领域多样性;过滤太松又会把垃圾放进来。所以“质量过滤”不是一道简单阈值题,而是一组不断迭代的判别规则。
3.4 数据混配:真正决定模型性格的最后一步
就算每一份数据都高质量,不同来源的比例也会深刻影响模型:
- 书和论文多,模型更正式、更书面;
- 对话和论坛多,模型更口语;
- 代码多,代码能力更好,但自然语言风格会受影响;
- 教材和推理语料多,解释和分步骤能力更强。
所以 data mixture 本质上是在调模型的“性格”和能力分布。
四、C4、The Pile、RefinedWeb、Dolma 分别代表什么
公开数据集演化史本身就像一部数据工程史。
4.1 C4:大规模网页清洗的早期范本
T5 使用的 C4(Colossal Clean Crawled Corpus)代表了一条很重要的思路:从 Common Crawl 出发,经过大规模过滤,构造出一个相对干净、以英语自然文本为主的大语料。
它的意义不只是“提供了数据”,更重要的是把“网页抓取之后必须重过滤”这件事做成公开范式。
4.2 The Pile:多来源混合语料
The Pile 的意义是另一条线:与其只做一个网页语料,不如主动把多种高价值来源混进来,比如:
- 书;
- 论文;
- 代码;
- 维基;
- 数学和问答数据。
这让大家更明确地意识到:不同能力需要不同来源分布,不是全靠网页自己长出来。
4.3 RefinedWeb / Falcon:网页清洗走向更工业化
RefinedWeb 代表的是“把网页过滤这件事做得更精细、更大规模”。重点不再只是抓数据,而是如何用规则与模型结合,把低质网页大批量筛掉。
4.4 Dolma:开放语料治理进一步体系化
像 Dolma 这样的开放语料工作,进一步强调:
- 明确记录来源;
- 做系统化 dedup;
- 做可追踪的数据治理;
- 更认真处理污染和质量控制。
这说明数据工程已经不再只是“爬虫 + 清洗脚本”,而逐渐变成一套可复现、可审计的 pipeline。
五、数据质量为什么经常比数据量更重要
这句话很流行,但必须说得更具体,不然又会变成空话。
5.1 高质量数据的信息密度更高
同样 1000 个 token:
- 一段写得好的教材、论文或高质量技术文章;
- 和一堆模板化 SEO 文;
对模型带来的训练价值完全不同。高质量数据里,token 更集中地承载了有用结构、清晰逻辑和高密度知识。
5.2 低质量重复数据会“稀释”训练预算
如果计算预算固定,喂更多垃圾 token 的代价不是零,而是把本该分给高价值内容的训练步数挤掉。也就是说,坏数据不仅自己没用,还会抢走好数据的预算。
5.3 高质量少量数据在后期阶段价值尤其高
很多团队的经验是:
- 预训练早期,大量通用数据很重要;
- 到后期想继续抬性能时,追加高质量、领域针对性更强的数据 often 更划算。
这也是“继续扩量”和“精修数据”之间经常要做权衡的原因。
六、污染(contamination)为什么是评测的大雷
数据工程里最麻烦的问题之一,就是 benchmark contamination。
6.1 污染不一定是故意作弊
很多 benchmark 文本本来就在网上公开存在。如果你大规模抓网页,又不认真过滤,模型就可能在训练里见过测试集内容。这样测出来的成绩会虚高。
6.2 大模型时代污染更难避免
原因很简单:
- 数据规模更大;
- 网页来源更广;
- 测试集也更多公开传播;
- 近重复比完全重复更难发现。
所以现在做数据工程,几乎都得把 benchmark scrub、blacklist、overlap detection 当成必做项。
6.3 污染不只是道德问题,也是研发判断问题
如果你不知道模型是不是记过答案,就没法正确判断:
- 是能力真的提升了;
- 还是只是数据泄漏;
- 当前瓶颈是训练目标、模型结构还是评测方法。
所以污染控制其实是实验科学的一部分。
七、数据混配本质上是在做“能力预算分配”
这一点非常重要。很多人把 mixture 看成配方细节,实际上它很像产品决策。
7.1 不同数据源会显著改变模型侧重点
比如:
- 多放代码,代码能力会上升;
- 多放多轮对话,聊天一致性更好;
- 多放教科书和讲解文,解释能力和推理风格更好;
- 多放论坛和社媒,口语和非正式表达更多。
这意味着 mixture 不只是技术参数,而是在分配模型最终的能力预算。
7.2 还会影响模型风格和安全边界
语料风格会变成模型风格。一个长期吃攻击性论坛语料的模型,和一个更多吃教材、官方文档的模型,在默认语气和风险倾向上很可能不一样。
所以数据工程和对齐,其实从一开始就不是分开的。
八、合成数据为什么越来越重要
当高质量人类文本难找、贵、稀缺时,合成数据自然会登场。
8.1 合成数据的优势
- 可以定向补某类能力;
- 可控性高;
- 容易按模板扩展规模;
- 在高质量教师模型帮助下,解释型样本尤其容易生成。
8.2 但它也有明显风险
- 模型会学到教师模型的风格偏差;
- 容易模板化;
- 如果自举太多轮,会产生“模型喂模型”的分布坍缩风险;
- 某些事实错误会被系统放大。
所以合成数据很有用,但必须被放进更大的 mixture 设计里,而不是简单认为“以后不需要真实数据了”。
九、几个常见误解
9.1 “互联网文本无穷多,所以数据不是瓶颈”
原始文本也许近乎无穷,但高质量、去重后、可合法可控使用的数据远没有那么多。
9.2 “数据工程就是清洗脏字符和去 HTML”
太窄了。真正的数据工程还包括去重、质量过滤、混配、污染控制、来源治理和能力分布设计。
9.3 “只要数据够大,差质量也能靠规模补回来”
不总是。结构化低质量数据会系统拉偏模型,不是简单靠平均就能消掉。
9.4 “去重会让数据变少,所以不划算”
从训练效率看,去掉重复往往反而更划算,因为它把计算预算还给了真正新信息。
9.5 “合成数据最终会完全替代真实世界数据”
至少目前看远远没有。合成数据非常有用,但它更像放大器和定向补充,不是现实分布的完整替代。
十、结语
大模型数据工程真正难的地方,不在于“抓到足够多的文本”,而在于把海量原始文本变成一份信息密度高、重复少、分布合适、风险可控、评测可信的训练语料。到了这个阶段,数据不再是模型之外的附属资源,而是模型能力本身的一部分。你喂给模型什么、按什么比例喂、把什么删掉,最后都会体现在它的知识边界、行为风格和泛化能力上。
从 22 到 35,我们已经把 Transformer 从原论文结构一路讲到了现代训练范式、对齐和规模规律。下一步如果继续往后,就该进入另一个同样工程味很重的话题:当模型和数据都做大之后,训练本身为什么还会不稳定,以及人们是怎么跟这些数值和优化问题缠斗的。
十一、参考文献
- Raffel, C. et al. “Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer.” JMLR 2020. C4 语料与清洗思路的代表工作。
- Gao, L. et al. “The Pile: An 800GB Dataset of Diverse Text for Language Modeling.” arXiv:2101.00027, 2021. 多来源混合语料的代表。
- Penedo, G. et al. “The RefinedWeb Dataset for Falcon LLM.” arXiv:2306.01116, 2023. 大规模网页清洗与过滤的代表工作。
- Soldaini, L. et al. “Dolma: an Open Corpus of Three Trillion Tokens for Language Model Pretraining Research.” arXiv:2402.00159, 2024. 开放语料治理与大规模预训练数据工程的代表。
- Lee, K. et al. “Deduplicating Training Data Makes Language Models Better.” ACL 2022. 训练数据去重收益的系统研究。
← 上一篇:34|Scaling Laws | 下一篇:36|训练稳定性 →
同主题继续阅读
把当前热点继续串成多页阅读,而不是停在单篇消费。
【Transformer 与注意力机制】38|GPT 系列:从 GPT-1 到 GPT-4 的路线演进
GPT 路线的关键不是某个模型名字,而是 Decoder-only Transformer、next-token prediction、规模扩展、上下文学习、指令微调和人类反馈逐步合流。本文从 GPT-1 讲到 GPT-4,只使用公开可确认信息,解释为什么自回归语言模型最终成为大语言模型时代的主线。
【Transformer 与注意力机制】39|T5:把所有 NLP 任务统一成 Text-to-Text
T5 的核心不是又发明了一种 Transformer,而是把翻译、摘要、分类、问答都改写成“输入文本到输出文本”的统一格式。本文解释 T5 为什么选择 Encoder-Decoder 架构,span corruption 和 BERT/GPT 的目标有什么差异,C4 和系统化消融实验为什么让 T5 成为迁移学习路线的重要基准。
【Transformer 与注意力机制】40|三大路线之争:为什么大模型几乎都是 Decoder-only
Transformer 不是只有一种形态。Encoder-only、Encoder-Decoder、Decoder-only 分别对应理解、条件生成和自回归生成三类信息流。本文横向比较 BERT、T5、GPT 代表的三条路线,解释为什么通用大模型时代 Decoder-only 占主流,以及为什么这不意味着另外两条路线失去价值。
【Transformer 与注意力机制】41|位置编码演进:Sinusoidal → Learned → RoPE → ALiBi
Transformer 本身没有递归和卷积,如果不注入位置信息,它只会看到一袋 token。本文从原始正弦位置编码讲到 learned embedding、相对位置、RoPE 和 ALiBi,解释位置编码为什么从“给 token 加坐标”演进到“让 attention 感知相对距离”,以及长上下文为什么让位置外推变成核心问题。