ChatGLM-Math:强化数学能力

news2025/1/16 12:48:14

大型语言模型(LLM)在文本摘要、问答和角色扮演对话等语言任务上表现出色,在数学推理等复杂问题上也具有应用潜力。

但目前提高 LLM 数学问题解决能力的方法,往往会导致其他方面能力的下降。例如RLHF的方法,虽然可以提高文本生成的质量,但却会忽略解决数学问题所需要的准确性和逻辑连贯性,而 SFT 微调,则可能降低大模型本身的语言多样性。

针对这一问题,我们提出了一种Self-Critique的迭代训练方法,通过自我反馈的机制,可以使 LLM 的语言能力和数学能力得到同步提升。

图片

图:基于 Self-Critique 方法,ChatGLM3-32B的传统学术数据集数学能力(GSM8k)和分布外测试集匈牙利国家数学考试分数(Hungarian Exam Score)都得到了的提升。

此外,为了更加准确地评估 LLM 解决现实世界数学问题的能力,我们开发了 MathUserEval 评测基准。

图片

项目地址:https://github.com/THUDM/ChatGLM-Math

论文地址:https://arxiv.org/pdf/2404.02893.pdf

Self-Critique 的整体流程

Self-Critique 有三个步骤:

Math-Critique

图片

我们工作的第一部分是构建一个准确而稳健的评估模型。基于对大模型评估的启发,我们提出了 Math-Critique 的方法。Math-Critique 将根据问题和参考答案,对模型生成的数学响应进行评分,并给出评分的解释。

Math Critique 的模型可以定义为:

MathCritique(问题,参考答案,答案)-> (评分,解释评论)

在指令中,Math-Critique 会将响应结果分为四个类别:完全错误、部分正确但结果错误、部分错误但结论正确、完全正确。这些类别与 1-2、3-5、6-8 和 9-10 的评分范围相对应。

我们使用两种 Math-Critique 的评估方法:平均分数评估和硬分隔评估。前者计算给定问题集的每个模型答案分数的平均值;后者基于预定义的阈值将每个模型答案分类为通过或失败,超过阈值即为正确,反之为错误。

利用 MathCritique,我们为训练集生成了 5k 个带有注释的数据;并生成 800 个注释数据作为测试集。

Critique-RFT

图片

我们使用了基于 Math-Critique 的拒绝采样方法,重新审查和重新设计了RFT的实现,并发现在拒绝采样过程中,采样范围和模型都会影响结果。具体来说,我们设计了以下采样原则:

  • 预去重:从训练集中对问题嵌入进行聚类,并在各个类别中均匀采样,确保在没有重复的情况下获取各种类型的问题。

  • 后采样去重:我们在数学批评的结果基础上,在5-10个采样迭代之后进行了选择过程。在必要的去重之后,我们只在同一问题存在正确和不正确回答的情况下选择完全正确的回答。

Critique-DPO

图片

我们采用了DPO方法,以进一步增强模型能力,遵循Critique-RFT。该方法的主要优点在于在构建数据流、稳定性和训练速度方面的简单性。DPO方法直接比较了相同问题的正确和错误答案。

在我们的方法中,这两个答案都是从经过RFT后的模型中采样得到的,我们发现这一点至关重要。我们还在训练过程中集成了 DPO 正例的 SFT 损失,作为正则化项的近似替代。我们的 DPO 数据过滤过程类似于 Critique-RFT,唯一的区别在于 DPO 训练对的构建方法。在至少存在一个正确和一个错误答案的前提下,我们选择评分结果差异最大的数据对作为 DPO 对的选择。

训练过程

Math-Critique训练

我们使用ChatGLM3-32B的基础模型作为初始的Math-Critique基础模型。在每次迭代之后,通过SFT(监督微调)或评论RFT(评论反馈训练)当前经过优化的模型将被用作基础模型。我们在6B和32B模型上都使用学习率为3e-6和批量大小为128。

Critique-RFT训练

在Critique RFT阶段,我们的每次微调迭代都包括了前几个阶段的数据集经过去重后的结果,这也包括了最初的SFT数据集。我们将DRFT和DSFT合并为:

图片

DSFT数据集包含许多常规任务,并且可以用开源指令微调数据集进行替代。为了消除这个数据集对最终结果的潜在干扰,我们在消融研究中比较了包含或排除SFT数据的影响。

Critique-DPO训练

在 Critique-DPO 阶段,观察到直接使用 DPO 损失会导致训练过程中的不稳定性。将所选答案的交叉熵损失作为总损失的正则化项引入来缓解这个问题。该加法旨在提高模型训练的稳定性。

图片

在这种情况下,λ 表示总损失中所选答案的交叉熵损失系数。由于正则化项的加入,该系数的值高于标准 DPO,我们对该值的测试范围为 {0.5, 1, 2}。

此外,总学习速率设置为1e-6。实验部分将报告这些系数设置下的最佳结果。在这个阶段,我们以 64 的批大小训练 500 步。

测试集

为了评估 LLM 的数学能力,我们设计了一个 MATHUSEREVAL基准测试集。这个测试集专门用于评估 LLM 解决实际应用场景中的复杂开放性数学问题的能力。

我们将测试集分为两个大类(初级和高级)和八个子类,见下表:

图片

实验

数据

在我们的研究中,我们主要测试了MATHUSEREVAL数据集,该数据集源自模拟对话记录和实际考试试卷。与学术数据集相比,这个数据集具有更多样化的问题风格,并且更贴近于实际的使用场景。此外,我们还测试了以下学术数据集:

  • 英语学术数据集:GSM8k和MATH。这两个数据集包含了中学和高中以及竞赛水平的英语数学问题。

  • 中文学术数据集:ape210k和cmath。这些数据集中的问题也来自中学和高中水平。

我们还将匈牙利国家考试作为一个外部分布测试集。值得注意的是,在所有测试集中,我们只使用了GSM8k和MATH的训练集作为生成数据的种子数据。为了评估通用的语言能力,我们选择了AlignBench的中文语言组件和完整的MT-Bench进行测试。

结果

测试结果如下:

图片

RFT &DPO 的影响:

图片

不同提升方法与问题难度的关系。横轴代表MATHUSEREVAL在24个模型中的平均得分(由GPT-4-1106-Preview评分),我们将其视为问题难度的表示。纵轴代表模型在这些问题上的硬分割分数。

可以看到,RFT几乎提高了所有难度级别的性能,但平均得分在4到6之间问题的表现改进最显著。DPO主要对平均得分在5到7之间问题的表现改进最显著。这表明,我们提高数学能力的RFT和DPO可以作为对齐模型与现实世界的有效方法,并且在中等难度的问题上改进最为显著。

Math-Critique能力评测:

图片

模型的Math-Critique评测。“Acc”代表模型回答正确与否的准确性,Math-Critique的Pearson、Spearman和Kendall相关系数与四类分类中的人类注释的比较。

结果表明,与人类注释相比,Math-Critique-32B模型在判断准确性和相关系数方面显著超过GPT3.5-Turbo,基本上与GPT-4.0613持平。

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

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

相关文章

软考系列必过资料分享-系统架构师-系统分析师-信息系统项目管理师

建议,写在前面 知识点是公用的,原则上不分新旧。每年会有少部分的题目切合当前时间段(也是通过旧的知识演变的) 信息系统项目管理师证书 系统架构师证书 系统分析师证书 资料分享 关注公众号 回复 信息系统项目管理师资料 即可获取信息系统项目管理师资…

翻译《The Old New Thing》 - The new scratch program

The new scratch program - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20050422-08/?p35813 Raymond Chen 2005年4月22日 译注:此篇是 翻译《The Old New Thing》 - The scratch program 姊妹篇,对 scratch 程序作…

【通信】电子科协通信专题

数字通信 最直观的通信方式-基带通信 问题:①无限大的带宽②天线体积

[QTcreator]QT中一个cpp文件如何使用另一个界面的控件

在工作过程中将函数封装成一个类放入一个cpp文件中,但是里面的函数需要运用到其他界面的控件,以此记录昨天的学习。 首先明确一下我需要在vtkfuntion.cpp使用mainwindow.ui中的qvtkwidget控件 step1:更改mainwindow.h 添加需要应用的文件的头文件&…

python:画饼图

我现在因工作需要在写一篇中文文章,领导要我用python处理数据和画图,那我也刚好学习一下python画图。 import matplotlib.pyplot as plt # 饼图数据 labels [A, B, C, D] sizes [15, 30, 45, 10] # 每个部分的大小 # 绘制饼图 plt.figure(figsize(6,…

Spring Web MVC 快速入门

🎥 个人主页:Dikz12🔥个人专栏:Spring学习之路📕格言:吾愚多不敏,而愿加学欢迎大家👍点赞✍评论⭐收藏 目录 什么是Spring MVC? MVC模式介绍 ​编辑学习Spring MVC…

开源数据可视化大屏对接表单数据实践!

如果你需要一个表单系统,进行数据收集;可以使用tduck填鸭进行私有化部署,进行表单制作,完成数据收集。 在实际业务中,往往需要将收集的数据进行展示或分析;此时就可以使用表单数据推送到TReport中&#xf…

详细解读性能测试指标(性能指标、CPU、内存、负载、磁盘)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 性能测试指标是衡量系统性能的评价标准,常用的系统性…

remmina无法连接远程桌面,Remmina无法连接远程桌面的原因与解决办法

在解决Remmina无法连接远程桌面的问题时,我们需要考虑多种可能的原因,并采取相应的解决办法。以下是一些常见的原因及其对应的解决方案: 1、网络问题 原因:不稳定的网络连接或中断可能导致无法建立远程桌面连接。 解决办法&#x…

环保设备统一管理系统

在环保意识日益增强的今天,企业如何有效管理环保设备,确保其正常运行,减少环境污染,成为了一个重要议题。HiWoo Cloud平台以其独特的环保设备统一管理系统,为企业提供了一套完整的解决方案,帮助企业实现绿色…

量化地形处理

1: 量化地形切片:GDAL查询数据;CTB算法转mesh;高度图需要和周围高度图边界做高度融合,四顶点需要做平均值融合;法线想要在前端显示正确必须将mesh坐标转为4326或者3857; 这个使用开源即可:cesi…

肖特基二极管 SOD-123HE封装 散热性好

肖特基二极管发热问题,一直是众多电子工程师常讨论的话题之一。在实际应用中,肖特基二极管发热量真地不容忽视,其发热量大小和实际工作电流和压降大小有关。针对肖特基二极管发热问题,二三极管厂家东沃电子DOWOSEMI有几点建议&…

怎么编辑百度百科个人词条

辑百度百科个人词条是一个相对复杂的过程,需要遵循一定的步骤和规则。以下是百科优化网整理的编辑百度百科个人词条的步骤和注意事项。 1. 确定编辑资格 百度百科个人词条的编辑权主要赋予那些具有一定影响力的公众人物,或者是有一定“身份”的人物&…

STM32 GPIO介绍

每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL, GPIOx_CRH),两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。 通过软件配置寄…

idea修改maven项目名称及子模块名称

一、修改目录名称 shift F6修改目录,选择“rename module and dictionary”。![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/43efd9c6af6e43ad9656455db94b37a2.png)二、修改子项目pom的 三、修改父项目pom的 四、刷新maven项目

SpringBoot:SpringBoot:实战项目TILAS智能学习辅助系统1.3

登录认证 需求:输入登录请求服务器判断用户的用户名和密码 //控制层 PostMapping("/login")public Result login(RequestBody Emp emp);Overridepublic Result login(Emp emp) {Emp emp1 empService.selectLogin(emp);if(emp1 null){System.out.println("用…

企业百度百科词条怎么修改

在进行企业百度百科词条的修改前,首先需要做好以下准备: 注册并登录百度账号:只有注册并登录了百度账号,你才能进行词条的编辑和修改。 熟悉百度百科编辑规则:了解百度百科的编辑规则,包括内容要求、格式规…

思通数科大模型在智能数据查询系统中的深度应用:销售数据分析的革新

在企业决策支持系统中,销售数据分析占据着举足轻重的地位。思通数科的大模型技术,结合自然语言处理(NLP)和机器学习,为智能数据查询系统提供了强大的分析能力。本文将详细描述思通数科大模型在销售数据分析中的应用&am…

2020 年国考【计算机专业】真题及答案

真题及答案 第一部分数学基础课程 一、(共 5 分)用逻辑符号表达下列语句(论域为包含一切事物的合集) (2 分)确诊者并不都有症状(注:需给出两种形式表达, 一种用存在量词, 一种用全称…

ASP.NET小型证券术语解释及翻译系统的设计与开发

摘 要 在系统设计上,综合各种翻译类型网站优缺点,设计出具有任何使用者都可添加术语信息的且只有管理员能够实现术语修改及删除等独特方式的术语查看管理系统。此方式能够使术语量快速增大,并且便于使用者及管理员操作,满足相互…