预训练数据从哪里来:中英文开放语料地图与选型框架

成长演进

具备清晰骨架、初步数学推导或工程验证,持续补充论据与实测。

ℹ数字花园

🌿 什么是数字花园与思想演进?

遵循 Maggie Appleton 与 Andy Matuschak 的常青笔记理念:这里不是按时间沉底的流水账,而是持续修剪打磨的知识生态。文章按成熟度经历:

  • 🌱 萌芽 (Seedling): 发散灵感、读书摘录、开放猜想
  • 🌿 演进 (Budding): 结构渐明、初步代码推导、积极修正
  • 🌳 常青 (Evergreen): 逻辑闭环、持久经得起检验的基石
  • 🔬 实验待证 (Speculative): 结合沙盒与仿真探针的理论探索
浏览全站数字花园与笔记全景 →

假设我们准备训练一个能读懂中文技术文章的小模型。现在还没开始训练,手里只有一个问题:应该给它准备什么文本?

去找数据时,很快就能看到几个诱人的数字:几百 GB、几千亿 token、几万亿 token。很容易觉得,先下载最大的那份,总不会错。

但接下来会发现:两份数据可能收录了同一批网页;标着“教育数据”的文件可能是文章,也可能是问答;论文里用的数据,不一定全部公开。下载量再大,也未必能回答最开始的问题。

这一篇先把数据来源理清楚。读完以后,你应该能为自己的训练任务列出几份候选,并说清楚为什么选它们,而不只是记住一串数据集名字。

先明确我们准备让模型学什么#

这一卷讨论的是文本预训练数据。最基本的训练方式是给模型看一段文本,让它根据前面的内容预测后面的 token。token 可以先理解成分词器切出来的文字片段,可能是一个字、一个词,也可能只是词的一部分。

比如,给模型输入“梯度累积可以减少每次前向计算的”,让它学习后面可能出现什么。大量不同文本中的这种训练,帮助模型学习语言模式和知识关系。至于怎样按照用户要求回答、怎样比较两个答案谁更好,是后面 SFT、偏好优化和强化学习要继续讨论的事情。

本卷用一个假设项目贯穿:准备一份中文为主、带一些英文的技术与通用文本。这个设定是为了方便解释,不表示“中文为主”就是所有模型的最佳选择,也不表示已经完成了一次真实训练。

六篇文章分别解决一个问题:

篇目读完要能做的决定
第一篇,本文找哪些来源,先试哪一小部分
第二篇:清洗网页里的哪些内容保留,哪些内容清除
第三篇:质量预算有限时,优先训练哪些文本
第四篇:去重怎样减少重复,并避免提前见到测试答案
第五篇:混合中文、英文和不同领域各训练多少
第六篇:构建怎样把上述决定做成可以重建的数据版本

下载到的文件与模型读到的内容不是一回事#

先把整个过程想清楚,再看数据集,会容易很多。

来源回答“文字从哪里来”。可能是网页、百科、代码仓库,也可能是有权使用的内部文档。

语料回答“处理之后还剩下什么”。从网页里抽出正文,删掉乱码、广告和部分重复内容,得到的才是可供选择的文本池。

配方回答“各类文本用多少”。中文占多少,英文占多少,小来源是否重复使用,都在这一层决定。

训练输入回答“这次训练到底读到了什么”。文本还要分词、打乱、切块、拼接。有些尾块会被丢弃,有些内容会被重复读取。最终读到的比例可能和配置里写的不完全相同。

%%{init: {"htmlLabels": false}}%% flowchart LR A[网页和文档来源] --> B[抽取 清洗 去重] B --> C[可选文本池] C --> D[分配各类文本的训练份额] D --> E[分词和打包] E --> F[模型实际读到的内容]

举个简单例子:有 100 GB 中文文本,并不意味着一次训练会把这 100 GB 全部读完。训练可能提前结束,也可能只选其中 20 GB,反复训练三遍。所以,选数据时既要问“有什么”,也要问“准备怎么用”。

先看构建方法,再看数据集名字#

市面上的开放语料很多,但常见思路可以先归成几类。

构建思路主要在解决什么代表项目
清洗大量网页网页多,但杂乱内容也多C4、RefinedWeb、FineWeb
混合不同来源单一网页来源覆盖不够全面The Pile、Dolma、SlimPajama
保留评分或重新筛选能读的文本里,仍有更值得训练的部分RedPajama-V2、DCLM、FineWeb-Edu
针对中文处理英文的过滤习惯不能直接照搬SkyPile、ChineseWebText、CCI3.0-HQ
覆盖多种语言不同语言需要不同处理参数mC4、OSCAR、FineWeb2
加入生成内容尝试补充或改写现有内容Nemotron-CC

这张表是方法分类,不是效果排名。同一个项目也可能跨越几类。先看它解决了什么,再判断它是否适合自己的问题。

下面的规模沿用 2026 年 10 月 15 日核对过的发布材料,保留各自版本与统计单位。本次改写不把这些历史数字更新成“当前最新规模”。M、B、T 分别表示百万、十亿和万亿;TB 表示存储量,T tokens 表示分词后的数量,两者不是同一个单位。

英文数据集可以怎样比较#

从网页清洗开始#

Common Crawl首先是网页抓取来源。它提供抓取内容 WARC、元数据 WAT 和已提取文本 WET。直接拿到 WET 会少做一步网页解析,但不代表已经得到清洗、去重都完成的训练集。

C4是学习规则清洗的经典案例。它适合回答“哪些规则能删掉明显异常,又会误删什么”。使用时要看清配置:英文 C4、未过滤版本和多语言 mC4 不能混作一份数据。

RefinedWeb强调网页处理和去重。其公开提取部分的数据卡报告约 968M 网页、500B~650B tokens;token 数随分词器而变。这里要注意“公开提取部分”几个字,它不等于论文构建的完整数据池。

FineWeb的首发规模约 15T tokens,此前核对的数据卡已写到超过 18.5T tokens。对学习者而言,它更有用的地方是公开了处理实验:抽取方式、过滤规则和去重怎样一步步影响结果。比较旧论文实验时,应使用对应旧版本的规模,不能把后来新增的数据算进去。

如果我们想研究“网页正文怎样抽取得更好”,这些项目里最值得关注的不是谁最大,而是谁公开了原始输入、处理方法和对照实验。

从多种来源组织训练材料#

The Pile的原始研究用约 800 GB、22 个组成部分展示了多来源混合。它适合学习来源选择和权重设计,但历史清单不保证今天每一部分都能从原地址完整下载。

Dolma原始论文描述约 3T tokens 的英文语料,包括网页、科学文献、代码、公共领域书籍、社交媒体和百科。它把数据与处理工具一起介绍,适合追问“别人能不能照着重建这套处理过程”。同名后续版本仍要单独记录。

RedPajama-V2公开大规模网页及质量信号。官方表格对已标注并去重的 head_middle 部分估算为 30.4T tokens,覆盖五种欧洲语言。这是特定切片的数字。保留质量信号的好处是,可以重新选择阈值,而不只是接受别人留下的最终文本。

SlimPajama则从 RedPajama 初代约 1.21T token 的材料中清洗、跨来源去重,发布规模为 627B tokens。不要因为名字相似,就把它当成 RedPajama-V2 的缩小版。

进一步选择更有用的文本#

DCLM不只是一个数据集名字,还包含比较数据处理方法的实验框架。使用它时,应写清自己拿的是原始池、基线语料,还是采用了它的评测框架。它的重要思路是:尽量固定训练条件,再比较数据方法。

评测版本也会影响比较。DCLM 仓库在 2025 年 9 月记录过 CORE、EXTENDED 聚合分数所用基线值的修正,因此旧版与新版聚合分数不能直接相减。官方修正说明

FineWeb-Edu从 FineWeb 中筛选教育价值较高的网页,首发研究报告约 1.3T tokens。它是 FineWeb 的派生子集。两者合在一起,不代表独立内容增加了同样多。

Nemotron-CC 原始发布报告约 6.3T tokens,其中约 1.9T 来自合成内容。选择这类数据,要分清自然文本与生成文本。生成更多表达,不一定增加了同样多的新知识。另有 v2 处理配方,版本变化不能靠沿用旧数字带过。

网页之外,FinePDFs提供 PDF 数据方向。PDF 还涉及阅读顺序、表格和 OCR 错误,本卷不把它与网页当作同一种输入处理。

中文数据集需要多问哪几件事#

中文技术文章经常夹着英文术语和代码。如果一条规则要求“绝大多数字符必须是汉字”,它可能正好删掉我们最想保留的 CUDA 教程。中文没有天然空格,英文中的“词数过少”“平均词长异常”也不能原封不动地拿来用。

除了语言适配,还要检查来源之间是否重叠。

数据集已核对发布范围选择前重点看什么
SkyPile-150B中文网页,约 150B tokens、620 GB 纯文本除了正文,是否还留有你需要的来源信息
万卷 1.0多模态发布中包含中英文本,文本来自网页、百科、书籍等下载的是文本子集还是其他模态,不能用总量代表文本量
ChineseWebText 2.0项目报告约 3.8 TB,带质量、领域和毒性等信息能否按领域和质量重新筛选,以及继承了哪些上游数据
CCI3.0-HQ从 CCI3.0 中筛出的 500 GB 子集教育价值怎样标注,阈值删掉了哪些内容
OpenCSG chinese-fineweb-edu-v2数据卡报告约 188M 条、420B tokens评分标准、分词统计口径及版本差异
IndustryCorpus2按行业组织的语料系列行业标签是否适合自己的继续预训练任务
Matrix数据卡报告约 4.69T tokens,中英混合,包含网页、代码、论文等完整混合池里包含什么,是否有问答或考试材料

这些数字不能直接排大小。GB、TB 说明文件占多少空间,token 说明特定分词器切出了多少片段,记录数说明有多少条数据。同样一千条记录,可以是一千条短句,也可以是一千本长书。

有两个具体的来源问题值得记住。

第一,ChineseWebText 2.0 的来源说明包含 SkyPile、万卷、悟道等上游。因此,把这些项目全部拼起来,不能默认得到几份互不重复的材料。知道“可能重叠”之后,还要对实际使用的版本做检测,才能知道重叠多少。论文来源说明

第二,名称相近不代表训练用途相同。OpenCSG 的 V2 与 Hugging Face 的 FineWeb2 不是同一个项目;OpenCSG 的 Fineweb-Edu-Chinese-V3 数据卡定位为教育 SFT 数据,不能当成 V2 网页正文的直接替换。

对于悟道这样的历史项目,还要把“曾经发布过”与“这次确实拿到了哪些文件”分开。真正决定能否复现的,是本次取得的文件和版本。

多语言项目的价值在于比较处理方式#

mC4、OSCAR和FineWeb2提供多语言语料入口。它们可以帮助我们比较:在相近的处理框架中,中文、英文和其他语言为什么需要不同参数。

比如 FineWeb2 提供按语言和文字系统区分的配置。但这不表示所有分数都已跨语言校准。中文文本得 0.8 分、英文文本也得 0.8 分,未必代表一样可靠。下载时也要精确到语言配置与版本,不能把整个多语言池的规模写成中文规模。

给假设项目做一次选型#

回到最初的中文技术模型。现在不急着给数据集排总名次,而是先列三个问题。

我们要改哪一步? 如果研究正文抽取,就需要原始网页或可定位的抓取记录。只有 text 的文件适合做后续过滤,却没法恢复上游已经删掉的表格。

我们需要保留什么信息? 如果研究质量阈值,就优先选择带分数、领域标签,或者能重新运行评分器的材料。只拿最高分子集,很难分析低分内容里误删了什么。

我们能处理多少? 个人项目可以先选一个中文切片、一个英文切片,把字段与来源摸清楚,再扩展规模。这个选择依据是能否观察和重建处理过程,不是数据集排行榜。

每个候选先填一张简短记录:

项目要记录的内容
用的是哪一份仓库、不可变版本、语言配置、抓取批次、文件清单
里面有什么网页正文或问答,领域、语言、自然或生成文本
处理过什么抽取、过滤、去重和评分方法
还缺什么来源字段、评分器、原始网页或构建说明
能否使用和重取数据说明中的使用条件、上游说明、实际获取方式
为什么纳入它能帮助回答本次哪个问题

代码许可证与数据的使用条件可能针对不同对象。这里先保存具体说明及版本,不用“开源”两个字代替全部记录。

怎样验证这个选择是否有帮助#

可以先做一个很小的比较:从候选 A、B 各取一份覆盖不同来源和长度的样本,用同一套标准检查正文完整性、中文技术内容、中英混排和重复情况。预先猜一猜:哪个候选会保留更多完整代码段?再看样本是否支持这个判断。

这一轮能得到“哪份材料更适合继续处理”的结论。要进一步说它让模型更好,就要固定模型、分词器、实际训练 token、优化设置和评测,再训练比较。

两个不同模型在不同榜单上的成绩,不能直接证明其中一份数据更好。模型大小、训练量、评测版本,都可能解释差异。

目前可以说什么依据或边界
这些项目采用了不同构建路线发布方数据卡与论文,不是市场排名
有些语料共享上游来源说明支持这一点,具体重叠比例仍需测量
更多文件不一定带来更多独立内容重复与派生关系直接导致这一结果
某份候选最适合我们的中文技术模型需要本地样本审查与同条件训练,当前还不能下结论

读到这里,可以再想两个问题:FineWeb 与 FineWeb-Edu 为什么不能直接相加计算独立规模?如果预算只够先处理一份小切片,你会优先保留哪些信息,来帮助下一次选型?

选好候选之后,下一步是从网页里保住真正需要的正文。

文章概念网络

从章节进入正文概念。实线表示所属层级,虚线连接跨章节重复出现的概念,不代表因果关系。

68 / 105 个节点 · 正文标记术语与关键词概念

预训练数据从哪里来:中英文开放语料地图与选型框架同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept同一概念 / Shared concept预训练数据从哪里来:中英文开放语料地图与选型框架预训练数据从哪里来:中英文开放语料地图与选型框架应该给它准备什么文本应该给它准备什么文本先明确我们准备让模型学什么先明确我们准备让模型学什么文本预训练数据文本预训练数据假设项目假设项目下载到的文件与模型读到的内容不是一回事下载到的文件与模型读到的内容不是一回事来源来源语料语料配方配方训练输入训练输入先看构建方法,再看数据集名字先看构建方法,再看数据集名字2026 年 10 月 15 日核对过的发布材料2026 年 10 月 15 日核对过的发布材料英文数据集可以怎样比较英文数据集可以怎样比较从网页清洗开始从网页清洗开始从多种来源组织训练材料从多种来源组织训练材料进一步选择更有用的文本进一步选择更有用的文本中文数据集需要多问哪几件事中文数据集需要多问哪几件事SkyPile-150BSkyPile-150B万卷 1.0万卷 1.0ChineseWebText 2.0ChineseWebText 2.0CCI3.0-HQCCI3.0-HQOpenCSG chinese-fineweb-edu-v2OpenCSG chinese-fineweb-edu-v2IndustryCorpus2IndustryCorpus2MatrixMatrixFineweb-Edu-Chinese-V3 数据卡Fineweb-Edu-Chinese-V3 数据卡多语言项目的价值在于比较处理方式多语言项目的价值在于比较处理方式mC4mC4OSCAROSCARFineWeb2FineWeb2给假设项目做一次选型给假设项目做一次选型我们要改哪一步我们要改哪一步texttext我们需要保留什么信息我们需要保留什么信息我们能处理多少我们能处理多少怎样验证这个选择是否有帮助怎样验证这个选择是否有帮助从网页里保住真正需要的正文从网页里保住真正需要的正文tokentoken技术技术tokentoken强化学习强化学习预训练预训练SFTSFT分词分词去重去重分词分词选择选择FineWebFineWebChineseWebTextChineseWebTextFineWeb-EduFineWeb-EduRefinedWebRefinedWebNemotronNemotronSkyPileSkyPileChineseWebTextChineseWebTextFineWeb-EduFineWeb-EduSkyPileSkyPile分词分词FineWebFineWebtokentokenFineWebFineWeb选择选择去重去重技术技术技术技术FineWeb-EduFineWeb-EduFineWebFineWebtokentoken分词分词优化优化
预训练数据从哪里来:中英文开放语料地图与选型框架

预训练数据从哪里来:中英文开放语料地图与选型框架

回到原文 ↗
BIBTEX

引用本文

@article{2026-10-15-llm-training-data-01-map,
  author  = {枫语},
  title   = {预训练数据从哪里来:中英文开放语料地图与选型框架},
  journal = {枫语},
  year    = {2026},
  month   = {oct},
  url     = {https://meiluosi.github.io/posts/2026-10-15-llm-training-data-01-map/}
}
🌐

本篇知识星丛与滑动侧栈

预训练数据从哪里来:中英文开放语料地图与选型框架 当前主轴

搜索

正在载入索引…