大模型(LLMs)在处理语言任务上取得了巨大进步,但在解决需要数学推理的实际问题时仍面临挑战。这些挑战包括数学问题的复杂性、需要高度准确性和逻辑一致性的解答、缺乏深入的数学领域知识,以及现有模型对反馈的依赖性,这些因素共同导致了所谓的“对齐税”,即模型在数学推理任务上的性能与语言理解任务上的性能存在差异。本文介绍了ChatGLM-Math模型,这是一个通过自我批评管道来提升数学问题求解能力的LLM。该模型不仅提高了数学能力,同时还保持并增强了语言能力,实现了在不同任务上的性能提升。
图1 展示了不同大模型(LLMs)在匈牙利数学考试以及GSM8k和MATH数据集上的平均得分。这些得分反映了模型在数学问题解决能力上的表现。该图比较了包括ChatGLM3-32B-SFT-2312及其变体在内的不同模型的性能。
数学批评模型:Math-Critique
Math-Critique模型的提出,是为了解决大型(LLMs)在数学问题求解方面评估准确性的问题。这个模型的核心功能是对LLMs生成的数学答案进行评分,它通过分析答案与给定问题和标准答案之间的一致性来进行评价。Math-Critique模型的评分机制不仅考虑了答案的正确与否,还包括了对答案过程的逻辑性和完整性的评估。
在传统的评估方法中,通常使用奖励模型来反映人类偏好,这些模型往往关注于文本生成的质量,而忽略了数学问题解答的准确性和逻辑性。Math-Critique模型则不同,它利用了语言模型的上下文理解能力,通过结合参考解答来对模型生成的答案进行更深入的分析。这种评估方式不仅能够识别答案的正确性,还能够对答案的不同部分给出具体的评分,从而提供更细致的反馈。
Math-Critique模型将答案的质量分为四个等级:第一等级是完全错误,即答案既不准确也缺乏逻辑性,对应的分数范围是1到2分;第二等级是方法部分正确但结果错误,这意味着答案的过程有可取之处,但最终结论不正确,对应的分数是3到5分;第三等级是结论准确但方法部分有缺陷,即答案虽然正确,但解题过程不够完美或存在逻辑漏洞,对应的分数是6到8分;最后一个等级是完全正确,答案无论在过程还是结论上都无懈可击,对应的分数是9到10分。
通过这种细致的评分系统,Math-Critique模型能够为LLMs提供精确的反馈,帮助模型了解在数学问题求解方面需要改进的具体点。这对于提升模型的数学推理能力和解题技巧至关重要。此外,该模型还能提供解释性分析,增加了评分的透明度和可解释性,使得开发者和用户能够理解评分背后的逻辑,从而更有效地利用这些反馈来优化模型。
自我批评管道
自我批评管道是ChatGLM-Math模型中一个创新的迭代训练方法,它通过弱监督学习来提升模型的数学问题求解能力。这种方法的核心在于利用单一模型自身生成的反馈信号来指导和优化模型的训练过程,而不需要外部的监督信号或手动标注数据。
图2 展示了ChatGLM-Math的自我批评(Self-Critique)流程。这个流程包括三个主要步骤:首先是训练Math-Critique模型,然后利用这个模型的结果进行采样,最后是两个训练阶段:Critique RFT(拒绝式微调)和Critique DPO(直接偏好优化)。整个流程中,除了Math-Critique训练阶段需要少量手动参与外,其余步骤可以完全自动化,不依赖外部监督模型。
在自我批评管道的初始阶段,首先会使用基础的大型语言模型来训练一个Math-Critique评估模型。这个评估模型负责对语言模型生成的数学答案进行评分,判断其准确性和完整性。与此同时,还会使用一个基础的监督式微调(Supervised Fine-Tuning,简称SFT)数据集来训练一个基础的聊天模型,使其能够生成对数学问题的回答。
接下来,自我批评管道利用训练好的Math-Critique模型来对聊天模型生成的答案进行评估。在这个过程中,采用拒绝采样(Rejective Sampling)技术,只有那些通过了Math-Critique评估的答案才会被保留下来,用于进一步的微调。这一步骤被称为拒绝式微调(Rejective Fine-Tuning,简称RFT)。通过这种方式,模型能够学习生成更高质量的数学答案,同时保持答案的多样性。
完成RFT后,所得到的改进后的聊天模型可以作为新的基准模型。这个新的基准模型将被用来更新Math-Critique评估模型,以及用于下一轮的拒绝采样监督微调。这样,模型在每一轮迭代中都能够获得改进,逐步提升其数学问题求解的能力。
在自我批评管道的最后阶段,使用最新版本的Math-Critique模型来采样对比数据。这些数据包括正确答案和错误答案的对,它们将被用于直接偏好优化(Direct Preference Optimization,简称DPO)训练。DPO训练的目标是进一步优化模型,使其能够更明显地区分正确答案和错误答案,特别是在解决那些在前一阶段中表现不佳的难题时。
图3 展示了训练数据集的示例。这些数据集来源于现有数据集中的问题和参考答案,并构建了单独的RFT训练数据和成对的DPO训练数据。
整个自我批评管道的过程是自动化的,只需要在Math-Critique模型训练阶段进行少量的手动参与。一旦这个初始的标注工作完成,剩下的步骤,包括数据采样、模型微调和评估,都可以完全自动化进行,不再依赖外部的监督模型。这种方法不仅提高了模型的数学能力,而且通过自我生成的反馈信号,减少了对外部资源的依赖,提高了训练过程的效率和可扩展性。
表1 展示了自我批评流程如何同时提升语言和数学能力。表格中列出了不同模型在语言和数学对齐(AlignBench Language)以及GSM8k和MATH数据集上的平均得分。
MATHUSEREVAL:应用中LLMs数学推理的基准测试
MATHUSEREVAL基准测试集是专门为评估大型语言模型(LLMs)在解决实际数学问题时的推理能力而设计的。这个测试集的创建基于一个观察:尽管LLMs在标准化的数学数据集上可能表现良好,但它们在处理真实世界用户可能遇到的数学问题时,性能往往不尽如人意。为了解决这个问题,MATHUSEREVAL收集了一系列真实且具有挑战性的问题,这些问题更贴近用户的日常经验和需求。
MATHUSEREVAL的数据来源非常广泛,包括了大学级别的考试问题和通过模拟对话收集的问题。大学考试问题通常涉及更高级的数学概念和解题技巧,而模拟对话则提供了一个更加自然和灵活的环境,让模型能够处理各种不同的数学问题表述方式。这种数据收集方法确保了MATHUSEREVAL能够全面地评估LLMs在数学推理方面的能力。
为了更好地组织和评估这些问题,MATHUSEREVAL将问题分为初级和高级两个主要类别。初级类别可能包括基础的算术和代数问题,而高级类别则可能包含更复杂的微积分、线性代数和概率论问题。此外,每个主要类别下还细分为八个子类别,如几何、三角学、离散数学等,这使得评估可以更加细致和具体。
表2 展示了MATHUSEREVAL数据集的组成。数据集被分为初级和高级两个主要类别,以及八个子类别。表格列出了每个子类别的大小和来源。
MATHUSEREVAL的另一个特点是所有问题都以开放式格式提出。这意味着问题的答案不是简单的选择题或填空题,而是需要模型生成详细的解题过程和最终答案。这种开放式的问题设计不仅能够测试模型的数学知识,还能够评估其解释问题和逻辑推理的能力。可能的答案形式也很灵活,可以是单个数字、多个数字,或者是更复杂的数学表达式。
实验
数据收集的主要来源包括公共数据集的训练集和公开可用的中学和大学考试问题。评估设置包括MATHUSEREVAL数据集和几个学术数据集,如GSM8k、MATH、ape210k和cmath。基线模型包括开源数学特定模型、开源中文模型和领先的专有模型。实验结果显示,ChatGLM-Math模型在多个数据集上取得了最先进的结果,并且在某些领域超过了知名的专有模型,如GPT-4-0613。
表3展示了在零样本(zero-shot)或少样本(few-shot)设置下,通过贪婪解码(greedy decoding)得到的主要结果。这些结果是在没有或只有很少的先前训练数据的情况下,模型所能达到的最高性能指标。在这个表格中,表现最佳的模型会被加粗显示,而排名第二的模型则会用下划线标出,以便于读者快速识别出哪些模型在测试中表现最为出色。
表格中列出了多个不同的模型,并针对不同的数据集展示了它们的性能。这些数据集可能包括像MATHUSEREVAL这样的基准测试集,以及其他一些评估模型在数学问题求解和语言能力方面的数据集,如Ape210k、GSM8k、MATH、匈牙利国家考试(Hungarian)以及AlignBench和MT-Bench等,用于评估模型的中文和英语语言能力。
在这些数据集上,每个模型都会根据其在特定任务上的表现获得一个分数。这些分数可能是准确率、F1分数或其他相关的评估指标,具体取决于任务的性质。例如,在数学问题求解任务上,模型可能根据其提供的答案的准确性来评分;而在语言任务上,可能根据模型生成文本的流畅性和相关性来评分。
表中的结果允许研究人员和开发者比较不同模型的性能,从而了解哪些模型在特定类型的任务上更为擅长。这对于改进模型设计、调整训练策略以及选择适合特定应用场景的模型具有重要意义。此外,通过观察模型在不同任务上的表现,研究人员还可以发现模型的潜在弱点和改进空间,进而指导未来的研究和开发工作。
值得注意的是,零样本和少样本学习是评估模型泛化能力的重要方式,特别是在模型没有接受过特定任务训练的情况下。这些设置对于模拟真实世界应用中模型可能遇到的新问题和新任务至关重要。通过这种方式,可以更好地理解模型在面对未知挑战时的表现,以及它们适应新情况的能力。
表4展示了对32亿参数(32B)模型进行消融研究(Ablation Study)的结果。消融研究是一种分析模型性能的方法,通过逐步移除或替换模型的某些部分(例如不同的组件或训练数据集),来研究这些部分对最终性能的影响。在这项研究中,所有的实验都是基于同一个32B的基础模型,并进行了微调(fine-tuned)。
研究中选择了Metamath训练集作为基线(baselines),这是因为Metamath训练集在数学问题上的表现被认为是相对较强的。通过与这个基线比较,研究人员可以更准确地评估不同组件或数据集对模型性能的具体影响。
表中列出了几种不同的微调配置,包括仅使用Metamath训练集的模型,以及结合了真实场景数据和学术数据的模型。此外,还展示了引入英语数据对模型在英语数据集上性能的影响。每种配置都在MATHUSEREVAL数据集上进行了评估,并使用了Math-Critique模型来进行评分。
Math-Critique模型是一个评估工具,它可以对数学问题的答案进行详细分析,并给出一个分数。这个分数反映了模型生成的答案在准确性和解题过程上的质量。在消融研究中,使用Math-Critique模型评分是为了得到关于模型在数学问题求解能力上的客观评价。
从表4的结果可以看出,当微调数据集仅包含学术数据时,模型在MATHUSEREVAL上的表现不如包含真实场景数据的配置。这表明真实场景数据对于提升模型在解决实际问题上的能力是有益的。同时,引入英语数据可以显著提高模型在英语数据集上的性能,而对中文能力的影响不大,这说明模型在多语言环境下具有较好的泛化能力。
本文提出的ChatGLM-Math模型通过自我批评管道显著提升了LLMs在数学问题求解方面的能力,同时保持了语言能力的提升。实验结果证明了该方法的有效性,并为未来LLMs的数学能力提升提供了新的方向。
论文链接:https://arxiv.org/abs/2404.02893
GitHub 地址:https://github.com/THUDM/ChatGLM-Math