今天小編分享的科技經驗:首次覆蓋超11類編程場景!字節開源最全面代碼大模型基準FullStack Bench,歡迎閱讀。
代碼大模型越來越卷,評估 AI 編程水平的 " 考卷 " 也被迫更新。12 月 5 日,字節豆包大模型團隊開源最新代碼大模型評估基準 FullStack Bench,在業界首次囊括編程全棧技術中超 11 類真實場景,覆蓋 16 種編程語言,包含 3374 個問題,相比此前基準,可以更有效地評估大模型在現實世界中的代碼開發能力。
代碼評估基準是衡量大模型編程能力的标準工具,也是推動模型優化的關鍵驅動力。不過,當前的代碼評估基準覆蓋的應用類型和編程語言較為有限,難以反映真實世界中代碼開發場景的多樣性和復雜性。
比如,主流代碼評測集 HumanEval 和 MBPP 中近 80% 數據只聚焦基礎編程和高級編程問題;DS-1000 中 95% 數據都集中于數據分析和機器學習任務,且僅對 Python 語言進行評測;xCodeEval 雖覆蓋多項任務,但基本局限于高級編程和數學領網域。
因此,字節豆包大模型團隊與 M-A-P 開源社區聯合提出 FullStack Bench,一個專注于全棧編程和多語言編程的代碼評估數據集。為囊括在真實全棧開發中涉及的各類應用場景,研究團隊從全球最大的程式員技術問答社區 Stack Overflow 中随機抽取了 50 萬個問題進行分析,篩選出占總問題數前 88.1% 的應用領網域,并對其分布做了适當調整來保證每個領網域的魯棒性,最終形成了 FullStack Bench 關注的超過 11 種應用場景及分布比例。
FullStack Bench 包含 3374 個問題,每個問題均包括題目描述、參考解決方案及單元測試用例,總計 15168 個單元測試。為保證評估準确性,問題内容均由相關領網域的編程專家設計,并經 AI 和人工驗證進行質量復核。在初始數據集構建後,團隊根據主流代碼大模型測試結果,按問題難度、模糊性和可解性對數據質量進行了交叉評估和進一步完善。
FullStack Bench 數據集構成情況
為方便開發者對大模型代碼能力進行系統性測試,豆包大模型團隊還開源了一款高效的代碼沙盒執行工具—— SandboxFusion,用于評估來自不同語言的不同編程任務。除了 FullStack Bench,SandboxFusion 還兼容超過 10 種廣泛使用的代碼評估數據集,支持 23 種編程語言。開發者在單伺服器上即可輕松部署 SandboxFusion,也可直接在 GitHub 上進行體驗。
發布評測基準及沙盒的同時,字節代碼大模型也首次曝光。研究中,豆包大模型團隊對全球 20 餘款代碼大模型及語言大模型的編程表現進行了評測(詳見論文),其中包括未披露過的豆包代碼大模型 Doubao-Coder。
近半年,字節在代碼大模型領網域進展迅速,今年 6 月字節發布了由自研代碼基座模型支撐的 AI 編程助手豆包 MarsCode,目前每月為用戶貢獻百萬量級代碼。