数学问题难解?新研究提出MathScale方法,让AI更懂数学推理

news2024/11/18 8:14:36

引言:数学问题解决中的语言模型挑战

数学问题解决是一个复杂的认知过程,它要求参与者不仅要掌握数学知识,还要能够进行多步骤的逻辑推理。近年来,大语言模型(LLMs)在解决问题方面展现出了显著的能力,但在数学问题解决方面的表现仍然不尽人意。这可能是因为数学问题解决本质上需要复杂的多步骤推理,而这正是当前LLMs所缺乏的。

尽管通过指令调整(Instruction Tuning)可以在一定程度上提升LLMs的数学解决能力,但现有的数学推理数据集规模有限,这限制了模型能力的进一步提升。例如,目前最受欢迎的数学数据集GSM8K和MATH,每个数据集的训练样本数量仅为约7.5K。为了解决这一挑战,研究者们尝试使用先进的LLMs(如GPT-3.5和GPT-4)来扩充现有的高质量数学数据集,但这些方法生成的新例子与原始训练集中的例子相似度过高,限制了它们在生成大规模数学数据集方面的能力。

论文标题:
MathScale: Scaling Instruction Tuning for Mathematical Reasoning

论文链接:
https://arxiv.org/pdf/2403.02884.pdf

论文概览:MathScale方法与MWPBENCH评测

1. MathScale方法

本文提出了一种名为MathScale的概念简单且可扩展的方法,它通过利用前沿LLMs(例如GPT-3.5)来创建高质量的数学推理数据。

MathScale的灵感来源于人类数学学习中的认知机制,首先从种子数学问题中提取主题和知识点,然后构建概念图,该图被用来生成新的数学问题。MathScale在研究者生成的数学数据集的规模方面展现出有效的可扩展性。结果,研究者创建了一个包含两百万个数学问题-答案对的数学推理数据集(MathScaleQA)。

图为MathScale概述图

▲图为MathScale概述图

2. MWPBENCH评测

为了全面评估LLMs的数学推理能力,研究者构建了MWPBENCH,这是一个包含十个数据集(包括GSM8K和MATH)的数学文字问题(Math Word Problems)基准测试集,涵盖了从小学到大学以及竞赛级别的数学问题。

使用MathScaleQA对开源LLMs(例如LLaMA-2和Mistral)进行微调,显著提高了它们在数学推理方面的能力。在MWPBENCH上的评估显示,MathScale-7B在所有数据集上都取得了最先进的性能,相比同等规模的最佳对手,在微观平均准确率上提高了42.9%,在宏观平均准确率上提高了43.7%。

MathScale方法介绍

1. 概念提取:从种子数学问题中提取主题和知识点

MathScale方法首先从种子数学问题中提取高层次的概念,即主题和知识点。这一步骤通过对GPT-3.5进行提示工程来完成,旨在提取解决特定数学问题所需的元信息。

  • 主题(topics)指的是数学科目名称或数学书章节的主题名称,如“金钱与金融”或“算术运算”。

  • 知识点(knowledge points)则指问题解决中更细致的数学概念,例如“点积的定义和性质”或“将分数转换为整数”。

通过指导GPT-3.5扮演数学教师的角色,从给定的种子问题中提取1到2个主题和1到5个知识点。

2. 概念图构建:建立不同概念间的联系

在提取了主题和知识点之后,MathScale方法构建概念图,其节点为提取的主题和知识点。概念图中包含三种类型的边:主题到主题的边、主题到知识点的边以及知识点到知识点的边,从而形成三个子图(主题图、主题-知识点图、知识点图)。

当一个主题或知识点与另一个主题或知识点共同出现时,就在它们之间建立一条边,边的权重与它们的共现统计数据有关。这样,两个知识点(或主题)如果经常被用来解决相同的种子问题,它们就更有可能是合理的组合。

3. 数学推理数据生成:基于概念图生成新的数学问题

最后,MathScale方法使用概念图中的主题和知识点来生成新的数学问题。通过图随机游走算法来创建概念组合,从而用于生成新的数学问题。

  • 首先从提取的主题中均匀随机抽样,然后在主题子图中随机游走一到两步以搜索相关主题。

  • 接着在混合主题-知识点图中随机游走一步,以得到一个抽样的知识点。

  • 最终,基于这些抽样的主题和知识点,指导GPT-3.5生成相应的数学问题和答案对。

在生成问题时,还包括了去污染过程,即从测试集中移除所有数学问题,以确保数据的质量。

MWPBENCH:全面的数学问题评测基准

1. 现有数据集的整合

MWPBENCH的构建首先从整合现有的数学问题数据集开始。

  • 这些数据集包括GSM8K、MATH、TAL-SCQ、Math23k、Ape210k、GaokaoBench-Math以及AGIEval系列等。

这些数据集涵盖了从小学到大学,甚至竞赛级别的各种数学问题。为了统一评估标准,将原本的多项选择题转换为数学文字题目,并将非英语数据集翻译成英语,以确保评估的一致性。

2. CollegeMath数据集的构建

为了填补现有数据集中缺乏大学级别数学问题的空白,MWPBENCH引入了CollegeMath数据集

  • 该数据集从九本涵盖不同数学主题的大学教材中提取题目和答案,覆盖了代数、预微积分、微积分、向量微积分、概率、线性代数和微分方程等关键数学学科。

通过使用Mathpix API将PDF格式的教材转换为文本格式,并将其中的数学公式转换为LaTeX格式,从而提取出训练和测试用的题目。

3. 统一的评估协议

MWPBENCH采用统一的评估协议,以确保对不同模型的评估是公正和一致的。评估时采用零样本设置,并使用准确率作为评估指标。此外,还采用了Alpaca模板作为默认的提示模板,并选择贪婪解码以消除比较中的随机性。为了进一步规范化评估,实施了精确的答案提取和验证流程。

实验结果与分析

1. MathScale模型在MWPBENCH上的表现

MathScale-7B在MWPBENCH上的表现达到了最佳,无论是在微观平均准确率还是宏观平均准确率上,都超过了同等规模的最佳模型,分别提高了42.9%和43.7%。这证明了MathScaleQA数据集的有效性,以及通过该数据集微调开源大语言模型(如LLaMA-2和Mistral)所带来的显著改善。

2. MathScale的扩展性质

MathScale展示了在数学数据集规模方面的有效扩展性。通过迭代概念图来生成不同的数学概念组合,从而合成大量新的数学数据。实验结果表明,当扩大MathScaleQA数据集的规模时,MathScale-7B模型的性能呈现出近似对数增长的趋势

3. 概念提取的影响分析

在概念提取过程中,使用了MWPBENCH训练集中的约20K个种子问题。实验发现,更多和更多样化的种子问题有助于提升性能。此外,去除一半的知识点或主题会导致在MWPBENCH上的宏观平均准确率显著下降,尤其是知识点的减少对性能的影响更大。

4. 验证生成数据的有效性

虽然MathScaleQA中生成的问答对可能存在错误,但在最终的MathScale流程中省略了额外的验证步骤,因为实验表明,验证步骤并没有提高结果。这可能是因为即使某些解决方案不正确,它们仍然有助于开源大语言模型学习GPT-3.5的分布。此外,MathScale在新鲜的数学数据集Fresh-GaokaoMath-2023上的表现也证明了其鲁棒性和适应性。

相关工作:ChatGPT在数学指导调整中的应用

1. ChatGPT的指导调整

在数学指导调整的进步中,使用ChatGPT进行数据合成是一个关键方面。例如,WizardMath引入了强化的evol-instruct,它整合了五种操作:增加约束、深化、具体化、增加推理步骤和复杂化输入,从而促进了全面的进化。

同样,MetaMath采用了一种引导问题的自举策略,包括答案增强、问题改述、自我验证和FOBAR问题。虽然这些方法有效,但它们的呼吸空间本质上受限于手动设计的操作。研究者的方法旨在使ChatGPT模仿人类数学学习中的认知过程,从而克服以前方法的局限性。

2. 工具集成的指导调整

最近的研究还探索了将工具集成到基于ChatGPT的数学指导调整中。ToRA结合了自然语言推理和基于程序的工具使用,以合成轨迹数据。每个轨迹迭代地连接推理、编程和程序输出,直到达到最终答案。目前的重点仅限于自然语言推理。虽然将工具集成到MathScale管道中是一个有趣的前景,但仍旧保留其未来研究的探索。

结论与展望

尽管本研究取得了显著的进展,但研究者们也认识到,LLMs在数学推理方面的能力仍有待进一步提升。例如,在微分方程的测试集上,所有模型都显示出有限的成功。此外,模型可能存在未在本研究中检验的偏见,这强调了需要进行全面评估的必要性,不仅要考虑技术性能,还要考虑模型与社会价值观的一致性。

展望未来,研究者预计MathScale的性能将随着更多合成训练示例的增加而继续提高。由于资源限制,研究者将训练集规模扩展到超过两百万示例的工作留待未来研究。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1515029.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

环信ChatroomUIKit功能详解——超详细介绍

聊天室是当下泛娱乐社交应用中最经典的玩法,通过调用环信的 IM SDK 接口,可以快速创建聊天室。如果想根据自己业务需求对聊天室应用的 UI界面、弹幕消息、礼物打赏系统等进行自定义设计,最高效的方式则是使用环信的 ChatroomUIKit 。 文档地址…

2024年【安全生产监管人员】及安全生产监管人员模拟考试题库

题库来源:安全生产模拟考试一点通公众号小程序 2024年【安全生产监管人员】及安全生产监管人员模拟考试题库,包含安全生产监管人员答案和解析及安全生产监管人员模拟考试题库练习。安全生产模拟考试一点通结合国家安全生产监管人员考试最新大纲及安全生…

面试复盘记录(数据开发)

一、apple外包1.矩阵顺时针旋转遍历2.两表取差集 二、 一、apple外包 没问理论,就两个算法题。 1.矩阵顺时针旋转遍历 Given an m x n matrix, return all elements of the matrix in spiral order.Example 1:Input: matrix [[1,2,3],[4,5,6],[7,8,9]] Output: …

岩土工程渗流问题之有限单元法:理论、模块化编程实现、开源程序应用

有限单元法在岩土工程问题中应用非常广泛,很多商业软件如Plaxis/Abaqus/Comsol等都采用有限单元解法。尽管各类商业软件使用方便,但其使用对用户来说往往是一个“黑箱子”。相比而言,开源的有限元程序计算方法透明、计算过程可控,…

【NR 定位】3GPP NR Positioning 5G定位标准解读(八)- OTDOA定位

前言 3GPP NR Positioning 5G定位标准:3GPP TS 38.305 V18 3GPP 标准网址:Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读(一)-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读(…

redis在微服务领域的贡献,字节跳动只面试两轮

dubbo.registry.addressredis://127.0.0.1:6379 注册上来的数据是这样,类型是hash /dubbo/ s e r v i c e / {service}/ service/{category} 如 /dubbo/com.newboo.sample.api.DemoService/consumers /dubbo/com.newboo.sample.api.DemoService/providers has…

Apache Paimon系列之:主键表

Apache Paimon系列之:主键表 一、主键表1.Bucket2.LSM Trees3.Compaction 二、数据分布1.固定Bucket2.动态Bucket3.正常动态Bucket模式4.跨分区更新插入动态存储桶模式 三、Merge Engine1.Deduplicate2.部分更新3.序列组4.聚合部分更新5.聚合6.Retract7.First Row 四…

01-java入门了解--cmd命令、jdk、java的认识

cmd常用命令 java入门需要安装的环境 jdk。(下载好jdk,并配置好环境)idea。(或者其他的编程工具) jdk安装目录介绍 第一步:编写程序(程序员写.java后缀的文件) 第二步:…

【LLMs+小羊驼】23.03.Vicuna: 类似GPT4的开源聊天机器人( 90%* ChatGPT Quality)

官方在线demo: https://chat.lmsys.org/ Github项目代码:https://github.com/lm-sys/FastChat 官方博客:Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90% ChatGPT Quality 模型下载: https://huggingface.co/lmsys/vicuna-7b-v1.5 | 所有的模…

Nuxt3 初学,基础配置,页面结构搭建,引入element

1.下载Nuxt框架 Nuxt 中文站 - 直观的Web框架 Nuxt3文档 NuxtNuxt是一个开源框架,它使web开发直观而强大。自信地创建高性能和生产级全栈web应用程序和网站。https://www.nuxt.com.cn/根据官方文档进行配置 2.配置页面 1.主要页面结构 导航栏内容底部 1.在comp…

最适合Oracle数据库的Linux操作系统?

先声明:以下观点仅供参考。我只引用网上的一些观点,包括官网等。 Oracle数据库认证的Linux操作系统 最近老被问到Oracle Linux免费吗?因为用户需要安装Oracle数据库,面临选择操作系统的问题。 首先,Oracle数据库 19…

模拟电子技术实验(三)

单选题 1.本实验的实验目的中,输出电阻测量是第几个目的? A. 1个。 B. 2个。 C. 3个。 D. 4个。 答案:C 评语:10分 单选题 2. 有一定输出功率的放大器的 “功率”下面理解正确的是? A. 能…

05-ESP32-S3-IDF USART

ESP32-S3 IDF USART详解 USART简介 USART是一种串行通信协议,广泛应用于微控制器和计算机之间的通信。USART支持异步和同步模式,因此它可以在没有时钟信号的情况下(异步模式)或有时钟信号的情况下(同步模式&#xff…

【教学类-34-10】20240313 春天拼图(Midjounery生成线描图,4*4格拼图块)(AI对话大师)

作品展示: 背景需求: 利用华文彩云空心字(粗胖字体。凑满9个拼图)制作了3*3的拼图块 【教学类-34-09】20240310华文彩云学号拼图(3*3格子浅灰底图 深灰拼图块)(AI对话大师)-CSDN博…

3.2 RK3399项目开发实录-初次使用的环境搭建(物联技术666)

通过百度网盘分享的文件:嵌入式物联网单片… 链接:https://pan.baidu.com/s/1Zi9hj41p_dSskPOhIUnu9Q?pwd8qo1 提取码:8qo1 复制这段内容打开「百度网盘APP 即可获取」 1. 用户和密码 1.1. Ubuntu Desktop 系统 Ubuntu Desktop 系统开机启动后,自动登录…

使用Docker在windows上安装IBM MQ

第一步、安装wsl 详见我另一篇安装wsl文章。 第二步、安装centos 这里推荐两种方式,一种是从微软商城安装,一种是使用提前准备好的镜像安装,详见我另一篇windos下安装centos教程。 第三步、安装windows下的Docker desktop 详见我另一篇wind…

yum安装mysql 数据库tab自动补全

centos7上面没有mysql,它的数据库名字叫做mariadb [rootlocalhost ~]#yum install mariadb-server -y [rootlocalhost ~]#systemctl start mariadb.service [rootlocalhost ~]#systemctl stop firewalld [rootlocalhost ~]#setenforce 0 [rootlocalhost ~]#ss -na…

【LeetCode热题100】240. 搜索二维矩阵 II

一.题目要求 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 ‘每列的元素从上到下升序排列。 二.题目难度 中等 三.输入样例 示例 1: 输入:matrix [[1,4,7…

Pytorch入门-Transforms

文章目录 ComposeToTensorNormalizeResize 在PyTorch中,transforms是一个用于图像预处理和数据增强的模块,通常与torchvision库一起使用。torchvision提供了大量预先定义的transforms,它们可以方便地应用于图像数据,以进行预处理或…

strcpy的模拟实现

strcpy函数的定义: strcpy函数功能的解释: 会将源字符串中的 内容包括\0 拷贝到目标数组,所以源字符串必须以 \0 结束。 返回值为拷贝完成后的目标数组的首地址。 Const 是因为源字符串的内容不需要被修改,所以const最好。 strcpy…