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%)。
论文的主要贡献包括:
-
提出了MathGLM模型,这是一个针对复杂数学运算进行了细致设计的模型,与现有的领先LLMs(如GPT-4)相比,展现出了优越的性能(如图1所示)。
-
通过分步策略构建了一个算术数据集,作为MathGLM预训练的基础。该数据集覆盖了从简单的单步运算到复杂的多步运算。
-
采用了课程学习的概念,通过逐步增加算术表达式的复杂性,增强了MathGLM处理超过8位数的乘法以及包含小数和分数运算的能力。
-
在数学文字问题上,通过细化Ape210K数据集,将直接计算答案的方式改为分步计算,显著提高了MathGLM在解答数学文字问题时的准确率。
-
在包含5000个样本的中文数学问题测试集上,经过GLM-10B微调的MathGLM展现出了与GPT-4相似的性能。
-
论文还包括了对MathGLM在不同运算类型(如加法、减法、乘法和除法)上性能的详细实验和分析,证明了其在处理复杂数学任务方面的有效性。
-
论文的代码和数据已经公开在GitHub上,供有兴趣的研究者进一步探索和使用。
论文的结构还包括了相关工作的综述、方法介绍、实验设计、结果分析和结论。作者们通过这项工作,揭示了LLMs在数学推理任务上的巨大潜力,并挑战了关于它们在执行复杂数学运算上能力有限的传统观点。