評測科學主線 · 已完稿
Benchmark Half-Life: The Discriminative Lifetime of Language-Model Leaderboards
原文:Benchmark Half-Life
6 頁 · 149 KB · PDF
56 個 macro,正文零手打數字;由 Opus 4.8 端到端跑完 G0–G6。
開啟 →這篇同時是一個對照實驗:同一套軌道換一個模型執行,品質會不會一樣?SAVE 是 Fable 5 跑的,這篇由 Opus 4.8 端到端跑完,走完全相同的 G0–G6 關卡。結論是品質是軌道的性質,不是模型的性質——兩篇的失誤都被同樣的機制攔下來,而不是靠模型自己的自覺。
退役一份 benchmark 目前是憑感覺。這篇問能不能算。
當所有模型都考 95 分,這份考卷就沒用了。實務上 benchmark 的退役是維護者的定性判斷:「大家分數都太高了,換一份吧」。這篇問:這個判斷能不能變成一個可以事前算出來的數字?
定義一個叫 frontier discriminability(前沿鑑別力,記為 D*) 的量:在固定 1000 題的評測預算下,頂端模型配對中「分數差達到統計顯著」的比例。關鍵設計是它只需要總分與題數,不需要逐題資料——這一步把資料取得的風險降到幾乎為零,因為公開排行榜只公佈總分。
結果 D* 呈現一個生命週期:先隨模型能力上升(地板效應被壓縮)、到頂、然後進入飽和衰退。而飽和那一段是指數衰退,於是可以定義一個半衰期。
十個 benchmark 的鑑別力生命週期。已退役的那一組坡度明顯更陡 —— 這就是 3.6 倍。
56 個 macro,全部由腳本從 results JSON 注入。
這個對比是本篇的重點:Open LLM Leaderboard 從 v1 換到 v2 時退役了 5 個 benchmark、留下 5 個。如果半衰期真的量到了「還能不能分辨模型」,那被退役的那批應該衰退得比較快。結果正是如此,而且差 3.6 倍。這等於用數字事後重建了一個當年憑定性判斷做出的決定。
外部效度檢查:把飽和段的衰退外推到一段沒有用來擬合的、能力更高的模型切片,在 5 個有把握的擬合中有 4 個贏過「不衰退」的平坦基準(MMLU 是例外)。
這篇的價值有一半在於它是對照組。
SAVE 是 Fable 5 跑的,這篇是 Opus 4.8 跑的,兩篇共用同一套關卡定義、同一套「數字只能來自腳本」規則、同一套交付前掃描。差別只有執行的模型。
| 環節 | 做法 | 產物 |
|---|---|---|
| 資料 | 腳本下載 Open LLM Leaderboard v1 / v2 快照 | 11,836 筆,附 schema 抽查 |
| 指標 | 只用(分數、題數)算 D*,不需逐題資料 | 把資料閘門的風險降到最低 |
| 測謊器 | 18 條可執行保證,寫在主分析之前 | 全部通過 |
| 數字入稿 | results JSON → 56 個 LaTeX macro | grep 證明正文 0 個寫死數字 |
| 外部重算 | 另一個 context 從 results 重推 20 個數字 | 20/20 一致 |
交付前做了一次機械掃描:把所有硬約束(不碰排除領域、命名規則、格式)寫成可重跑的 grep 腳本跑一遍。長 session 的尾端,模型對開頭約束的記憶最弱,但掃描腳本不會累。這一關抓到殘留的措辭問題,在交付前清掉。
gates/ 目錄下 8 個檔案,每一關可以獨立稽核。
主張卡 + 拒稿信
`gates/G0_claim_card.md`:一條可否證主張、4 個預先寫好的推翻條件、3 個「誰會因此改變行為」的具名對象
新穎性查證
`gates/G1_novelty.md`:五角度掃描 + 最近鄰表 + 名詞差異分析
資料閘門
`gates/G2_data.md`:下載腳本 + 5 列 schema 檢查
統計測謊器
`gates/G3_stats.md`:18 條可執行保證,先於主分析
分析
`gates/G4_analysis.md`:results JSON + 腳本生成圖
論文
`gates/G5_paper.md`:tectonic 零錯誤
交付前
`gates/G6_final.md`:引用檢查 + 數字一致性 grep + 限制章
這一篇的 self-caught bug 有完整逐條紀錄,是整套方法論最好的證據。
SELF-REPORT.md 逐條記錄了 7 個自己抓到的錯誤。挑三個最有代表性的:
① 差點寫進論文的幻覺引用
搜尋摘要層給了一個「benchmark 中位壽命不到兩年」的統計,並掛在一篇真實論文名下。
回原文全文比對規則發現——那篇論文裡根本沒有這句話。
這是整套方法論最重要的一次攔截。幻覺最危險的形態不是憑空捏造,而是把一個看起來合理的數字掛在真實文獻名下,肉眼幾乎抓不到。
② 擬合器會在純噪音上擠出假的半衰期
測謊器 T4b 專門測「如果資料裡根本沒有衰退,方法會不會硬擠出一個半衰期」。
48% 的機率會給出一個看起來像模像樣的半衰期。這是純數字幻覺。
加了一道斜率顯著性閘門,假陽性從 48% 降到 6.7%。
③ 資料把原本的主張改掉了
鑑別力隨模型能力單調下降。
不是單調的,是先上升(地板效應被壓縮)、到頂、才衰退;而且用原始統計鑑別力會被題數撐高,不是真的分得開。
改成「預算標準化的指標 + 只在飽和段定義半衰期」,並且在論文裡明寫這是一次主張修正,不是一開始就這樣想。
另外還有:v1 的 Flagged 篩選欄位語意跟 v2 不同導致整個榜被清空、MATH Lvl 5 的 metadata 型別錯誤(靠從分數粒度反推題數的自洽檢查抓到)、信賴區間覆蓋不足 87%(改用 bootstrap-t 後回到 90.3%)、以及 LaTeX 巨集名稱不能含數字這種純技術坑。
同一個 context 寫完又自評,會漏在得意的地方。
這篇跑完後,主 context 自己叫起一個全新 context 的對抗審計員,指令是「找出這篇的誇大之處」。結果抓到 6 處措辭過強,全部收斂。
審計員抓到的典型一條
「兩組的半衰期分布不重疊」
「兩組的點估計不重疊(信賴區間重疊)」
這種級別的差異審稿人一定看得出來。自己不改,就是等著被退。
有一組實測數字支持這個做法:同一個構想的自評總分 67、全新 context 冷判 68,總分差不多——但可驗證性那一項差了 3 分。也就是說自評不是全面樂觀,而是專門漏在自己最得意的地方。
都寫在論文裡。
樣本很小
真正進入飽和、能擬合半衰期的只有 3 個已退役 + 2 個仍在用的 benchmark。論文明說這是小樣本重建,不是普世定律。
檢定是保守的
因為沒有逐題資料,用的是非配對檢定,所以量到的鑑別力是真實值的下界。這一點另外用模擬證明給讀者看。
這篇最有價值的產出其實不是半衰期本身,是那份 SELF-REPORT.md——它證明了一件事:只要軌道設計對,模型會把自己的錯誤主動找出來寫成紀錄,而不是藏起來。
PAPER 02 · Benchmark Half-Life · opus-test