奧推網

選單
文化

AI自己寫程式碼讓智慧體進化!OpenAI的大模型有“人類思想”那味了

金磊 夢晨 發自 凹非寺

量子位 | 公眾號 QbitAI

搞事情!

AI

“看”了一眼

GitHub

上人類都是怎麼提交更新

(commit)

的,然後就模仿

人類

程式設計師修改程式碼……

最終,這個AI還成功“調教”出了個

智慧體

機器人:

沒開玩笑,這種

細思極恐

的事情,在

OpenAI

最新發布的一項研究中,就真真的發生了……

原本呢,研究人員要解決的是一個遺傳程式設計

(GP)

問題——讓一個智慧體機器人學會移動。

(GP是演化計算中的一個特殊領域,它主要針對自動構建程式去獨立解決問題。)

但OpenAI劍走偏鋒,把自家的大規模語言模型

(LLM)

放了進來,結果就是一個大大的“萬萬沒想到”。

以前在智慧體演進的過程中,人類研究員是需要參與進來做一些細節調整、確定演進方向等工作,讓智慧體往好的方向發展。

現在好了,這些活兒都讓大模型給包攬了,

自己學

自己寫程式碼

自己去“調教”

這事一經論文一作Joel Lehman在網路曝光,瞬間引發了網友們的大量關注:

一位程式設計師網友在看完後直呼“跟不上

(技術)

發展的步伐”了:

甚至OpenAI自己都在研究中說:

彌合了進化演算法在人類思想水平執行的鴻溝。

那麼這件“魔幻”的事情,AI到底是怎麼辦到的?

看一眼GitHub,AI自己動手敲程式碼

在虛擬環境中設計可移動的機器人,是遺傳演算法研究中很火的一個專案。

特別是

Sodarace

競賽因為需要的計算量少,過程方便視覺化很受歡迎。

規則很簡單,由“關節”和“肌肉”組成的機器人在各種地形上賽跑。

OpenAI還特意把整個競賽程式從專用的遺傳編碼改寫成了Python版本,為了展示新方法對現代程式語言的通用性。

比如這樣一段Python程式碼,就可以作為初始種子機器人。

定義好一個正方形的四個頂點關節、終點關節,相互之間都用“肌肉”連線好後,結果如下。

不過這樣方方正正的結構一動都不能動,接下來就需要靠遺傳演算法對程式碼做修改。

研究團隊認為,用傳統遺傳演算法修改程式碼VS人類程式設計師自己動手,在效率上還有兩點差距:

一個是軟體越來越複雜,人類可以搞模組化的程式碼複用來應對,而目前最先進的遺傳演算法也無法在人類使用的程式語言上做到這一點。

另一個是幾乎所有遺傳演算法靠的都是隨機突變

(mutation)

,而人類程式設計師每一次修改程式碼都帶有目的,或者是增加功能、或者是改進效率、又或者是修復bug。

那麼有沒有辦法讓AI學習到人類是如何修改程式碼的呢?

還真有,所需的訓練資料都存在GitHub上。

優秀的程式設計師每次提交程式碼都會寫好commit描述,說清楚這一次提交修改了什麼內容。

commit描述配合上提交前後程式碼對比的diff資料,就是AI絕佳的學習材料。

研究人員篩選出一些描述意圖明確、修改的程式碼量不大的提交資料來訓練一個GPT-3架構的AI模型。

相當於讓AI向人類程式設計師學習瞭如何有目的的修改一段程式碼。

這篇論文所用的模型也不需要完全版GPT-3的1750億引數那麼大,最高7。5億引數就足以。

由此得到了基礎的AI模型,將在遺傳演算法中扮演變異運算元的角色。

接下來讓AI自己設計新機器人的流程總共分三步。

第一步,先用經典的MAP-Elites演算法生成一組初始機器人。

這是一種QD

(質量多樣性)

演算法,可以保證機器人行為不同且質量都很高。

第二步,用第一步產生的初始資料做預訓練,讓AI先學會設計出訓練資料分佈內的機器人。

也就是開頭處那張在網上驚豔了眾人的動圖,展示了AI如何一步步把無法移動的“方塊”改造成雙腿交替彈跳移動機器人。

第三步,再結合上強化學習演算法做微調,讓AI能根據不同地形條件生成能適應環境的機器人。

最終,研究人員選取了從最初的三個種子進化而來的機器人做效果展示。

可以看出它們的結構和移動方式都完全不同。

網友驚呼“思路清奇”

這項研究一經公佈,可謂是一石激起千層浪。

許多網友都驚歎於這種“大模型+演進演算法”結合的新奇方式:

做過與之相關工作的研究人員也表示,從未想過能用大模型以diffs的形式來學習突變:

而除了對研究形式和本身的討論之外,也有網友配上了這樣圖:

AI自己寫程式碼讓智慧體進化!OpenAI的大模型有“人類思想”那味了

Emmm……是有點那種味了。

團隊介紹

這項研究的團隊成員均來自OpenAI。

論文一作是Joel Lehman,是一位機器學習科學家。其聚焦的領域包括人工智慧安全、強化學習和開放式搜尋演算法。

AI自己寫程式碼讓智慧體進化!OpenAI的大模型有“人類思想”那味了

與此同時,Joel Lehman此前基於對人工智慧發展的思考合寫過一本科學讀物《為什麼偉大不能被計劃出來:客觀的秘密》:

AI自己寫程式碼讓智慧體進化!OpenAI的大模型有“人類思想”那味了

而對於這項研究的下一步,Joel Lehman本人表示:

還有一個重要問題,就是模型能夠多大程度上應用到其它環境中。

GP中的突變功效現在可以透過ELM大幅提高,這將激發出一系列廣泛的新應用和研究方向。

那麼這項研究是否也對你產生了新的啟發呢?

歡迎在評論區留言討論~

參考連結:

[1]https://arxiv。org/abs/2206。08896

[2]https://twitter。com/joelbot3000/status/1538770905119150080?s=21&t=l8AASYjgC6RAEEimcQaFog

— 完 —

量子位 QbitAI · 頭條號簽約