Hugging Face Open LLM Leaderboard DROP 基准分析

TL;DR

Hugging Face 已从 Open LLM Leaderboard 中移除 DROP(离散段落推理)基准。一次技术深度剖析揭示,该基准的原始实现——在 EleutherAI Harness 中被复现——包含了在归一化和生成停止令牌方面的关键缺陷,这些缺陷系统性地惩罚了高性能模型,并使得浮点答案失效。

DROP 基准及初始异常

DROP 要求模型从英文段落中提取信息,并执行离散推理步骤(如计数或排序)以得到最终答案。性能通过自定义的 F1 和精确匹配分数来衡量。

在将 DROP 整合到 Open LLM Leaderboard 后,Hugging Face 观察到得分呈双峰分布:虽然少数模型的 DROP 得分与其总体排行榜平均分(ARC、HellaSwag、TruthfulQA 和 MMLU)呈相关,但绝大多数模型的 F1 得分被卡在了 10 以下,与其整体能力无关。

根本原因 1:归一化失败

调查发现,归一化过程在答案后跟随非标准空格的空白字符(例如换行)时,未能正确识别数值答案。

失败机制如下:

  1. 分离: 系统在 |- 上拆分字符串。
  2. 标点移除: 移除标点。
  3. 数值同质化: 可转换为浮点数的字符串会被转换为浮点数,然后再转回字符串(例如,10 变为 10.0)。

如果模型生成了正确答案后跟随一个换行符(例如,`10

Passage:),归一化步骤将无法将整个字符串转换为浮点数。因此,答案被视为非数值字符串,无法与归一化为 10.0` 的黄金答案匹配。即使模型预测了正确值,这也会导致失败。

根本原因 2:停止令牌干扰

与 Zeno 的协作分析表明,使用句点(.)作为生成的停止令牌导致了两个额外的系统性问题:

  • 浮点擦除: 由于停止令牌是句点,任何需要浮点数的答案(例如,12.25)会在小数点处立即被中断,使得任何模型都无法得到正确的浮点结果。
  • 长格式答案的惩罚: 尝试遵循 few-shot 提示格式的高质量模型常常会在答案后生成一个看似合理的下一个问题的提示。由于生成仅在该后续提示中遇到的第一个句点时停止,模型会生成过多的令牌,从而降低 F1 分数。

影响与解决方案

Hugging Face 通过将生成的答案在第一个换行符( )处分割,而不是在句号处分割,测试了一个部分修复。此近似方法显示出 DROP 得分与整体模型性能之间有更强的相关性,证实停止令牌是导致结果偏斜的主要驱动因素。

然而,完全修复需要重新运行超过 50% 的示例——包括所有受归一化影响的浮点答案——这将需要巨量的 GPU 时间。

由于 EleutherAI Harness 的实现严格遵循原始的 “官方 DROP” 代码,Hugging Face 得出结论:该基准的评估逻辑本身存在缺陷。因此,DROP 已从 Open LLM Leaderboard 中移除,直至开发出新的、已修正的评估版本。团队目前正在呼吁社区和学术界合作,以修复评分和归一化逻辑。

Sources