Hugging Face Open LLM 排行榜 DROP 基準測試分析

TL;DR

Hugging Face 已從 Open LLM 排行榜中移除 DROP (Discrete Reasoning Over Paragraphs) 基準測試。技術深度分析發現,該基準測試的原始實現——在 EleutherAI Harness 中被重現——在歸一化和生成停止詞方面存在關鍵缺陷,系統性地懲罰高效能模型並使浮點數答案失效。

DROP 基準測試與初步異常

DROP 要求模型從英文段落中提取資訊,並執行離散推理步驟(例如計數或排序)以得到最終答案。效果使用自訂的 F1 和精確匹配分數來衡量。

在將 DROP 整合到 Open LLM 排行榜時,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 提示格式的高品質模型常會在答案後生成下一個問題的合理提示。由於生成僅在該後續提示中遇到的第一個句點時停止,模型會產生過多的 token,從而降低 F1 分數。

影響與解決方案

Hugging Face 透過將生成的答案在第一個換行符 ( ) 而非句點處進行分割來測試部分修復。此近似方法顯示出 DROP 分數與整體模型效能之間有更強的相關性,證實停止詞是導致結果偏斜的主要驅動因素。

然而,完整修正將需要重新運行超過 50% 的範例——包括所有受歸一化影響的浮點數答案——這將需要龐大的 GPU 時間。

由於 EleutherAI Harness 的實現嚴格遵循原始的「官方 DROP」程式碼,Hugging Face 得出結論:該基準測試的評估邏輯本身有缺陷。因此,DROP 已從 Open LLM 排行榜中移除,直至開發出新的、經過修正的評估版本。團隊目前正在號召社群與學術界合作,以修復評分和歸一化邏輯。

Sources