开源LLEMMA发布:超越未公开的顶尖模型,可直接应用于工具和定理证明

news2024/9/22 11:33:07

abeb6c8de4c45dcbda595b4c7c242d1a.jpeg

深度学习自然语言处理 原创
作者:Winnie

今天向大家介绍一个新的开源大语言模型——LLEMMA,这是一个专为数学研究而设计的前沿语言模型。

4d0e347f5d746d545243e1bf16469f56.png
LLEMMA解数学题的一个示例

LLEMMA的诞生源于在Proof-Pile-2数据集上对Code Llama模型的深度训练。这个数据集是一个科学论文、数学相关网页和数学代码的综合体。

过去虽然有数学专用的模型,但许多模型都有各种限制。例如,有的模型是封闭访问,这使得它们无法为更广泛的研究所用。有的则技术上稍显落后。

但LLEMMA的出现改变了这一局面。它不仅在MATH基准测试上创下了新高,甚至超越了某些还未对外公开的顶尖模型,如Minerva。更让人欣喜的是,LLEMMA无需额外的调整,即可直接应用于工具和定理证明。

让我们一起了解下这个模型背后的技术吧!

e3995fe68a826b3cf782dfcf4a7dc547.png

Paper: Llemma: An Open Language Model For Mathematics  
Link: https://arxiv.org/pdf/2310.10631.pdf
Code: https://github.com/EleutherAI/math-lm

->辅导界的小米带你冲刺ACL2024

数据集

LLEMMA是专为数学设计的大型语言模型,具有70亿和340亿参数。这一模型的训练方法是在Proof-Pile-2.2.1数据集上继续对Code Llama模型进行预训练。以下是关于该数据集的简要说明:

  1. Proof-Pile-2:这是一个包含550亿令牌的综合数据集,融合了科学论文、数学相关的网络内容和数学代码,其知识截止于2023年4月(不包括特定的Lean证明步骤子集)。

  2. 代码:为了适应数学家日益重视的计算工具,如数值模拟和计算代数系统,研究团队创建了名为AlgebraicStack的源代码数据集。这个数据集涉及17种编程语言,包括数值、符号和正式的数学内容,共计110亿令牌。

  3. 网络数据:研究团队利用了OpenWebMath数据集,这是一个精选的、与数学相关的高质量网络页面集合,总计150亿令牌。

  4. 科学论文:使用了名为RedPajama的ArXiv子集,其中包含290亿令牌。

  5. 通用自然语言和代码数据:作为训练数据的补充,研究团队还融合了一些通用领域的数据,并以Proof-Pile-2为主,还融合了Pile数据集和RedPajama的GitHub子集。

模型训练

模型初始化:所有模型都从Code Llama初始化,随后在Proof-Pile-2上接受更多的训练。

训练量

  • LLEMMA 7B:2000亿令牌的训练。

  • LLEMMA 34B:500亿令牌的训练。

5de085bf451fc7740954cddea1f2cd71.png

训练工具和硬件:使用GPT-NeoX库在256个A100 40GB GPU上进行训练。使用了各种先进技术如Tensor并行、ZeRO Stage 1分片优化器状态、Flash Attention 2等以提高效率和减少内存需求。

训练细节

  • LLEMMA 7B:经过42,000步训练,每个全局批次有400万令牌,上下文长度为4096令牌,占用A100大约23,000小时。学习率开始从1 × 10^(-4)渐温,然后逐渐减少。虽然计划是48,000步训练,但在42,000步时由于NaN损失中断了。

  • LLEMMA 34B:经过12,000步训练,每个全局批次有400万令牌,上下文长度为4096令牌,约占用47,000个A100小时。学习率从5 × 10^(-5)开始逐渐增加,然后逐渐减少。

  • RoPE调整:在训练LLEMMA 7B前,RoPE的基本周期从θ = 1,000,000减少到θ = 10,000,目的是为了在LLEMMA 7B上进行长上下文微调。而LLEMMA 34B维持了θ = 1,000,000的原始设置。

实验设置与评估结果

作者通过少样本评估对LLEMMA模型进行比较,并专注于没有进行微调的最新模型。具体来说,他们使用了使用思维链推理和多数投票,在MATH和GSM8k等基准上进行了评估。

评估范围

  1. 数学问题求解:测试模型在思维链推理和多数投票的数学问题上的表现。

  2. 少样本工具使用和正式定理证明:研究模型在这些方面的表现。

  3. 记忆和数据混合的影响:分析这些因素如何影响模型的表现。

使用CoT解决数学任务

评估数据集和任务

  1. MATH:一个来自高中数学竞赛的问题集,模型必须生成一个LATEX的解决方案,且其答案需要与参考答案匹配。

  2. GSM8k:包含中学数学问题的数据集。

  3. OCWCourses:从MIT的开放课程Ware提取的STEM问题。

  4. MMLU-STEM:MMLU基准中的18个子集,涵盖57个主题。

  5. SAT:包含2023年5月的SAT考试中不包含图形的数学问题的数据集。

作者与以下模型进行了比较:

  1. Minerva:这个模型在技术内容的数据集上继续预训练了PaLM语言模型。

  2. Code Llama:LLEMMA继续预训练的初始化模型。

  3. Llama 2:Code Llama在代码上继续预训练的初始化模型。

对于开源的模型,作者使用他们的评估套件来报告分数,该套件是Language Model Evaluation Harness的一个分支。对于Minerva模型,作者报告了Lewkowycz等人在2022年文章中的基准分数。

LLEMMA在Proof-Pile-2上的继续预训练提高了五个数学基准测试的少样本性能。LLEMMA 34B在GSM8k上比Code Llama提高了20个百分点,在MATH上提高了13个百分点;LLEMMA 7B的表现超过了专有的Minerva模型。到目前为止,LLEMMA在所有开放权重语言模型上均表现最佳。因此,可以得出结论,Proof-Pile-2上的继续预训练对于提高预训练模型的数学问题解决能力是有效的。

5bf51303c4c30b9595d9988b0f5ac706.png 3c1e6d960ccf0f6b8bb40368e94e72f0.png

此外,LLEMMA是在与数学相关的多样化数据上预训练的,而不是为特定任务进行调优。因此,预期LLEMMA可以通过任务特定的微调和少样本提示适应许多其他任务。

调用计算工具解决数学任务

这些任务涉及在有计算工具的情况下解决问题,主要评估了以下内容:

  • MATH+Python:模型被提示以自然语言交替描述解决方案的步骤,然后使用代码执行该步骤。最后的答案是一个可以执行为数字类型或SymPy对象的程序。我们的少样本提示包括使用内置数字操作、math模块和SymPy的示例。

  • GSM8k+Python:通过编写一个执行为整数答案的Python程序来解决GSM8k单词问题。我们使用了Gao等人(2023)的提示。

如下表所示,LLEMMA在两个任务上都优于Code Llama。它在MATH和GSM8k上使用工具的性能也高于它在没有工具的这些数据集上的性能。

a2e86b612f5a954f32dcc468a7e2c08d.png

形式化数学(数学证明)

交互式证明助手,例如Lean和Isabelle,使用特殊的编程语言来帮助验证数学证明。但是,与常见的编程语言相比,这些特殊语言的数据非常少。

LLEMMA模型经过进一步的预训练,以处理与这些证明相关的任务。在给定问题、非正式证明和正式声明后,LLEMMA可以生成Isabelle代码的正式证明。此外,模型还可以根据证明助手给出的状态,生成证明的下一个步骤。

eba3b492722ede6fd8eb3c4b76fca0a5.png

LLEMMA在Proof-Pile-2的预训练包括从Lean和Isabelle提取的正式数学数据,总计超过15亿个标记。作者对LLEMMA在两个任务上的少样本性能进行了评估:

  • 非正式到正式的证明:根据非正式的说明,为数学问题生成正式的证明。

  • 正式到正式的证明:在已知的证明步骤中,为下一个步骤生成代码。

结果显示,LLEMMA在Proof-Pile-2上的继续预训练提高了两个正式定理证明任务的少样本性能。

aa57d8906ee82381d2cc8a568b920835.png

数据混合

在训练语言模型时,经常会根据混合权重提高训练数据中高质量子集的样本频率。作者通过在多个手动选择的混合权重上进行短期训练,然后选择在高质量保留文本上(使用MATH训练集)最小化困惑度的权重。通过这种方法,确定了训练LLEMMA的最佳数据混合比例为2:4:1。

数据重叠和记忆

作者检查了测试问题或解决方案是否出现在语料库中。通过查找与测试序列中任何30-gram相匹配的文档确定匹配程度。作者发现大约7%的MATH测试问题陈述和0.6%的解决方案在语料库中有匹配。

在随机抽取的100个匹配中,作者详细检查了测试问题与OpenWebMath文档之间的关系。其中,41个案例没有解决方案,49个提供了与MATH基准解决方案不同但答案相同的解决方案,9个答案错误或缺失,而只有1个与基准解决方案相同。

作者进一步探索了语料库中的问题如何影响模型的性能。当将LLEMMA-34b应用于具有30-gram匹配的测试示例和没有30-gram匹配的测试示例时,模型在难题上的准确率仍然较低,例如在具有匹配的Level 5问题上的准确率为6.08%,而在没有匹配的问题上的准确率为6.39%。

a1977b30fbef5341c46966f49f941079.png

作者发现,30-gram匹配与各个难度级别的准确性之间没有明确的关系。这意味着测试示例和训练文档之间的重要匹配,并不意味着模型生成了一个记忆中的正确答案。

此外,作者还检查了LLEMMA在MATH生成中与OpenWebMath之间的30-gram匹配,发现了13个匹配,这些匹配发生在模型生成了一系列常见的数字序列时,例如斐波那契数列,以及一次多项式因式分解的情况。这些观察结果值得进一步研究。

结语

在这篇研究中,研究团队成功地推出了LLEMMA和Proof-Pile-2,这是专为数学语言建模设计的大语言模型和语料库。他们公开了模型、数据集和相关代码。

研究揭示,LLEMMA在开放权重模型的数学问题解决标准测试上的表现尤为出众,它不仅能通过Python代码娴熟地调用外部工具,还在定理证明中展示了少样本策略预测的高效实用性。此外,该团队深入探讨了模型在解决数学问题时的卓越性能。

LLEMMA的出现,为我们展现了数学与人工智能融合的新前景。随着LLEMMA和Proof-Pile-2的应用,期望在未来更能深化对语言模型的泛化能力、数据集结构的认知,探索将语言模型作为数学助手的可能性,并不断提升其处理数学问题的能力。


备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群

9dd844eb1f382ef15f02ede9a3a7a799.png

id:DLNLPer,记得备注呦

522a42dbd98cf7f0d4ae89ee9a6bac01.png

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

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

相关文章

Java 8 新特性 Ⅱ

方法引用 举例: Integer :: compare 理解: 可以看作是基于lambda表达式的进一步简化 当需要提供一个函数式接口的实例时, 可以使用lambda表达式提供实例 当满足一定条件下, 可以使用方法引用or构造器引用替换lambda表达式 实质: 方法引用作为函数式接口的实例 (注: 需要熟悉…

【AOA-VMD-LSTM分类故障诊断】基于阿基米德算法AOA优化变分模态分解VMD的长短期记忆网络LSTM分类算法(Matlab代码)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

人大金仓获评“2023年度软件和信息技术服务名牌企业”

近日,中国电子信息行业联合会在2023世界数字经济大会暨第十三届智慧城市与智能经济博览会上,发布了“2023年度软件和信息技术服务名牌企业”,凭借在企业规模、技术创新、市场影响力等方面的突出表现,人大金仓成功入选。 此次评选在…

计组03:20min导图复习 中央处理器

🐳前言 图源:文心一言 考研笔记整理,纯复习向,思维导图基本就是全部内容了,不会涉及较深的知识点~~🥝🥝 第1版:查资料、画思维导图~🧩🧩 编辑:…

【数值分析】2 - 插值法

文章目录 一、引言1.1 插值法引入1.2 常用插值法1.3 插值法定义 二、插值法研究的问题2.1 插值多项式存在的唯一性2.2 如何构造n次多项式2.2.1 待定系数法2.2.2 拉格朗日插值法2.2.2.1 拉格朗日多项式2.2.2.2 拉格朗日插值余项2.2.2.3 例题2.2.2.4 拉格朗日插值法的问题 2.2.3 …

【大疆智图】大疆智图(DJI Terra 3.0.0)安装及使用教程

大疆智图是一款以二维正射影像与三维模型重建为主的软件,同时提供二维多光谱重建、激光雷达点云处理、精细化巡检等功能。它能够将无人机采集的数据可视化,实时生成高精度、高质量三维模型,满足事故现场、工程监测、电力巡线等场景的展示与精确测量需求。 文章目录 1. 安装D…

shell学习脚本04(小滴课堂)

他就可以直接读出来了。不需要在sh后面加参数。 可以用-s隐藏内容: 可以用-t进行指定几秒后显示。 -n限制内容长度。 输入到长度为5自动打印。 我们把-s放到-p后面的话: 这样会出错。 如果最后加5m会一直闪烁。 大家可以按照需求自行使用。

42907-2023 硅锭、硅块和硅片中非平衡载流子复合寿命的测试 非接触涡流感应法

1 范围 本文件描述了用非接触式涡流感应法测试太阳能电池用单晶硅锭、硅块和硅片中非平衡载流子复 合寿命的方法。 本文件适用于非平衡载流子复合寿命在0.1μs~10000 μs、电阻率在0.1 Ω cm~10000 Ω cm 的硅锭、硅块和硅片的测试。其中瞬态光电导衰…

Spring定时任务@Scheduled

在 Spring 框架中,可以使用定时任务来执行周期性或延迟执行的任务。Spring 提供了多种方式来配置和管理定时任务。有Java自带的java.util.Timer类,也有强大的调度器Quartz,还有SpringBoot自带的Scheduled。 在实际应用中,如果没有…

实际项目中如何进行问题排查

Linux自带 文本操作 文本查找 - grep文本分析 - awk文本处理 - sed文件操作 文件监听 - tail文件查找 - find网络和进程 网络接口 - ifconfig防火墙 - iptables -L路由表 - route -nnetstat其他常用 进程 ps -ef | grep java分区大小 df -h内存 free -m硬盘大小 fdisk -l | gr…

STM32F4_USB读卡器(USB_Slave)/USB U盘(Host)

前言 STM32F4芯片自带了USB OTG FS(FS,即全速,12Mbps)和USB OTG HS,支持USB Host和USB Device。 1. USB简介 USB,是英文Universal Serial BUS(通用串行总线)的缩写,是一…

硬盘无法分区的原因以及3种解决方法!

硬盘无法分区的原因 无论是新买的硬盘还是用了很久的硬盘,在分区过程中都可能会遇到硬盘无法分区的问题。在这里我们总结了以下几点原因: 主板生产商为了防止病毒侵入引导区文件在主板进行了设置,导致硬盘无法进行分区。 新买的硬盘没有…

42910-2023 无机胶粘剂高温压缩剪切强度试验方法

1 范围 本文件描述了在高温条件下测定无机胶粘剂压缩剪切强度的试验方法。 本文件适用于300℃~1000℃温度范围内,耐热陶瓷、复合材料及其他非金属材料之间搭接压缩 剪切强度的测定。 2 规范性引用文件 下列文件中的内容通过文中的规范性引用而构成本文件必不可…

一、BurpSuite基本界面学习

一、Dashboard 1.Scan Scan功能:能够对网站进行爬行(主要发现网站可交互的接口和网址关联的路径,结果显示在Target)和代码审计(除了爬行的效果外,一定程度上会进行漏洞发现与查找) 重点&#…

VMware17.0安装教程(2023最新最详细)

目录 一.简介 二.安装步骤 软件:VMware版本:17.0语言:简体中文大小:554.98M安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.6GHz 内存4G(或更高)下载通道①百度网盘丨下载链接: htt…

如何快速从Oracle迁移到Mysql?

database 一、使用navicat工具二、问题 一、使用navicat工具 1、选择工具中的数据传输 2、源选Oracle,目标选Mysql,一直点下一步 二、问题 1、navicat连接oracle报错:Oracle library is not loaded navicat是通过oracle的客户端连接oracle的,报这个错是因为navicat for or…

SpringBoot 入门 参数接收 必传参数 数组 集合 时间接收

接口声明 RestController //表示该类为请求处理类public class HttpDeal {RequestMapping("/login")//这个方法处理哪一个地址过来的请求public String hello(){return "返回给浏览器";}}接收参数 RequestMapping("/login")public String logi…

【tg】2:视频采集的输入和输出

属于libtgcalls模块使用了 media thread和 worker thread 代码分布 视频采集 对外的interface :VideoCaptureInterface static std::unique_ptr<VideoCaptureInterface> Create(std::shared_ptr<Threads> threads

看《软技能》的读后感

最近在图书大夏看了一本书的一部分&#xff0c;书名是《软技能》。本人看到了几个有意思的观点。一是接一些兼职项目。 二是分享自己的技术&#xff0c;让同事能干自己的工作&#xff0c;让自己的工作变得别人也能干&#xff0c;才有机会让自己的职位提升。 三是让手动操作变…