`gsm8k_postprocess` 会在千位分隔符处断开数值答案(`\boxed{$9{,}500}` → `500`, `\boxed{8,000}` → `000`)
作者: laa1991创建于 2026年9月18日更新于 2026年9月18日
最小重现:
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