`gsm8k_postprocess` 会在千位分隔符处断开数值答案(`\boxed{$9{,}500}` → `500`, `\boxed{8,000}` → `000`)

作者: laa1991创建于 2026年9月18日更新于 2026年9月18日

最小重现:

python
from opencompass.datasets.gsm8k import gsm8k_postprocess

测量结果(从 PyPI 安装的 opencompass 0.5.4):

输入 输出
\boxed{9500} 9500
\boxed{$9{,}500} 500
\boxed{8,000} 000
\boxed{10,000} 000
The answer is $9{,}500. 500

影响:任何包含逗号分隔数字的答案都被提取为一个不同的数字,而且错误是无声的 - 它与模型回答错误是无法区分的。在我们的 GSM8K 运行中(300 个项目,DeepSeek 闪存,每个装置一条线),这是 OpenCompass 在同一批原始答案中与其他两个装置相比的损失的可测量来源之一:其他提取器对相同的响应进行了正确评分。此外,还要注意:同一个后处理器在数字没有分隔符时处理 \boxed{...} 非常好,因此缺陷具体是数字标记中包含的,

内容来源: open-compass/opencompass