对标GPT-4代码解释器!港中大让模型写代码解决数学难题,得分超越GPT-4
创始人
2025-07-03 06:00:54
0

对标GPT-4代码解释器,港中大最新研究放了个“大招”:

他们开发了一个叫做MathCoder的大模型,数学能力直接在竞赛级“题库”Math上超过GPT-4。

图片

△ 形象为羊驼是因为MathCoder底层模型来自羊驼家族

做到这一点靠的就是无缝集成代码的能力——

在遇到数学问题时,它不仅能用自然语言推理,还能自动编写和执行代码来建模、推导公式与方程。

图片

这样的工作方式无疑和强大的GPT-4代码解释器一样。

在实际评测中,MathCoder除了超过GPT-4,还顺利在MATH和GSM8K两大数据集上取得了开源LLM中的SOTA(打败了8月份才诞生的WizardMath)

图片

这个“新王”究竟是如何诞生的?

对标GPT-4代码解释器

总的来看,港大这项研究为了提高大模型的数学推理能力,学习了GPT-4代码解释器的优点和工作原理,提出了一种微调开源语言模型的方法。

该方法最终使大模型无缝集成代码,利用代码来解决数学问题。

具体而言,他们首先提出了一个可以生成高质量数学题的数据集:MathCodeInstruct。

图片

该数据集由两部分组成:

种子数据(D0):主要基于GSM8K和MATH,并利用GPT-4收集答案。

插值数据(D1):让GPT-4基于他们提出的一种叫做“问题插值提示”的方法生成。

如下图所示:

示例1和2分别来自于GSM8K和MATH,1简单,2难一些,GPT-4要做的“插值”就是生成比1难但比2更简单的新问题。

图片

基于以上两类问题,最终MathCodeInstruct数据集一共收集了8万道数学题。

如下表所示,这比业内其他数据集规模稍小一些:

图片

而与其他数据集相比,它的特点之一是同时弥补了GSM8K和MATH这两大重要数据集中不足的部分,给出了一些难度范围更广的问题,增强了数据集的泛化能力。

特点之二是数据集中的每道题目同时包含基于自然语言推理的部分+基于代码解决的部分(包括执行代码和代码输出结果)。

如下图所示,这是对上面GPT-4生成的“插值”问题的解决思路:

图片

在数据集准备好以后,团队便提出了一种定制的监督微调和推理方法,最终在Llama-2和Code Llama上微调出了MathCoder

图片

具体而言,该方法使用特殊的token(<|text|>、<|code|>、<|execution|>)来识别训练数据集中哪一部分是自然语言、代码还是结果,让模型学习生成由这些特殊标记划分的自然语言和代码。

在推理期间,该方法还会将动态执行的结果附加到模型的先前预测中。

然后,继续基于这个新版本的输入自回归预测下一个token,以及最后的执行结果。

作者表示,通过这种方式,模型将能够“看到”执行结果,并不断地继续推理。

最终,该方法使微调模型MathCoder以类似GPT-4代码解释器的方式运行。

在评测中,MathCoder凭此直接在MATH和GSM8K这俩数据集上取得了45.2%和83.9%的好成绩。

该成绩证明:

其一,它超过了ChatGPT-3.5和PaLM-2等9个闭源模型,并在以数学竞赛题为主的MATH集上超过GPT-4。

其二,它打败了此前数学领域里最强的开源模型WizardMath,成为新的开源之最。

不过其三,模仿但还未超越,在这俩数据集上,MathCoder还是与GPT-4代码解释器(69.7%和97%高分)存在着一定的性能差距。

图片

作者介绍

本研究一共10位作者,除了两位来自香港城市大学以外,其余均来自香港中文大学。

图片

共同一作一共有6位,分别是:Ke Wang、Houxing Ren、Aojun Zhou、Zimu Lu、Sichun Luo和Weikang Shi。

通讯作者为李鸿升,为港中大电子工程系副教授,同时也就职于上海人工智能研究室。

论文地址:https://arxiv.org/abs/2310.03731

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...