Dolphin Math Data Generator
收藏github2025-05-06 更新2025-05-09 收录
下载链接:
https://github.com/cognitivecomputations/dolphin-math
下载链接
链接失效反馈官方服务:
资源简介:
该项目生成涵盖各种算术和代数主题的合成数学问题。关键的是,它还生成详细的、逐步的解决方案,旨在模仿人类在手动解决问题时的过程(类似于“可见的草稿纸”)。输出设计用于训练语言模型以执行多步数学推理。
This project generates synthetic mathematical problems covering various arithmetic and algebraic topics. Crucially, it also produces detailed, step-by-step solutions designed to mimic the manual problem-solving process of humans, similar to a "visible scratchpad". The outputs are intended for training language models to perform multi-step mathematical reasoning.
创建时间:
2025-05-06
原始信息汇总
Dolphin Math Data Generator 数据集概述
目的
- 生成涵盖算术和代数主题的合成数学问题。
- 生成详细的逐步解决方案,模拟人类手动解决问题的过程(类似“可见的草稿纸”)。
- 输出设计用于训练语言模型执行多步数学推理。
- 适用于监督微调(SFT)和强化学习(RL)训练。
特点
生成问题类型
- 基础算术:
- 长除法(带余数)
- 十进制乘法、加法、减法、除法
- 分数加法(同分母和异分母)
- 分数减法(同分母和异分母)
- 分数乘法、除法
- 代数:
- 简单线性方程(如
ax + b = c) - 复杂线性方程(如
ax + b = cx + d) - 二次方程(使用求根公式)
- 代数表达式简化(含分配律)
- 代数表达式求值(变量替换)
- 比例关系
- 简单线性方程(如
- 几何:
- 勾股定理(求斜边)
- 百分比:
- 求部分(如“80的25%是多少?”)
- 求百分比(如“15是50的百分之几?”)
- 求整体(如“20是某数的50%,求该数”)
- 工具/方法:
- 算盘式加法(逐列进位)
使用方法
生成样本
bash python dolphin_math_datagen.py --sample
可选参数:-s 或 --seed 指定随机种子。
生成完整数据集
bash python dolphin_math_datagen.py -n <number_of_examples> -o <output_file.jsonl>
默认值:10,000个样本(输出至 dolphin_math_10000.jsonl),种子为42。
运行测试
bash python -m unittest discover tests
操作码说明
算术
D:除法M:乘法S:减法A:加法B:下一位R:余数C:分数转换L:最小公分母计算I:分数倒数F:分数简化
十进制运算
DEC_ALIGN:对齐小数点DEC_ADD_COL:列加法DEC_SUB_COL:列减法DEC_CARRY_FINAL:最终进位
代数
DISC:判别式计算ROOT:平方根计算Q1/Q2:二次方程根DIST:分配律REWRITE:表达式重写COMB_X:合并X项COMB_CONST:合并常数项SUBST:变量替换MOVE_TERM:移项DIV_COEFF:系数除法
几何
E:幂运算
最终答案
Z:最终答案字符串
依赖
- Python 3(测试版本3.9+)
搜集汇总
数据集介绍

构建方式
Dolphin Math Data Generator通过程序化方法生成涵盖算术、代数、几何等多个数学领域的合成数学问题及其详细解答步骤。该数据集采用模块化生成策略,针对不同数学题型设计了专门的算法模块,如长除法模块采用'D'操作码记录每一步的除法运算,代数模块通过'DIST'和'REWRITE'等操作码展示方程变形过程。生成过程支持设置随机种子以保证可复现性,输出采用JSON Lines格式存储,每个样本包含问题陈述和结构化解题步骤。
使用方法
使用该数据集时,可通过命令行参数灵活控制生成规模与输出格式。执行`python dolphin_math_datagen.py -n 50000`可生成包含5万个样本的默认数据集,配合`-s`参数设置随机种子确保实验可重复。开发者可通过`--sample`参数快速预览各题型生成效果,单元测试模块`python -m unittest discover tests`能验证所有生成器的正确性。数据集中的操作码系统构成了完整的数学推理语法,模型训练时可利用这些结构化步骤信息构建思维链监督信号,特别适合用于提升语言模型的多步数学推理能力。
背景与挑战
背景概述
Dolphin Math Data Generator是由研究团队开发的数学问题生成工具,专注于合成涵盖算术和代数等多个数学领域的题目及其详细解答步骤。该数据集旨在模拟人类解题时的逐步推理过程,为语言模型提供多步骤数学推理的训练素材。其核心研究问题在于如何通过系统化生成具有详细解题步骤的数学题目,提升语言模型在数学推理任务中的表现。该数据集不仅支持监督式微调(SFT),还适用于强化学习(RL),为数学教育领域和人工智能研究提供了重要的数据支持。
当前挑战
Dolphin Math Data Generator面临的挑战主要包括两个方面:首先,在解决领域问题上,如何确保生成的数学题目及其解答步骤的多样性和复杂性,以覆盖广泛的数学知识点,同时保证解答逻辑的正确性和合理性,这对语言模型的训练效果至关重要。其次,在构建过程中,如何设计高效的算法来生成大量高质量的题目和解答步骤,并确保其格式的统一性和可解析性,是一个技术难点。此外,数据集的扩展性和适应性也需要不断优化,以满足不同研究需求。
常用场景
经典使用场景
在数学教育领域,Dolphin Math Data Generator数据集通过生成涵盖算术、代数、几何等多类数学问题的详细步骤解答,为语言模型提供了丰富的训练素材。其经典使用场景包括训练模型进行多步骤数学推理,特别是在监督微调(SFT)和强化学习(RL)框架下,模型能够逐步掌握解题的语法逻辑与策略优化。
解决学术问题
该数据集有效解决了数学自动解题系统中缺乏高质量、结构化标注数据的难题。通过提供标准化的解题步骤与中间过程,它为研究数学推理的符号化表示、步骤生成的可解释性以及模型泛化能力提供了基准数据,推动了教育人工智能领域的技术发展。
实际应用
在实际应用中,该数据集可集成至智能辅导系统,为学生提供即时、分步骤的解题指导;同时支持开发具备数学作业批改功能的工具,通过比对模型输出与标准步骤实现自动化评估。其生成的合成数据还能缓解真实教育数据稀缺的问题。
数据集最近研究
最新研究方向
在数学教育智能化领域,Dolphin Math Data Generator通过生成涵盖算术、代数、几何及百分比等多类数学问题的合成数据集,为语言模型的数学推理能力训练提供了重要支持。该数据集不仅模拟人类解题的逐步推理过程,还特别设计了详细的步骤解析,使其在监督式微调(SFT)和强化学习(RL)场景下均具备应用价值。当前研究热点聚焦于如何利用此类结构化数据提升模型的多步推理能力,尤其是在解决复杂线性方程和分数运算等难点问题上的表现。这一方向与教育科技领域对自适应学习系统的需求紧密相关,为开发更智能的数学辅导工具奠定了数据基础。
以上内容由遇见数据集搜集并总结生成



