机器之心报道
编辑:陈萍、小舟
语言模型做数学题,能力又升级了。
当前,大型语言模型 (LLM) 在处理 NLP 领域的各种下游任务方面已经表现出卓越的能力。特别是,GPT-4、ChatGPT 等开创性模型已经接受了大量文本数据的训练,使它们具备强大的文本理解和生成能力,能够生成连贯且上下文相关的响应,在各种 NLP 任务中具有高度通用性。
然而,LLM 在数学推理方面的性能却不尽如人意。LLM 很难准确地执行复杂的算术运算,尤其是涉及超过 8 位数字乘法的运算,还有涉及小数、分数的运算。
基于此,来自清华大学、TAL AI Lab 和智谱 AI 的研究者联合提出了一个能够完美执行复杂算术运算的新模型 ——MathGLM。
论文地址:https://arxiv.org/pdf/2309.03241v2.pdf项目地址:https://github.com/THUDM/MathGLM#arithmetic-tasks该研究表明:在足够的训练数据下,20 亿参数的语言模型能够准确地进行多位算术运算,准确率几乎达到了 100%,且不会出现数据泄露(data leakage)。这个结果大幅超越了 GPT-4(其多位乘法运算准确率仅为 4.3%)。
方法介绍
本文提出了一个名为 MathGLM 的模型来探讨 LLM 在数学推理方面的效率。
MathGLM 模型需要完成的算术任务大致可以分为两类:基本算术运算和复杂混合运算。其中基本算术运算包含基本的数学任务,这些任务围绕两个数字的简单计算。而复杂混合运算涉及不同算术运算和数字格式(例如整数、小数、分数等)的组合。表 1 为 MathGLM 任务分类。
为了增强 MathGLM 的算术能力,本文采用了基于 Transformer 的仅解码器架构,并使用自回归目标(autoregressive objective)在生成的算术数据集上从头开始训练它。
算术任务的学习
算术训练数据集是精心设计的,包括加法、减法、乘法、除法和求幂等多种运算。此外,它还包含多种数字格式,例如整数、小数、百分比、分数和负数。数据集规模大小不一,范围从 100 万到 5000 万条记录不等。
在每个数据集中,单个算术表达式由 2 到 10 个运算步骤组成,涵盖一系列数学运算,例如加法 ( )、减法 (-)、乘法 (×)、除法 (/) 和求幂 (^)。图 3 为从算术数据集中提取的一些训练示例:
本文采用 GLM 的不同变体作为骨干来训练 MathGLM,包括具有 335M 参数的 GLM-large、GLM-6B、GLM2-6B 和 GLM-10B。此外,本文还使用 ChatGLM-6B 和 ChatGLM2-6B 主干网络训练 MathGLM。这些骨干模型赋予 MathGLM 基本的语言理解能力,使其能够有效理解数学应用题中包含的语言信息。
实验
本文设计了两种不同类型的实验,包括算术任务和数学应用题。
对于算术任务,本文预训练了一个基于 Transformer 的 MathGLM 模型,该模型具有 500M 参数,并将其与领先的大型语言模型 (LLM)(例如 GPT-4 和 ChatGPT)的性能进行了比较。结果如表 3 所示, MathGLM 优于所有其他模型,表明 MathGLM 在处理算术任务方面具有卓越的性能。
即使只有 1000 万个参数的 MathGLM-10M,结果也令人惊讶。MathGLM-10M 在一系列综合算术任务中的性能优于 GPT-4 和 ChatGPT。
对于数学应用问题,本文在 Ape210K 数据集上进行了实验。表 8 报告了包括 MathGLM 变体、 GPT-4、ChatGPT 等在内的结果。
结果表明,当与 GLM-10B 配合使用时,MathGLM 在答案准确性方面达到了与最先进的 GPT-4 模型相当的性能水平。
此外,将 MathGLM 的性能与 GLM-Large、GLM-6B 和 GLM-10B 进行比较时,出现了一个明显的趋势:MathGLM 在算术准确性和答案准确性方面都表现出显著增强。
为了评估模型在不同年级数学问题上的解决能力,该研究在 K6 数据集上测试评估了几种模型的性能,包括:GPT-4、ChatGPT、Chinese-Alpaca-13B、MOSS-16B、Ziya-LLaMA-13B、Baichuan-7B、ChatGLM-6B、ChatGLM2-6B 和 MathGLM-GLM-10B,结果如下图 8 所示。
感兴趣的读者可以阅读论文原文,了解更多研究内容。
相关文章
猜你喜欢