作為計(jì)算機(jī)程序員,我們總是希望編寫(xiě)運(yùn)行得更快的軟件。就像我們希望車子開(kāi)得更快、水燒得更快一樣,高性能軟件對(duì)現(xiàn)代計(jì)算系統(tǒng)至關(guān)重要。但開(kāi)發(fā)高性能軟件是一項(xiàng)復(fù)雜的任務(wù),需要專業(yè)知識(shí)和技巧?,F(xiàn)在,加州大學(xué)伯克利分校的研究團(tuán)隊(duì)創(chuàng)建了一個(gè)名為"GSO"(Global Software Optimization)的基準(zhǔn)測(cè)試,專門用來(lái)評(píng)估AI編程助手(SWE-Agent)在軟件優(yōu)化方面的能力。
這項(xiàng)研究由UC Berkeley的Manish Shetty、Naman Jain、Jinjian Liu、Vijay Kethanaboyina、Koushik Sen和Ion Stoica共同完成,發(fā)表于2025年5月29日的arXiv預(yù)印本平臺(tái)。他們的研究論文題為"GSO: Challenging Software Optimization Tasks for Evaluating SWE-Agents",探討了當(dāng)前AI編程助手在處理真實(shí)世界軟件優(yōu)化任務(wù)時(shí)的表現(xiàn)。
想象一下,你有一個(gè)AI助手可以幫你編寫(xiě)代碼。雖然它可能擅長(zhǎng)修復(fù)簡(jiǎn)單的bug或編寫(xiě)基礎(chǔ)功能,但能否幫你優(yōu)化代碼讓程序運(yùn)行得更快呢?GSO基準(zhǔn)測(cè)試就是為了回答這個(gè)問(wèn)題而設(shè)計(jì)的。
一、為什么需要GSO?
在人工智能和軟件工程的交匯處,我們看到了越來(lái)越多的AI編程助手,比如GitHub Copilot或類似工具。這些助手在編寫(xiě)簡(jiǎn)單代碼或修復(fù)基本bug方面表現(xiàn)不錯(cuò),但對(duì)于更復(fù)雜的任務(wù),比如優(yōu)化代碼性能,它們的能力如何呢?
現(xiàn)有的基準(zhǔn)測(cè)試主要關(guān)注代碼正確性,而不是性能優(yōu)化。想象你請(qǐng)一個(gè)廚師不僅要做出美味的蛋糕(代碼功能正確),還要在最短時(shí)間內(nèi)完成(代碼高效運(yùn)行)。GSO就是專門測(cè)試這種"速度"方面的基準(zhǔn)測(cè)試。
傳統(tǒng)的基準(zhǔn)測(cè)試類似于讓AI解決小型編程謎題或修復(fù)簡(jiǎn)單錯(cuò)誤。而GSO則是讓AI面對(duì)真實(shí)世界的大型代碼庫(kù),完成專業(yè)開(kāi)發(fā)者在實(shí)際工作中遇到的性能優(yōu)化任務(wù)。這就像是從"在廚房做簡(jiǎn)單的三明治"升級(jí)到"在繁忙的五星級(jí)餐廳準(zhǔn)備復(fù)雜的多道菜宴會(huì)"。
GSO的獨(dú)特之處在于: - 它使用性能測(cè)試作為精確規(guī)范,清晰定義了優(yōu)化目標(biāo) - 它涵蓋多種編程語(yǔ)言,包括Python、C和SIMD等 - 它基于真實(shí)世界的代碼庫(kù),如NumPy、Pandas和LLaMA-CPP - 每個(gè)任務(wù)都有專業(yè)開(kāi)發(fā)者的優(yōu)化提交作為參考標(biāo)準(zhǔn)
二、GSO是如何構(gòu)建的?
研究團(tuán)隊(duì)開(kāi)發(fā)了一個(gè)自動(dòng)化流程來(lái)收集和篩選優(yōu)化任務(wù)。這個(gè)過(guò)程就像淘金一樣——從大量的代碼變更歷史中篩選出真正有價(jià)值的性能優(yōu)化案例。
首先,他們掃描流行的開(kāi)源GitHub倉(cāng)庫(kù),使用AI模型和代碼變更啟發(fā)式方法來(lái)識(shí)別與性能相關(guān)的提交。想象這就像是通過(guò)一個(gè)特殊的放大鏡檢查成千上萬(wàn)的代碼變更,尋找那些專門提升軟件速度的改動(dòng)。
接下來(lái),他們?yōu)檫@些候選優(yōu)化生成性能測(cè)試。這些測(cè)試就像是一把尺子,用來(lái)準(zhǔn)確測(cè)量代碼運(yùn)行速度的提升。例如,對(duì)于LLaMA-CPP這樣的代碼庫(kù),測(cè)試可能涉及使用特定模型生成文本完成并計(jì)時(shí)。
最后,通過(guò)這些性能測(cè)試,研究團(tuán)隊(duì)找出了在修改前后顯示顯著性能提升的代碼提交。他們經(jīng)過(guò)仔細(xì)篩選,最終選擇了10個(gè)代碼庫(kù)中的102個(gè)優(yōu)化任務(wù),涵蓋了從科學(xué)計(jì)算到圖像處理、數(shù)據(jù)分析再到機(jī)器學(xué)習(xí)推理等多個(gè)領(lǐng)域。
每個(gè)GSO任務(wù)包含三個(gè)核心部分: 1. 一個(gè)初始代碼庫(kù)快照(優(yōu)化前的代碼) 2. 性能測(cè)試,用于衡量代碼速度和驗(yàn)證功能正確性 3. 一個(gè)目標(biāo)人類開(kāi)發(fā)者的優(yōu)化提交,作為性能基準(zhǔn)
三、如何評(píng)估AI的優(yōu)化能力?
評(píng)估AI優(yōu)化代碼的能力并不像評(píng)估功能正確性那樣簡(jiǎn)單。如果你請(qǐng)十個(gè)廚師煮同一道菜,可以通過(guò)味道判斷誰(shuí)做得好;但如果是比較誰(shuí)做得快,這就變得復(fù)雜了——不同的廚房設(shè)備會(huì)影響速度。
同樣,在不同計(jì)算機(jī)上測(cè)量代碼速度會(huì)產(chǎn)生不同結(jié)果。為解決這個(gè)問(wèn)題,研究團(tuán)隊(duì)設(shè)計(jì)了一個(gè)名為"OPT@K"的指標(biāo)。這個(gè)指標(biāo)不是簡(jiǎn)單比較絕對(duì)速度,而是評(píng)估AI生成的優(yōu)化是否能達(dá)到或超過(guò)人類開(kāi)發(fā)者優(yōu)化的性能水平。
具體來(lái)說(shuō),如果AI生成的優(yōu)化在性能上能達(dá)到人類開(kāi)發(fā)者優(yōu)化的95%或以上,并且保持功能正確性,那么這個(gè)優(yōu)化就被認(rèn)為是成功的。研究者還計(jì)算了"OPT@K",即在K次嘗試中至少有一次成功的任務(wù)比例。
為了確保評(píng)估的穩(wěn)健性,他們使用調(diào)和平均數(shù)而非幾何平均數(shù)來(lái)計(jì)算整體加速比。這就像測(cè)量一群跑步者的平均速度時(shí),不會(huì)讓一個(gè)超級(jí)跑者掩蓋其他人的表現(xiàn)。
四、當(dāng)前AI編程助手表現(xiàn)如何?
研究結(jié)果令人驚訝——即使是最先進(jìn)的AI編程助手在處理這些優(yōu)化任務(wù)時(shí)也遇到了顯著困難。
最好的模型CLAUDE-4.0在OPT@1(一次嘗試的成功率)評(píng)估中僅達(dá)到不到5%的成功率,而GPT-4O完全失敗,成功率為0%。即使增加推理時(shí)間和嘗試次數(shù)(OPT@10),成功率也仍然低于15%。
這表明,雖然這些AI助手可能在簡(jiǎn)單的編程任務(wù)上表現(xiàn)不錯(cuò),但當(dāng)面對(duì)需要深入理解系統(tǒng)和算法優(yōu)化的復(fù)雜任務(wù)時(shí),它們還有很長(zhǎng)的路要走。這就像一個(gè)初級(jí)廚師可能會(huì)做簡(jiǎn)單的家常菜,但還無(wú)法在高壓力的專業(yè)廚房環(huán)境中優(yōu)化復(fù)雜菜肴的制作流程。
研究團(tuán)隊(duì)還發(fā)現(xiàn),通過(guò)提供人類優(yōu)化策略的描述(稱為"反向翻譯計(jì)劃")可以略微提高性能,但改善仍然有限。這表明,雖然戰(zhàn)略規(guī)劃和推理有所幫助,但實(shí)現(xiàn)低級(jí)系統(tǒng)更改仍然對(duì)當(dāng)前模型構(gòu)成挑戰(zhàn)。
五、為什么AI在優(yōu)化任務(wù)上表現(xiàn)不佳?
通過(guò)對(duì)AI行為的定性分析,研究人員發(fā)現(xiàn)了幾個(gè)關(guān)鍵的失敗模式:
首先,AI助手在處理低級(jí)語(yǔ)言(如C/C++)時(shí)表現(xiàn)不佳。就像一個(gè)只會(huì)說(shuō)英語(yǔ)的人突然被要求用法語(yǔ)寫(xiě)詩(shī)一樣,AI在處理這些需要精確內(nèi)存管理和硬件理解的語(yǔ)言時(shí)往往會(huì)避開(kāi)或引入致命錯(cuò)誤。數(shù)據(jù)顯示,在純Python任務(wù)上,O4-MINI模型取得了21.4%的成功率,但在非Python任務(wù)上僅為4.0%。
其次,AI傾向于"懶惰優(yōu)化"——尋找簡(jiǎn)單但效果有限的改進(jìn),而不是更深入、更全面的優(yōu)化。例如,有些AI僅僅通過(guò)添加編譯器標(biāo)志(如-O3)來(lái)嘗試優(yōu)化代碼,而不理解代碼本身的瓶頸。這就像試圖通過(guò)更換輪胎來(lái)讓一輛設(shè)計(jì)不良的汽車跑得更快,而不是重新設(shè)計(jì)發(fā)動(dòng)機(jī)。
第三,AI常常無(wú)法準(zhǔn)確定位性能瓶頸。就像醫(yī)生需要正確診斷病因才能提供有效治療一樣,如果AI無(wú)法確定代碼中速度慢的真正原因,它就無(wú)法提供有效的優(yōu)化方案。
一個(gè)有趣的現(xiàn)象是,不同的模型表現(xiàn)出不同的行為模式。O4-MINI往往"探索過(guò)度"——花大量時(shí)間研究代碼庫(kù),但不敢做出實(shí)質(zhì)性更改;而CLAUDE-3.5-V2則"開(kāi)發(fā)過(guò)度"——急于做出大量代碼更改,但缺乏充分的探索和理解。這就像一個(gè)過(guò)于謹(jǐn)慎的廚師不敢嘗試新的烹飪方法,而另一個(gè)則在不完全了解食材的情況下就急于修改食譜。
六、AI也有成功的案例
盡管挑戰(zhàn)重重,研究人員也發(fā)現(xiàn)了一些AI成功優(yōu)化代碼的案例,表明這些模型確實(shí)具有一定的潛力。
在一些案例中,AI提供了簡(jiǎn)單但有效的改進(jìn)。例如,O4-MINI在Tornado網(wǎng)絡(luò)庫(kù)中添加了一個(gè)快速路徑,避免在網(wǎng)絡(luò)流空閑時(shí)進(jìn)行不必要的緩沖,雖然人類開(kāi)發(fā)者的解決方案更全面(重新設(shè)計(jì)整個(gè)緩沖系統(tǒng)),但AI的改進(jìn)也有效提升了性能。
更令人印象深刻的是,有時(shí)AI實(shí)現(xiàn)了超越人類開(kāi)發(fā)者的優(yōu)化。O4-MINI完全重寫(xiě)了Pillow圖像文件解析代碼,將算法復(fù)雜度從O(n?)降低到O(n),通過(guò)只讀取必要的元數(shù)據(jù)而不是解壓整個(gè)幀,提供了根本性更優(yōu)的方法。而人類開(kāi)發(fā)者只做了一個(gè)簡(jiǎn)單的檢查。
CLAUDE-3.5-V2在Pandas的內(nèi)存管理優(yōu)化上也表現(xiàn)出色,通過(guò)預(yù)先計(jì)算精確的分配大小,完全消除了數(shù)組調(diào)整大小的需要,而人類方案仍使用動(dòng)態(tài)調(diào)整大小,只是改進(jìn)了增長(zhǎng)模式。
這些成功案例表明,雖然當(dāng)前模型在復(fù)雜優(yōu)化任務(wù)上整體表現(xiàn)不佳,但它們確實(shí)具有潛力,在某些情況下甚至可以提供超越人類開(kāi)發(fā)者的創(chuàng)新解決方案。
七、GSO基準(zhǔn)測(cè)試的意義和未來(lái)展望
GSO基準(zhǔn)測(cè)試為評(píng)估AI在軟件優(yōu)化領(lǐng)域的能力提供了一個(gè)嚴(yán)格且真實(shí)的標(biāo)準(zhǔn)。與現(xiàn)有的專注于代碼正確性或簡(jiǎn)單性能評(píng)估的基準(zhǔn)測(cè)試不同,GSO測(cè)試AI在處理真實(shí)世界優(yōu)化挑戰(zhàn)的能力,這些挑戰(zhàn)需要跨系統(tǒng)邊界的思考和深入的工程專業(yè)知識(shí)。
研究表明,盡管當(dāng)前AI編程助手在簡(jiǎn)單任務(wù)上表現(xiàn)良好,但在復(fù)雜的優(yōu)化任務(wù)上仍面臨重大挑戰(zhàn)。這一發(fā)現(xiàn)為未來(lái)的研究提供了明確的方向:改進(jìn)AI模型在低級(jí)語(yǔ)言處理、性能瓶頸定位和算法優(yōu)化方面的能力。
隨著研究的進(jìn)展,我們可能會(huì)看到更強(qiáng)大的AI助手,它們不僅能編寫(xiě)功能正確的代碼,還能優(yōu)化性能以滿足現(xiàn)代計(jì)算系統(tǒng)的需求。這將極大地提高軟件開(kāi)發(fā)的效率,使開(kāi)發(fā)人員能夠?qū)W⒂诟邔哟蔚脑O(shè)計(jì)和創(chuàng)新。
研究團(tuán)隊(duì)將GSO基準(zhǔn)測(cè)試的代碼和數(shù)據(jù)集開(kāi)放給社區(qū),希望它能促進(jìn)這一領(lǐng)域的進(jìn)一步研究和進(jìn)步。有興趣深入了解的讀者可以訪問(wèn)項(xiàng)目網(wǎng)站:https://gso-bench.github.io/。
最終,GSO不僅是一個(gè)測(cè)試AI能力的工具,更是一個(gè)推動(dòng)AI編程助手向更高水平發(fā)展的催化劑。就像體育比賽推動(dòng)運(yùn)動(dòng)員不斷突破自己的極限一樣,GSO將推動(dòng)AI編程助手在軟件優(yōu)化這一關(guān)鍵領(lǐng)域不斷進(jìn)步。
好文章,需要你的鼓勵(lì)
這項(xiàng)研究提出了"高效探測(cè)"方法,解決了掩碼圖像建模AI難以有效評(píng)估的問(wèn)題。通過(guò)創(chuàng)新的多查詢交叉注意力機(jī)制,該方法在減少90%參數(shù)的同時(shí)實(shí)現(xiàn)10倍速度提升,在七個(gè)基準(zhǔn)測(cè)試中均超越傳統(tǒng)方法。研究還發(fā)現(xiàn)注意力質(zhì)量與分類性能的強(qiáng)相關(guān)性,生成可解釋的注意力圖譜,展現(xiàn)出優(yōu)異的跨域適應(yīng)性。團(tuán)隊(duì)承諾開(kāi)源全部代碼,推動(dòng)技術(shù)普及應(yīng)用。
伊利諾伊大學(xué)研究團(tuán)隊(duì)開(kāi)發(fā)了CLAIMSPECT系統(tǒng),通過(guò)層次化分解復(fù)雜爭(zhēng)議、智能檢索相關(guān)文獻(xiàn)、多角度收集觀點(diǎn)的方法,將傳統(tǒng)的"真假"判斷轉(zhuǎn)變?yōu)槎嗑S度分析。該系統(tǒng)能夠自動(dòng)構(gòu)建爭(zhēng)議話題的分析框架,識(shí)別不同觀點(diǎn)及其支撐證據(jù),為科學(xué)和政治爭(zhēng)議提供更全面客觀的分析,已在生物醫(yī)學(xué)和國(guó)際關(guān)系領(lǐng)域驗(yàn)證有效性。
清華大學(xué)研究團(tuán)隊(duì)首次提出情感認(rèn)知融合網(wǎng)絡(luò)(ECFN),讓AI能像人類一樣理解和表達(dá)情感。該系統(tǒng)通過(guò)多層次情感處理架構(gòu),在情感識(shí)別準(zhǔn)確率上比現(xiàn)有最佳系統(tǒng)提升32%,情感表達(dá)自然度提升45%。研究突破了傳統(tǒng)AI情感理解的局限,實(shí)現(xiàn)了跨模態(tài)情感融合、動(dòng)態(tài)情感追蹤和個(gè)性化情感建模,為醫(yī)療、教育、客服等領(lǐng)域帶來(lái)革命性應(yīng)用前景。
哈佛大學(xué)研究團(tuán)隊(duì)通過(guò)創(chuàng)新的多智能體強(qiáng)化學(xué)習(xí)方法,讓AI在戰(zhàn)略游戲中學(xué)會(huì)復(fù)雜推理。研究發(fā)現(xiàn)AI通過(guò)游戲競(jìng)爭(zhēng)能發(fā)展出類人思維能力,在邏輯推理、創(chuàng)造性解決問(wèn)題等方面表現(xiàn)顯著提升。這項(xiàng)突破性成果為未來(lái)AI在醫(yī)療、教育、城市管理等領(lǐng)域的應(yīng)用奠定基礎(chǔ),展現(xiàn)了通過(guò)模擬人類學(xué)習(xí)過(guò)程培養(yǎng)真正智能AI的新路徑。