Ultra-FineWeb-Classifier
📜 技术报告 | 🤗 Ultra-FineWeb | 📦 UltraData 合集 | 🌐 UltraData
English | 中文
📚 简介
Ultra-FineWeb-Classifier 是一组轻量级中英文质量分类器,用于从大规模网页语料中筛选高质量文档。该分类器通过 Ultra-FineWeb 技术报告提出的高效验证式过滤流水线构建,并基于 fastText 实现,可在网页规模数据上进行高效、低成本推理。
本仓库分别提供英文和中文分类器权重。我们将其应用于 FineWeb 和 Chinese FineWeb,构建出更高质量的网页预训练数据集 Ultra-FineWeb,包含约 1T 英文 tokens 与 120B 中文 tokens。Ultra-FineWeb 是 MiniCPM4 系列与 MiniCPM5 系列的核心预训练网页数据集。
- Ultra-FineWeb-L1:经过基础清洗、规则过滤、敏感字段替换与去重的 L1 过滤数据。
- Ultra-FineWeb:包含约 1T 英文 tokens 与 120B 中文 tokens 的 L2 精选数据。
- Ultra-FineWeb-Classifier:用于网页语料质量筛选的轻量级中英文分类器。(当前仓库)
- Ultra-FineWeb-L3:通过问答对生成与多风格改写构建的 L3 合成与增强数据,包含 400B+ 英文 tokens 与 200B+ 中文 tokens。
📢 最新动态
- [2026.08.20] Ultra-FineWeb-L1 数据集正式发布,并同步发布由 Ultra-FineWeb-Classifier 筛选得到的 L2 精选数据。🚀🚀🚀
- [2026.05.28] Ultra-FineWeb-L3 数据集正式发布,包含 400B+ 英文 tokens 与 200B+ 中文 tokens。
- [2026.05.25] MiniCPM5-1B 正式发布!Ultra-FineWeb 是其核心预训练网页数据集。
- [2026.02.08] UltraData 平台正式上线,并发布 L0-L4 分级数据管理框架。
- [2025.06.16] Ultra-FineWeb-Classifier 已在 Hugging Face 上线:openbmb/Ultra-FineWeb-classifier。🚀🚀🚀
- [2025.06.06] Ultra-FineWeb-en 与 Ultra-FineWeb-zh 已在 Hugging Face 发布,并与 MiniCPM4 系列模型同步开源。
- [2025.05.15] Ultra-FineWeb 登上 Hugging Face Datasets Trending 榜首!⭐️⭐️⭐️
- [2025.05.09] Ultra-FineWeb 技术报告已在 arXiv 发布。🔥🔥🔥
💡 亮点
摘要: 随着大语言模型(LLM)的快速发展,数据质量已成为提升模型性能的关键因素。模型驱动的数据过滤逐渐成为获取高质量数据的主要途径,但仍面临两大挑战:(1)缺乏高效的数据验证策略,难以及时反馈数据质量;(2)训练分类器所用的种子数据选择缺乏明确标准,过度依赖人工经验,带来主观性。针对第一个挑战,我们提出高效验证策略,以极低计算成本快速评估数据对 LLM 训练的影响。针对第二个挑战,我们在「高质量种子数据有利于 LLM 训练」的假设下,结合上述验证策略优化正负样本选择,并提出高效数据过滤流水线。该流水线不仅提升过滤效率、分类器质量与鲁棒性,还显著降低实验与推理成本。此外,我们采用基于 fastText 的轻量分类器,将过滤流水线应用于 FineWeb 与 Chinese FineWeb,构建出更高质量的 Ultra-FineWeb 数据集。实验结果表明,基于 Ultra-FineWeb 训练的 LLM 在多项基准上显著优于对照组,验证了该流水线在提升数据质量与训练效率方面的有效性。
- 高效验证策略: 以极低计算成本快速评估数据对 LLM 训练性能的影响,显著提升高质量数据过滤实验的效率。
- 高质量种子样本选择: 结合验证策略优化正负种子样本选择,降低主观性并提升分类器质量与鲁棒性。
- 轻量级双语分类器: 基于 fastText 的中英文分类器可在大规模网页语料上进行高效、低成本推理。
🚀 使用方法
请在仓库根目录运行以下命令。将 LANGUAGE 设置为 en 或 zh,即可选择对应的分类器。
单篇文本推理
将待评分文本写入 scripts/local_scripts/single_content.txt,然后运行:
LANGUAGE=en
TOKENIZER_PATH=local_tokenizer
CONTENT_FILE=scripts/local_scripts/single_content.txt
python scripts/local_scripts/infer_single_content.py --language ${LANGUAGE} --tokenizer-path ${TOKENIZER_PATH} --content-file ${CONTENT_FILE}
TOKENIZER_PATH 默认使用 local_tokenizer,也可直接设置为 deepseek-ai/DeepSeek-V2。终端输出格式如下:
Content: {用户输入的文本}
Normalized content: {标准化后的文本}
- Pred label: {预测标签}
- Pred score: {预测分数}
文件夹批量推理
文件夹推理脚本可批量处理目录中的数据文件。以下示例从 data/input 读取数据,使用名为 content 的文档字段,并将结果写入 data/output:
LANGUAGE=en
DATA_PATH=data/input
SAVE_PATH=data/output
CONTENT_KEY=content
TOKENIZER_PATH=local_tokenizer
PROCESSES_NUM=64
WRITE_BATCH_SIZE=100
python scripts/local_scripts/infer_folder.py \
--language ${LANGUAGE} \
--data-path ${DATA_PATH} \
--save-path ${SAVE_PATH} \
--content-key ${CONTENT_KEY} \
--tokenizer-path ${TOKENIZER_PATH} \
--processes-num ${PROCESSES_NUM} \
--write-batch-size ${WRITE_BATCH_SIZE}
默认进程数为 64,默认写入批次大小为 100;如有需要,可在命令末尾添加可选参数 --inplace。
Spark 推理
如需进行分布式推理,请参考 scripts/spark_scripts/spark_infer.py 提供的 Spark 集群示例。
注意事项
fasttext依赖numpy<2.0。config.json是占位配置文件,其中的参数用于 fastText 训练。
❤️ 致谢
- Ultra-FineWeb-Classifier 基于 fastText 构建。
- 英文过滤流水线应用于 FineWeb。
- 中文过滤流水线应用于由 IndustryCorpus2、MiChao、WuDao、SkyPile、WanJuan、ChineseWebText、TeleChat 与 CCI3 等数据集构建的中文语料。
感谢这些优秀开源工作,正是开源社区的贡献让 Ultra-FineWeb 成为可能!🙌
🌟 引用
若本工作对您的研究有帮助,欢迎引用:
@misc{wang2025ultrafineweb,
title={{Ultra-FineWeb}: Efficient Data Filtering and Verification for High-Quality LLM Training Data},
author={Yudong Wang and Zixuan Fu and Jie Cai and Peijun Tang and Hongya Lyu and Yewei Fang and Zhi Zheng and Jie Zhou and Guoyang Zeng and Chaojun Xiao and Xu Han and Zhiyuan Liu},
year={2025},
eprint={2505.05427},
archivePrefix={arXiv},
primaryClass={cs.CL},
}
💳 许可证
本项目基于 Apache 2.0 许可证发布。