安爸-超级家庭

大模型评估排障指南 | 关于 LaTeX 公式解析

安爸 发布于

这是 大模型评估排障指南 系列文章的第二篇,敬请关注系列文章:

  • 关于推理
  • 关于 公式解析
  • 关于可复现性

解析 LaTeX 很难。这个问题在评估输出为 的模型时经常会遇到,例如 Hugging Face 的数学评估基准。https://hf.co/datasets/lighteval/MATH

这个基准使用 来表示数学领域的计算和符号。评估难点在于对模型输出与标准答案的解析和比较。 结果表明,解析 没有标准方法。


摘自sympy文档

lm-evaluation 框架使用sympy(一个用于符号数学的 Python 库) 来对 LaTeX 进行解析和比较。 使用 sympy 解析真值 (用真值自身对比测试) 只能得到约 0.94 的准确率。 怎么会是这样呢?后来发现 sympy 无法解析某些 (标准的 ) 表达式。https://github.com/sympy/sympy

例如:

couldn't parse one of [0,1) 或 [0,1), I expected one of these: ']' [0,1) ~~^

`couldn't parse one of (-\iny,-5]\cup[5,\iny) or (-\iny,-5]\cup[5,\iny), I expected something else here
(-\iny,-5]\cup[5,\iny)


`

`couldn't parse one of -\frac{1}{{}2x} or -\frac{1}{{}2x}, I don't understand this  
-\frac{1}{{}2x}  
~~~~~~~~~~~^  
`

### 如何缓解这个问题?

重写 语法解析模块并在代码中添加必须功能;或者往代码里添加人工检查来提高模型得分。 在几乎陷入问题陷阱之后,我们认为在代码中添加字符串比较检查差不多就能缓解这个问题了。https://github.com/sympy/sympy/blob/master/sympy/parsing/latex/lark/grammar/latex.lark

![](https://mmssai-1331437701.cos.ap-shanghai.myqcloud.com/images/2025-05/5LJDib8HPR2oShyFo8a5DVwxGh9UHSutNvCic34mL5RGUFBGFmErmBZJozeeqjRwqDJOsBtqzNwHDhMF7SibFyYSQ.png)  
_LM 评估工具修复_

### 结果

修复前后模型 Top 25 对比结果表格如下:

![](https://mmssai-1331437701.cos.ap-shanghai.myqcloud.com/images/2025-05/5LJDib8HPR2oShyFo8a5DVwxGh9UHSutNC8F8qmLl2sZfFNxjVn3h9bfaLb68ZJVYeJS6tVI3LsTWxdsGRlHOxw.png)

---

> 英文原文: https://raw.githubusercontent.com/huggingface/evaluation-guidebook/refs/heads/main/contents/troubleshooting/troubleshooting-math-parsing.md
> 
> 原文作者: Nathan Habib
> 
> 译者: SuSung-boy
> 
> 审校: Adeena

(文:Hugging Face)

[大模型评估排障指南 | 关于 LaTeX 公式解析](https://mmssai.com/archives/39296)最先出现在[每时AI](https://mmssai.com)。

扫描二维码,在手机上阅读