LiveCodeBench 排行榜:無汙染的程式碼 LLM 評估
Hugging Face 已推出 LiveCodeBench 排行榜,這是一個由加州大學伯克利分校、麻省理工學院與康乃爾大學的研究人員開發的新評估框架。此基準旨在透過從競賽程式設計平台隨時間收集的題目,提供對大型語言模型(LLM)程式編寫能力的全方位且無汙染的測量。
透過時間評估防止基準汙染
LiveCodeBench 透過為每個程式題目標註發布日期,解決了基準汙染的關鍵問題——模型在之後被評估的測試資料上已經接受過訓練——。這讓研究人員能實施「隨時間滾動」的策略:對於訓練截止日期為 D 的模型,基準僅使用在 D 之後發布的題目計算分數。此舉確保模型在真正未見過的題目上進行評估,提供更精確的泛化度量,而非記憶能力的衡量。
全面評估情境
與僅聚焦於程式碼生成的傳統基準不同,LiveCodeBench 使用從 LeetCode、AtCoder 與 CodeForces 精選的題目,評估四種不同的程式編寫情境。所有情境皆以 Pass@1 指標評估,該指標計算正確答案與總嘗試次數的比例。
程式碼生成
模型會收到自然語言的題目說明與範例測試。目標是產生正確的解答,然後透過一組隱藏測試案例以功能正確性進行評估。
自我修復
此情境測試模型自行迭代程式碼的能力。若模型產生了錯誤的程式,會提供錯誤回饋——例如例外訊息或失敗的測試案例——模型必須產生修正以達到功能正確性。
程式碼執行
模型的任務是預測在給定測試輸入時,特定程式片段(函式)的輸出。正確性取決於模型預測的輸出是否與執行該函式後的實際結果相符。
測試輸出預測
在此情境中,模型會得到題目說明與測試案例的輸入。模型必須在未看到函式實作的情況下產生該輸入的預期輸出。此評估使用精確匹配檢查器。
主要發現與模型表現
初步評估顯示,模型排名會因特定程式編寫情境而異,暗示不同模型在推理與執行方面具備不同的強項。
- GPT-4-Turbo: 此模型在大多數情境中表現最佳。它在自我修復任務上展現出特別大的優勢,顯示出高度利用編譯器回饋的能力。
- Claude-3-Opus: 此模型在測試輸出預測情境中優於 GPT-4-Turbo,暗示其在自然語言推理方面具備卓越能力。
- Mistral-Large: 此模型在自然語言推理任務上表現顯著更佳,包括程式碼執行與測試輸出預測。
提交與貢獻
LiveCodeBench 框架為開源,資料集與程式碼可在 Hugging Face 與 GitHub 上取得。開發者可使用 lcb_runner 模組評估其模型,並透過官方表單提交結果,以納入排行榜。