ClimbMix-400B 表现优于 FineWeb-Edu | AI生成和翻译
问题:ClimbMix-400B 在预训练方面是否优于 FineWeb-Edu?
答案:
简短回答:是的,在 CLIMB 作者报告的基准测试中,并且它已经在论文之外经过了实战检验——Karpathy 已将 nanochat 的默认预训练语料库从 FineWeb-Edu 切换为 ClimbMix。
论文自身的声明: 在 Nemotron-ClimbMix 上训练的模型在相同 token 预算下,显著优于在现有数据集(Nemotron-CC、SmolLM-corpus、DCLM-baseline 和 FineWeb-Edu)上训练的模型。一个在 400B ClimbMix tokens 上持续训练的 1B 模型,在 12 个下游推理基准测试中平均超过 Llama-3.2-1B 达 2.0%,并且这是明确与 FineWeb-Edu 在相同 token 数量下的直接对比,而不仅仅是与原始网络爬虫数据对比。
独立的真实世界信号(对你更相关,因为你正在 MI300X 上运行 nanoGPT/nanochat 规模的实验): NanoChat 的 GPT-2 能力训练时间从约 3 小时降至约 2 小时(在 8×H100 节点上),主要驱动力是将预训练数据集从 FineWeb-edu 切换为 ClimbMix,再加上 FP8。关键点:其他替代数据集(包括 OLMo、FineWeb 和 DCLM)在替换后产生了性能倒退,而 ClimbMix 开箱即用——这意味着它不仅只是略有提升,而是唯一一个无需重新调整超参数即可实现收益的直接替换。这对你的使用场景来说是最强的实践信号:你无需重新调整学习率/调度策略即可受益。
它为什么在机制上获胜(不仅仅是“更严格过滤”): FineWeb-Edu 的优势来源于在 FineWeb 基础上使用 LLM 分类器进行教育质量过滤——一个单一质量维度。而 ClimbMix 则通过 CLIMB-search(一种代理模型驱动的自举循环)优化了跨 20 个语义聚类(来自 Nemotron-CC + smollm-corpus)的混合比例——这更接近对数据组成进行超参数搜索,而非设置过滤阈值。这就是为什么它在 12 个基准测试套件中表现更全面,而不是仅在一个维度上获胜(例如,根据其他混合研究,FineWeb-Edu 的评分数据对科学类任务略有帮助,但对常识推理/自然语言推理没有提升)。
在你将 ClimbMix 设为默认之前值得注意的一个注意事项:由于它源自 Nemotron-CC + smollm-corpus 而非原始 FineWeb,因此它会继承这些来源的任何合成/策划偏差(smollm-corpus 合成数据占比很高)。如果你的下游目标更侧重于代码/代理密集型任务,而不是论文中的 12 个通用推理基准测试,那么这是一个实证问题,值得在你的 MI300X 设置上快速进行 val_bpb 消融实验,而不是假设论文中的收益能 1:1 迁移——这与 Karpathy 在 OLMo/DCLM 直接替换时出现性能倒退时所注意到的注意事项相同。
针对你的 GPT-2-760M 运行的实用操作:
# 与 Karpathy 所做的相同替换——只需将 prepare.py 指向 ClimbMix 而非 fineweb-edu
uv run prepare.py --dataset karpathy/climbmix-400b-shuffle
uv run train.py # 300s 基线运行,将 val_bpb 与你当前的 fineweb-edu 检查点进行比较
鉴于你已经在 nanochat 上深入工作,这是一个零成本的替换,可以在你自己的 val_bpb 指标上测试,然后再相信论文中针对你特定下游目标的 12 基准测试数据。
参考资料:
- Nemotron-CLIMB 论文 — arXiv:2504.13161v2(图 1:ClimbMix 与 FineWeb-Edu/DCLM 等对比)
- NVIDIA CLIMB 研究页面
- Karpathy 的 NanoChat:FineWeb-edu → ClimbMix 切换,GPT-2 训练 2 小时
- karpathy/climbmix-400b-shuffle 在 Hugging Face 上
