智東西
編譯 ZeR0
編輯 漠影
智東西6月17日報道,今日凌晨,月之暗面推出針對軟件工程任務的全新開源代碼大模型Kimi-Dev-72B。
該模型在SWE-bench Verified編程基準測試中取得了全球最高開源模型水平,以僅72B的參數量,成績超過了剛于5月28日發布、參數量多達671B的新版DeepSeek-R1。
Kimi-Dev-72B在AI軟件工程能力基準測試SWE-bench Verified上取得了60.4%的高分,創下開源模型的SOTA成績。
▲開源模型在SWE-bench上的性能已得到驗證
▲閉源模型在SWE-bench上的性能已得到驗證
通過大規模強化學習進行了優化。它能夠自主修補Docker中的真實存儲庫,并且只有當整個測試套件通過時才會獲得獎勵。這確保了解決方案的正確性和穩健性,并符合現實世界的開發標準。
Kimi-Dev-72B現已在Hugging Face和GitHub上提供下載和部署。其發布給社區的關鍵資源包括模型權重、源代碼,技術報告也即將推出。
Hugging Face地址:huggingface.co/moonshotai/Kimi-Dev-72B
GitHub地址:github.com/MoonshotAI/Kimi-Dev
月之暗面介紹了Kimi-Dev-72B的設計理念和技術細節,包括BugFixer和 TestWriter的組合、中期訓練、強化學習和測試時自我博弈。
1、BugFixer和TestWriter的組合
成功修復錯誤的補丁(patch)應能通過準確反映該錯誤的單元測試。同時,復現錯誤的成功測試應引發斷言錯誤,并在將正確的錯誤修復補丁應用到代碼庫后通過。這致使BugFixer和TestWriter互補,一個足夠強大的編程大語言模型應該在這兩個方面都表現出色。
BugFixer和TestWriter的工作流程類似:它們都會先找到正確的文件進行編輯,然后編輯正確的代碼更新,無論是修復脆弱的實現還是插入unittest函數。因此,對于這兩種角色,Kimi-Dev-72B都采用了相同的極簡框架,該框架僅包含兩個階段:文件本地化和代碼編輯。BugFixer和TestWriter的雙重設計奠定了Kimi-Dev-72B的基礎。
2、訓練中期
為了增強Kimi-Dev-72B作為BugFixer和TestWriter的先驗知識,月之暗面使用約1500億個高質量的真實數據進行中期訓練。
以Qwen 2.5-72B基礎模型為起點,月之暗面收集了數百萬個GitHub問題和 PR提交作為其中期訓練數據集。數據配方經過??精心構建,使Kimi-Dev-72B 能夠學習人類開發者如何推理GitHub問題、編寫代碼修復和單元測試。
月之暗面還進行了嚴格的數據凈化,將所有存儲庫從SWE-bench Verified中剔除。
中期訓練充分增強了基礎模型對實際Bug修復和單元測試的了解,使該模型成為后續強化學習訓練的更佳起點。
3、強化學習
通過適當的中期訓練和SFT,Kimi-Dev-72B在文件本地化方面表現出色。因此,其強化學習階段專注于提升其代碼編輯能力。
月之暗面使用了Kimi k1.5中描述的策略優化方法,該方法在推理任務中表現出色。對于SWE-bench Verified,月之暗面重點關注以下三個關鍵設計:
- 僅基于結果的獎勵。僅使用Docker的最終執行結果(0或1)作為獎勵,訓練期間不采用任何基于格式或過程的獎勵。
- 高效的提示集。過濾掉模型在多樣本評估下成功率為零的提示,從而更有效地利用大批量。采用課程學習(curriculum learning)法,引入新的提示,逐步提高任務難度。
- 正例強化。在訓練的最后階段,將之前迭代中最近成功的樣本納入當前批次。這有助于模型增強成功模式并提升性能。
Kimi-Dev-72B通過使用高度并行、強大且高效的內部agent基礎設施,從可擴展數量的問題解決任務的訓練中受益。
4、測試時自我博弈
經過強化學習后,Kimi-Dev-72B能同時掌握BugFixer和TestWriter的角色。在測試過程中,它會采用自我博弈機制,協調自身Bug修復和測試編寫的能力。
▲BugFixer和TestWriter之間的測試時自博弈
每個問題最多可生成40個補丁候選和40個測試候選(按照標準無agent設置),可觀察到測試時自博弈的擴展效應。
結語:未來迭代側重深度集成,更無縫地融入工作流程
月之暗面正在積極研究和開發擴展Kimi-Dev-72B功能的方法,并探索更復雜的軟件工程任務。
其未來的迭代將側重于與流行的集成開發環境(IDE)、版本控制系統和CI/CD流水線進行更深入的集成,使Kimi-Dev-72B更加無縫地融入開發者的工作流程。
該公司承諾將持續改進Kimi-Dev-72B,進行嚴謹的紅隊測試,并向社區發布更強大的模型。
來源:月之暗面GitHub項目
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.