【免费下载链接】UltraData-Math
UltraData-Math是一个面向数学推理的大规模高质量预训练数据集,其中L1 层收录了170.5B tokens、8560 万篇文档的网页数学语料。这一层的原始数据全部来自Common Crawl,覆盖2014 年至 2024 年共 99 次网页快照。本文将带你彻底看懂 UltraData-Math L1 的目录组织、文件命名规范,以及"10 年时间跨度"对数学预训练的真正价值。📂
一、L1 在数据金字塔中的位置:先搞懂"毛坯"层是什么
UltraData-Math 采用L0-L4 分级数据管理框架,每一层代表更高的数据纯度与数学价值:
| 层级 | 定位 | 规模 |
|---|---|---|
| L0 | 原始网页解析与公式标准化(LaTeX 化) | 未公开 |
| L1 | 启发式清洗 + 文档级去重后的过滤语料 | 170.5B tokens / 85.6M 文档 |
| L2 | 质量模型精选后的高质量语料 | 33.7B tokens / 14.98M 文档 |
| L3 | Q&A、多轮对话等多格式精炼数据 | 88B tokens / 81.4M 文档 |
L1 是整个流水线的"毛坯房":它已经完成了解析和清洗,格式整洁、可直接训练,但内容质量尚未经过模型筛选。理解了 L1 的组织方式,也就理解了整个数据集的地基。🏗️
二、目录组织:按 Common Crawl 快照拆分的 99 个子目录
L1 数据根目录为 data/UltraData-Math-L1/,一级目录按 Common Crawl 的抓取快照(snapshot)划分,命名为CC-MAIN-{年份}-{周号}:
data/UltraData-Math-L1/ ├── CC-MAIN-2014-15/ # 2014 年第 15 周抓取的快照 ├── CC-MAIN-2014-23/ ├── ... ├── CC-MAIN-2024-42/ └── CC-MAIN-2024-46/ # 2024 年第 46 周抓取的快照📊99 个快照目录的年度分布:
| 年份 | 快照数 | 年份 | 快照数 |
|---|---|---|---|
| 2014 | 7 | 2020 | 9 |
| 2015 | 10 | 2021 | 9 |
| 2016 | 9 | 2022 | 5 |
| 2017 | 12 | 2023 | 5 |
| 2018 | 12 | 2024 | 9 |
| 2019 | 12 | 合计 | 99 |
这种"一个快照一个文件夹"的组织方式有两个直接好处:
- 来源可追溯:任意一条语料都能定位到它出自哪一年的哪次网页抓取;
- 训练时可控采样:可按年份/快照比例调配数据,避免模型过拟合某一个时期的网页风格。
三、文件命名规范:part-XXXX-of-15.parquet 如何解读
每个快照目录内是按parquet 格式分片的数据文件,命名规则高度统一:
UltraData-Math-L1-CC-MAIN-2014-15-part-0001-of-15.parquet └────────┬────────┘ └─────┬─────┘ └──┬──┘ └────────┬────────┘ 数据集层级 来源快照 分片序号 分片总数以 UltraData-Math-L1-CC-MAIN-2014-15-part-0001-of-15.parquet 为例:
CC-MAIN-2014-15:该分片内容全部来自 2014 年第 15 周的 Common Crawl 快照;part-0001-of-15:这是 15 个分片中的第 1 个,便于分布式读取时按分片切分任务;- parquet 列式存储:相比 CSV,parquet 压缩率高、支持按列裁剪读取,加载大字段文本时 IO 开销更小。
大多数快照目录包含 15 个分片(个别目录如 CC-MAIN-2017-47/ 仅存 7 个分片),文件命名保证了"看名字就知道数据从哪来、是第几块"。
四、时间跨度价值:为什么值得覆盖 2014–2024 整整十年?
很多数学语料集只截取自少数几个时间点的网页,而 UltraData-Math L1 横跨11 个年度、99 次快照,这一时间跨度带来三类独特价值:
1. 覆盖数学网页表达的"技术演进史"
10 年间,网页中的数学公式经历了 MathML 主导期、MathJax 普及期到 KaTeX 上升期的更替。不同快照捕捉了不同渲染技术下的公式形态,配合 L0 层统一LaTeX 标准化,模型能学到跨越渲染技术演进的稳定数学语义,而非背记某一时代的公式标记。
2. 社区生态的长期沉淀
十年跨度意味着语料同时包含:老论坛(如早期 TeX 问答社区)中沉淀下来的经典解题讨论、竞赛题库的历史积累,以及新平台的现代数学内容。经典问题的多角度讨论恰恰是数学推理训练最珍贵的部分。
3. 分布多样性带来的泛化能力
按快照分组后,训练时可以灵活控制各年代的采样比例,缓解"模型偏向最新网页风格"的偏置;同时文档级去重在 99 个快照间执行,有效抑制跨年代重复内容的干扰。
官方实验也侧面印证了时间分布的处理:L0 解析器对比实验特意选取2023-2024 分布的数据子集进行,说明不同年份快照的页面结构差异显著,需要专门验证解析策略在"新快照"上的有效性。
五、L1 数据是怎么来的:从原始网页到干净语料
L1 并非原始抓取结果,而是经过了 L0 → L1 两道工序:
L0:解析与标准化——基于magic-html开发的数学专用解析器,结合w3m布局保持渲染与多级回退策略,把网页中的 MathML、KaTeX、AsciiMath 统一转换为LaTeX,最大限度保留公式结构。
L1:启发式清洗与过滤——
- 🧹格式修复:清理不可见字符、乱码与异常换行,移除导航栏、页脚、广告弹窗等网页噪声;
- ✂️长度过滤:移除缺乏上下文的过短片段;
- 🌐语言识别:保留高质量的中、英文数学内容;
- 🔁文档去重:文档级去重,防止重复内容干扰训练。
清洗后的 L1 再经 L2 质量模型精选、L3 多格式精炼,逐级提纯。消融实验显示,层级越高的数据对数学推理(MATH500、GSM8K)提升越显著,而 L1 正是这一切的规模化基础:
六、快速上手:加载 L1 数据的两种方式
方式一:直接从数据集平台加载(Hugging Face):
from datasets import load_dataset # 加载 UltraData-Math-L1(170.5B tokens) ds = load_dataset("openbmb/UltraData-Math", "UltraData-Math-L1")方式二:按快照直接读取本地 parquet 分片,例如只想使用 2020 年的数据:
import glob, pyarrow.parquet as pq # 读取 CC-MAIN-2020-05 快照的全部 15 个分片 files = glob.glob("data/UltraData-Math-L1/CC-MAIN-2020-05/*.parquet") table = pq.read_table(files)更多字段与配置说明可参考项目文档 README_ZH.md 与 README.md。
总结:L1 组织设计的三个关键词
| 关键词 | 体现在 |
|---|---|
| 可追溯 | 一级目录 = Common Crawl 快照,命名含来源与分片信息 |
| 可分片 | 每个快照 15 个 parquet 分片,天然适配分布式加载 |
| 时间纵深 | 99 个快照横跨 2014–2024,覆盖数学网页十年的表达演进 |
UltraData-Math L1 用"快照分目录 + 分片命名"的朴素结构,把 10 年 Common Crawl 数学语料的来源信息完整保留了下来。对新手而言,读懂这套目录,就拿到了通往 170B tokens 数学预训练语料的完整地图。🗺️
【免费下载链接】UltraData-Math
相关推荐
深度解析 NumPy 文档构建:autosummary attribute 模板与类属性文档页生成机制
深度解析 NumPy 文档构建:autosummary attribute 模板与类属性文档页生成机制 导读 Sphinx 的 autosummary 扩展是
UltraData-Math 290B tokens 数学语料全景解析:L1/L2/L3 三层数据架构深度解读
UltraData Math 290B tokens 数学语料全景解析:L1/L2/L3 三层数据架构深度解读 UltraData Math 是一个面向数学推理
fastText 的 Common Crawl 语料预处理管线:从原始爬虫数据到多语言词向量训练语料
fastText 的 Common Crawl 语料预处理管线:从原始爬虫数据到多语言词向量训练语料 本文以 fastText 仓库中 crawl/README
NLP机器学习
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考