跳到主要内容

数据来源(Common Crawl、C4、The Pile、Dolma、FineWeb)

要解决的问题

预训练需要数十亿到数万亿 token 的文本,但「从互联网抓什么、以什么形态交付给训练」直接决定模型的语言能力、事实覆盖、代码/数学能力与安全边界。工程上要在规模、多样性、许可合规、清洗成本之间权衡,并建立可复现的数据版本(snapshot + 处理 pipeline)。

核心概念

语料 / 项目规模与特点典型用途
Common Crawl月度网页快照,原始噪声大大规模网页基座,需重度清洗
C4基于 CC 的清洗子集(~750GB 英文)T5、mT5 等经典预训练
The Pile22 子集混合(~825GB)开源 LM 基线(GPT-Neo 等)
DolmaAllen AI 开放 pipeline + 混合配方OLMo 等可复现预训练
FineWebHugging Face 高质量网页语料近年开源大模型常用网页源

除通用文本外,现代 recipe 常显式掺入

  • 代码:GitHub、The Stack、StarCoder 数据
  • 数学 / 科学:arXiv、Proof-Pile、教科书
  • 对话风格:Reddit、论坛(需额外过滤)

数据 token 量 DD 与参数量 NN 的配比见 Chinchilla;采集后必经 清洗去重质量过滤

方法/算法

典型构建流程:

  1. 抓取:WARC/HTML → 正文(trafilatura、readability 等)。
  2. 语言与域:fastText、CLD3 等做语种;可按域名白/黑名单分层。
  3. 子集标注:为每条样本记录 source(web、book、code…),供 数据混合 调度。
  4. 版本冻结:固定 CC 月份 + pipeline git hash,避免「同一模型名、不同数据」不可比。

工程实践

  • 存储:原始 WARC 体积极大,生产环境常用对象存储 + 列式/压缩文本(.jsonl.zst)。
  • 吞吐:清洗多为 CPU/IO 密集,用 Spark、Ray Data、Datatrove 等横向扩展。
  • 指标:保留率(filter 后占比)、语种分布、平均文档长度、重复率、毒性/PII 抽检比例。
  • 与默认 docs 对照:更完整的收集清单见 预训练数据准备

代表工作

局限与注意点

  • 版权与许可:网页、书籍、代码许可证各异,见 3.1.5 数据版权
  • 基准污染:热门 benchmark 文本可能出现在 crawl 中,评估需做去污染检测。
  • 语种偏置:以英文网页为主的 mixture 会削弱低资源语言;中文常需补充维基、新闻、行业语料。
  • 静态快照:训练截止后模型无法自动获知新事实,需 RAG 或持续预训练补充。

常见数据源对照(补充)

子集类型示例能力倾向
通用网页C4、FineWeb语言建模基座
书籍Gutenberg、Books3长文、叙事
百科Wikipedia事实性陈述
代码The Stack补全、FIM
论文arXivSTEM 术语

实践检查清单

  • 固定 Common Crawl 快照月份并写入 data card
  • 记录清洗前后 token 数与各 source 占比
  • 对下游评测集做 n-gram 污染检测
  • 3.1.4 混合 配方版本号绑定

小结

数据来源决定模型「见过什么世界」;工程重点是可复现 pipeline + 许可可追溯,而非单纯追求 crawl 体积。

相关章节