Kimi新模型拿下代碼開(kāi)源SOTA,僅僅72B,發(fā)布即開(kāi)源
深夜,沉寂已久的Kimi突然發(fā)布了新模型——
開(kāi)源代碼模型Kimi-Dev,在SWE-bench Verified上以60.4%的成績(jī)?nèi)〉瞄_(kāi)源SOTA。
參數(shù)量只有72B,但編程水平比最新的DeepSeek-R1還強(qiáng),和閉源模型比較也表現(xiàn)優(yōu)異。
有網(wǎng)友看到后表示,感覺(jué)月之暗面的實(shí)力被低估了,其水平應(yīng)該比xAI強(qiáng)。
Kimi-Dev采用MIT協(xié)議,目前權(quán)重和代碼均已發(fā)布,還有網(wǎng)友制作的量化版本也已在抱抱臉上線。
那么,Kimi-Dev是如何做到的呢?
模型扮演兩種角色,在測(cè)試中自我博弈
目前,Kimi-Dev的完整技術(shù)報(bào)告暫未出爐,不過(guò)官方透露了其中的一些關(guān)鍵技術(shù)。
Kimi-Dev-72B的設(shè)計(jì)核心是BugFixer和TestWriter兩種角色的結(jié)合,BugFixer和TestWriter都遵循一個(gè)共同的最小框架,包含兩個(gè)階段:
- 文件定位(File Localization):首先找到需要修改的正確文件;
- 代碼編輯(Code Edits):修正現(xiàn)有代碼中的問(wèn)題或潛在缺陷(BugFixer),以及編寫并添加新的單元測(cè)試代碼(estWriter)。
為了增強(qiáng)Kimi-Dev-72B作為BugFixer和TestWriter的先驗(yàn)知識(shí),Kimi團(tuán)隊(duì)以Qwen 2.5-72B基礎(chǔ)模型為起點(diǎn)使用約1500億高質(zhì)量真實(shí)數(shù)據(jù)進(jìn)行中期訓(xùn)練。
具體來(lái)說(shuō),Kimi團(tuán)隊(duì)收集了數(shù)百萬(wàn)個(gè)GitHub issue和PR提交,目的是讓Kimi-Dev-72B能夠?qū)W習(xí)人類開(kāi)發(fā)人員如何推理并解決GitHub問(wèn)題。
另外,Kimi團(tuán)隊(duì)還進(jìn)行了嚴(yán)格的數(shù)據(jù)凈化,確保訓(xùn)練數(shù)據(jù)當(dāng)中不包含SWE-bench Verified里的內(nèi)容。
經(jīng)過(guò)中期訓(xùn)練和監(jiān)督微調(diào)(SFT)后,Kimi-Dev-72B在文件定位方面已經(jīng)表現(xiàn)出色,之后的強(qiáng)化學(xué)習(xí)階段主要側(cè)重于提升其代碼編輯能力。
強(qiáng)化學(xué)習(xí)訓(xùn)練采用了Kimi k1.5中的策略優(yōu)化方法,主要有三個(gè)關(guān)鍵設(shè)計(jì):
一是僅基于結(jié)果的獎(jiǎng)勵(lì)(Outcome-based Reward Only)——訓(xùn)練中僅使用代碼在Docker環(huán)境中的最終執(zhí)行結(jié)果(成功為 1,失敗為 0)作為獎(jiǎng)勵(lì),而不考慮任何與代碼格式或編寫過(guò)程的因素。
這確保了模型生成的解決方案的正確性以及與實(shí)際開(kāi)發(fā)標(biāo)準(zhǔn)的一致性。
二是采用了高效提示集(Efficient Prompt Set),過(guò)濾掉在多樣本評(píng)估下成功率為零的提示,以更有效地進(jìn)行大批量訓(xùn)練。
此外,強(qiáng)化學(xué)習(xí)階段還采取了循序漸進(jìn)的策略,逐步引入新提示,逐步增加任務(wù)難度。
三是正向示例強(qiáng)化(Positive Example Reinforcement),也就是在后面的訓(xùn)練過(guò)程中,Kimi-Dev會(huì)將它之前已經(jīng)解決的問(wèn)題的方案重新納入當(dāng)前的訓(xùn)練批次中進(jìn)行學(xué)習(xí),從而鞏固和強(qiáng)化之前有效的、成功的解決模式和方法。
經(jīng)過(guò)強(qiáng)化學(xué)習(xí)后,Kimi-Dev-72B能夠同時(shí)掌握兩種角色。在測(cè)試過(guò)程中,它會(huì)采用自我博弈機(jī)制,協(xié)調(diào)自身Bug修復(fù)和測(cè)試編寫的能力。
Kimi-Dev-72B會(huì)遵循標(biāo)準(zhǔn)Agentless設(shè)置,為每個(gè)問(wèn)題生成最多40個(gè)補(bǔ)丁候選(patch candidates)和40個(gè)測(cè)試候選(test candidates)。
在測(cè)試時(shí)間自我博弈中,觀察到了規(guī)模效應(yīng)(scaling effect)。
以上就是Kimi團(tuán)隊(duì)介紹的Kimi-Dev背后的關(guān)鍵,更多細(xì)節(jié)將在后續(xù)的技術(shù)報(bào)告中揭曉,感興趣的話可以關(guān)注Kimi團(tuán)隊(duì)的發(fā)布。
下一步,Kimi團(tuán)隊(duì)還計(jì)劃探索更復(fù)雜的軟件工程任務(wù),并將于與流行的IDE、版本控制系統(tǒng)和CI/CD流水線進(jìn)行更深入的集成。
項(xiàng)目主頁(yè):
https://moonshotai.github.io/Kimi-Dev/
GitHub:
https://github.com/MoonshotAI/Kimi-Dev
HuggingFace:
https://huggingface.co/moonshotai/Kimi-Dev-72B