数学问题求解能力提升:ChatGLM-Math模型的自我批评管道

大型语言模型(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

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

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

相关文章

【Docker】学习笔记(超万字图文整理)

前言 再此感谢黑马程序员提供的Docker课程! 什么是Docker?看这一篇干货文章就够了! UPD: 补充更新微服务集群、Docker镜像仓库部分内容 所有笔记、生活分享首发于个人博客 想要获得最佳的阅读体验(无广告且清爽)&#…

全文检索-ElasticSearch

1.基本概念 1.Index索引 动词:相当于MySQL中的insert; 名词:相当于MySQL中的DataBase; 2.Type(类型) 在Index(索引)中,可以定义一个或多个类型 类似于MySQL中的Tab…

Mysql | select语句导入csv后再导入excel表格

需求 从mysql数据库中导出数据到excel 解决方案 sql导出csv文件 sql SELECT col1,col2 FROM tab_01 WHERE col3 xxx INTO OUTFILE /tmp/result.csv FIELDS TERMINATED BY , ENCLOSED BY " LINES TERMINATED BY \n;csv文件导出excel文件 1、【数据】-【导入数据】 …

【计算机毕设】基于SpringBoot的教学资源库设计与实现 - 源码免费(私信领取)

免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 研究目的 本项目旨在设计并实现一个基于SpringBoot的教学资源库系统,以便教师和学生能够方便地存储、分享和查找各种教学资源。具体目标包括&…

解决TrueNas Scale部署immich后人脸识别失败,后台模型下载异常,immich更换支持中文搜索的CLIP大模型

这个问题搞了我几天终于解决了,搜遍网上基本没有详细针对TrueNas Scale部署immich应用后,CLIP模型镜像下载超时导致人脸识别失败,以及更换支持中文识别的CLIP模型的博客。 分析 现象:TrueNas Scale安装immich官方镜像应用后&…

解决el-dialog里嵌入el-tabs卡死的问题

文章目录 1. 解决 el-dialog 里嵌入 el-tabs 卡死的问题 1. 解决 el-dialog 里嵌入 el-tabs 卡死的问题 今天发现在element ui里面使用 el-dialog 会导致页面卡死,本来我心想这么简单的一个弹窗,怎么会卡死解决思路:以为是项目的问题&#x…

JAVA和爬虫,那个值得学习

如果你是初学者,建议先从基础的编程语言学起,比如Java,它能为你打下坚实的编程基础,并且在未来转学其他语言或技术时更加容易。随着编程基础的建立,你可以根据自己的兴趣或职业规划,学习爬虫技术作为补充技…

微信小程序实现上传视频 / 上传图片功能以及整合上传视频 / 上传图片功能(超详细)

上传视频功能 效果如下: <!-- 上传 S --><view class"img-list"><!-- 上传列表 --><view class"upload-video"><block wx:if"{{src ! }}"><video src"{{src}}" class"img-li"></vi…

[SQL-SERVER:数据库安全及维护]:MSSM工具进行附加还原备份等操作

文章目录 目的介绍一、完整备份与还原&#xff08;20分&#xff09;1.将教师提供的TeachingDB数据库附加到个人使用的服务器上&#xff0c;并更名为TeachingDB_***&#xff08;***为个人姓名&#xff09;1.1 操作流程&#xff1a;将docker容器sqlserver数据库已有的mdf镜像文件…

AI帮写:探索国内AI写作工具的创新与实用性

随着AI技术的快速发展&#xff0c;AI写作正成为创作的新风口。但是面对GPT-4这样的国际巨头&#xff0c;国内很多小伙伴往往望而却步&#xff0c;究其原因&#xff0c;就是它的使用门槛高&#xff0c;还有成本的考量。 不过&#xff0c;随着GPT技术的火热&#xff0c;国内也涌…

计算机工作原理(程序猿必备的计算机常识)

目录 一、计算机工作原理1.冯诺依曼体系2. CPU执行指令的过程 二、操作系统三、进程的概念四、进程的管理五、进程的调度 一、计算机工作原理 1.冯诺依曼体系 现在的计算机大多都遵循冯诺依曼体系结构 CPU&#xff1a; 中央处理器&#xff0c;进行算术运算和逻辑判断&#…

《已解决》F12显示已在程序中暂停

首先打开F12-->源代码 最后一步&#xff1a;

Java web应用性能分析之【java进程问题分析工具】

Java web应用性能分析之【java进程问题分析概叙】-CSDN博客 前面大概讲了java进程问题分析流程&#xff0c;这里再小结一下分析工具&#xff0c;后面也会小结一下java进程问题分析定位。 1.分析工具 1.1.linux命令工具 参考&#xff1a;Java web应用性能分析之【Linux服务器性…

项目中MySQL数据库设计(尚庭公寓)

数据库设计 1 数据库设计理论 1.1 数据库模型 数据库设计中最常采用的模型为实体&#xff08;Entity&#xff09;关系&#xff08;Relationship&#xff09;模型&#xff0c;简称ER模型。其核心思想是将现实世界中的复杂数据表示为一组实体&#xff0c;并描述这些实体之间的…

计算机视觉与模式识别实验1-3 图像滤波

文章目录 &#x1f9e1;&#x1f9e1;实验流程&#x1f9e1;&#x1f9e1;1. 对图像加入椒盐噪声&#xff0c;并用均值滤波进行过滤2.对图像加入高斯噪声&#xff0c;并用高斯滤波进行过滤3.对图像加入任意噪声&#xff0c;并用中值滤波进行过滤4.读入一张灰度图像&#xff0c;…

2.6 Docker部署多个前端项目

2.6 Docker部署多个项目 三. 部署前端项目 1.将前端项目打包到同一目录下&#xff08;tcm-ui&#xff09; 2. 部署nginx容器 docker run --namenginx -p 9090:9090 -p 9091:9091 -d nginx3. 复制nginx.conf文件到主机目录 docker cp nginx:/etc/nginx/nginx.conf /root/ja…

[学习笔记](b站视频)PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】(ing)

视频来源&#xff1a;PyTorch深度学习快速入门教程&#xff08;绝对通俗易懂&#xff01;&#xff09;【小土堆】 前面P1-P5属于环境安装&#xff0c;略过。 5-6.Pytorch加载数据初认识 数据文件: hymenoptera_data # read_data.py文件from torch.utils.data import Dataset …

数据结构与算法05-链表

介绍 基于结点的数据结构拥有独特的存取方式&#xff0c;因此在某些时候具有性能上的优势。 本章我们会探讨链表&#xff0c;它是最简单的一种基于结点的数据结构&#xff0c;而且也是后续内容的基础。 你会发现&#xff0c;虽然链表和数组看上去差不多&#xff0c;但在性能上…

Go 1.23新特性前瞻

2024年5月22日&#xff0c;Go 1.23版本[1]功能特性正式冻结&#xff0c;后续将只改bug&#xff0c;不增加新feature。 对Go团队来说&#xff0c;这意味着开始了Go 1.23rc1的冲刺&#xff0c;对我们普通Gopher而言&#xff0c;这意味着是时候对Go 1.23新增的功能做一些前瞻了&am…

SAP PP学习笔记15 - MTS(Make-to-Stock) 按库存生产(策略11,策略30)

上一章学习了MTS&#xff08;Make-to-Stock&#xff09;按库存生产&#xff08;策略10&#xff09;。 SAP PP学习笔记14 - MTS&#xff08;Make-to-Stock) 按库存生产&#xff08;策略10&#xff09;&#xff0c;以及生产计划的概要-CSDN博客 本章继续讲MTS&#xff08;Make-t…