谷歌日前發(fā)布了AlphaCode2,這是一款由Gemini模型驅(qū)動(dòng)的AI編程工具,是對(duì)前代AlphaCode的改進(jìn)版本。與Gemini模型同時(shí)亮相,AlphaCode2在編程競(jìng)賽中表現(xiàn)出色,尤其在動(dòng)態(tài)規(guī)劃等復(fù)雜問(wèn)題上具備更強(qiáng)大的能力。

研究人員通過(guò)在CodeForces競(jìng)賽網(wǎng)站上收集的約15000個(gè)問(wèn)題和3000萬(wàn)份人類編寫的代碼的數(shù)據(jù)集上對(duì)Gemini Pro系統(tǒng)進(jìn)行精細(xì)調(diào)整,為AlphaCode2的問(wèn)題解決能力提供了強(qiáng)大支持。
根據(jù)谷歌在Codeforces平臺(tái)上的數(shù)據(jù),AlphaCode2在涵蓋Python、Java、C++和Go等多語(yǔ)言的編程競(jìng)賽中,平均勝過(guò)了約85%的競(jìng)爭(zhēng)對(duì)手,相較于前代,這是一次顯著的提升。在技術(shù)白皮書中指出,在12場(chǎng)最近的競(jìng)賽中,AlphaCode2解決了77個(gè)問(wèn)題中的43%,而前代僅在25%的問(wèn)題上獲得成功。

動(dòng)態(tài)規(guī)劃是編程競(jìng)賽中常見(jiàn)的復(fù)雜問(wèn)題之一,而AlphaCode2展現(xiàn)出其在這方面的卓越表現(xiàn)。DeepMind研究科學(xué)家Rémi Leblond在一段預(yù)錄視頻中解釋說(shuō),AlphaCode2不僅知道何時(shí)正確實(shí)施動(dòng)態(tài)規(guī)劃策略,還知道在何處使用它。這對(duì)于原始AlphaCode在處理需要?jiǎng)討B(tài)規(guī)劃的編程問(wèn)題時(shí)曾經(jīng)遇到的困難而言,是一項(xiàng)顯著的進(jìn)步。
AlphaCode2的工作原理涉及一系列“策略模型”,這些模型為每個(gè)問(wèn)題生成多個(gè)代碼樣本。不符合問(wèn)題描述的代碼樣本被過(guò)濾掉,然后通過(guò)聚類算法將“語(yǔ)義相似的代碼樣本”分組,以避免冗余。最終,AlphaCode2內(nèi)的評(píng)分模型確定每個(gè)最大代碼樣本“簇”中的最佳候選答案。
盡管AlphaCode2在編程競(jìng)賽中表現(xiàn)出色,但白皮書指出其存在一些缺陷。例如,AlphaCode2需要大量的試錯(cuò),運(yùn)營(yíng)成本較高,且過(guò)于依賴于過(guò)濾明顯錯(cuò)誤的代碼樣本。據(jù)猜測(cè),遷移到更強(qiáng)大的Gemini版本,如Gemini Ultra,可能會(huì)緩解這些問(wèn)題。
Google DeepMind相信,通過(guò)使用Gemini Ultra,一個(gè)比Gemini Pro更大更強(qiáng)大的大型語(yǔ)言模型,他們可以構(gòu)建一個(gè)更出色的代碼編寫模型,并表示正在努力將其能力提供給開(kāi)發(fā)者。團(tuán)隊(duì)希望將AlphaCode2的獨(dú)特能力引入基礎(chǔ)Gemini模型,使這種新的編程范式成為所有人的首選。
關(guān)于AlphaCode2是否會(huì)成為產(chǎn)品的問(wèn)題,DeepMind的產(chǎn)品副總裁Eli Collins在一次簡(jiǎn)報(bào)中暗示了這一可能性。
他表示:“關(guān)于最新結(jié)果最讓我興奮的事情之一是,當(dāng)程序員與[由Gemini提供動(dòng)力的] AlphaCode2合作時(shí),通過(guò)定義代碼應(yīng)遵循的某些屬性,[模型]的性能會(huì)變得更好。”
他進(jìn)一步指出:“在未來(lái),我們預(yù)見(jiàn)程序員將利用高度 capable 的AI模型作為協(xié)作工具,從問(wèn)題推理到輔助實(shí)施,助力整個(gè)軟件開(kāi)發(fā)過(guò)程。”


