av天堂久久天堂色综合,最近中文字幕mv免费高清在线,在线a级毛片免费视频,av动漫,中文字幕精品亚洲无线码一区

微信掃一掃,關(guān)注公眾號

  • 科技行者

  • 算力行者

見證連接與計(jì)算的「力量」

首頁 Skywork AI讓人工智能代碼修復(fù)首次超越人類程序員:揭秘神奇的軟件工程數(shù)據(jù)規(guī)模效應(yīng)

Skywork AI讓人工智能代碼修復(fù)首次超越人類程序員:揭秘神奇的軟件工程數(shù)據(jù)規(guī)模效應(yīng)

2025-06-27 17:00
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2025-06-27 17:00 ? 科技行者

這項(xiàng)由Skywork AI和昆侖公司聯(lián)合進(jìn)行的突破性研究于2025年6月24日發(fā)表,論文題目為"Skywork-SWE: Unveiling Data Scaling Laws for Software Engineering in LLMs"。該研究首次在軟件工程領(lǐng)域驗(yàn)證了人工智能的數(shù)據(jù)規(guī)模效應(yīng),開發(fā)的Skywork-SWE-32B模型在不使用驗(yàn)證器或多次嘗試的情況下,在SWE-bench Verified基準(zhǔn)測試中達(dá)到了38.0%的準(zhǔn)確率,創(chuàng)下了開源模型的新紀(jì)錄。有興趣深入了解的讀者可以通過論文鏈接https://arxiv.org/abs/2506.19290獲取完整研究內(nèi)容,模型已在https://huggingface.co/Skywork/Skywork-SWE-32B開源發(fā)布。

當(dāng)我們的電腦程序出現(xiàn)故障時,通常需要程序員花費(fèi)大量時間查找問題、修改代碼、測試修復(fù)效果?,F(xiàn)在,人工智能正在學(xué)會像經(jīng)驗(yàn)豐富的程序員一樣自動修復(fù)軟件問題。這個過程就像培養(yǎng)一位虛擬程序員,讓它學(xué)會診斷和治療軟件的"疾病"。

軟件工程對人工智能來說是一個極其復(fù)雜的挑戰(zhàn)。與簡單的代碼生成不同,修復(fù)真實(shí)軟件問題需要人工智能具備兩種關(guān)鍵能力:持續(xù)的迭代問題解決能力(通常需要超過50輪交互)和長文本依賴關(guān)系理解能力(需要處理超過32000個字符)。這就像要求一位醫(yī)生不僅要能快速診斷病情,還要能制定長期治療方案并持續(xù)調(diào)整。

現(xiàn)有的軟件工程數(shù)據(jù)集存在三個主要問題。首先是缺乏足夠的環(huán)境和驗(yàn)證支持,就像醫(yī)生沒有完整的檢驗(yàn)設(shè)備一樣,無法準(zhǔn)確驗(yàn)證治療效果。其次是高質(zhì)量訓(xùn)練數(shù)據(jù)稀缺,相比其他人工智能領(lǐng)域動輒百萬級的數(shù)據(jù)量,軟件工程領(lǐng)域的高質(zhì)量數(shù)據(jù)只有幾千個實(shí)例。最后是數(shù)據(jù)規(guī)模效應(yīng)的適用性不明確,沒有人知道在軟件工程這個特殊領(lǐng)域,增加訓(xùn)練數(shù)據(jù)是否真的能讓模型變得更聰明。

為了解決這些問題,研究團(tuán)隊(duì)開發(fā)了一套自動化的數(shù)據(jù)收集流水線,就像建造了一座現(xiàn)代化的"軟件醫(yī)院"。這座醫(yī)院能夠系統(tǒng)地收集和處理大量真實(shí)的軟件問題案例,最終構(gòu)建了包含10169個經(jīng)過嚴(yán)格驗(yàn)證的Python任務(wù)實(shí)例的Skywork-SWE數(shù)據(jù)集,這些實(shí)例來自2531個不同的GitHub倉庫。每個實(shí)例都配備了專門的運(yùn)行環(huán)境鏡像,確保能夠自動執(zhí)行和驗(yàn)證單元測試。

一、構(gòu)建軟件修復(fù)的"醫(yī)學(xué)院":全自動數(shù)據(jù)收集系統(tǒng)

研究團(tuán)隊(duì)設(shè)計(jì)的數(shù)據(jù)收集系統(tǒng)就像建立一所培養(yǎng)軟件醫(yī)生的醫(yī)學(xué)院。這個系統(tǒng)分為三個主要階段,每個階段都有其特定的功能和目標(biāo)。

第一階段是數(shù)據(jù)收集和預(yù)篩選,相當(dāng)于醫(yī)學(xué)院的招生環(huán)節(jié)。系統(tǒng)首先從GitHub上收集了151472個代碼倉庫的元數(shù)據(jù)信息,就像收集醫(yī)學(xué)院候選人的基本信息一樣。這些倉庫按照星標(biāo)數(shù)量排序,優(yōu)先選擇那些受歡迎程度較高的項(xiàng)目,因?yàn)檫@些項(xiàng)目通常代表了更成熟和更有價(jià)值的軟件。然后系統(tǒng)從這些倉庫中提取pull request(代碼合并請求)數(shù)據(jù),形成初始的任務(wù)實(shí)例。系統(tǒng)只保留那些已經(jīng)合并且解決了GitHub問題的PR,并且這些PR必須修改了測試相關(guān)的文件。經(jīng)過這一輪篩選,系統(tǒng)從146568個初始任務(wù)實(shí)例中保留了23389個有效實(shí)例。

接下來是安裝驗(yàn)證環(huán)節(jié),就像醫(yī)學(xué)院的入學(xué)體檢。系統(tǒng)將這些候選任務(wù)實(shí)例在基礎(chǔ)環(huán)境中進(jìn)行安裝測試,通過執(zhí)行預(yù)定義的安裝命令來驗(yàn)證環(huán)境的可用性。這個過程發(fā)現(xiàn)許多實(shí)例由于依賴問題或配置問題無法正常安裝,最終篩除了123179個失敗實(shí)例,保留了23389個通過驗(yàn)證的實(shí)例。

第二階段是環(huán)境配置和基于執(zhí)行的驗(yàn)證,這相當(dāng)于為每位醫(yī)學(xué)生配備專門的實(shí)驗(yàn)室和診斷設(shè)備。由于不同軟件項(xiàng)目的環(huán)境需求差異巨大,手動配置每個項(xiàng)目的運(yùn)行環(huán)境是非常耗時且難以規(guī)?;墓ぷ鳌Q芯繄F(tuán)隊(duì)采用了統(tǒng)一的默認(rèn)配置策略,就像標(biāo)準(zhǔn)化醫(yī)學(xué)實(shí)驗(yàn)室的設(shè)備配置一樣。

這個統(tǒng)一配置包括幾個核心組件。首先設(shè)置Python 3.9作為默認(rèn)運(yùn)行環(huán)境,安裝構(gòu)建原生擴(kuò)展所需的基本系統(tǒng)包(如make、gcc、g++、pkg-config)。然后通過requirements.txt文件安裝Python依賴,并補(bǔ)充常用的開發(fā)和測試包如pytest、hypothesis、mock和setuptools。為了適應(yīng)不同GitHub倉庫的命名約定差異,配置還包括對可選額外包如test、tests和dev的回退安裝命令。測試執(zhí)行使用統(tǒng)一的pytest命令進(jìn)行標(biāo)準(zhǔn)化,禁用緩存使用并抑制棄用警告,以產(chǎn)生一致和可重現(xiàn)的結(jié)果。

系統(tǒng)使用Docker技術(shù)自動構(gòu)建隔離的運(yùn)行環(huán)境鏡像,采用三層鏡像架構(gòu)來最小化冗余計(jì)算并支持鏡像復(fù)用?;A(chǔ)層鏡像從Ubuntu 22.04構(gòu)建,安裝基本系統(tǒng)包并配置Miniconda和conda-forge渠道。環(huán)境層鏡像在基礎(chǔ)鏡像上創(chuàng)建Conda環(huán)境并安裝依賴包。實(shí)例層鏡像進(jìn)一步擴(kuò)展環(huán)境,克隆目標(biāo)倉庫、檢出特定提交、安裝系統(tǒng)依賴并執(zhí)行可編輯安裝。

驗(yàn)證過程包括兩個步驟:空測試和黃金測試??諟y試將測試補(bǔ)丁應(yīng)用到基礎(chǔ)提交并運(yùn)行測試套件,失敗的測試標(biāo)記為empty-FAIL,通過的標(biāo)記為empty-PASS。黃金測試同時應(yīng)用測試補(bǔ)丁和生成的代碼補(bǔ)丁,然后重新運(yùn)行測試套件,失敗的測試標(biāo)記為gold-FAIL,通過的標(biāo)記為gold-PASS。系統(tǒng)定義FAIL_TO_PASS為在空測試中失敗但在黃金測試中通過的測試集合,PASS_TO_PASS為在兩個階段都通過的測試。只有具有非空FAIL_TO_PASS集合的實(shí)例才被保留,表明應(yīng)用的補(bǔ)丁解決了至少一個失敗的測試用例。經(jīng)過這一驗(yàn)證過程,從23389個候選實(shí)例中篩除了13220個,最終得到10169個驗(yàn)證實(shí)例。

第三階段是代理軌跡生成,相當(dāng)于記錄優(yōu)秀醫(yī)生的診療過程供學(xué)生學(xué)習(xí)。研究團(tuán)隊(duì)利用多個高性能的專有代碼LLM(如GPT-4、Claude、Gemini等)為每個任務(wù)實(shí)例自動生成代理軌跡,使用OpenHands代碼代理框架,每個軌跡限制最多100輪交互。生成的軌跡需要通過嚴(yán)格驗(yàn)證,只有最終補(bǔ)丁能通過所有測試的軌跡才被視為有效。系統(tǒng)將驗(yàn)證過的軌跡聚合為多輪監(jiān)督微調(diào)數(shù)據(jù),確保數(shù)據(jù)質(zhì)量的一致性。

最終的Skywork-SWE數(shù)據(jù)集包含10169個驗(yàn)證實(shí)例,來自2531個獨(dú)特倉庫,每個實(shí)例都配備專門的Docker鏡像支持可重現(xiàn)執(zhí)行。平均每個鏡像占用約1.2GB存儲空間,總存儲占用約11.9TB。

二、數(shù)據(jù)集的豐富特征:軟件世界的真實(shí)寫照

完成的Skywork-SWE數(shù)據(jù)集就像一個包含各種疑難雜癥的醫(yī)學(xué)案例庫,展現(xiàn)了真實(shí)軟件世界的復(fù)雜性和多樣性。

在規(guī)模方面,Skywork-SWE顯著超越了現(xiàn)有基準(zhǔn)。它包含10169個驗(yàn)證實(shí)例,是SWE-Gym Lite和SWE-bench Verified規(guī)模的20多倍,后兩者分別只有230和500個實(shí)例。更重要的是,這些實(shí)例跨越了超過2500個倉庫,而之前的數(shù)據(jù)集最多只包括12個倉庫。這種更廣泛的覆蓋引入了更多樣化的真實(shí)軟件工程場景。

數(shù)據(jù)集展現(xiàn)了GitHub倉庫來源的實(shí)質(zhì)性多樣性,遵循長尾分布模式。大約450個倉庫(約占4.4%)貢獻(xiàn)了超過66%的實(shí)例,而剩余的9719個倉庫貢獻(xiàn)了不到34%的實(shí)例。超過9000個倉庫每個包含少于三個實(shí)例,這顯著增強(qiáng)了數(shù)據(jù)集的多樣性。知名項(xiàng)目如pydantic、dvc、sqlglot、pennylane與大量較小倉庫并存,表明了軟件項(xiàng)目的廣泛代表性。

從時間分布來看,數(shù)據(jù)集實(shí)例的年度分布從2013年到2025年呈現(xiàn)有趣的模式。早期(2013-2015年)實(shí)例數(shù)量相對較少,分別為10、35和85個。從2016年開始出現(xiàn)顯著增長,2017年超過500個,2020年達(dá)到峰值1678個。2021年到2023年每年實(shí)例數(shù)量持續(xù)超過1500個,僅2024年就貢獻(xiàn)了超過700個實(shí)例??傮w而言,超過89.5%的實(shí)例來源于2018-2024年期間,反映了對近期軟件開發(fā)活動的強(qiáng)烈關(guān)注。

在編輯復(fù)雜性方面,Skywork-SWE實(shí)例展現(xiàn)了關(guān)聯(lián)補(bǔ)丁編輯的不同程度結(jié)構(gòu)復(fù)雜性。41.6%的實(shí)例涉及單個文件的編輯,但超過80%的修改涉及最多三個文件,展現(xiàn)了集中和分布式復(fù)雜性。64.7%的實(shí)例影響少于兩個函數(shù),而超過15個函數(shù)的更改少于2%。近50%的實(shí)例包含一到三個代碼塊,而跨越十個以上代碼塊的編輯占不到12%。70.3%的實(shí)例涉及少于50行編輯代碼,超過85%保持在100行以內(nèi)。

驗(yàn)證強(qiáng)度也是數(shù)據(jù)集的重要特征。每個實(shí)例都通過單元測試進(jìn)行驗(yàn)證,許多展現(xiàn)多個測試用例。FAIL_TO_PASS覆蓋范圍比之前基準(zhǔn)更全面,平均每個實(shí)例有10.2個從失敗到通過的測試和86.2個保持通過的測試,允許更嚴(yán)格的補(bǔ)丁正確性驗(yàn)證并鼓勵模型輸出的穩(wěn)健評估。

三、訓(xùn)練超級軟件醫(yī)生:Skywork-SWE模型的誕生

有了豐富的"醫(yī)學(xué)案例庫"后,研究團(tuán)隊(duì)開始訓(xùn)練他們的超級軟件醫(yī)生。這個過程就像培養(yǎng)一位能夠處理各種復(fù)雜軟件問題的專家醫(yī)生。

訓(xùn)練過程首先需要收集高質(zhì)量的專家示范。研究團(tuán)隊(duì)使用多個高性能的專有LLM(包括Gemini-2.0-Flash、Qwen-2.5-Max、Doubao-1.5-Thinking-Pro、DeepSeek-V3、o3-mini、GPT-4.1和Gemini-2.5-Pro等)在Skywork-SWE數(shù)據(jù)集上進(jìn)行軌跡生成。這些模型就像不同專業(yè)背景的資深醫(yī)生,每個都有自己的診療風(fēng)格和專長。

軌跡生成的過程充滿挑戰(zhàn)。即使是最先進(jìn)的專有LLM在Skywork-SWE數(shù)據(jù)集上也只能達(dá)到有限的成功率。表現(xiàn)最好的Gemini-2.5-Pro解決率僅為20.23%,其次是GPT-4.1的18.54%和o3-mini的15.94%。其他模型表現(xiàn)更低,DeepSeek-V3和Qwen-2.5-Max在確定性解碼(溫度=0)下分別只達(dá)到12.92%和8.29%的解決率。這種低性能歸因于GitHub倉庫的廣泛多樣性和大量單元測試的存在??傮w而言,執(zhí)行SWE任務(wù)具有挑戰(zhàn)性,數(shù)據(jù)收集效率相對較低。

盡管單個模型的成功率有限,但通過匯總不同模型在不同溫度設(shè)置下的成功軌跡,研究團(tuán)隊(duì)最終收集了8447個成功軌跡。經(jīng)過格式一致性的仔細(xì)篩選,最終用于訓(xùn)練的成功軌跡減少到8209個實(shí)例。

模型訓(xùn)練采用監(jiān)督學(xué)習(xí)方法,以Qwen-2.5-Coder-32B-Instruct作為基礎(chǔ)模型。訓(xùn)練過程使用TorchTune框架在8塊NVIDIA H800 GPU上進(jìn)行12小時微調(diào)。訓(xùn)練配置包括AdamW優(yōu)化器,權(quán)重衰減0.01,余弦學(xué)習(xí)率調(diào)度,峰值學(xué)習(xí)率5e-5,對超過8000個多輪長文本軌跡訓(xùn)練3個epoch。

訓(xùn)練完成的Skywork-SWE-32B模型支持最多32768個令牌的上下文長度。當(dāng)交互輪數(shù)超過50時,生成的訓(xùn)練軌跡可能超過32K令牌限制。為了適應(yīng)這樣的長序列,在將模型上下文長度從32K擴(kuò)展到128K令牌時需要在LLM訓(xùn)練框架中使用序列并行技術(shù)。

四、驗(yàn)證超級醫(yī)生的診療能力:突破性實(shí)驗(yàn)結(jié)果

訓(xùn)練完成后,研究團(tuán)隊(duì)需要驗(yàn)證這位超級軟件醫(yī)生的實(shí)際診療能力。他們在SWE-bench Verified基準(zhǔn)上進(jìn)行了全面測試,這個基準(zhǔn)就像軟件工程領(lǐng)域的醫(yī)師資格考試。

Skywork-SWE-32B在標(biāo)準(zhǔn)推理策略下(單次嘗試,N=1)達(dá)到了38.0%的準(zhǔn)確率,這一成績超越了之前所有基于Qwen2.5-Coder-32B的開源模型。特別值得注意的是,在相同LLM骨干網(wǎng)絡(luò)下,該模型比SWE-smith-LM-32B高出絕對6.8個百分點(diǎn),充分展現(xiàn)了高質(zhì)量訓(xùn)練軌跡的有效性。

更令人興奮的是,當(dāng)應(yīng)用測試時縮放(TTS)技術(shù)時,Skywork-SWE的準(zhǔn)確率進(jìn)一步提升到47.0%,在32B規(guī)模的開源SWE代理模型中創(chuàng)下了新的技術(shù)水平。這種改進(jìn)證明了清晰的數(shù)據(jù)縮放規(guī)律和測試時縮放技術(shù)在SWE任務(wù)上進(jìn)一步增強(qiáng)性能的潛力。

實(shí)驗(yàn)結(jié)果顯示了一個重要現(xiàn)象:代碼代理框架比模型規(guī)模更重要。雖然更大的開源模型能帶來輕微改進(jìn),但性能提升相對有限。例如,Qwen-2.5-72B和DeepSeek-V3-671B分別達(dá)到30.2%和38.8%的解決率。這些結(jié)果表明,僅僅增加模型規(guī)模并不是驅(qū)動軟件工程任務(wù)性能的主導(dǎo)因素。相反,任務(wù)特定的高質(zhì)量訓(xùn)練數(shù)據(jù)和精心設(shè)計(jì)的代碼代理框架發(fā)揮更關(guān)鍵的作用。

在所有評估的代碼代理框架中,OpenHands通過在專有和開源模型上一致達(dá)到最高解決率而脫穎而出。超過一半的評估方法采用OpenHands,強(qiáng)調(diào)了其在復(fù)雜SWE任務(wù)中的有效性和廣泛采用。

五、發(fā)現(xiàn)軟件工程的神奇規(guī)律:數(shù)據(jù)規(guī)模效應(yīng)

研究中最令人興奮的發(fā)現(xiàn)是在軟件工程領(lǐng)域首次驗(yàn)證了數(shù)據(jù)規(guī)模效應(yīng)。這個規(guī)律就像發(fā)現(xiàn)了軟件醫(yī)生學(xué)習(xí)能力的基本定律。

實(shí)驗(yàn)結(jié)果清晰地展示了Skywork-SWE-32B在SWE-bench Verified上的解決率與訓(xùn)練軌跡數(shù)量之間的對數(shù)線性關(guān)系。性能隨著數(shù)據(jù)量增加呈現(xiàn)明確的上升趨勢,沒有顯示飽和跡象。幾個關(guān)鍵數(shù)據(jù)點(diǎn)說明了數(shù)據(jù)縮放的實(shí)際益處:在2000個軌跡時,Skywork-SWE-32B超越了SWE-Dev-32B;在6000個軌跡時超越了OpenHands-LM-32B-v0.1;在8000個軌跡時超越了SWE-Agent-LM-32B。

這些結(jié)果強(qiáng)調(diào)了擴(kuò)大高質(zhì)量訓(xùn)練數(shù)據(jù)可以匹配甚至超越通過更復(fù)雜代理設(shè)計(jì)在SWE任務(wù)中獲得的性能提升。當(dāng)訓(xùn)練軌跡數(shù)量從125個增加到8000個時,模型性能從6.4%穩(wěn)步提升到38.0%,展現(xiàn)了持續(xù)的改進(jìn)趨勢。

研究團(tuán)隊(duì)還分析了測試時縮放策略對模型性能的影響。Best-of-N采樣效果顯著,隨著獨(dú)立推理次數(shù)N的增加,解決率持續(xù)改善。當(dāng)N提升到2、4、6和8時,解決率分別達(dá)到42.4%、43.2%、45.2%和47.0%。這種趨勢表明額外的推理有助于減輕輸出變異性,在推理時縮放計(jì)算可以顯著增強(qiáng)模型性能。

最大推理輪數(shù)的影響同樣重要。解決率從10輪的28.2%增加到100輪的38.0%。改進(jìn)在早期階段最為顯著,從10輪到25輪產(chǎn)生4.6個百分點(diǎn)的增益,而后期增長較小,如從75輪到100輪只有1.0個百分點(diǎn)增益。SWE任務(wù)通常需要多輪交互來解決相應(yīng)GitHub倉庫中的問題,因此當(dāng)測試時縮放預(yù)算通過額外交互輪數(shù)增加時,LLM顯著受益于擴(kuò)展的迭代縮放。

六、實(shí)踐中的經(jīng)驗(yàn)智慧:構(gòu)建軟件工程AI系統(tǒng)的指南

通過開發(fā)Skywork-SWE的過程,研究團(tuán)隊(duì)積累了寶貴的實(shí)踐經(jīng)驗(yàn),就像資深醫(yī)院院長總結(jié)的辦院心得。

在收集GitHub倉庫時,數(shù)據(jù)泄漏問題需要特別關(guān)注。SWE-bench Verified包含來自12個流行Python GitHub倉庫的500個實(shí)例。在從官方PyPI集合策劃新的SWE數(shù)據(jù)集時,必須排除已包含在SWE-bench Verified中的倉庫以防止?jié)撛跀?shù)據(jù)泄漏。此外,在來自同一倉庫的pull request實(shí)例上進(jìn)行訓(xùn)練和測試可能導(dǎo)致性能虛高,這可能由于代碼庫級別的部分污染或來自相同倉庫的pull request之間比來自不同倉庫的更高相似性造成。

運(yùn)行環(huán)境配置是另一個重大挑戰(zhàn)。SWE任務(wù)中的每個實(shí)例都需要相應(yīng)的運(yùn)行環(huán)境來驗(yàn)證生成的補(bǔ)丁是否通過單元測試。研究團(tuán)隊(duì)采用了經(jīng)過手動驗(yàn)證具有合理覆蓋范圍的默認(rèn)配置來篩選具有有效環(huán)境的實(shí)例。然而,這種方法不可避免地導(dǎo)致顯著的數(shù)據(jù)損失,因?yàn)椴豢赡苁褂脝我唤y(tǒng)一配置命令為跨多樣倉庫的不同pull request實(shí)例配置所有正確環(huán)境??紤]到常用GitHub倉庫的有限數(shù)量,這個高質(zhì)量數(shù)據(jù)源值得更精細(xì)和高效的環(huán)境設(shè)置方法。

運(yùn)行環(huán)境重用是一個實(shí)際的工程問題。在代理軌跡生成期間,每個任務(wù)實(shí)例的運(yùn)行時Docker鏡像必須在本地構(gòu)建以支持推理和驗(yàn)證。這個過程對磁盤密集度很高,500個SWE-bench Verified任務(wù)的完整實(shí)例級鏡像集需要大約1000GB存儲空間。由于磁盤容量有限,鏡像在推理后實(shí)時刪除,必須為后續(xù)驗(yàn)證重建,導(dǎo)致冗余開銷。為解決這個問題,研究團(tuán)隊(duì)將實(shí)例分成小批量,而不是在驗(yàn)證前完成所有實(shí)例的推理。對每個批次,他們執(zhí)行推理,然后驗(yàn)證,最后刪除相應(yīng)鏡像以釋放磁盤空間。這種改進(jìn)的流水線在存儲有限時重用構(gòu)建的鏡像進(jìn)行推理和驗(yàn)證,顯著減少冗余Docker操作。

代碼代理框架的選擇同樣關(guān)鍵。研究中使用了最新OpenHands(版本0.32.0)代碼代理框架。不同版本的OpenHands在系統(tǒng)提示和執(zhí)行流水線方面表現(xiàn)出變化,這可能導(dǎo)致實(shí)質(zhì)性性能差異。因此建議使用最新版本的OpenHands框架來評估SWE-bench。重要的是,在OpenHands版本之間切換需要更新相應(yīng)的SWE-bench代碼分支和Docker Hub命名空間以確保兼容性。

訓(xùn)練代理模型時也面臨技術(shù)挑戰(zhàn)。Skywork-SWE-32B模型目前支持最多32768個令牌的上下文長度。然而,當(dāng)交互輪數(shù)超過50時,生成的訓(xùn)練軌跡可能超過32K令牌限制。為了適應(yīng)這樣的長序列,在將模型上下文長度從32K擴(kuò)展到128K令牌時,LLM訓(xùn)練框架中需要序列并行。未來工作計(jì)劃探索支持序列并行的LLM訓(xùn)練框架,如VeRL和360-LLaMA-Factory,以支持最多128K令牌輸入的多輪監(jiān)督微調(diào)。

七、展望未來:軟件工程AI的發(fā)展方向

這項(xiàng)研究為軟件工程AI領(lǐng)域開啟了新的篇章,就像為醫(yī)學(xué)人工智能指明了發(fā)展方向。

研究團(tuán)隊(duì)提出了兩個特別有前景的未來發(fā)展方向。首先,現(xiàn)有的基準(zhǔn)測試如SWE-bench幾乎完全專注于Python,限制了它們在更廣泛軟件開發(fā)環(huán)境中評估LLM的能力。將評估擴(kuò)展到多種編程語言對于更全面評估軟件工程能力至關(guān)重要,正如Multi-SWE-Bench等倡議所展示的那樣。

其次,SWE任務(wù)在運(yùn)行環(huán)境中執(zhí)行和驗(yàn)證單元測試以提供準(zhǔn)確驗(yàn)證的獎勵。這種設(shè)置為探索在線強(qiáng)化學(xué)習(xí)方法鋪平了道路,這在最近的LLM社區(qū)中是一個活躍的研究方向。

研究結(jié)果強(qiáng)調(diào)了高質(zhì)量、基于執(zhí)行的數(shù)據(jù)仍然是SWE代碼代理的主要瓶頸,系統(tǒng)性數(shù)據(jù)擴(kuò)展可以大幅縮小與專有LLM的差距。這個發(fā)現(xiàn)對整個開源AI社區(qū)具有重要意義,表明投資于數(shù)據(jù)質(zhì)量和規(guī)模可能比單純增加模型參數(shù)更有效。

從更廣闊的視角看,這項(xiàng)工作證明了數(shù)據(jù)縮放規(guī)律在專業(yè)領(lǐng)域如軟件工程中的普遍適用性。這為其他需要復(fù)雜推理和多步驟問題解決的專業(yè)領(lǐng)域(如科學(xué)研究、醫(yī)學(xué)診斷、法律分析等)提供了有價(jià)值的參考。

Skywork-SWE的成功還展示了開源AI生態(tài)系統(tǒng)的潛力。通過開放數(shù)據(jù)集、模型權(quán)重和詳細(xì)的技術(shù)報(bào)告,研究團(tuán)隊(duì)為整個社區(qū)貢獻(xiàn)了寶貴資源,這種開放協(xié)作的精神正是推動AI技術(shù)快速發(fā)展的重要動力。

歸根結(jié)底,這項(xiàng)研究不僅僅是技術(shù)上的突破,更是對AI如何學(xué)習(xí)和進(jìn)步這一根本問題的深入探索。正如我們看到的,給AI足夠多的高質(zhì)量學(xué)習(xí)材料,它就能在復(fù)雜的專業(yè)領(lǐng)域達(dá)到接近人類專家的水平。這個發(fā)現(xiàn)對于未來AI系統(tǒng)的設(shè)計(jì)和訓(xùn)練具有深遠(yuǎn)的指導(dǎo)意義,也讓我們對AI在各個專業(yè)領(lǐng)域發(fā)揮重要作用的未來更加充滿期待。

Q&A

Q1:Skywork-SWE是什么?它能解決什么問題? A:Skywork-SWE是一個能夠自動修復(fù)軟件Bug的人工智能模型。它可以像經(jīng)驗(yàn)豐富的程序員一樣,自動診斷軟件問題、修改代碼并驗(yàn)證修復(fù)效果。該模型在軟件工程基準(zhǔn)測試中達(dá)到38.0%的準(zhǔn)確率,使用測試時縮放技術(shù)后可達(dá)47.0%,創(chuàng)下了開源模型的新紀(jì)錄。

Q2:數(shù)據(jù)規(guī)模效應(yīng)在軟件工程中真的有用嗎? A:是的,這是該研究的重要發(fā)現(xiàn)。實(shí)驗(yàn)證明,隨著訓(xùn)練數(shù)據(jù)量從125個增加到8000個實(shí)例,模型性能從6.4%持續(xù)提升到38.0%,呈現(xiàn)清晰的對數(shù)線性關(guān)系且沒有飽和跡象。這證明了在軟件工程這個復(fù)雜領(lǐng)域,更多高質(zhì)量數(shù)據(jù)確實(shí)能讓AI變得更聰明。

Q3:普通開發(fā)者能使用Skywork-SWE嗎?如何獲?。?A:可以。研究團(tuán)隊(duì)已將Skywork-SWE-32B模型在HuggingFace平臺開源發(fā)布(網(wǎng)址:https://huggingface.co/Skywork/Skywork-SWE-32B),開發(fā)者可以免費(fèi)下載使用。同時,包含10169個驗(yàn)證實(shí)例的Skywork-SWE數(shù)據(jù)集也將開放,為軟件工程AI研究提供寶貴資源。

分享至
0贊

好文章,需要你的鼓勵

推薦文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-