使用 Math-Verify 修正 Open LLM 排行榜

发布日期:2025 年 2 月 14 日
在 GitHub 上更新

3 周前,我们展示了正确评估 LLM 在数学问题上表现的难度,并引入了 Math-Verify,这是一个在数学方面验证模型的更好解决方案(更多信息请阅读公告)!

今天,我们很高兴地宣布,我们已使用 Math-Verify 彻底重新评估了提交给 Open LLM 排行榜的所有 3,751 个模型,以实现更公平、更可靠的模型比较!

为什么 Open LLM 排行榜上的数学评估出了问题

Open LLM 排行榜 是 Hugging Face Hub 上使用最广泛的排行榜:它比较了开放式大型语言模型 (LLM) 在各种任务上的性能。其中一项任务,称为 MATH-Hard,专门针对数学问题:它评估 LLM 解决高中和大学水平数学问题的能力。它使用来自 Hendrycks MATH 数据集的 1,324 个最高难度问题(Level 5),分布在 7 个主题(微积分前、初级代数、代数、中级代数、计数/概率和数论)中,采用 5 次采样法(在提示中提供模型 5 个示例,以展示其应如何回答)。

一个典型的问题看起来像这样

For all real numbers $r$ and $s$, define the mathematical operation $\#$ such that the following conditions apply: $r\ \#\ 0 = r, r\ \#\ s = s\ \#\ r$, and $(r + 1)\ \#\ s = (r\ \#\ s) + s + 1$. What is the value of $11\ \#\ 5$?

答案将是

71

在排行榜中,模型必须以一个非常特定的字符串结束其答案(遵循 Minerva-Math 论文

“Final answer is [ANSWER]. I hope it is correct.”

排行榜随后会尝试使用 SymPy 解析 [ANSWER],将其转换为符号表示(如果需要,简化值),最后将其与黄金目标进行比较。

然而,用户报告了上述一些问题。

首先,一个反复出现的问题是某些模型无法遵循示例中预期的答案格式:它们输出其他句子来引入其答案。由于未遵循格式,即使答案实际上是正确的,也被标记为错误!(如果您对“模型在数学方面有多好”特别感兴趣,这是一个问题)。

📄 示例 ❗️问题 ✅ Math-Verify 🛑 旧排行榜
因此,这些三角形之一的周长是 $14 + 7\sqrt{2}$ 英寸,以最简根式形式表示。 提取失败 7*sqrt(2) + 14
因此,无限几何级数的和是 (\frac{7}{9})。 提取失败 7/9
( p(n) ) 和 ( p(n+1) ) 共享一个大于 1 的公因子是 (\boxed{41})。 提取失败 4
所以是 \frac{1}{9} 提取失败 1/9
结论是他有 \boxed{5} 辆车 提取失败 5

下一步,将 [ANSWER] 转换为符号表示也出现了一些问题,这次与 SymPy 解析相关

📄 示例 ❗️问题 ✅ Math-Verify 🛑 旧排行榜
最终答案是 $2x + 4y + z - 19 = 0$。我希望它是正确的。 参数方程的部分解析 Eq(2x + 4y + z - 19, 0) 0
(23) 由于 LaTeX 边框导致提取失败 23
((- \infty, -14) \cup (-3, \infty)). 由于区间导致提取失败 Union(Interval.open(-oo, -14), Interval.open(-3, oo))
100% 由于无效符号导致提取失败 1
\begin{pmatrix}\frac{1}{50}&\frac{7}{50}\frac{7}{50}&\frac{49}{50}\end{pmatrix} 由于矩阵导致提取失败 Matrix([[1/50, 7/50], [7/50, 49/50]])

在最后一步,当将提取的答案与目标表达式进行比较时,也出现了一些问题

📄 示例 ❗️问题 ✅ Math-Verify 🛑 旧排行榜
1/3 == 0.333333 不支持四舍五入 True 否 (False)
sqrt(1/2)*7 == sqrt(0.5)*7 不支持数值评估 True 否 (False)
k = 1 == 1 不支持变量赋值 True 否 (False)
Matrix.ones == Matrix.ones 不支持矩阵等价 True 否 (False)
{1} \union {1,4} == {1,4} 不支持集合比较 True 否 (False)

所有这些问题现在都通过新的 Math-Verify 解析器得到了彻底解决!

哪个模型最擅长数学?得益于更公平的评估,排行榜彻底洗牌

由于所有这些问题往往会累积,一些模型因此受到了严重影响,它们的性能被严重低估……因此我们删除了之前的评估器并添加了 Math-Verify,这就像只修改了 3 行代码一样简单!(您也可以在您的数学评估中尝试一下!)

这意味着重新评估自 6 月份以来提交的所有模型……这彻底改变了排行榜 MATH 子集中的前 20 个模型。

更改的影响

平均而言,模型在整体上多解决了 61 个问题,相当于整体提升了 4.66 分

score_change

表现出最显著改进的两个子集都与代数相关(代数和初级代数),分别获得了 8.276.93 的增长。在极端情况下,一些模型在这些子集上表现出近 90 分的改进。我们认为这些子集之所以能看到最大的改进,是因为它们经常涉及以集合(由于有多个解决方案的问题)和矩阵形式呈现的答案。Math-Verify 增强了对这两种答案类型的处理,从而促成了这些显著的增长。

subset_change

模型家族变化

我们最初在检查 Qwen 模型时发现了数学评估问题,这些模型的得分异常低,与其自我报告的性能相比。在引入 Math-Verify 后,这些模型的得分翻了一倍多,显示出之前对性能的严重低估。

但 Qwen 模型并非个例。另一个受影响的主要家族是 DeepSeek。切换到 Math-Verify 后,DeepSeek 模型的得分几乎翻了两倍!这是因为它们的答案通常被包含在方框 (\boxed{}) 符号中,而旧的评估器无法提取。 model_family_change

MATH-Hard 排行榜的变化

正如开头所述,前 20 名排名发生了显著变化,Nvidia 的 AceMath 模型现在主导着 MATH-Hard 排行榜。此次变化的其他主要受益者是 Qwen 衍生模型,它们现在几乎是 AceMath 之后唯一的模型。以下是比较新旧前 20 名排行榜排名的完整表格

math_hard_leaderboard_change

排行榜的变化

最后,我们检查了整体排行榜结果的演变。虽然前四名保持不变,但其余排名发生了显著变化。由于多个 Qwen 衍生模型在 MATH 子集中的崛起,Qwen 模型在整体结果中进入前 20 名的数量进一步增加。 leaderboard_change

许多其他模型也完全跃升了排名,上升了 200 个或更多名次!您可以在 Open LLM 排行榜上查看更详细的结果。

总结

Math-Verify 的引入显著提高了 Open LLM 排行榜评估的准确性和公平性。这导致了排行榜的洗牌,许多模型的得分有了显著提高。

我们鼓励所有开发人员和研究人员在自己的数学评估中采用 Math-Verify。通过这样做,您可以确保您的模型得到更可靠的结果评估。此外,我们邀请您探索更新后的排名,看看您最喜欢的模型的性能是如何变化的。

社区

太棒了!我之前就提出了 Qwen 模型的问题 :) https://huggingface.co/spaces/open-llm-leaderboard/open_llm_leaderboard/discussions/942

是的,现在已经修复了 :)

📻 🎙️ 嘿,我为这篇博客文章制作了一个播客,快来听听吧!

该播客由 ngxson/kokoro-podcast-generator 生成,使用了 DeepSeek-R1 和 Kokoro-TTS

Math-Verify 能集成到 lighteval 库中吗?

@pulkitmehtawork
据我所知,它已经集成了 :)

这会包含在 lm-evaluation-harness 中吗?

·

Open LLM 排行榜不再是一个活跃的项目 :(

注册登录 以发表评论