
深度学习自然语言处理 原创 作者:Winnie
今天向大家介绍一个新的开源大语言模型——LLEMMA,这是一个专为数学研究而设计的前沿语言模型。

LLEMMA解数学题的一个示例
LLEMMA的诞生源于在Proof-Pile-2数据集上对Code Llama模型的深度训练。这个数据集是一个科学论文、数学相关网页和数学代码的综合体。
过去虽然有数学专用的模型,但许多模型都有各种限制。例如,有的模型是封闭访问,这使得它们无法为更广泛的研究所用。有的则技术上稍显落后。
但LLEMMA的出现改变了这一局面。它不仅在MATH基准测试上创下了新高,甚至超越了某些还未对外公开的顶尖模型,如Minerva。更让人欣喜的是,LLEMMA无需额外的调整,即可直接应用于工具和定理证明。
让我们一起了解下这个模型背后的技术吧!

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模型进行预训练。以下是关于该数据集的简要说明:
模型初始化:所有模型都从Code Llama初始化,随后在Proof-Pile-2上接受更多的训练。
训练量:

训练工具和硬件:使用GPT-NeoX库在256个A100 40GB GPU上进行训练。使用了各种先进技术如Tensor并行、ZeRO Stage 1分片优化器状态、Flash Attention 2等以提高效率和减少内存需求。
训练细节:
作者通过少样本评估对LLEMMA模型进行比较,并专注于没有进行微调的最新模型。具体来说,他们使用了使用思维链推理和多数投票,在MATH和GSM8k等基准上进行了评估。
评估范围:
评估数据集和任务:
作者与以下模型进行了比较:
对于开源的模型,作者使用他们的评估套件来报告分数,该套件是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上的继续预训练对于提高预训练模型的数学问题解决能力是有效的。


此外,LLEMMA是在与数学相关的多样化数据上预训练的,而不是为特定任务进行调优。因此,预期LLEMMA可以通过任务特定的微调和少样本提示适应许多其他任务。
这些任务涉及在有计算工具的情况下解决问题,主要评估了以下内容:
如下表所示,LLEMMA在两个任务上都优于Code Llama。它在MATH和GSM8k上使用工具的性能也高于它在没有工具的这些数据集上的性能。

交互式证明助手,例如Lean和Isabelle,使用特殊的编程语言来帮助验证数学证明。但是,与常见的编程语言相比,这些特殊语言的数据非常少。
LLEMMA模型经过进一步的预训练,以处理与这些证明相关的任务。在给定问题、非正式证明和正式声明后,LLEMMA可以生成Isabelle代码的正式证明。此外,模型还可以根据证明助手给出的状态,生成证明的下一个步骤。

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

在训练语言模型时,经常会根据混合权重提高训练数据中高质量子集的样本频率。作者通过在多个手动选择的混合权重上进行短期训练,然后选择在高质量保留文本上(使用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%。

作者发现,30-gram匹配与各个难度级别的准确性之间没有明确的关系。这意味着测试示例和训练文档之间的重要匹配,并不意味着模型生成了一个记忆中的正确答案。
此外,作者还检查了LLEMMA在MATH生成中与OpenWebMath之间的30-gram匹配,发现了13个匹配,这些匹配发生在模型生成了一系列常见的数字序列时,例如斐波那契数列,以及一次多项式因式分解的情况。这些观察结果值得进一步研究。
在这篇研究中,研究团队成功地推出了LLEMMA和Proof-Pile-2,这是专为数学语言建模设计的大语言模型和语料库。他们公开了模型、数据集和相关代码。
研究揭示,LLEMMA在开放权重模型的数学问题解决标准测试上的表现尤为出众,它不仅能通过Python代码娴熟地调用外部工具,还在定理证明中展示了少样本策略预测的高效实用性。此外,该团队深入探讨了模型在解决数学问题时的卓越性能。
LLEMMA的出现,为我们展现了数学与人工智能融合的新前景。随着LLEMMA和Proof-Pile-2的应用,期望在未来更能深化对语言模型的泛化能力、数据集结构的认知,探索将语言模型作为数学助手的可能性,并不断提升其处理数学问题的能力。