论文阅读:Mammoth: Building math generalist models through hybrid instruction tuning

news2024/9/23 19:18:56

Mammoth: Building math generalist models through hybrid instruction tuning

https://arxiv.org/pdf/2309.05653

MAmmoTH:通过混合指令调优构建数学通才模型

摘要

我们介绍了MAmmoTH,一系列特别为通用数学问题解决而设计的开源大型语言模型(LLMs)。MAmmoTH模型是在我们精心策划的指令调优数据集MathInstruct上训练的。MathInstruct是由13个数学数据集组成的,其中包含中间推理过程,我们新策划了其中的六个。它展示了思维链(CoT)和程序思维(PoT)推理的独特混合,并且确保了在数学领域广泛的多样性覆盖。CoT和PoT的混合不仅释放了工具使用的潜力,还允许对不同的数学问题采取不同的思维过程。结果,MAmmoTH系列在所有规模上的九个数学推理数据集上显著优于现有的开源模型,平均准确率提高了16%到32%。值得注意的是,我们的MAmmoTH-7B模型在MATH(一个竞赛级数据集)上达到了33%,超过了最好的开源7B模型(WizardMath)23%,而MAmmoTH-34B模型在MATH上达到了44%的准确率,甚至超过了GPT-4的思维链结果。我们的工作强调了在开发更优秀的数学通才模型时,多样化问题覆盖和使用混合推理的重要性。
在这里插入图片描述

1 引言

本研究聚焦于数学推理,这是现代大型语言模型(LLMs)的一个关键能力(OpenAI, 2023; Anil等人,2023)。尽管该领域近期取得了进步,但在闭源和开源LLMs之间存在明显差距——像GPT-4(OpenAI, 2023)、PaLM-2(Anil等人,2023)和Claude 2(Bai等人,2022)这样的闭源模型在GSM8K(Cobbe等人,2021)和MATH(Hendrycks等人,2021b)等流行的数学推理基准测试中占据主导地位,而像Llama(Touvron等人,2023a;b)、Falcon(Penedo等人,2023)、OPT(Zhang等人,2022)这样的开源模型在所有基准测试中都远远落后。

目前弥合这一差距的努力主要有两个方向:(1)持续预训练,如Galactica(Taylor等人,2022)和MINERVA(Lewkowycz等人,2022),这些模型继续在超过1000亿个token的与数学相关的网络数据上训练LLM。这种方法提高了模型的一般科学推理能力,但计算成本高昂。(2)特定数据集的微调,如拒绝采样微调(RFT)(Yuan等人,2023)和WizardMath(Luo等人,2023),这些方法使用特定于某些数据集的监督数据对LLM进行微调。尽管这些方法提高了领域内的性能,但它们无法推广到超出其微调数据的更广泛的数学推理任务。例如,RFT和WizardMath都可以将GSM8K(Cobbe等人,2021)的准确率提高30%以上,这是它们的微调数据集之一,但却可能将MMLU-Math(Hendrycks等人,2021a)或AQuA(Ling等人,2017)等领域外数据集的准确率降低高达10%。

在本文中,我们旨在提出一种轻量级但具有普适性的数学指令调优方法,以增强LLMs的一般(即不限于微调任务)数学推理能力。现有方法(Luo等人,2023; Yuan等人,2023; Taylor等人,2022)主要关注通过逐步自然语言描述解决数学问题的“思维链”(Chain-of-Thought, CoT)方法(Wei等人,2022b; Nye等人,2022)。这种方法在涵盖大多数数学科目方面表现出其普适性,但在计算精度以及复杂的数学或算法推理过程(例如,求解二次方程的根和计算矩阵的特征值)方面存在挑战。

与此相反,像“程序思维”(Program-of-Thought, PoT)方法(Chen等人,2022)和PAL(Madaan等人,2022; Gao等人,2023)这样的代码格式提示利用外部工具(即Python解释器)大大简化了数学问题解决过程。这种方法主张将计算过程卸载到外部Python解释器中,以解决复杂的数学和算法推理过程(例如,使用sympy求解二次方程或使用numpy计算矩阵的特征值)。然而,PoT在处理更抽象的推理场景时存在不足,如常识推理、形式逻辑和抽象代数,特别是在没有内置API的情况下。

为了结合CoT和PoT方法的优势,我们引入了一个新的数学混合指令调优数据集MathInstruct,它具有两个主要特点:(1)广泛覆盖不同的数学领域和复杂性级别;(2)混合CoT和PoT的推理方式。MathInstruct基于七个现有的数学推理数据集和六个新策划的数据集(见表1)。我们使用MathInstruct对不同规模的Llama(Touvron等人,2023a;b; Roziere等人,2023)模型进行微调,从7B到70B不等。由此产生的MAmmoTH模型(图1)展示了作为数学通才的前所未有的潜力。

我们在一系列数据集上评估了MAmmoTH,包括领域内(IND)测试集——GSM8K(Cobbe等人,2021)、MATH(Hendrycks等人,2021b)、AQuA-RAT(Ling等人,2017)、NumGLUE(Mishra等人,2022b)——和领域外(OOD)测试集——SVAMP(Patel等人,2021)、SAT(Zhong等人,2023)、MMLU-Math(Hendrycks等人,2021a)、Mathematics(Davies等人,2021)和SimulEq(Koncel-Kedziorski等人,2016)。与现有方法相比,我们的模型更好地泛化到OOD数据集,并显著提高了开源LLMs在数学推理中的性能。值得注意的是,在流行的竞赛级MATH数据集(Hendrycks等人,2021b)上,我们的7B模型可以比WizardMath(开源MATH最先进技术)(Luo等人,2023)高出3.5倍(35.2%对10.7%),我们34B的MAmmoTH-Coder(在Code Llama(Rozier等人,2023)上微调)甚至可以超过使用CoT的GPT-4的结果。

我们从两个角度突出了我们的贡献:(1)从数据工程的角度,我们展示了MathInstruct,这是一个高质量的数学指令调优数据集,结合了各种数学问题和混合推理方式。(2)从建模的角度,我们通过训练和评估超过50种不同的模型和基线,从7B到70B不等,调查了不同数据来源和输入输出格式的影响。我们的模型,包括MAmmoTH和MAmmoTH-Coder,在准确性上取得了显著提升,超过了现有的开源模型。


这篇论文的主题是“GPT Can Solve Mathematical Problems Without a Calculator”,作者们来自清华大学和TAL AI Lab。论文的核心观点是挑战了以往对大型语言模型(LLMs)在执行复杂数学运算能力上的限制认知。作者们展示了通过充分的训练数据,一个具有20亿参数的语言模型能够以接近100%的准确率执行多位数的算术运算,而且不需要数据泄露,显著超过了GPT-4(其多位数乘法的准确率仅为4.3%)。

论文的主要贡献包括:

  1. 提出了MathGLM模型,这是一个针对复杂数学运算进行了细致设计的模型,与现有的领先LLMs(如GPT-4)相比,展现出了优越的性能(如图1所示)。

  2. 通过分步策略构建了一个算术数据集,作为MathGLM预训练的基础。该数据集覆盖了从简单的单步运算到复杂的多步运算。

  3. 采用了课程学习的概念,通过逐步增加算术表达式的复杂性,增强了MathGLM处理超过8位数的乘法以及包含小数和分数运算的能力。

  4. 在数学文字问题上,通过细化Ape210K数据集,将直接计算答案的方式改为分步计算,显著提高了MathGLM在解答数学文字问题时的准确率。

  5. 在包含5000个样本的中文数学问题测试集上,经过GLM-10B微调的MathGLM展现出了与GPT-4相似的性能。

  6. 论文还包括了对MathGLM在不同运算类型(如加法、减法、乘法和除法)上性能的详细实验和分析,证明了其在处理复杂数学任务方面的有效性。

  7. 论文的代码和数据已经公开在GitHub上,供有兴趣的研究者进一步探索和使用。

论文的结构还包括了相关工作的综述、方法介绍、实验设计、结果分析和结论。作者们通过这项工作,揭示了LLMs在数学推理任务上的巨大潜力,并挑战了关于它们在执行复杂数学运算上能力有限的传统观点。

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

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

相关文章

书生大模型训练营 - 练习一

最近想了解一下大模型,查看了《2024大模型典型示范应用》文档,发现有公司使用的是书生大模型,正好发现他们有训练营,此文章记录的大模型作业。 一、各种链接 书生大模型官网:https://internlm.intern-ai.org.cn/ 进训…

Netty 必知必会(五)—— 核心组件

简单说下 Netty 中的重要组件?NIO中Channel的作用? 一、NIO 中三大核心组件 Buffer(缓冲区)。在NIO厍中,所有数据都是用缓冲区处理的。在读取数据时,它是直接读到缓冲区中的; 在写入数据时,写入到缓冲区中。任何时候访…

AC+AP组网

配置DHCP Switch1 <Huawei>sys [Huawei]undo in en [Huawei]vlan batch 10 20 30 40[Huawei]int vlan 10 [Huawei-Vlanif10]ip add 192.168.10.1 24 [Huawei-Vlanif10]quit[Huawei]int vlan 20 [Huawei-Vlanif20]ip add 192.168.20.1 24 [Huawei-Vlanif20]quit[Huawei]…

【JavaScript】函数的动态传参

Javacript&#xff08;简称“JS”&#xff09;是一种具有函数优先的轻量级&#xff0c;解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名&#xff0c;但是它也被用到了很多非浏览器环境中&#xff0c;JavaScript基于原型编程、多范式的动态脚本语言&…

运放学习提纲

目的&#xff1a;给初入硬件的朋友一个系统性学习运放的参考方向&#xff0c;避免像无头苍蝇那般 一&#xff1a;偏置电流 1.1. 为什么是输入偏置电流&#xff1f; 1.2. 什么是输入偏置电流&#xff1f; 1.3. 怎么搜索资料&#xff1f;怎么把 ADI 模型导 入Multisim &#…

C++自定义接口类设计器之可对称赋值三

关键代码 QStringList newLines;for (const auto& line : lines) {auto equalIndex line.indexOf("");if(-1 ! equalIndex) {// a b; 赋值auto var line.mid(0, equalIndex).trimmed();auto value line.mid(equalIndex 1).trimmed();if(value.endsWith(&quo…

django小型超市库存与销售管理系统-计算机毕业设计源码46608

摘 要 随着信息技术的快速发展&#xff0c;超市库存与销售管理面临着前所未有的挑战与机遇。为了提升超市的运营效率&#xff0c;优化库存管理&#xff0c;并增强销售数据的分析能力&#xff0c;我们基于Django框架设计并开发了一套小型超市库存与销售管理系统。该系统充分利用…

使用开源RustDesk部署远程控制服务

使用开源RustDesk部署远程控制服务 文档编写时间&#xff1a;2024/8/1 一、部署环境 操作系统&#xff1a;Ubuntu 2204 LTS IP地址&#xff1a;192.168.108.115 开源软件项目地址&#xff1a;rustdesk/rustdesk-server: RustDesk Server Program (github.com) 参考文档&a…

DB管理客户端navicat和dbever数据库连接信息迁移

DB管理客户端navicat和dbever数据库连接信息迁移 第三方数据库连接工具为了确保数据库信息安全通常对保存的数据库连接密码进行加密&#xff0c;填入后想再拿到原文就不可能了&#xff0c;有时交接给别人或者换电脑时可以通过连接数据导出的方式来解决。 navicat连接信息导出…

Visual Studio 2022社区版、专业版、企业版功能对比表

https://visualstudio.microsoft.com/zh-hans/vs/compare/

C++(区别于C的)基础内容总结

参考&#xff1a; C 教程 | 菜鸟教程 (runoob.com) 简介 C 被认为是一种中级语言&#xff0c;它综合了高级语言和低级语言的特点。 C 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C 进一步扩充和完善了 C 语言&#xff0c;最初命名为带类的C&…

MySQL:主从复制、读写分离万字详解

目录 案例概述 案例前置知识点 MySQL主从复制原理 MySQL复制类型 MySQL主从复制的过程 I/O线程怎么知道有新数据增加的&#xff1f; 主从复制的缺点 解决的方法 案例步骤 主从复制 初步设置 MySQL数据库 防火墙 时间设置 ntp服务 虚拟机设置时间同步 开启二进…

【一对一模型讲解】SABO-Transformer-LSTM多变量回归预测(减法平均算法)

【一对一模型讲解】SABO-Transformer-LSTM多变量回归预测&#xff08;减法平均算法&#xff09; 目录 【一对一模型讲解】SABO-Transformer-LSTM多变量回归预测&#xff08;减法平均算法&#xff09;效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现SABO-Tra…

ECMAScript 2024 新特性,示例参考

还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#xff0c;webgl&#xff0c;ech…

【云服务器】什么是ECS?云服务器科普

&#x1f44f;大家好&#xff01;我是和风coding&#xff0c;希望我的文章能给你带来帮助&#xff01; &#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&#x1f44d;一下博主哦 &#x1f4dd;点击 我的主页 还可以看到和风的其他内容噢&#x…

R 语言学习教程,从入门到精通,R的安装与环境的配置(2)

1、R的安装与环境的配置 R语言是一款完全免费且开源的软件&#xff0c;它的开源许可证是GNU通用公共许可证&#xff08;GPL&#xff09;&#xff0c;这意味着任何人都可以自由地使用、复制、修改和发布R语言的源代码&#xff0c;甚至可以将其用于商业用途。 和python等其他语言…

【C语言】程序环境,预处理,编译,汇编,链接详细介绍,其中预处理阶段重点讲解

目录 程序环境 翻译环境 1. 翻译环境的两个过程 2. 编译过程的三个阶段 执行环境 预处理(预编译) 1. 预定义符号 2. #define 2.1 用 #define 定义标识符(符号) 2.2 用 #define 定义宏 2.3 #define 的替换规则 2.4 # 和 ## 的用法 2.5 宏和函数 2.6 #undef …

【学习笔记】决策单调性优化DP

背景 GDCPC还在发力&#xff0c;清华出题组出的牛客还是 4 题。 这次没有min25筛&#xff0c;不然我能5题&#xff08;bushi 除了一道用 prufer 序列的恶心 DP 外&#xff0c;还有一道DP题是一个状态难想&#xff0c;并且还需要决策单调性优化的DP&#xff0c;被认为是偏简单…

CTFHub XSS DOM 跳转

查看网页源代码 <script>var target location.search.split("")if (target[0].slice(1) "jumpto") {location.href target[1];} </script>注意&#xff01;当你将类似于 location.href "javascript:alert(xss)" 这样的代码赋值…

利用Qt实现调用文字大模型的API,文心一言、通义千问、豆包、GPT、Gemini、Claude。

利用Qt实现调用文字大模型的API&#xff0c;文心一言、通义千问、豆包、GPT、Gemini、Claude。 下载地址: AI.xyz 1 Qt实现语言大模型API调用 视频——Qt实现语言大模型API调用 嘿&#xff0c;大家好&#xff01;分享一个最近做的小项目 “AI.xyz” 基于Qt实现调用各家大模型…