DeepMind發布AI編程系統AlphaCode,可達到競賽級編程水平

2022年12月09日22:30:17 科技 1878

人工智慧AI)的飛速發展有目共睹,如今,AI 在下圍棋、玩星際爭霸等遊戲、生成藝術作品、甚至是優化微晶元的架構等方面都達到或超過了人類的水平。接下來,AI 會在編程方面也超過人類嗎?


事實上,自動化編程已經不是一個新鮮話題。今天已經有一些功能強大的大規模語言模型,在網頁設計等簡單的編程任務中,展現出了在代碼生成方面的潛力。然而,要想讓 AI 通過編程來解決那些較為複雜且隱晦的問題,仍有很長的路要走。


而最近來自DeepMind 開發的名為 AlphaCode 的系統,可通過基於轉換器的語言模型來生成代碼,並且針對那些需要深度推理的編程問題,能夠創建新穎的解決方案。在 10 場有 5000 多名人類參與者的競賽級別的編程比賽中,AlphaCode 排名位於前 54.3%。也就是說,其已達到了平均人類水平。


近日,相關論文以《可實現完成競賽級別的代碼生成任務的 AlphaCode》(Competition-level code generation with AlphaCode)為題發表在 Science,並成為當期封面論文[1]。



DeepMind發布AI編程系統AlphaCode,可達到競賽級編程水平 - 天天要聞

圖 | AlphaCode 相關論文(來源:Science)


讓 AI 實現編程有著許多挑戰,尤其是即使對於同一個問題,可提供的解決方案也可能看起來截然不同,而如何讓 AI 對部分正確或不正確的程序進行判斷,是一項艱巨的挑戰。


此前已經有一些可完成簡單編程任務的 AI 系統,例如 Codex 可以完成簡短的敘述總結等任務。但是,當真正面對複雜的編程問題,這些 AI 系統便顯得捉襟見肘。尤其是如何讓 AI 編程,使用 C++ 或 Python 等通用編程語言來生成整個程序,來解決諸如較長的自然語言描述任務等,在這方面一直進展不多。


為解決這一問題,DeepMind 為 AlphaCode 設置了以下三個關鍵組件,使其得以在代碼生成任務中實現可以與人類競爭的水平:一是選用廣泛且簡潔的競爭性編程數據集,以便進行訓練和評估;二是採用大型、且具備高效採樣能力的架構;三是通過大規模模型抽樣來縮小探索空間,並根據程序行為對一小組提交內容進行過濾。


AlphaCode 訓練時所選擇的數據集,是競爭性的編程數據集。該數據集也正是這些複雜編程問題的代表集,AI 不僅需要理解複雜的自然語言描述,對以前未見過的問題進行推理,還要掌握範圍廣泛的演算法和數據結構,並能精確地實施跨越數百行的解決方案。此外,由於每年都有全球數十萬編程者廣泛參與,因此競爭性編程問題集可以更好地確保針對問題找到最佳解決捷徑,從而提供更好的判別基準。



DeepMind發布AI編程系統AlphaCode,可達到競賽級編程水平 - 天天要聞

圖 | AlphaCode 系統的概述(來源:arXiv)


如上圖所示,是 AlphaCode 系統的概述,簡單來說系統工作主要分為以下四個過程:


首先,系統會在有著標準語言建模目標的 GitHub 代碼集上,對基於轉換器的語言模型進行預訓練。這樣模型便可實現合理地將問題在人類的編碼空間定位,從而大大減少了問題搜索範圍。


然後,系統以 GOLD 作為訓練目標,在競爭性編程數據集上進行模型的微調。這可以進一步將搜索空間縮小,並可以通過預訓練來補償少量的競爭性編程數據。


接下來,系統會為每個問題生成大量樣本。


最後,系統對這些樣本進行過濾,並獲得數量不超過 10 個的一小組候選樣本提交。然後通過使用示例測試和聚類等,對所選樣本進行隱藏的測試評估,然後根據程序的反饋來選擇樣本。


可以看出 AlphaCode 中有個獨特的設置,就是在大規模採樣後進行過濾,這大大提高了問題解決率,能夠促進更快捷、高效的採樣。


為了對 AlphaCode 的性能進行評估,研究人員將其在著名的編程競賽 Codeforces 和 CodeContests 平台上進行了評估。



DeepMind發布AI編程系統AlphaCode,可達到競賽級編程水平 - 天天要聞

圖 | AlphaCode 系統在 10 次 Codeforces 中的排名(越低越好)(來源:arXiv)


經過評估,AlphaCode 系統在 10 次 Codeforces 競賽中,平均排名可達到前 54.3%,也就是已經與平均人類編程者的水平。


概括來說,此次人工智慧輔助編碼平台的開發,會顯著提高程序員的生產力。同期Science 評論中寫道:「它代表了機器學習模型向前邁出的實質性一步,該模型可以通過合成計算機程序來解決一些挑戰性問題。」另據悉,論文作者告訴媒體,雖然 AlphaCode 是從 0% 到 30% 的重要一步,但仍有很多工作要做,下一步其將繼續完善 AlphaCode。


參考資料

1.Yujia Li et al. Science 378, 6624,1092-1097(2022).DOI: 10.1126/science.abq1158

科技分類資訊推薦

年薪3.63億元!黃仁勛,基本工資10年來首漲 - 天天要聞

年薪3.63億元!黃仁勛,基本工資10年來首漲

據新浪財經報道,根據英偉達於當地時間5月1日遞交給美國證交所(SEC)的一份新文件顯示,黃仁勛2025財年的基本年薪漲至150萬美元,較2024財年增長了49%。他的可變現金也比2024財年增加了100萬美元,增幅為50%。
哪吒汽車App被曝斷網!官網已無法訪問 - 天天要聞

哪吒汽車App被曝斷網!官網已無法訪問

5月4日,哪吒汽車再次被曝出App斷網的問題,相關話題也迅速登上抖音、微博等平台熱搜。據多位哪吒車主在社交平台發布的消息,從5月2日開始,不少車主都遇到了哪吒汽車App斷網、App控車無法使用等問題。
360雲盤使用教程:存儲與同步文件更便捷 - 天天要聞

360雲盤使用教程:存儲與同步文件更便捷

初次使用360雲盤的用戶可能會感到困惑,不清楚如何操作。下面我來介紹其使用方法。360雲盤有多個版本,今天主要講解客戶端的使用,其他版本與此類似。掌握客戶端的用法後,其餘版本也就容易理解了。1、 首先,打開瀏覽器,在地址欄輸入360雲盤客戶端,然後進行搜索。2、 第二步,選擇下載PC版,以好搜為例,其他軟體操作類...
Win7文件夾加密軟體:保護您的隱私和重要文件 - 天天要聞

Win7文件夾加密軟體:保護您的隱私和重要文件

我的電腦長期使用Win7系統,我對其情有獨鍾。有次朋友問起,是否知道Win7文件夾加密軟體?這類軟體確實存在,今天就來為大家詳細介紹這款實用工具的功能與特點。1、 下載安裝win7文件夾加密軟體十分簡便,只需輕點一下即可開始安裝。2、 接著,我打開了軟體中的加密文件。3、 選中我們的win7文件夾即可。4、 護密軟體會彈出...
保障隱私:免費文件夾加密軟體推薦 - 天天要聞

保障隱私:免費文件夾加密軟體推薦

網上有許多免費的文件夾加密軟體,但並非都好用。這裡介紹一款實用的免費工具,值得一試。1、 讓我們下載免費的文件夾加密軟體來保護隱私。2、 安裝完成後,運行軟體並點擊加密文件夾。3、 選擇一個需要加密的文件夾,例如名為工作重要內容的文件夾。4、 為文件夾設置密碼後,採用閃電加密方式保護。5、 軟體開始快速加密,...
文件夾加密軟體使用指南 - 天天要聞

文件夾加密軟體使用指南

想給保密文件加密卻不知如何操作?其實很簡單,只需下載文件夾加密軟體。下面小編就為大家講解如何使用該軟體進行文件加密。1、 首先,從百度搜索易捷文件夾加密軟體,進入任意網頁下載安裝,這一步不再詳述,相信大家都懂。2、 點擊後會出現一個選擇文件夾的窗口,我們需要選擇文件夾,並記得文件夾的存放位置,否則怎麼找...
今年國產手機最火的功能,徹底被玩壞了 - 天天要聞

今年國產手機最火的功能,徹底被玩壞了

機友們覺得,這兩年,國產手機在軟體上給人感覺最大的變化是什麼? 有些機友可能會覺得是接入 AI。 但機哥覺得,最大的變化應該是「接入 iOS」。 也就是大家都在做的,明....