JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

當基準測試說謊:污染、飽和與可重現性

高分不等於有能力的模型。那些悄悄灌水或攪亂數字的失效模式。

古德哈特定律找上基準測試

「當一個量測變成目標,它就不再是好的量測。」每個公開基準測試同時也是實驗室最佳化的目標——無論是直接針對,還是耳濡目染。所以分數上升可能代表兩件非常不同的事:模型在底層技能上真的變強了,或者模型只是更會考這份試了。誠實地評估大型語言模型,就是不斷區分這兩者。

污染:測試題進了訓練集

最尖銳的失效是基準測試污染(benchmark contamination):基準測試的題目與答案外洩進了模型的訓練資料。預訓練爬取了大半個網路,而基準測試就活在網路上,所以模型可能背下了它正被測試的那些確切答案。此時分數量測的是對外洩資料的回憶,而非基準測試本想探測的技能。

基准测试假设训练数据与测试数据之间有一道干净的隔离墙;当测试题泄漏进预训练时,这道墙就被污染破坏了。

一个数据集被划分为独立的训练集、验证集和测试集。

防禦分為偵測與預防。污染偵測(contamination detection)尋找蛛絲馬跡——測試題上異常低的困惑度,或一旦把題目稍微改寫就崩潰的近乎滿分。預防則偏向無污染評估(contamination-free evaluation):保留私有測試集、用模型訓練截止日之後才建立的基準測試,或現場新生成、模型不可能看過的題目。

\mathrm{PPL}(x)=\exp\!\left(-\frac{1}{N}\sum_{i=1}^{N}\log p(x_i\mid x_{<i})\right)

污染的一个迹象:模型在测试题上的困惑度异常偏低,因为它实际上已经把答案背了下来。

飽和:我們撞上的天花板

即使是乾淨的基準測試也會死於成功。基準測試飽和(benchmark saturation)發生在頂尖模型都擠在接近滿分處——92%、93%、94%——基準測試再也分不出它們。更糟的是,剩下的差距往往大半是標錯的題目與模稜兩可的問題,所以追逐最後幾分,就是在擬合基準測試的雜訊,而非真實技能。

飽和正是這個領域不斷汰換基準測試的原因:MMLU 讓位給 MMLU-Pro 與 GPQA;簡單的數學題組讓位給競賽級的。一個有用的評估需要成長空間——題目要夠難,難到今天最好的模型也會明顯答錯一部分。

可重現性:同一個模型,不同分數

把「同一份」基準測試跑兩次,你可能得到不同數字——這是可重現性(reproducibility)的失效。罪魁禍首平凡卻巨大:確切的提示模板、有沒有用少樣本(few-shot)範例、怎麼從模型文字裡解析出答案、取樣溫度、停止序列,甚至函式庫版本。兩篇都回報 MMLU 的論文,純粹因為這些選擇就可能差到十分。

\widehat{\mathrm{acc}}=\frac{1}{N}\sum_{i=1}^{N}\mathbf{1}[\hat{y}_i=y_i]\;\pm\;z\,\sqrt{\frac{\widehat{\mathrm{acc}}\,(1-\widehat{\mathrm{acc}})}{N}}

排行榜上的数字是带有误差范围的估计值,而非固定真相——这正是为何脱离评测协议的分数毫无意义。

帶著健康的懷疑讀排行榜

把這些合起來,一個基準測試數字在你相信它之前該通過三問。測試題可能洩漏進訓練了嗎(污染)?這個基準測試還能區分模型,還是大家都把它做滿了(飽和)?它是在你能重現的流程下跑出來的嗎(可重現性)?三關都過的分數有參考價值;任何一關沒過的,就是一個行銷數字。