当前位置: 首页 > news >正文

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

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在数学推理任务上的巨大潜力,并挑战了关于它们在执行复杂数学运算上能力有限的传统观点。

相关文章:

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

Mammoth: Building math generalist models through hybrid instruction tuning https://arxiv.org/pdf/2309.05653 MAmmoTH:通过混合指令调优构建数学通才模型 摘要 我们介绍了MAmmoTH,一系列特别为通用数学问题解决而设计的开源大型语言模型&#…...

什么样的双筒式防爆器把煤矿吸引?

什么样的双筒式防爆器把煤矿吸引?要有好的服务和态度,要用心去聆听客户的需求,去解决客户的疑虑,用诚信去赢得客户的信任。 150产品的技术特点 双筒式防爆器采用双罐结构,其水封水位观测直观、能够快速有效排污、操作…...

如何保证冰河AL0 400G 100W 的稳定运行?

要保证冰河 AL0 400G 100w 的稳定运行,可以考虑以下几点: 1. 适宜的工作环境:确保设备放置在通风良好、温度适宜的环境中。良好的散热条件有助于防止设备过热,因为过热可能会导致性能下降或故障。该设备采用纯铝合金外壳&#xf…...

剪画小程序:巴黎奥运会,从画面到声音!

在巴黎奥运会的赛场上,每一个瞬间都伴随着独特的声音。那是观众的欢呼,是运动员冲刺的呐喊,是国歌奏响的激昂旋律。 如今,通过剪画音频提取,我们能够将这些珍贵的声音从精彩的画面中分离出来,单独珍藏。 想…...

【leetcode详解】心算挑战: 一题搞懂涉及奇偶数问题的 “万金油” 思路(思路详解)

前记: 做了几日的leetcode每日一题,几乎全是十分钟结束战斗的【中等】题,今日杀出来个【简单】题,反倒开始难以想出很清楚的解题思路,反复调试修改才将题目逐渐考虑全面,看到了原本思路的漏洞&#xff0c…...

【资料集】数据库设计说明书(Word原件提供)

2 数据库环境说明 3 数据库的命名规则 4 逻辑设计 5 物理设计 5.1 表汇总 5.2 表结构设计 6 数据规划 6.1 表空间设计 6.2 数据文件设计 6.3 表、索引分区设计 6.4 优化方法 7 安全性设计 7.1 防止用户直接操作数据库 7.2 用户帐号加密处理 7.3 角色与权限控制 8 数据库管理与维…...

MySQL 常用查询语句精粹

引言 MySQL 是一种广泛使用的开源关系型数据库管理系统,其强大的查询语言为用户提供了丰富的数据处理能力。掌握 MySQL 的常用查询语句对于数据库管理和数据分析至关重要。本文将介绍一些 MySQL 中的常用查询语句,并提供实际的示例。 基础查询 1. 选择…...

hive的内部表(MANAGED_TABLE)和外部表(EXTERNAL_TABLE)的区别

1.hive的表类型分为外部表和内部表 内部表和外部表的主要区别在于数据的存储方式。 外部表:外部表的存储在hdfs中,是我们指定的文件目录,当我们删除数据或者删除分区的时候不会将元数据删除,数据还会在hdfs目录中,我们…...

【AutoSar网络管理】验证ecu能够从RepeatMessage状态切换到ReadySleep

本专栏将为您提供: Autosar网络管理介绍,包括:状态迁移、状态行为、状态表现、切换条件、时间参数、消息类型等。DUT模拟节点介绍,包括:设计思路、代码展示、编写须知等。测试用例介绍,包括:测试内容、测试步骤、期望结果等。测试脚本介绍,包括:编写思路、代码展示、脚…...

js逻辑或(||)和且()

重点: JavaScript 中的逻辑运算符按照布尔逻辑进行计算,并且返回值是操作数本身 || ||:逻辑或,只要有一个表达式为真(truthy),整个表达式就为真 逻辑或 (||) 的行为: ||运算符可以用来连接两个…...

ElasticSearch入门(六)SpringBoot2

private String author; Field(name “word_count”, type FieldType.Integer) private Integer wordCount; /** Jackson日期时间序列化问题: Cannot deserialize value of type java.time.LocalDateTime from String “2020-06-04 15:07:54”: Failed to des…...

vue项目Nginx部署启动

1.vue打包 (1)package.json增加打包命令 "scripts": {"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 10.16.14.110","start": "npm run dev","un…...

Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules。Android studio纯java代码报错

我使用java代码 构建项目,初始代码运行就会报错。我使用的是Android Studio Giraffe(Adroid-studio-2022.3.1.18-windows)。我在网上找的解决办法是删除重复的类,但这操作起来真的太麻烦了。 这是全部报错代码: Dupli…...

filebeat

1、作用 1、可以在本机收集日志2、也可以远程收集日志3、轻量级的日志收集系统,可以在非java环境运行。logstash是在jmv环境中运行,资源消耗很大,启动一个logstash要消耗500M左右的内存,filebeat只消耗10M左右的内存。收集nginx的…...

matlab y=sin(x) - 2/π*(x)函数绘制

[TOC](matlab ysin(x) - 2/π*(x)函数绘制) ysin(x) - 2/π*(x) clc; clear; close all; x_axis_length 10; y_axis_length 10; % 创建 x 值向量 x_positive linspace(0.1, 10, 1000); % 正半轴上的 x 值 x_negative linspace(-10, -0.1, 1000); % 负半轴上的 x 值% 计算…...

HyperDiffusion阅读

ICCV 2023 创新点 HyperDiffusion:一种用隐式神经场无条件生成建模的新方法。 HyperDiffusion直接对MLP权重进行操作,并生成新的神经隐式场。 HyperDiffusion是与维度无关的生成模型。可以对不同维度的数据用相同的训练方法来合成高保真示例。 局限性…...

分治思想 排序数组

题目 这是一道经典的关于分治思想的算法题,适合刚接触分治的小白。 . - 力扣(LeetCode) 思路 采用递归分治的思想,也就是快速排序的模拟,这里先确定每趟递归的作用: 在一个规定的区间内,随机…...

通用前端分页插件

/*** >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>* 分页组件* >>>>>>>>>>>>>>>>>>>…...

jEasyUI 扩展编辑器

jEasyUI 扩展编辑器 jEasyUI 是一个基于 jQuery 的前端框架,它提供了一系列的组件,用于快速构建交互式的网页界面。这些组件包括布局、窗口、数据网格等,但有时候,开发者可能需要更多的定制化功能,这时候就需要使用 jEasyUI 的扩展编辑器。 什么是 jEasyUI 扩展编辑器 …...

腾讯课堂停服,付费课程怎么观看!!!

腾讯课堂十月1停服拉,大家的付费课程赶紧保存收获一波啊, 爬虫工程师手拿把掐啦!!!...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...