正在閱讀:

程序員創(chuàng)造的AI要讓自己下崗了

掃一掃下載界面新聞APP

程序員創(chuàng)造的AI要讓自己下崗了

AI敲代碼登Science封面,打敗近一半程序員。

文|智東西

編譯|程茜

智東西12月9日報道,今天,DeepMind的計算機程序編寫AI(人工智能)模型AlphaCode,登上國際學術頂刊Science封面!

當人工智能與人類并肩參加編程競賽會發(fā)生什么?在競爭性編碼比賽平臺Codeforces的10場比賽中,AlphaCode在比賽的模擬評估中平均排名前54.3%,其編碼技能水平超過剩余的人類參與者。

▲AlphaCode的比賽模擬評估結果

早在今年2月,DeepMind就已經(jīng)推出AlphaCode,并默默參加了多場編程比賽。外媒GIZMODO報道稱,在測試中,AlphaCode能夠實現(xiàn)“近似人類水平的表現(xiàn)”,該模型通過預測代碼段創(chuàng)建大量潛在解決方案,能解決競賽中以前未見過的自然語言問題,該模型的整體性能相當于經(jīng)過幾個月到一年培訓的“新手程序員”。

▲AlphaCode根據(jù)問題描述提供的解決方案

01.從理解到解決問題AI寫代碼能力近似人類

為不可預見的問題創(chuàng)造解決方案是人工智能發(fā)展的第二路徑。目前,機器學習的相關研發(fā)在生成和理解文本數(shù)據(jù)方面取得了巨大進步,但在解決問題方面的進展仍然局限于相對簡單的數(shù)學和編程問題,或者檢索和復制現(xiàn)有解決方案。

因此,DeepMind構建了AlphaCode系統(tǒng),該系統(tǒng)可以解決需要批判性思維、邏輯、算法、編碼和自然語言理解能力相結合的新問題。

AlphaCode并沒有內置關于計算機代碼結構的知識,而是依靠完全的“數(shù)據(jù)驅動”方法來編寫代碼。也就是說,該模型通過觀察大量現(xiàn)有代碼,來學習計算機程序的結構,基于機器學習模型LLM,AlphaCode就可以通過一次次預測給定問題描述中的單個字符,來進行學習。

為了評估這一模型的表現(xiàn),AlphaCode模擬參與了Codeforces的10場比賽。這些比賽的難度在于,參與者不可能通過復制以前見過的解決方案或嘗試每一種可能相關的算法等捷徑來解決問題。因此,為了贏得比賽,AlphaCode必須創(chuàng)造新穎有趣的解決方案。

在生成大量解決方案之后,AlphaCode會將它們過濾到最多10個解決方案。

▲AlphaCode編程處理過程

研究人員稱,在這些比賽中解決問題的能力,已經(jīng)超過了現(xiàn)在AI系統(tǒng)的能力。

從AlphaCode在比賽中的排名來看,這一模型的表現(xiàn)可能并不突出。但研究人員談道,在編碼比賽中取得成功是非常困難的。

面對沒有見過的編碼問題,AlphaCode必須首先理解自然語言中的復雜編碼問題,然后對不可預見的問題進行“推理”,而不是簡單地記住代碼片段。研究人員認為,沒有任何證據(jù)表明他們的模型只是簡單從訓練數(shù)據(jù)中復制了核心框架。

02.10000多個文本預訓練整合候選解決方案

AlphaCode在競爭性編程任務中優(yōu)于其他系統(tǒng)的原因在于預訓練和候選解決方案。

研發(fā)人員為該模型構建了CodeContest數(shù)據(jù)集,該數(shù)據(jù)集由約13500個競爭性編程問題的說明性文本、所需輸入輸出對的簡單測試用例以及跨幾種變成語言的問題潛在解決方案組成。

此外,還有GitHub中沒有問題描述且包含多種語言的非結構化字符對這一模型進行訓練。

▲研發(fā)人員通過數(shù)據(jù)集對AlphaCode進行預訓練

在評估過程中,研發(fā)人員還發(fā)現(xiàn),該模型為問題生成單個解決方案代碼的性能很差,因此AlphaCode會生成大量候選解決方案,并通過簡單測試進行再次過濾,整合相似的解決方案,避免重復,以增加潛在解決方案的多樣性。

該模型也有明顯的局限性,它可以高效記憶數(shù)據(jù)集中的解決方案,然后重新排列輸出這些模式,這就導致模型對潛在問題可能并沒有真正理解,只是在盲目模仿輸出。

從綜合表現(xiàn)來看,AlphaCode的表現(xiàn)確實在編碼領域展現(xiàn)出了潛力。卡內基梅隆大學博世人工智能中心教授J. Zico Kolter在一篇博文中寫道:“最終,AlphaCode在應對前所未見的編碼挑戰(zhàn)時表現(xiàn)出色,無論它‘真正’理解任務的程度如何?!?/p>

03.早期仍是AI輔助生成代碼代碼所有權引爭議

AlphaCode并不是唯一一個考慮到編碼開發(fā)的AI模型。

此前,OpenAI已經(jīng)對其GPT-3自然語言模型進行了調整,以創(chuàng)建一個可以幫助代碼行自動完成的功能。GitHub也有自己的AI編程工具Copilot。然而,這兩個程序在解決復雜的競爭問題方面都沒有表現(xiàn)出與人類競爭的實力。

現(xiàn)在,AI在編寫代碼方面的應用仍處于AI輔助代碼生成的相對早期階段,但AlphaCode在競賽中的表現(xiàn)展示了深度學習模型在解決這類不能依靠單純復制、學習此前的事例,而是需要批判性思維、邏輯判斷等任務的巨大潛力。

研究人員稱,除了提高總體生產(chǎn)力外,AlphaCode還可以“讓新一代開發(fā)人員更容易進行編程。” 在不斷的發(fā)展中,AlphaCode有朝一日可能會對編程的文化產(chǎn)生影響,到那時,人類存在的意義是為了制定問題,然后由AI來解決這些問題。

與此同時,AI領域的一些批評者也在質疑許多AI模型在訓練模擬過程中的實際效果。

就在上個月,一位名叫Matthew Butterick的程序員對微軟旗下的GitHub提起了首起此類訴訟,稱其Copilot AI助手工具在學習和測試階段公然忽略或刪除軟件工程師提供的許可證。

Butterick認為,自由使用其他程序員的代碼相當于“規(guī)??涨暗能浖I版”。該訴訟的結果可能會決定AI開發(fā)人員未來在研發(fā)、改進模型方面的難易程度,因為,此前開發(fā)人員可以使用人類代碼來訓練模型。

04.結語:AI解決問題能力釋放巨大潛力

相比于復雜棋盤游戲中的AI模型,AlphaCode在比賽中的表現(xiàn)都不夠驚艷,但其預示著AI模型在解決問題能力方面的巨大進步。

DeepMind的研究團隊堅信,這僅僅是一個開始。AI模型在代碼編寫領域為研發(fā)人員留下了巨大的改進空間。DeepMind將繼續(xù)這一探索,并希望進一步研究能夠增強編程能力的工具,并更接近于能真正解決問題的AI。

來源:GIZMODO、Science、DeepMind

本文為轉載內容,授權事宜請聯(lián)系原著作權人。

評論

暫無評論哦,快來評價一下吧!

下載界面新聞

微信公眾號

微博

程序員創(chuàng)造的AI要讓自己下崗了

AI敲代碼登Science封面,打敗近一半程序員。

文|智東西

編譯|程茜

智東西12月9日報道,今天,DeepMind的計算機程序編寫AI(人工智能)模型AlphaCode,登上國際學術頂刊Science封面!

當人工智能與人類并肩參加編程競賽會發(fā)生什么?在競爭性編碼比賽平臺Codeforces的10場比賽中,AlphaCode在比賽的模擬評估中平均排名前54.3%,其編碼技能水平超過剩余的人類參與者。

▲AlphaCode的比賽模擬評估結果

早在今年2月,DeepMind就已經(jīng)推出AlphaCode,并默默參加了多場編程比賽。外媒GIZMODO報道稱,在測試中,AlphaCode能夠實現(xiàn)“近似人類水平的表現(xiàn)”,該模型通過預測代碼段創(chuàng)建大量潛在解決方案,能解決競賽中以前未見過的自然語言問題,該模型的整體性能相當于經(jīng)過幾個月到一年培訓的“新手程序員”。

▲AlphaCode根據(jù)問題描述提供的解決方案

01.從理解到解決問題AI寫代碼能力近似人類

為不可預見的問題創(chuàng)造解決方案是人工智能發(fā)展的第二路徑。目前,機器學習的相關研發(fā)在生成和理解文本數(shù)據(jù)方面取得了巨大進步,但在解決問題方面的進展仍然局限于相對簡單的數(shù)學和編程問題,或者檢索和復制現(xiàn)有解決方案。

因此,DeepMind構建了AlphaCode系統(tǒng),該系統(tǒng)可以解決需要批判性思維、邏輯、算法、編碼和自然語言理解能力相結合的新問題。

AlphaCode并沒有內置關于計算機代碼結構的知識,而是依靠完全的“數(shù)據(jù)驅動”方法來編寫代碼。也就是說,該模型通過觀察大量現(xiàn)有代碼,來學習計算機程序的結構,基于機器學習模型LLM,AlphaCode就可以通過一次次預測給定問題描述中的單個字符,來進行學習。

為了評估這一模型的表現(xiàn),AlphaCode模擬參與了Codeforces的10場比賽。這些比賽的難度在于,參與者不可能通過復制以前見過的解決方案或嘗試每一種可能相關的算法等捷徑來解決問題。因此,為了贏得比賽,AlphaCode必須創(chuàng)造新穎有趣的解決方案。

在生成大量解決方案之后,AlphaCode會將它們過濾到最多10個解決方案。

▲AlphaCode編程處理過程

研究人員稱,在這些比賽中解決問題的能力,已經(jīng)超過了現(xiàn)在AI系統(tǒng)的能力。

從AlphaCode在比賽中的排名來看,這一模型的表現(xiàn)可能并不突出。但研究人員談道,在編碼比賽中取得成功是非常困難的。

面對沒有見過的編碼問題,AlphaCode必須首先理解自然語言中的復雜編碼問題,然后對不可預見的問題進行“推理”,而不是簡單地記住代碼片段。研究人員認為,沒有任何證據(jù)表明他們的模型只是簡單從訓練數(shù)據(jù)中復制了核心框架。

02.10000多個文本預訓練整合候選解決方案

AlphaCode在競爭性編程任務中優(yōu)于其他系統(tǒng)的原因在于預訓練和候選解決方案。

研發(fā)人員為該模型構建了CodeContest數(shù)據(jù)集,該數(shù)據(jù)集由約13500個競爭性編程問題的說明性文本、所需輸入輸出對的簡單測試用例以及跨幾種變成語言的問題潛在解決方案組成。

此外,還有GitHub中沒有問題描述且包含多種語言的非結構化字符對這一模型進行訓練。

▲研發(fā)人員通過數(shù)據(jù)集對AlphaCode進行預訓練

在評估過程中,研發(fā)人員還發(fā)現(xiàn),該模型為問題生成單個解決方案代碼的性能很差,因此AlphaCode會生成大量候選解決方案,并通過簡單測試進行再次過濾,整合相似的解決方案,避免重復,以增加潛在解決方案的多樣性。

該模型也有明顯的局限性,它可以高效記憶數(shù)據(jù)集中的解決方案,然后重新排列輸出這些模式,這就導致模型對潛在問題可能并沒有真正理解,只是在盲目模仿輸出。

從綜合表現(xiàn)來看,AlphaCode的表現(xiàn)確實在編碼領域展現(xiàn)出了潛力??▋然仿〈髮W博世人工智能中心教授J. Zico Kolter在一篇博文中寫道:“最終,AlphaCode在應對前所未見的編碼挑戰(zhàn)時表現(xiàn)出色,無論它‘真正’理解任務的程度如何?!?/p>

03.早期仍是AI輔助生成代碼代碼所有權引爭議

AlphaCode并不是唯一一個考慮到編碼開發(fā)的AI模型。

此前,OpenAI已經(jīng)對其GPT-3自然語言模型進行了調整,以創(chuàng)建一個可以幫助代碼行自動完成的功能。GitHub也有自己的AI編程工具Copilot。然而,這兩個程序在解決復雜的競爭問題方面都沒有表現(xiàn)出與人類競爭的實力。

現(xiàn)在,AI在編寫代碼方面的應用仍處于AI輔助代碼生成的相對早期階段,但AlphaCode在競賽中的表現(xiàn)展示了深度學習模型在解決這類不能依靠單純復制、學習此前的事例,而是需要批判性思維、邏輯判斷等任務的巨大潛力。

研究人員稱,除了提高總體生產(chǎn)力外,AlphaCode還可以“讓新一代開發(fā)人員更容易進行編程。” 在不斷的發(fā)展中,AlphaCode有朝一日可能會對編程的文化產(chǎn)生影響,到那時,人類存在的意義是為了制定問題,然后由AI來解決這些問題。

與此同時,AI領域的一些批評者也在質疑許多AI模型在訓練模擬過程中的實際效果。

就在上個月,一位名叫Matthew Butterick的程序員對微軟旗下的GitHub提起了首起此類訴訟,稱其Copilot AI助手工具在學習和測試階段公然忽略或刪除軟件工程師提供的許可證。

Butterick認為,自由使用其他程序員的代碼相當于“規(guī)模空前的軟件盜版”。該訴訟的結果可能會決定AI開發(fā)人員未來在研發(fā)、改進模型方面的難易程度,因為,此前開發(fā)人員可以使用人類代碼來訓練模型。

04.結語:AI解決問題能力釋放巨大潛力

相比于復雜棋盤游戲中的AI模型,AlphaCode在比賽中的表現(xiàn)都不夠驚艷,但其預示著AI模型在解決問題能力方面的巨大進步。

DeepMind的研究團隊堅信,這僅僅是一個開始。AI模型在代碼編寫領域為研發(fā)人員留下了巨大的改進空間。DeepMind將繼續(xù)這一探索,并希望進一步研究能夠增強編程能力的工具,并更接近于能真正解決問題的AI。

來源:GIZMODO、Science、DeepMind

本文為轉載內容,授權事宜請聯(lián)系原著作權人。