论文浅尝 | 提高大型语言模型的数学推理能力的学习定理基本原理(AAAI2025)

笔记整理:兰雅榕,浙江大学硕士生,研究方向为知识图谱、大语言模型

论文链接:https://ojs.aaai.org/index.php/AAAI/article/view/33662

发表会议:AAAI 2025

1. 动机

提高开源大型语言模型(LLM)的数学推理能力是一项有价值但持续的挑战,目前有的利用涉及思维链(CoT) 原理的注释或生成的问题-解决方案数据对对模型进行微调的方法虽然有一定作用,但是对于复杂的数学问题提升不大,且其完全忽略了结合问题思考相应定理的显性思维过程,增加了涉及无关定理和幻觉的危险,该限制阻碍了推理过程的透明度和可解释性,使错误诊断和纠正更加困难。

对于人类而言,能否根据给定的问题选择合适的定理是影响最终解决方案质量的关键因素,但这在 LLM 推理领域的先前研究中却被忽视了。本文提出了一种新颖的方法,以增强 LLM 将数学定理应用于具体问题的能力,我们称之为定理原理 (TR)。

2. 贡献

(1)本文提出了一种方法,用于明确学习如何将定理应用于具体问题,并收集包含 TR 原则的数据集。

(2)本文设计了策略,从问题-定理对中自动演化出面向定理的指令,从而有助于从多个层次的视角学习 TR。

(3)在本文提到的的数据集上进行微调的模型实现了持续的改进,展现了该方法在提升 LLM 数学推理能力方面的潜力。

3. 方法

所谓定理基本原理就是涉及为特定问题选择和利用定理原则的联合分布定义,一个关键点在于将特定定理集和特定问题结合的过程,极具挑战但是通常都被忽视。论文中引入了一个特定的提示来刺激 LLM 从每个原始 (qi, ai) 对中自动扩展涉及 TR 的 (qi, ti, Si) 三元组,并伴随着启发式算法进行进一步筛选,以确保数据质量。

原始数据收集:

收集问题-答案对:为LLM提供一些相关信息以生成更准确的三元组,使用BM25从以前的观测中检索最相关的三元组。首先在不同数据集中收集问题-答案对,更关注高水平问题,这些问题对于建立问题和定理之间的联系更有帮助。

生成定理数据:论文中编译了一个专门的提示和少量的上下文示例,以指导 GPT-4o1 从其参数知识中反思对应于 qi 的定理 ti,并在编写解决方案之前明确列出 ti。通过提示中的刺激,生成的响应明确涉及推导出答案 ai 所需的数学定理 ti 和 ti 约束内的逐步解决方案,模仿了人类数学问题解决的过程。因此,我们将 Do 扩展到由并联 (qi, ti, Si) 三元组组成的 Dt。

人工注释和过滤:手动过滤三类不合理样本(包含不一致最终答案的样本,包含明显定理不一致或者错误的样本和包含过长、无意义且重复的解决方案的样本)。此外实施重复数据删除和基于长度的启发式后处理策略。计算 Dt 中所有 (qi, ti, Si) 三元组的解 Si 的长度分布,去除长度异常的解(基于信念:如果模型有足够的信心来掌握问题,则解决方案将在有限的推理步骤内完成。)

以定理为中心的指令优化:

参考人类教师在数学教学化中采用的方法,发展以定理为中心的分层指令;a) 建立概念理解,(b) 将数学概念与其应用联系起来,(c) 培养解决问题的能力。设计与这三种能力对应的指导策略,以从Dt进化指令:

Theorem Memorization(TM)策略:涉及从定理名字到定理内容的映射,从Dt中提取1800个定理完成。

Theorem Alignment (TA):双向TA指令策略:正向出发:提示列出指定问题所需的定理;反向出发:自动编写示例来演示指定定理的应用。

Theorem-based Problem Solving (TPS):模型需要将明确地将思考相应的定理作为解决问题的第一步,而不是像 CoT 中的实践那样将它们耦合到解决方案中。

以 TM、TA 和 TPS 为指导原则,利用 GPT 生成多样化的指令描述,从而从 Dt 中提取总共 30k 的指令数据用于后续训练。

指令微调:

收集了48k个指令和响应数据对,使用因果语言建模来全参数微调llama3-8b。

4. 实验

实验设定:

数据集:ID(Conic10K、MATH、GSM8k);OOD(MMLU-pro-Math、JEEBench-Math、SciBench、SAT-Math)包含开放式问题和多项选择题

baseline:具有相同参数尺度的高级开源模型,包括 LLaMA2、Calactica、AQuA-SFT、WizardMath和 MAmmoTHCoT。以及具有代表性的闭源大模型例如 GPT-4、GPT-3.5 和 Claude-2。

评估指标:准确性

实验结果:

在包含不同数学级别的各种评估数据集中表现出准确性的一致提高,与 IND 数据集相比,模型在 OOD 数据集上获得了更高的性能,这表明从 TR 中学习赋予了模型强大的数学推理能力。

对于知识密集型数学任务,显式学习和利用定理对提高推理能力起着至关重要的作用。

实验还评估了三种指令有效性:对各种提出的面向定理的教学进化策略进行了进一步的消融研究,分别消除了专注于 TM、TA 和 TPS 策略的指令,并使用得到的子集 D-TM、D-TA 和 D-TPS 来微调模型。与使用合并数据集相比,删除这些子集中的任何一个都会导致准确性降低,这凸显了论文提出的指令进化方法而不是直接使用原始问答三元组训练的必要性。比较去除不同子集带来的性能下降,观察到省略 TPS 导致的性能下降最大,其次是 TA 和删除 TM 带来的影响最小。这一发现验证了假设:仅仅将数学定理作为普通文本记忆是远远不够解决数学问题的,关键过程是学习如何将定理应用于特定问题。TA 暗示了将相应的定理与问题对齐的基本原理,而 TPS 在解决方案中进一步引入了定理的约束,因此为解决问题做出了更大的贡献。

5. 总结

本文旨在学习将数学定理应用于具体问题,以提升大型语言模型(LLM)的数学推理能力。该工作精心构建了一个包含并行问题-定理-解三元组的高质量数据集,该数据集涉及TR原则。此外,他们提出了一种以定理为导向的策略来增强三元组中的指令,旨在使LLM能够从不同角度运用定理。在广泛使用的评估基准上进行的大量实验表明,使用此数据集调整的模型获得了强大的数学能力。此外,我们证实了明确引入与定理相关的思想对于提升闭源LLM性能的有效性。该工作为未来的数学推理和纠错工作提供了新的视角。


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

点击阅读原文,进入 OpenKG 网站。

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

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

相关文章

母猪姿态转换行为识别:计算机视觉与行为识别模型调优指南

母猪姿态转换行为识别:计算机视觉与行为识别模型调优指南 1. 引言 1.1 研究背景与意义 母猪姿态转换行为识别是智能养殖领域的重要研究方向,通过计算机视觉技术自动识别母猪的站立、躺卧、行走等姿态变化,对于监测母猪健康状态、评估福利水平…

K8S集群环境搭建(一)

虚拟机镜像 ubuntu 24 虚拟机网络 虚拟网络–配置 nat模式主机ip配置宿主机ip配置 10.0.0.12 master 2c 10.0.0.15 node1 10.0.0.16 node2 10.0.0.17 node3 10.0.0.20 registersudo vi /etc/netplan/00-installer-config.yaml # 替换为实际文件名 sudo netplan applynetwork:v…

css预编译器实现星空背景图

打造梦幻星空背景:用CSS预处理器轻松实现动态效果 星空背景能为网页增添神秘感和视觉吸引力。通过CSS预处理器(如Sass/Less)可以高效实现可定制化的星空效果,避免重复编写纯CSS代码。以下是 Vue3 组件皮肤具体实现方法和代码示例。…

焊接机器人保护气体效率优化

在现代工业制造领域,焊接机器人的应用日益广泛,而保护气体在焊接过程中起着至关重要的作用。如何优化保护气体的效率,成为焊接技术发展的一个关键考量因素。WGFACS节气装置的出现,为焊接机器人在保护气体效率优化方面带来了显著的…

Portkey-AI gateway 的一次“假压缩头”翻车的完整排障记:由 httpx 解压异常引发的根因分析

笔者最近在本地搭建了Portkey AI Gateway(模型路由网关),然后按照文档中的方式进行测试。结果发现,网关能够接收到请求,但是Python测试的程序却运行报错。Python代码报错信息如下: Traceback (most recent …

什么是Session? PHP编程中Session用法详解

一、Session的基本概念 Session 是 Web 开发中用于在服务器端存储用户临时数据的一种机制,它允许服务器在不同的 HTTP 请求之间识别和跟踪特定用户的状态,本质上是‌服务器为每个用户开辟的临时私有存储空间‌。由于 HTTP 协议本身是无状态的&#xff…

【大模型】AI平台 joyagent 2.0 的部署与测试

github链接:https://github.com/jd-opensource/joyagent-jdgenie 本篇博客记录下自己在配置joyagent的过程,以【手动初始化环境,启动服务】为例,后端调用的deepseek-chat大模型。 前言 JoyAgent是由京东云开源的企业级多智能体系统…

计算机视觉(一):nvidia与cuda介绍

背景与意义 计算机视觉 (Computer Vision, CV) 需要对图像和视频进行处理、特征提取和模型训练,计算量巨大。GPU (图形处理单元) 擅长并行计算,非常适合深度学习、卷积操作、矩阵乘法等场景。NVIDIA 作为 GPU 领域的领导者,推出了 CUDA (Comp…

阿里云杭州 AI 产品法务岗位信息分享(2025 年 8 月)

(注:本岗位信息已获jobleap.cn授权,可在 CSDN 平台发布) 一、基本信息 招聘方:阿里云工作地点:杭州信息收录时间:2025 年 08 月 14 日 二、职位主要职责 为 AI 相关产品全流程提供法务支持&…

医疗智慧大屏系统 - Flask + Vue实现

下面我将实现一个完整的医疗智慧大屏系统,使用Flask作为后端框架,前端使用Vue.js结合ECharts进行医疗数据的可视化展示,文章末尾提交源码下载。 系统设计思路 前端部分: 使用Vue.js构建响应式界面 使用ECharts实现各类医疗数据可…

库制作与原理(下)

库制作与原理 (下) 1. 目标文件 编译和链接这两个步骤,在 Windows 下被我们的 IDE 封装的很完美,我们一般都是一键构建非常方便,但一旦遇到错误的时候呢,尤其是链接相关的错误,很多人就束手无策了。在 Linux 下&#x…

STL 容器

STL是C的核心组成部分,其主要包括了容器、迭代器、算法三大组件。 其中容器负责存储数据,迭代器是容器和算法的桥梁,负责对容器中的元素进行操作。本文重点介绍容器部分内容。 STL主要容器 STL容器根据特性进行分类,可以分为序列式…

微信小程序 拖拽签章

微信小程序 拖拽签章 效果 主要实现的功能点 文件按比例加载图片(宽高设定拖拽范围) 弹层展示印章模板 模板拖拽到文件图片上 实时获取拽拽位置 难点 弹层中的元素如何拖拽到文件图片上 实现历程 版本1.0 以前我们拖拽一个图层到另一个图层上,pc端使用的是mousedown mou…

人工智能加速计算套件

按照甲方要求的技术指标的人工智能加速计算套件1套。每套包含以下内容: 1、显卡 不低于6542Y;容量不低于 48GB GDDR6显存;CUDA核心不低于14080 个 ;第四代Tensor Core不低于440 个;单精度性能不低于69.3 TFLOPS&#x…

端到端测试:复杂系统的终极体检术

当你的应用像多米诺骨牌一样牵一发而动全身,如何确保用户一路畅通无阻?一、为什么我们需要端到端测试? 想象一下:你精心开发的电商应用,用户登录顺利,商品浏览流畅,却在最后支付时卡壳——原因是…

Perf使用详解

Perf 工具深度解析 Perf(Performance Counters for Linux)是 Linux 系统的性能分析工具,基于内核的 perf_event 子系统,通过硬件性能计数器(PMC)、软件事件和跟踪点(tracepoints)实现…

Windchill 11 Enumerated Type Customization Utility-枚举类型自定义实用程序

一、Enumerated Type Customization Utility 枚举类型自定义实用程序,可用于添加或编辑枚举类型的值,在Windchill 12.0中可直接在类型和属性管理中编辑,如下图所示,而在Windchill 11.0中只能通过windchill shell启动程序&#xff…

git疑问,暂时记录

有时候把dev本地分支搞乱了,多出几个提交,好像在远程仓库,rebase dev到本地dev,就恢复了,然后再把我开发分支合并过去就ok,就不会多出几个重复的提交 在自己分支开发提交数据后,不push到远程仓库 然后合并到dev分支,推dev分支到远程仓库然后在自己分支,rebase到自己分支,然后再…

Java 大视界 -- 基于 Java 的大数据分布式计算在气象灾害预警与应急响应中的应用

Java 大视界 -- 基于 Java 的大数据分布式计算在气象灾害预警与应急响应中的应用引言:Java 筑起气象防灾减灾的数字长城正文:Java 构建的气象智慧防御体系一、气象大数据的 Java 基座:从采集到存储的全链路优化1.1 多源异构数据的实时汇聚1.2…

MySQL黑盒子研究工具 strace

strace是什么? 按照 strace 官网的描述, strace 是一个可用于诊断、调试和教学的 Linux 用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。 strace 底层使用内核的 ptrace 特性来实现其功能。 strace能…