最近,開放 LLM 排行榜 迎來了 3 個新成員: Winogrande、GSM8k 以及 DROP,它們都使用了 EleutherAI Harness 的原始實現(xiàn)。一眼望去,我們就會發(fā)現(xiàn) DROP 的分數(shù)有點古怪: 絕大多數(shù)模型的 F1 分數(shù)都低于 10 分 (滿分 100 分)!我們對此進行了深入調(diào)查以一探究竟,請隨我們一起踏上發(fā)現(xiàn)之旅吧!
初步觀察
在 DROP (Discrete Reasoning Over Paragraphs,段落級離散推理) 評估中,模型需要先從英文文段中提取相關(guān)信息,然后再對其執(zhí)行離散推理 (例如,對目標對象進行排序或計數(shù)以得出正確答案,如下圖中的例子)。其使用的指標是自定義 F1 以及精確匹配分數(shù)。
三周前,我們將 DROP 添加至開放 LLM 排行榜中,然后我們觀察到預(yù)訓(xùn)練模型的 DROP F1 分數(shù)有個奇怪的趨勢: 當(dāng)我們把排行榜所有原始基準 (ARC、HellaSwag、TruthfulQA 和 MMLU) 的平均分 (我們認為其一定程度上代表了模型的總體性能) 和 DROP 分數(shù)作為兩個軸繪制散點圖時,我們本來希望看到 DROP 分數(shù)與原始均分呈正相關(guān)的關(guān)系 (即原始均值高的模型,DROP 分數(shù)也應(yīng)更高)。然而,事實證明只有少數(shù)模型符合這一預(yù)期,其他大多數(shù)模型的 DROP F1 分數(shù)都非常低,低于 10。
文本規(guī)范化的鍋
第一站,我們觀察到文本規(guī)范化的結(jié)果與預(yù)期不符: 在某些情況下,當(dāng)正確的數(shù)字答案后面直接跟有除空格之外的其他空白字符 (如: 換行符) 時,規(guī)范化操作導(dǎo)致即使答案正確也無法匹配。舉個例子,假設(shè)生成的文本是 10\n\nPassage: The 2011 census recorded a population of 1,001,360
,而對應(yīng)的標準答案為 10
。
測試基準會先對生成文本和標準答案文本都進行文本規(guī)范化,整個過程分為多個步驟:
-
按分隔符 (
|
、-
或
生成文本的開頭10\n\nPassage:
并不包含分隔符,因此會被放進同一個詞元 (即第一個詞元) ; -
刪除標點符號
刪除標點后,第一個詞元會變?yōu)?10\n\nPassage
(:
被刪除); -
數(shù)字均質(zhì)化
每個可以轉(zhuǎn)換為浮點數(shù)的字符串都會被視為數(shù)字并轉(zhuǎn)換為浮點數(shù),然后再重新轉(zhuǎn)回字符串。10\n\nPassage
保持不變,因為它不能被轉(zhuǎn)換為浮點數(shù),而標準答案的10
變成了10.0
。 -
其他步驟
隨后繼續(xù)執(zhí)行其他規(guī)范化步驟 (如刪除冠詞、刪除其他空格等),最終得到的規(guī)范化文本是:10 passage 2011.0 census recorded population of 1001360.0
。
最終得分并不是根據(jù)字符串計算而得,而是根據(jù)從字符串中提取的詞袋 (bag of words,BOW) 計算而得。仍用上例,規(guī)范化后的生成文本詞袋為 {'recorded', 'population', 'passage', 'census', '2011.0', ' 1001360.0', '10'}
,而規(guī)范化后的標準答案詞袋為 {10.0}
,兩者求交,正如你所看到的,即使模型生成了正確答案,兩者交集也為 0!
總之,如果一個數(shù)字后面跟著除標準空格字符外的任何其它表示空格的字符,目前的文本規(guī)范化實現(xiàn)就不會對該數(shù)字進行規(guī)范化,因此如果此時標準答案也是一個數(shù)字,那么兩者就永遠無法匹配了!這個問題可能給最終分數(shù)帶來嚴重影響,但顯然這并是導(dǎo)致 DROP 分數(shù)如此低的唯一罪魁禍首。我們決定繼續(xù)調(diào)查。
對結(jié)果進行深入研究
我們在 Zeno 的朋友加入了調(diào)查并對結(jié)果 進行了更深入的探索,他們選擇了 5 個有代表性的模型進行深入分析: falcon-180B 和 mistra-7B 表現(xiàn)低于預(yù)期,Yi-34B 和 Tigerbot-70B 的 DROP 分數(shù)與原始均分正相關(guān),而 facebook/xglm-7.5B 則落在中間。
如果你有興趣的話,也可以試試在 這個 Zeno 項目 上分析一把。
Zeno 團隊發(fā)現(xiàn)了兩件更麻煩的事情:
- 如果答案是浮點數(shù),沒有一個模型的結(jié)果是正確的
- 擅長生成長答案的高質(zhì)量模型 F1 分數(shù)反而更低
最后,我們認為這兩件事情實際上是同一個根因引起的,即: 使用 .
作為停止詞 (以結(jié)束生成):
- 浮點數(shù)答案在生成過程中直接被截斷了 [譯者注: 小數(shù)點被當(dāng)成句號直接中斷輸出了。]
- 更高質(zhì)量的模型,為了嘗試匹配少樣本提示格式,其生成會像這樣
Answer\n\nPlausible prompt for the next question.
,而按照當(dāng)前停止詞的設(shè)定,該行為僅會在結(jié)果生成后且遇到第一個.
停止,因此模型會生成太多多余的單詞從而導(dǎo)致糟糕的 F1 分數(shù)。
我們假設(shè)這兩個問題都可以通過使用 \n
而不是 .
來充當(dāng)停止詞而得到解決。
更改生成停止詞
我們對此進行了初步實驗!我們試驗了在現(xiàn)有的生成文本上使用 \n
作為結(jié)束符。如果生成的答案中有 \n
,我們就在遇到第一個 \n
時截斷文本,并基于截斷文本重新計算分數(shù)。
請注意,這只能近似正確結(jié)果,因為它不會修復(fù)由于 .
而過早截斷的答案 (如浮點數(shù)答案)。但同時,它也不會給任何模型帶來不公平的優(yōu)勢,因為所有模型都受這個問題的影響。因此,這是我們在不重新運行模型的情況下 (因為我們希望盡快向社區(qū)發(fā)布進展) 能做的最好的事情了。
結(jié)果如下。使用 \n
作為停止詞后,DROP 分數(shù)與原始均分的相關(guān)度提高不少,因此模型的 DROP 分數(shù)與模型原始的總體表現(xiàn)相關(guān)度也變高了。
那下一步咋整
快速估算一下,重新對所有模型運行完整評估的成本相當(dāng)高 (全部更新需花 8 個 GPU 年,DROP 占用了其中的很大一部分)。因此,我們對僅重新運行失敗的例子所需要的成本進行了估算。
有 10% 樣本的標準答案是浮點數(shù) (如 12.25
),且模型輸出以正確答案開頭 (本例中為 12
),但在 .
處被截斷 - 這種情況如果繼續(xù)生成的話,有可能答案是正確的,因此我們肯定要重新運行!但這 10% 尚不包括以數(shù)字結(jié)尾的句子,這類句子也可能會被不當(dāng)截斷 (在剩下的 90% 中占 40%),也不包括被規(guī)范化操作搞亂掉的情況。
因此,為了獲得正確的結(jié)果,我們需要重新運行超過 50% 的樣本,這需要大量的 GPU 時!我們需要確保這次要運行的代碼是正確的。
于是,我們與 EleutherAI 團隊通過 GitHub 及內(nèi)部渠道進行了廣泛的討論,他們指導(dǎo)我們理解代碼并幫助我們進行調(diào)查,很明顯,LM Eval Harness 的實現(xiàn)嚴格遵循了“官方 DROP 代碼”的實現(xiàn),因此這不是 LM Eval Harness 的 bug,而是需要開發(fā) DROP 基準評估的新版本!
因此,我們決定暫時從 Open LLM 排行榜中刪除 DROP,直到新版本出現(xiàn)為止。
從本次調(diào)查中我們學(xué)到的一點是,通過社區(qū)協(xié)作對基準測試進行檢閱,能發(fā)現(xiàn)以前遺漏的錯誤,這一點很有價值。開源、社區(qū)和開放式研發(fā)的力量再次閃耀,有了這些,我們甚至可以透明地調(diào)查一個已經(jīng)存在數(shù)年的基準上的問題并找到根因。
我們希望有興趣的社區(qū)成員與發(fā)明 DROP 評估的學(xué)者聯(lián)手,以解決其在評分及文本規(guī)范化上的問題。我們希望能再次使用它,因為數(shù)據(jù)集本身非常有趣而且很酷。如國你對如何評估 DROP 有任何見解,請不要猶豫,告訴我們。
感謝眾多社區(qū)成員指出 DROP 分數(shù)的問題,也非常感謝 EleutherAI Harness 和 Zeno 團隊在此問題上的大力協(xié)助。
英文原文: https://hf.co/blog/leaderboard-drop-dive
原文作者: Clémentine Fourrier,Alex Cabrera,Stella Biderman,Nathan Habib,Thomas Wolf文章來源:http://www.zghlxwxcb.cn/news/detail-792040.html
譯者: Matrix Yao (姚偉峰),英特爾深度學(xué)習(xí)工程師,工作方向為 transformer-family 模型在各模態(tài)數(shù)據(jù)上的應(yīng)用及大規(guī)模模型的訓(xùn)練推理。文章來源地址http://www.zghlxwxcb.cn/news/detail-792040.html
到了這里,關(guān)于開放 LLM 排行榜: 深入研究 DROP的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!