史丹佛最新研究:最強LLM也搞不定前瞻程式碼!Gemini 2.5 Pro成功率不足40%

圖片

大家好,我是HxShine。

今天跟大家分享一篇來自史丹佛大學的基準測試文章,Title: ResearchCodeBench: Benchmarking LLMs on Implementing Novel Machine Learning Research Code(ResearchCodeBench:評估大型語言模型對前瞻機器學習程式碼的實現能力)。

大型語言模型能否真正理解並實現前瞻科研論文中提出、在預訓練階段從未見過的新概念呢?為了解答這個問題,研究人員建立了一個名為 ResearchCodeBench 的新基準測試。此基準包含了從2024-2025年頂級會議的20篇最新機器學習論文中,擷取出的212個程式碼編寫任務。

此方法的評估方式是:給定一篇論文及相關的程式碼框架(其中核心程式碼被挖空,構成填空問題),大型語言模型需要閱讀論文,理解其中的創新點,並以程式碼將其補充完整。接著,系統會透過一套由領域專家編寫的嚴謹、可執行的測試案例來自動評估生成程式碼的正確性。

評估結果顯示,即使是目前最頂尖的大型語言模型(如Gemini 2.5 Pro),其成功率也不到40%,這表示在將前瞻科學概念轉化為功能正確的程式碼方面,大型語言模型仍有巨大的進步空間

一、概述

• Title: ResearchCodeBench: Benchmarking LLMs on Implementing Novel Machine Learning Research Code

• URL: https://arxiv.org/abs/2506.02314

• Authors: Tianyu Hua, Harper Hua, Violet Xiang, Benjamin Klieger, Sang T. Truong, Weixin Liang, Fan-Yun Sun, Nick Haber

• Institution: Stanford University

• Code: https://researchcodebench.github.io/

1 動機

• 缺乏對新穎性實作的嚴格評估: 目前對大型語言模型程式碼能力的評估大多集中在重現已知演算法、修復錯誤或解決一般性程式編寫問題。然而,科研的核心在於創新。目前缺少一個能夠客觀、嚴格地衡量大型語言模型將一篇論文中的全新概念轉化為可執行程式碼的能力的基準測試。

• 主觀評估方法的局限性: 許多現有基準測試仰賴其他大型語言模型作為評判者或進行同儕審查模擬,這些方法往往存在不一致性和偏見,無法保證評估的可靠性。而傳統的程式碼生成基準測試則仰賴可執行的測試案例,這是一種更客觀的評估方式。

• 程式碼生成需超越記憶: 評估大型語言模型實現前瞻研究程式碼,實際上是在測試其超越死記硬背的推理能力。因為這些最新的研究思想通常都出現在模型知識截點之後,模型必須透過閱讀和理解論文來完成任務,而非單純從預訓練資料中回憶。

2 方法

建構一個「科研程式碼填空」測試集: 作者們精選了20篇最新的機器學習頂會論文,手動定位其 核心創新程式碼,將其挖空並設定成「程式碼填空題」。 大型語言模型需要同時閱讀論文和上下文程式碼,完成這個填空題。最後,用專家編寫的單元測試來判斷大型語言模型「答題」是否正確。

image-20250825171541400

詳細方法和步驟:

1. 基準建構 (Benchmark Construction):

image-20250825171709933

• 論文篩選: 從ICLR、NeurIPS、CVPR和arXiv等頂級來源中挑選了20篇2024-2025年最新的機器學習論文,確保主題多元,涵蓋生成模型、電腦視覺、強化學習等領域。

• 核心貢獻識別: 對每篇論文,人工分析並確定其最核心、與實作最相關的創新貢獻。這可能是一個新的損失函數、一個獨特的網路層或一個完整的訓練流程

• 任務建構 (程式碼填空): 在論文對應的官方開源程式碼中,找到實現核心貢獻的程式碼片段。使用XML風格的註釋標籤將這些程式碼片段(Snippet)標記出來並挖空,形成「填空題」。為了降低任務的模糊性,每個被挖空的片段都配有一個簡短的自然語言提示(hint)。

• 測試案例編寫: 與論文原作者或領域專家合作,為每個程式碼片段編寫了嚴謹的正確性測試案例。這些測試是基於執行的,主要採用等效性測試(將生成程式碼的輸出與參考實作的輸出進行比較)和單元測試(驗證特定邏輯和邊界情況),確保評估的客觀性和可靠性。

2. 模型評估 (Benchmark Execution):

image-20250825171640168

• 任務輸入: 向待評估的大型語言模型提供完整的論文文本、帶有「TODO」標記(即被挖空的程式碼片段)的程式碼檔案以及相關的上下文程式碼。

• 程式碼生成: 大型語言模型被要求根據對論文的理解,生成填補「TODO」部分的程式碼。

• 自動評估: 將大型語言模型生成的程式碼片段插回到原始程式碼框架中,然後執行預先編寫好的測試案例。

• 評估指標:

• 通過率 (Pass Rate): 模型成功通過所有測試案例的程式碼片段所佔的百分比。

• 加權通過率 (Scaled Pass Rate): 主要評估指標。每個程式碼片段根據其程式碼行數(LoC)進行加權,這使得更長、更複雜的程式碼片段在總分中佔比更大。本文主要報告scaled pass@1,即使用貪婪解碼生成一次程式碼的加權通過率。

3. 特點分析:

• 高品質與可信賴: 測試任務與論文原作者或領域專家共同開發,確保任務忠實於論文的原始意圖。

• 挑戰性與新穎性: 任務均來自最新的研究論文,確保模型無法透過記憶預訓練資料來完成,考驗其真正的推理能力。

• 可擴展性: 設計了一個社群驅動的流程,允許其他研究人員方便地提交新的論文和程式碼任務,使基準測試能夠持續更新。

Q1: 程式碼生成具體是怎麼做的,prompt是什麼?

答:直接基於prompt來生成,沒有利用複雜的代理程式(agent),沒有對論文做處理、提取核心資訊,也沒有檢索類似的程式碼。提示詞如下:

image-20250825172417231

Q2: 單元測試是怎麼做的?

答:提供參考程式碼(ref code),然後驗證輸出是否一致。測試程式碼如下:

https://github.com/PatrickHua/ResearchCodeBench/blob/db3d16d94cfa6b6785bef6f1db0263edfe6f1d34/pset/DiffusionDPO/paper2code_test.py#L41

image-20250825172648718

3 結論

• 頂尖大型語言模型能力仍有不足: 即使是表現最好的Gemini 2.5 Pro,在實現新穎研究概念(創新演算法)方面的加權通過率也僅為37.3%。這表明,目前最先進的大型語言模型在科學文獻理解和研究程式碼實現方面仍存在顯著落差。

image-20250825171739310

• 閉源模型與開源模型存在效能鴻溝: 評估結果顯示,頂尖的閉源商業模型(如Google的Gemini系列、OpenAI的GPT系列、Anthropic的Claude系列)在效能上普遍且持續地優於現有的開源模型。

• 論文上下文至關重要: 對於高性能模型而言,提供論文全文作為上下文能夠顯著提升其程式碼生成正確率(最高提升達30%)。這證明了它們具備一定程度從學術文獻中提取資訊並用於程式編寫的能力。相反地,一些較小的模型在獲得論文上下文後表現反而更差,可能是因為長文本引入了干擾。

image-20250825171838903

• 主要錯誤類型是功能/邏輯錯誤: 對失敗案例的分析發現,絕大多數錯誤(約59%)是功能性錯誤(即程式碼可以運行但邏輯不正確),而非簡單的語法或命名錯誤。這說明大型語言模型面臨的主要挑戰是正確理解和實現論文中描述的複雜演算法邏輯。

image-20250825171905727

4 限制

• 範圍有限: 目前的基準測試只包含了20篇機器學習領域的論文。雖然保證了深度和品質,但廣度上有所欠缺,未來需要擴展到更多論文以及生物、物理等其他科學領域。

• 測試案例手動編寫: 所有測試案例都是人工編寫的,這保證了高品質,但也限制了基準測試的擴展速度和規模。論文嘗試了自動生成測試,但發現大型語言模型目前還無法可靠地完成這項任務。

• 缺乏人類基準: 由於任務需要專家級的程式編寫和領域知識,組織大規模的人類測試成本極高,因此此基準測試目前沒有提供人類表現作為對比基準。

二、總結

亮點:

1. 首個專注於「新穎性」的科研程式碼生成基準測試: ResearchCodeBench填補了現有大型語言模型評估體系中的一個重要空白。它不再是讓模型「溫習」已知知識,而是考驗其「學習和實現」新知識的能力,這更貼近科研的本質,也更能衡量大型語言模型的能力上限。

2. 提供了客觀且可靠的評估框架: 透過可執行的、由專家驗證的測試案例,此基準測試擺脫了基於大型語言模型評判的主觀性,為衡量模型在科學推理和實現能力上的進展提供了一個堅實的「衡量標準」。

3. 揭示了目前大型語言模型的真實能力邊界: 「不到40%的成功率」這一結論清楚表明,儘管大型語言模型在許多任務上表現驚人,但在將其作為可靠的科研助理以加速從理論到實踐的轉化方面,我們仍有很長的路要走。同時,對錯誤類型深入分析(以功能性錯誤為主)為未來大型語言模型的改進指明了方向:重點應放在提升模型的邏輯推理和演算法理解能力上。

image-20250901111556804

主標籤:人工智慧

次標籤:大型語言模型研究基準程式碼生成機器學習


上一篇:微軟提出rStar2-Agent:「更聰明地思考」遠比單純地「更長時間地思考」更有效率、更高效

下一篇:字節 Seed 提出 TreePO:以樹狀結構節省近半 GPU 成本,同時維持更穩定的性能

分享短網址