笔记:大模型数学解题能力
本文将会介绍笔者近段时间来在大模型数学解题能力方面的调研工作,包括数据集、论文、实践项目、开源平台等。
笔者从今年五一开始从事大模型数学解题能力方面的工作,到7月初已完成了数据收集及合成,模型微调,模型部署推理,模型测评,模型开源等各阶段任务。这期间,笔者就大模型数学解题能力方面的工作形成了一系列文章,如下:
- NLP(九十七)大模型数学解题能力的初步探索
- NLP(九十九)大模型的数学能力微调及测评
- NLP(一百)大模型数学能力测评
- Open WebUI的Pipelines学习之使用大模型解数学题
- 个人的数学解题大模型已开源至HuggingFace平台!
当然,在研究过程中,笔者也进行了大量的调研工作,形成了一系列笔记,经过整理现在予以公开,以飨读者。笔记内容包括数据集、论文、实践项目、开源平台等。
该笔记内容在Notion平台上已经公开,有兴趣的读者可以访问:https://local-dugout-3c9.notion.site/Math-for-LLM-d631565f4c0f42d8bf4dcfe87a384ece?pvs=74 .
如有错误或不完整的地方,欢迎读者补充!
数据集
GSM8K
GSM8K数据集为大模型数学能力评测常见的benchmark之一,题目类型为小学数学题,共8.5k样本。
GSM8K是大小为8.5K的小学数学数据集,涉及基本算术运算,需要2-8个步骤才能解决,包含7.5K训练集和1K测试集。GSM8K每道题的答案包含完整的解题过程,有助于CoT训练。在GSM8K数据集中,测试数据的正确答案在 #### 后面,而且一般为整数。GSM8K数据集的测试集共1319条。
MATH
MATH数据集为大模型数学能力评测常见的benchmark之一,是一个包含12500个高中数学竞赛的问题(7500个用于训练,5000个用于测试)的数据集,以文本模式的Latex格式呈现。MATH中的每个问题都有一个完整的逐步解决方案,有助于CoT训练。
MATH数据集的最终答案用包围起来,答案表述一般比较多变,形式多样,有分数,根式,多项式,整数,小数等等。在其官网Github项目 hendrycks/math 中,提供了用于判断两个最终答案是否相等的代码脚本 math_equivalence.py ,网址为:https://github.com/hendrycks/math/blob/main/modeling/math_equivalence.py .
Ape210K
Ape210K数据集由猿辅导开源共享,它是一个新的大规模和模板丰富的Math Word Problem(MWP)数据集,包含210,488个(约210K)中国小学水平的数学问题。每个问题都包含最佳答案和得出答案所需的方程式。
数据集分布如下:
样例数据如下:
TAL-SCQ5K
TAL-SCQ5K-EN/TAL-SCQ5K-CN 是好未来教育集团打造的高质量中英文数学竞赛数据集,每个数据集包含 5K 道题目(3K 道训练题和 2K 道测试题),题目为多项选择题,涵盖小学、初中、高中阶段的数学主题。此外,数据集还提供了详细的解答步骤以方便 CoT 训练,题目中的所有数学表达式均以标准文本模式 Latex 呈现。
样例数据:
1 |
|
Math23K
Math23K数据集是一个为解决数学应用题而创建的数据集,包含从互联网上爬取的 23,162 道中文数学问题。
该数据集最初是在论文 Deep Neural Solver for Math Word Problems 中引入的。原始文件最初分为训练/测试数据集,而其它研究工作(https://github.com/2003pro/Graph2Tree) 执行训练/验证/测试数据集分割。
样例数据:
chinese_AAAI_Math
访问网址: https://huggingface.co/datasets/YaHi/chinese_AAAI_Math
与之相关的网站:https://ai4ed.cc/competitions/aaai2024competition ,关于该竞赛的描述,可以参考上述给出的官网。该竞赛将给我们带来全新的体验,让我们在领略数学的乐趣的同时,领略人工智能的强大威力,共同见证人工智能(AI)如何以新的方式解决挑战性问题,为未来开辟新道路。
MathPile
上海交通大学的人工智能实验室(GAIR)发布了一项重要的贡献,推出了名为"MathPile"的专门预训练语料库,旨在增强大规模模型在数学推理方面的能力。这个庞大的数据集包含95亿个标记,来源于各种数学内容,包括教科书、学术论文和在线资源如StackExchange。MathPile的独特之处在于其对数据质量的精心筛选,确保输入到人工智能模型中的数据具有高质量,以促进更准确和复杂的数学问题解决能力。MathPile的开源性质以及商业可用性标志着人工智能社区的一个显著进展,可能会导致更智能的系统,能够协助处理复杂的数学任务。
MathPile 具备以下几个特点:
SuperCLUE-Math6
SuperCLUE-Math6数据集是一个GSM8K的中文升级版,专门设计来测试中文大模型在数学推理方面的核心能力。SuperCLUE-Math6不仅延续了GSM8K的高质量和多样性,更在难度和应用广度上进行了适当的扩充。它的推出,旨在解决中文模型评估中的关键问题,并提供一个全面的测试平台。
测评
GSM8K数据集测评
测评项目如下:
- gsm8k_eval.ipynb: https://colab.research.google.com/github/google-deepmind/gemma/blob/main/colabs/gsm8k_eval.ipynb#scrollTo=kRShUtLfEXiq
- GSM8K-eval: https://github.com/Guangxuan-Xiao/GSM8K-eval
MATH数据集测评
测评项目如下:
- hendrycks/math: https://github.com/hendrycks/math?tab=readme-ov-file
OpenCompass(司南)
OpenCompass(思南)是由上海人工智能实验室提供的一个大模型评估平台,提供了全面、丰富、便利的大模型评估工具,包含了各个主体、各个维度的模型评估,是国内比较权威可信的大模型评估平台。
OpenCompass提供了数学主题评估,访问网址为:https://hub.opencompass.org.cn/topic/12 .
MathEval
访问网址:https://matheval.ai/
MathEval是一个专注于全面评估大模型数学能力的测评基准。共包含20个数学领域测评集和近30K道数学题目,旨在全面评估大模型在包含算术,小初高竞赛和部分高等数学分支在内的各阶段、难度和数学子领域的解题能力表现,既可以作为现阶段大模型之间数学能力横向对比的一站式参考,也可以为后续如何进一步提高大模型数学能力指引方向。
MathEval平台由智慧教育、北京师范大学、暨南大学、华东师范大学、西安交通大学、香港城市大学等单位共同开发。
模型
Llemma
LLEMMA模型是专门解决数学问题的开源大语言模型。它由多个大学和Eleuther AI公司共同研发,模型能够理解和生成数学表达式、解决数学问题,并与其他计算工具(如Python解释器和形式定理证明器)进行交互。
该模型基于Code Llama进行构建,在多个数学问题解决基准测试上,LLEMMA都表现出色,超过了所有已知的开放基础模型。
LLEMMA模型是在Proof-Pile-2(一个包含550亿标记的数学和科学文档数据集)上进行预训练的,该数据集包括科学论文、与数学相关的网页数据和数学代码。
LLEMMA训练并发布了两个模型:Llemma 34B和Llemma 7B。LLEMMA 7B模型在200B个令牌上进行了训练,而LLEMMA 34B模型在50B个令牌上进行了训练。
InternLM2-Math
2024年1月23日,上海人工智能实验室(上海AI实验室)开源发布新一代数学模型书生·浦语数学(InternLM2-Math)。基于书生·浦语2.0(InternLM2)强大的基础能力,InternLM2-Math仅以中轻量级参数规模,即在多项数学评测中刷新开源模型数学能力上限;此外,InternLM2-Math不仅会“解题”,更会“判题”,突破了传统数学大模型应用局限,将为数学基础研究和教学提供优质应用基座。
InternLM2-Math为首个同时支持形式化数学语言及解题过程评价的开源模型,以强大内生计算和推理能力,为技术社区提供强大数学工具和模型范式。秉持“以高质量开源赋能创新”的理念,InternLM2-Math代码和模型完全开源,并支持免费商用。
DeepSeek-Coder-V2
DeepSeek-Coder-V2模型是一个开源的代码语言模型,专为代码生成、代码补全、代码修复以及数学推理等任务而设计。该模型通过在大量高质量的多源语料库上进一步训练,显著提升了其在代码生成和数学推理方面的能力,同时在一般语言任务中的表现也保持在同等水平。DeepSeek-Coder-V2 支持 338 种编程语言并将上下文长度从 16K 扩展到 128K。该模型分为 16B 和 236B 参数版本,且在多项基准测试中表现优越,甚至在某些任务上超越了如 GPT4-Turbo 等闭源模型。
Step-DPO
Step-DPO是一种用于增强大规模语言模型(LLMs)长链推理能力的简单、有效且数据高效的方法。它通过构建包含10K步骤偏好对的高质量数据集来实现这一目的。在有限的数据和训练步骤下,Step-DPO显著提升了模型在MATH和GSM8K上的表现。
Step-DPO模型由香港中文大学的贾佳亚团队提出。
在线Demo网址:http://103.170.5.190:7870/
其它模型
其它专门为解决数学问题的大模型还有:
- 九章大模型(MathGPT):由
好未来
开发 - WizardMath:由
微软
开发 - GAIRMath-Abel:由
上海交大生成式人工智能研究组 (GAIR)
开发 - ...
论文及工具
- 论文:Large Language Models for Mathematical Reasoning: Progresses and Challenges,大模型数学推理能力的进展及挑战调研,网址为:https://arxiv.org/abs/2402.00157
- 论文:構建一個中文國小數學文字問題語料庫(Building a Corpus for Developing the Chinese Elementary School Math Word Problem Solver),台湾地区一篇关于中小学数学问题(Math Word Problem)语料库构建的论文,数据集未公开,网址为:https://aclanthology.org/O16-1031.pdf
- 工具:Metamath Home Page,Metamath 是一种简单、灵活的计算机可处理语言,支持严格验证、存档和呈现数学证明。网址为:https://us.metamath.org/
- 工具:Interpretable Geometry Problem Solving with Formal Language and Symbolic Reasoning,使用符号语言(Interpretable Geometry Problem Solver, Inter-GPS)进行几何问题推理,共3,002个几何问题。网址为:https://lupantech.github.io/inter-gps/
- 工具:SigmaDolphin,Automated Math Word Problem Solving,网址为:https://www.microsoft.com/en-us/research/project/sigmadolphin/overview/
- 工具:Asymptote,一种用于描述几何问题的编程语言,网址为:https://artofproblemsolving.com/wiki/index.php/Asymptote:_Basics
- 工具:Algebra Homework Help -- People's Math!,代数学习题网站,网址为:https://www.algebra.com/
- 工具:WolframAlpha Mathematics,WolframAlpha开发的解决特定类型的数学问题的网站,网址为:https://www.wolframalpha.com/examples/mathematics
- 工具: autogen_agentchat_MathChat.ipynb,微软开发的Agent框架Autogen,给出的一个用于解决数学习题的Agent例子,网址为:https://github.com/microsoft/FLAML/blob/main/notebook/autogen_agentchat_MathChat.ipynb