这是 大模型评估排障指南 系列文章的第二篇,敬请关注系列文章:
- 关于推理
- 关于 \LaTeX 公式解析
- 关于可复现性
解析 LaTeX 很难。这个问题在评估输出为 \LaTeX 的模型时经常会遇到,例如 Hugging Face 的 数学评估基准。
这个基准使用 \LaTeX 来表示数学领域的计算和符号。评估难点在于对模型输出与标准答案的解析和比较。
结果表明,解析 \LaTeX 没有标准方法。
摘自 sympy
文档
lm-evaluation 框架使用 sympy
(一个用于符号数学的 Python 库) 来对 latex 进行解析和比较。
使用 sympy
解析真值 (用真值自身对比测试) 只能得到约 0.94 的准确率。
怎么会是这样呢?后来发现 sympy
无法解析某些 (标准的 \LaTeX) 表达式。
例如:
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}
~~~~~~~~~~~^
如何缓解这个问题?
重写 \LaTeX 语法解析模块 并在代码中添加必须功能;或者往代码里添加人工检查来提高模型得分。
在几乎陷入问题陷阱之后,我们认为在代码中添加字符串比较检查差不多就能缓解这个问题了。
LM 评估工具修复
结果
修复前后模型 Top 25 对比结果表格如下:
原文作者: Nathan Habib
译者: SuSung-boy
审校: Adeena