AI自己寫代碼讓智能體進化!OpenAI的大模型有“人類思想”那味了
搞事情!
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的形式來學習突變:
而除了對研究形式和本身的討論之外,也有網友配上了這樣圖:
Emmm……是有點那種味了。
團隊介紹
這項研究的團隊成員均來自OpenAI。
論文一作是Joel Lehman,是一位機器學習科學家。其聚焦的領域包括人工智能安全、強化學習和開放式搜索算法。
與此同時,Joel Lehman此前基于對人工智能發展的思考合寫過一本科學讀物《為什么偉大不能被計劃出來:客觀的秘密》:
而對于這項研究的下一步,Joel Lehman本人表示:
還有一個重要問題,就是模型能夠多大程度上應用到其它環境中。
GP中的突變功效現在可以通過ELM大幅提高,這將激發出一系列廣泛的新應用和研究方向。
那么這項研究是否也對你產生了新的啟發呢?
參考鏈接:
[1]https://arxiv.org/abs/2206.08896
[2]https://twitter.com/joelbot3000/status/1538770905119150080?s=21&t=l8AASYjgC6RAEEimcQaFog