mathematics_dataset
DeepMind发布的数学推理基准数据集,含代数/微积分/概率等模块,程序化生成200万道中学数学题
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
DeepMind发布的数学推理基准数据集,含代数/微积分/概率等模块,程序化生成200万道中学数学题
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:给你一道二元一次方程 42*r + 27*c = -1167,你能算出 r = 4 吗?对一个高中生来说,这不过是几分钟的练习题。但对一台神经网络而言,这却是一个极其艰难的任务——它需要在纯符号层面完成代数推理,而不是像人类一样依赖直觉和记忆。
2019年,DeepMind 发布了一个让整个AI圈为之震动的数据集:Mathematics Dataset(数学数据集)。这个开源项目由 David Saxton、Edward Grefenstette、Fergus Hill 和 Pushmeet Kohli 四位研究者共同打造,其核心目标只有一个:系统性地测试神经网络在数学推理方面的能力边界。
在此之前,大多数语言模型都在文本补全任务上接受训练——本质上是一个"填词游戏",根据上下文猜测下一个词。但数学问题完全不同,它要求模型理解符号操作、变量替换、逻辑推导,还要能处理多层嵌套的函数组合,比如:
Let x(g) = 9*g + 1
Let q(c) = 2*c + 1
Let f(i) = 3*i - 39
Let w(j) = q(x(j))
Calculate f(w(a))
Answer: 54*a - 30
这类题目考察的不是记忆,而是代数推理——模型的每一步运算都必须严格遵循数学规则,任何一步出错都会导致最终答案错误。
Mathematics Dataset 采用了程序化生成的思路,而不是人工标注。每一道题目都由 Python 代码中的生成器函数实时构造,答案则由 SymPy 等符号数学库自动计算得出。这种方式带来了几个关键优势:
数据集涵盖了以下数学领域:
| 模块 | 示例题型 |
|---|---|
| 代数 (algebra) | 解线性方程组、多项式求根 |
| 算术 (arithmetic) | 混合运算、科学计数法、根号运算 |
| 微积分 (calculus) | 函数求导、链式法则 |
| 概率 (probability) | 排列组合、古典概型 |
| 多项式 (polynomials) | 多项式展开、因式分解 |
| 数论 (numbers) | 进制转换、最大公约数、质数判定 |
| 比较 (comparison) | 数值排序、近似比较 |
| 测量 (measurement) | 单位换算、时间计算 |
每个领域又细分为 train-easy、train-medium、train-hard 三个难度级别,共约 200万道题目(每个模块2百万对 Q&A)。预生成数据托管在 Google Cloud Storage 上可直接下载。
代码库采用高度模块化的设计:
mathematics_dataset/
├── modules/ # 各数学领域生成器
│ ├── algebra.py # 代数方程
│ ├── arithmetic.py # 算术运算
│ ├── calculus.py # 微积分
│ ├── probability.py
│ └── ...
├── util/ # 通用工具
│ ├── composition.py # 函数复合
│ ├── combinatorics.py # 组合数学
│ ├── display.py # 数学表达式渲染
│ └── probability.py
├── generate.py # CLI入口,生成示例题目
└── generate_settings.py
核心依赖为 absl-py(命令行参数处理)、numpy(数值运算)、sympy(符号计算)和 six(Python 2/3 兼容)。项目使用标准的 setuptools 打包,可通过 pip install mathematics_dataset 一键安装。
使用方式极为简洁:
# 生成线性方程题目
python -m mathematics_dataset.generate --filter=linear_1d
# 生成概率论题目
python -m mathematics_dataset.generate --filter=probability
# 批量生成到文件
python mathematics_dataset/generate_to_file.py
这篇论文(发表于 ICLR 2019,OpenReview 被引用634次)开创性地将数学推理作为独立基准,拉开了大模型数学能力评估的序幕。
后续许多工作都建立在此基础上:
可以说,没有 Mathematics Dataset,就不会有后来大模型数学能力的系统性提升。
安装:一条命令即可,pip install mathematics_dataset。
使用:CLI工具,无需配置,直接运行生成器或集成到自己的训练流程中。
局限性:
适合人群:AI 研究者用于训练/评测 LLM 的数学能力、数据工程师构建数学推理数据集、教育科技开发者。
截至目前,该项目在 GitHub 拥有 1,966 Stars 和 275 Forks,虽然 DeepMind 后期的研究重点转向了 AlphaCode、FunSearch 等更复杂的任务,但 Mathematics Dataset 至今仍是 AI 数学推理领域的基础设施级数据集。
它的意义不仅在于提供了一个评测基准,更在于提出了一种用程序化方式构建大规模结构化数据的方法论——这深刻影响了后续 GSM8K、MATH、PRM800K 等数据集的设计思路。
如果你正在训练或评估大语言模型的数学推理能力,Mathematics Dataset 仍然是一个值得参考的数据来源和评测工具。