0

0

​参数少近一半,性能逼近谷歌Minerva,又一个数学大模型开源了

PHPz

PHPz

发布时间:2023-10-21 14:13:01

|

1299人浏览过

|

来源于51CTO.COM

转载

如今,在各种文本混合数据上训练出来的语言模型会显示出非常通用的语言理解和生成能力,可以作为基础模型适应各种应用。开放式对话或指令跟踪等应用要求在整个自然文本分布中实现均衡的性能,因此更倾向于通用模型。

不过如果想要在某一领域(如医学、金融或科学)内最大限度地提高性能,那么特定领域的语言模型可能会以给定的计算成本提供更优越的能力,或以更低的计算成本提供给定的能力水平。

普林斯顿大学、 EleutherAI 等的研究者为解决数学问题训练了一个特定领域的语言模型。他们认为:首先,解决数学问题需要与大量的专业先验知识进行模式匹配,因此是进行领域适应性训练的理想环境;其次,数学推理本身就是 AI 的核心任务;最后,能够进行强数学推理的语言模型是许多研究课题的上游,如奖励建模、推理强化学习和算法推理。

因此,他们提出一种方法,通过对 Proof-Pile-2 进行持续的预训练,使语言模型适应数学。Proof-Pile-2 是数学相关文本和代码的混合数据。将这一方法应用于 Code Llama,可以得到 LLEMMA:7B 和 34B 的基础语言模型,其数学能力得到了大幅提高。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

​参数少近一半,性能逼近谷歌Minerva,又一个数学大模型开源了

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

项目地址:https://github.com/EleutherAI/math-lm

LLEMMA 7B 的 4-shot Math 性能远超谷歌 Minerva 8B,LLEMMA 34B 在参数少近一半的情况下性能逼近 Minerva 62B。

​参数少近一半,性能逼近谷歌Minerva,又一个数学大模型开源了

 具体来说,本文贡献如下:

  • 1. 训练并发布了 LLEMMA 模型:专门用于数学的 7B 和 34B 语言模型。LLEMMA 模型是在 MATH 上公开发布的基础模型的最新水平。
  • 2. 发布了代数堆栈(AlgebraicStack),这是一个包含 11B 专门与数学相关的代码 token 的数据集。
  • 3. 证明了 LLEMMA 能够使用计算工具来解决数学问题,即 Python 解释器和形式定理证明器。
  • 4. 与之前的数学语言模型(如 Minerva)不同,LLEMMA 模型是开放式的。研究者开放了训练数据和代码。这使得 LLEMMA 成为未来数学推理研究的一个平台。

方法概览

LLEMMA 是专门用于数学的 70B 和 34B 语言模型。它由 Proof-Pile-2 上继续对代码 Llama 进行预训练得到的。

降迹灵AI
降迹灵AI

用户口碑TOP级的降AIGC率、降重平台

下载


​参数少近一半,性能逼近谷歌Minerva,又一个数学大模型开源了

DATA: Proof-Pile-2 

研究者创建了 Proof-Pile-2,这是一个 55B token 的科学论文、包含数学的网络数据和数学代码的混合物。除了 Lean proofsteps 子集之外,Proof-Pile-2 的知识截止日期为 2023 年 4 月。

​参数少近一半,性能逼近谷歌Minerva,又一个数学大模型开源了

数值模拟、计算机代数系统和形式定理证明器等计算工具对数学家的重要性与日俱增。因此,研究者创建了代数堆栈(AlgebraicStack),这是一个包含 17 种语言源代码的 11B token 数据集,涵盖数值数学、符号数学和形式数学。该数据集由来自 Stack、GitHub 公共资源库和形式证明步骤数据的过滤代码组成。表9显示了AlgebraicStack 中各语言的 token 数量。

​参数少近一半,性能逼近谷歌Minerva,又一个数学大模型开源了

AlgebraicStack 中各语言的 token 数。

研究者了使用 OpenWebMath,这是一个由高质量网页组成的 15B  token 数据集,其中过滤了数学内容。OpenWebMath 根据数学相关关键词和基于分类器的数学评分过滤 CommonCrawl 网页,保留数学格式(如 LATEX、AsciiMath),并包含额外的质量过滤器(如 plexity、domain、length)和近似重复。

除此之外,研究者还使用了 RedPajama 的 ArXiv 子集,它是 LLaMA 训练数据集的开放再现。ArXiv 子集包含 29B 个词块。训练混合数据由少量一般领域数据组成,起到了正则化的作用。由于 LLaMA 2 的预训练数据集尚未公开,研究者使用 Pile 作为替代训练数据集。

模型和训练

每个模型都是从 Code Llama 初始化而来,该模型又初始化自 Llama 2,使用仅解码器(deconder only)的 transformer 结构,在 500B 的代码 token 上训练而成。研究者使用标准自回归语言建模目标,在 Proof-Pile-2 上继续训练 Code Llama 模型。这里,LLEMMA 7B 模型有 200B token,LLEMMA 34B 模型有 50B token。

研究者使用 GPT-NeoX 库在 256 个 A100 40GB GPU 上,以 bfloat16 混合精度来训练以上两个模型。他们为 LLEMMA-7B 使用了世界大小为 2 的张量并行,为 34B 使用了世界大小为 8 的张量并行,以及跨数据并行副本的 ZeRO Stage 1 分片优化器状态。此外还使用 Flash Attention 2 来提高吞吐量并进一步降低内存需求。

LLEMMA 7B 经过了 42000 步的训练,全局 batch 大小为 400 万个 token,上下文长度为 4096 个 token。这相当于 23000 个 A100 时。学习率在 500 步后预热到了 1・10^−4,然后在 48000 步后将余弦衰减到最大学习率的 1/30。

LLEMMA 34B 经过了 12000 步的训练,全局 batch 大小同样为 400 万个 token,上下文长度为 4096。这相当于 47000 个 A100 时。学习率在 500 步后预热到了 5・10^−5,然后衰减到峰值学习率的 1/30。

评估结果

在实验部分,研究者旨在评估 LLEMMA 是否可以作为数学文本的基础模型。他们利用少样本评估来比较 LLEMMA 模型,并主要关注没有在数学任务监督样本上进行微调的 SOTA 模型。

研究者首先使用思维链推理和多数投票(majority voting)方法来评估 LLEMMA 求解数学题的能力,评估基准包括了 MATH 和 GSM8k。然后探索使用少样本工具和定理证明。最后研究了内存和数据混合的影响。

使用思维链(CoT)求解数学题

这些任务包括为 LATEX 或自然语言表示的问题生成独立的文本答案,而无需使用外部工具。研究者使用到的评估基准有 MATH、GSM8k、 OCWCourses、SAT 和 MMLU-STEM。

结果如下表 1 所示,LLEMMA 在 Proof-Pile-2 语料库上的持续预训练在 5 个数学基准上均提升了少样本性能,其中 LLEMMA 34B 在 GSM8k 上比 Code Llama 提高了 20 个百分点,在 MATH 上比 Code Llama 提高了 13 个百分点。同时 LLEMMA 7B 优于专有的 Minerva 模型。

因此,研究者得到结论,在 Proof-Pile-2 上进行持续预训练有助于提升预训练模型求解数学题的能力。

​参数少近一半,性能逼近谷歌Minerva,又一个数学大模型开源了

使用工具求解数学题

这些任务包括使用计算工具来解题。研究者使用到的评估基准有 MATH+Python 和 GSM8k+Python。

结果如下表 3 所示,LLEMMA 在这两项任务上均优于 Code Llama。同时使用工具后在 MATH 和 GSM8k 上的性能也优于没有工具的情况。

​参数少近一半,性能逼近谷歌Minerva,又一个数学大模型开源了

形式数学

Proof-Pile-2 的 AlgebraicStack 数据集拥有 15 亿 token 的形式数学数据,包括提取自 Lean 和 Isabelle 的形式化证明。虽然对形式数学的全面研究超出了本文的探讨范围,但研究者在以下两个任务上评估了 LLEMMA 的少样本性能。

​参数少近一半,性能逼近谷歌Minerva,又一个数学大模型开源了

非形式到形式证明任务,即在给定形式命题、非形式 LATEX 命题和非形式 LATEX 证明的情况下,生成一个形式证明;

形式到形式证明任务,即通过生成一系列证明步骤(或策略)来证明一个形式命题。

结果如下表 4 所示,LLEMMA 在 Proof-Pile-2 上的持续预训练在两个形式定理证明任务上提升了少样本性能。

数据混合的影响

训练语言模型时,一种常见的做法是根据混合权重对训练数据的高质量子集进行上采样。研究者在几个精心挑选的混合权重上进行了短期训练,以此选择混合权重。接着选择了在一组高质量 held-out 文本(这里使用了 MATH 训练集)上能够最小化困惑度的混合权重。

下表 5 显示了使用 arXiv、web 和代码等不同数据混合训练后,模型的 MATH 训练集困惑度。

​参数少近一半,性能逼近谷歌Minerva,又一个数学大模型开源了

更多技术细节和评估结果参阅原论文。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

707

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

624

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

734

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

616

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1234

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

573

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

695

2023.08.11

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

10

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 2.4万人学习

Go 教程
Go 教程

共32课时 | 2.9万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 1.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号