• AGI
  • 《探索数学智慧之旅:从数据海洋到智慧引擎》

数学不仅是人类智慧的基石,更是一扇通向未知世界的窗户。而当代大语言模型的突破,也离不开对数学领域深耕的数据预训练。MegaMath 正是在这种背景下应运而生,它以 3710 亿 token 的规模与高质量数据,为数学预训练开辟了全新的篇章。本文将从数据采集、处理、合成与消毒等方面,详细解读 MegaMath 如何推动开放数学语料库的极限,并探讨其在大模型预训练中的广泛应用。


🌐 网络数据的探险与采集

在传统数据预训练中,网络数据一直是构建语料库的基石。然而,对于数学内容而言,普通的网页爬取方法往往难以保留公式和符号,而这正是数学美感的精髓所在。MegaMath 团队重新审视 Common Crawl 数据,通过定制 URL 过滤、语言识别以及 HTML 优化处理,成功挖掘出高质量数学文档。

在数据采集的第一步,他们采用了 WARC 文件格式直接从网页 HTML 中提取文本,避免了 WET 数据中常见的质量损失。随后,在第一轮文本抽取后,利用 fastText 模型进行数学相关性筛选:只有那些数学内容得分不低于 0.65 的文档才得以保留。这样的严苛筛选保障了后续处理的数据都具备扎实的数学内涵。

为了进一步确保公式、符号不被丢失,MegaMath 针对数学标签进行了专门的优化处理。数学节点经过遍历后,被转换成兼容 Latex 语法的格式,从而在后续的文本抽取中得以完整保留原汁原味的数学表达。这样一来,无论是复杂的数学公式还是隐含的符号信息,都能在提取后的文本中得以体现。

下面是 MegaMath-Web 数据管道的简化示意图:

MegaMath-Web 数据管道

这种两阶段抽取方法——先用 Resiliparse 快速执行粗抽取,再用 trafilatura 深入过滤-确保了既能高效筛选,又不失精准保留数学内容的质量。


🔍 精细过滤与高效降重

在大规模数据处理过程中,重复数据不仅会浪费存储资源,更可能导致模型训练时的记忆过拟合。为此,MegaMath 团队采用了基于 MinHash 的 Locality Sensitive Hashing (LSH) 技术实现数据降重。

在 LSH 降重过程中,他们利用如下公式计算文档重复概率:

P=1(1Sb)rP = 1 - (1-S^b)^r

其中,SS 表示两个文档的 Jaccard 相似度,bb 是每个桶内哈希函数的数量,而 rr 则代表桶的数量。这一公式直观表达了当文档相似度较低时,被同一哈希桶分配的概率显著下降,从而保证了仅留存真正具有独创性的数据。经过大量参数调优(例如选取 r=11,b=10,t=0.75r=11,\, b=10,\, t=0.75),团队实现了在保证数据稀疏性的同时最大限度保留数学内容质量。

这一精细过滤不仅大幅降低了重复数据的比例,还进一步加深了数据的质量,使得后续模型预训练中的数学推理能力得到了显著提升。


💻 数学代码数据的重塑

数学不仅存在于抽象的文字中,更多时候直接体现在编程与算法实现上。为此,MegaMath 特别从 Stack-V2 数据集中回忆出数学相关的代码片段,构建了 MegaMath-Code 数据集。

在这一过程中,团队首先至关重要地对编程语言进行甄选,选定的 11 种语言(如 C、Python、Java 等)均与科技计算或数学运算密切相关。随后,他们利用一个小型语言模型 (SLM) 对代码进行数学相关性评分,从而筛选出具备较高数学教育和科学计算价值的代码数据。

这种数学代码回忆不仅扩充了数据的多样性,还为大语言模型在解题过程中采用代码生成与代码执行反馈提供了重要资源。从实证角度来看,严格筛选出的代码在 PAL 等指标上均显示出更好的数学推理表现:严格筛选出的代码数据在下游任务中能显著提高 CoT(链式思考)的表现,而如果过多引入其它领域代码,则可能对文本推理能力产生干扰。

团队的这项工作不仅为数学预训练注入了鲜活的实战案例,也为后续模型跨文本与代码融合的多模态学习提供了宝贵经验。


✨ 合成数据:丰富知识的增量引擎

在传统数据来源困难重重的背景下,合成数据成为提升数据规模和质量的另一有力武器。MegaMath 团队巧妙地从已有数学网页及代码数据中生成了 QA 风格的问答对、数学相关代码及交错的文本与代码块数据。

  1. QA 数据生成
    利用先进的 LLMs,如 Llama-3.3-70B-Instruct,以及 Qwen-2.5-Coder-32B-Instruct,通过零样本提示工程方法,团队高效从数学文档中抽取并精炼出高质量问答对。标注的问答不仅具备结构化的数学推理,更在一定程度上构成了解题过程的中间步骤,使得大语言模型能够“看懂”复杂问题并生成相应解决策略。

  2. 代码翻译与增强
    除了直接抽取数学代码外,团队还引入了代码翻译技术,将非 Python 代码转译为 Python 脚本。这样既增加了 Python 代码数据的体量,也让模型在学习过程中能更加专注于一种主流语言,降低跨语言学习的复杂度。

  3. 文本与代码块的交错生成
    借鉴 Lu et al.(2024)的工作,团队通过 LLM 自动生成互联文本及代码块数据,实现从描述数学问题到实现问题求解的完整链条。这种数据形式不仅让模型获得类似教学案例的体验,还促使其在解题过程中的逻辑思维和代码执行策略上更为严谨。

综上,合成数据的引入在丰富原始语料的同时,突破了纯数据抽取的瓶颈,为数学预训练奠定了坚实的基础。


🧪 大量消融实验:探索最佳训练路径

在数据处理过程中,理论与实践往往需通过大量消融实验来验证最佳方案。MegaMath 团队在不同数据源(如 MegaMath-Web、MegaMath-Code、MegaMath-Synth)之间进行了细致的实验比对,并通过不同子集的训练结果展示了数据预处理、过滤、合成对预训练模型性能的巨大影响。

例如,在优化文本抽取上,团队发现相比于直接使用 trafilatura,经过 HTML 数学元素优化后的 Resiliparse 抽取出的数据保留了更多数学符号,对于链式思考推理任务的表现要明显优于未经优化的数据结果。与此同时,在 fastText 的训练优化中,他们通过增加基于链式思考 (CoT) 数据的正样本,使得数学相关性评估的 F1 分数在开源数据集上由 81.8% 提升到 98.8%,这一显著提高验证了数据过滤策略的有效性。

此外,在代码数据方面,通过严格的数学相关性过滤(例如要求 Edu 分数和 Math 分数均大于等于 4),清洗后的代码数据在 PAL 测评中显示出比混合大量非数学代码更高的数学推理成绩。消融实验还表明,适当的合成数据(如采用 ELI5 风格提示和信息完整性增强)能够使得问答数据在下游训练中取得显著提升,在 GSM8K、MATH 等数学竞赛级数据集上,模型表现分别提升了 15% 至 20%。

这一系列实验结果不仅验证了数据处理方法的科学性,也为如何在大规模预训练中精细控制数据质量提供了宝贵经验。


💡 与现有数学语料库的比较与突破

为了进一步证明 MegaMath 的卓越性,团队对比了包括 Open-Web-Math、FineMath、MathPile 等多个公开数学语料库。在对比实验中,MegaMath-Web 以 2639 亿 token 的规模远超同类语料,而其经过多阶段精细过滤后,在下游任务(如 GSM8K、MATH、MMLU-STEM 等)中均有显著优势。

更为重要的是,在引入高质量的 MegaMath-Web-Pro 子集之后,实验显示其在数学题目解决上能够比 FineMath 提升至少 4% 的表现。这种提升不仅体现在模型推理精度上,更在于对数学思维全过程的细致捕捉和表达,验证了在预训练过程中数据质量的重要性。

MegaMath 的这一成就代表了开放数学语料库新一代水准,其多元数据源、严格过滤与合成策略使其在数量与品质上均达到了前所未有的高度,为推动开源数学模型的研究与发展注入了强大动力。


🚀 未来展望:数学领域的无限可能

MegaMath 的成功不仅是对现有数学语料库的一次提升,更预示着未来数学 AI 模型在问题求解、科学发现以及教育教学中的广阔前景。


未来的发展方向可以从以下几方面展开:

  1. 数据更新与动态过滤
    随着互联网数据日益丰富,如何在快速迭代中保持高质量数学语料的前沿状态,将成为研究的重点。动态过滤策略和基于 LLM 的细致评分系统将进一步提升数据质量。

  2. 多模态数据整合
    数学不仅仅存在于文字和代码中,还涉及图表、手写笔记与动态演示。整合图像数据、多媒体内容将极大丰富模型的数学认知水平。

  3. 领域特定预训练及微调
    针对不同数学领域(如代数、几何、统计等)进行专门的预训练,能够让大模型在各自领域表现出更为出色的数学理解和推理能力。

  4. 教育应用与人机交互
    通过与教育系统深度融合,未来数学模型不仅可以帮助学生解题,更能提供针对性指导,扮演师资助手的角色。

  5. 跨学科协同发展
    数学思维是解决科学、工程、经济和医学问题的核心。通过跨学科的数据整合与协同训练,大语言模型有望在多领域实现突破。

MegaMath 为这些前景奠定了坚实基础,也为研究者提供了宝贵的公开数据资源。未来,我们期待这些数据能够激发更多创新算法,让数学智慧在数字世界中迸发出更加耀眼的光芒。


📊 总结与启迪

从网页数据采集、代码回忆到合成数据的生成,MegaMath 以其严谨的数据预处理和丰富的数据信息,为数学预训练打开了一扇通向未来智慧的大门。大规模消融实验和与现有语料库的对比充分说明:在细节之处做好功夫,便能将数量优势转化为质量飞跃。

这一切不仅证明了大模型预训练中数学数据的重要性,更展示了如何利用先进技术和创新方法将分散的数据重新打造成一座知识的灯塔。穿越数据海洋后,我们见证了一座数学智慧的高塔正冉冉升起,指引着航向更加智能、更加开放的未来。

MegaMath 的突破之路告诉我们,无论是纯理论的数学概念,还是应用实践中的代码实现,只要投入足够的智慧和技术,就能在数据世界中开创出一片崭新天地。正如数学本身那般复杂而优美,MegaMath 为人类智慧的数字化旅程提供了无限可能。


📚 参考文献

  1. Paster, K., Dos Santos, M., Azerbayev, Z., & Ba, J. (2024). OpenWebMath: An open dataset of high-quality mathematical web text. In Proceedings of the Twelfth International Conference on Learning Representations.
  2. Han, X., Jian, Y., Hu, X., et al. (2024). InfiMM-WebMath-40B: Advancing multimodal pre-training for enhanced mathematical reasoning. Presented at the NeurIPS 2024 Workshop on Mathematical Reasoning and AI.
  3. Shao, Z., Wang, P., Zhu, Q., et al. (2024). DeepseekMath: Pushing the limits of mathematical reasoning in open language models. arXiv preprint arXiv:2402.03300.
  4. Lo zhkov, A., Ben Allal, L., et al. (2024). FineMath: The finest collection of mathematical content. Retrieved from https://huggingface.co/datasets/HuggingFaceTB/finemath.
  5. Yang, A., Zhang, B., Hui, B., et al. (2024). Qwen2.5-Math technical report: Toward mathematical expert model via self-improvement. arXiv preprint arXiv:2409.12122.

本文以通俗而不失深度的语言,带领读者走进 MegaMath 背后的科学探索之路。我们希望在未来的日子里,更多的数学爱好者和研究者能够利用这一开放数据资源,共同推动数学智能化转型与发展。

沪ICP备2024052574号-2