2023.06.09 16:30

把GPT-4塞進 Minecraft,AI 智慧體 Voyager 自學探索新世界、挖掘建屋打獵樣樣行

ADVERTISEMENT

給遊戲業來點 GPT-4 式震撼?這個叫 Voyager 的智慧體不僅可以根據遊戲的反饋自主訓練,而且還能自行寫程式碼推動遊戲任務。

繼史丹佛大學開發的 25 人小鎮遊戲後,AI 智慧體又出爆款新作了。

最近,NVIDIA 首席科學家 Jim Fan 等人把 GPT-4 整進了「當個創世神」(Minecraft), 提出了一個全新的 AI 智慧體 Voyager。

ADVERTISEMENT

Voyager 的厲害之處在於,它不僅性能完勝 AutoGPT,而且還可以在遊戲中進行全場景的終身學習!

比起之前的 SOTA (State of the Art) 模型,Voyager 獲得的物品多出了 3.3 倍,旅行距離變長了 2.3 倍,解鎖關鍵技能樹的速度快了 15.3 倍。

ADVERTISEMENT

對此,網友直接震驚了:我們離通用人工智慧 AGI (Articifical General Intelligence),又近了一步。

所以,未來的遊戲,就是由大型語言模型帶動 NPC 來玩的吧?

ADVERTISEMENT

真・數位生命

接入 GPT-4 之後,Voyager 根本不用人類操心,完全就是自學成才。

它不僅掌握了挖掘、建房屋、收集、打獵這些基本的生存技能,還學會了自個進行開放式探索。

ADVERTISEMENT

它會自己去到不同的城市,路過一片片海洋,一座座金字塔,甚至還會自己搭建傳送門。

通過自我驅動,它不斷探索著這個神奇的世界,擴充著自己的物品和裝備,配備不同等級的盔甲,用盾牌格擋上海,用柵欄圈養動物……

論文地址:https://arxiv.org/ abs / 2305.16291

項目地址:https://voyager.minedojo.org/

Voyager 的英勇事蹟包括但不限於:

大戰末影人

造基地

挖紫水晶

挖金子

收集仙人掌

打獵

釣魚

數位生命的潛能究竟有多大?我們只知道,現在 Voyager 仍然在 Minecraft 中一刻不停地探索,不斷擴展著自己的疆域。

「訓練」無需梯度下降

此前,AI 領域的一大挑戰就是,建構具有通用能力的具身智慧體 (Embodied Intelligence),讓它們在開放世界中自主探索,自行發展新技能。

以往,學界都是採用強化學習和模仿學習,但這些方法在系統化的探索、可解釋性和泛化性等方面,表現往往差強人意。

大型語言模型的出現,給建構具身智慧體帶來了全新的可能性。因為基於 LLM 的智慧體可以利用預訓練模型中蘊含的世界知識,生成一致的行動計畫或可執行策略,這就非常適合應用於遊戲和機器人之類的任務。

此前,史丹佛研究者建構出生活著 25 個 AI 智慧體的虛擬小鎮,震驚了 AI 社區。

這種智慧體還有一個好處就是,不需要具體化的自然語言處理任務。

然而,這些智慧體仍然無法擺脫這樣的缺陷 — 無法終身學習,因而不能在較長時間跨度上逐步獲取知識,並且將它們積累下來。

而這項工作最重要的意義就在於,GPT-4 開啟了一種新的範式:這個過程中是靠程式碼執行「訓練」,而非靠梯度下降。

Jim Fan 解釋道:我們在 BabyAGI / AutoGPT 之前就有了這個想法,花了很多時間找出最好的無梯度架構。

「訓練模型」是 Voyager 迭代式建構的技能程式碼庫,而非浮點數矩陣。通過這種方法,團隊正在將無梯度架構推向極限。

在這種情況下訓練出的智慧體,已經具備了同人類一樣的終身學習能力。

比如,Voyager 如果發現自己處在沙漠而非森林中,就會知道學會收集沙子和仙人掌,就比學會收集鐵礦更重要。

而且,它不僅能根據目前的技能水平和世界狀態明確自己最合適的任務,還能根據反饋不斷完善技能,保存在記憶中,留在下次呼叫。

所以,我們離矽基生命出現還有多遠?

剛剛回到 OpenAI 的 Karpathy 對這個工作表示盛讚:這是個用於高級技能的「無梯度架構」。在這裡,LLM 就相當於是前額葉皮層,通過程式碼生成了較低級的 mineflayer API。

Karpathy 回憶起,在 2016 年左右,智慧體在 Minecraft 環境中的表現還很讓人絕望。當時的 RL 只能從超稀疏的獎勵中隨機地探索執行長期任務的方式,讓人感覺非常受挫。

而現在,這個障礙已經在很大程度上被解除了 —— 正確的做法是另闢蹊徑,首先訓練 LLM 從 Internet 文字上學習世界知識、推理和工具使用(尤其是編寫程式碼),然後直接把問題拋給它們。

最後他感慨道:如果我在 2016 年就讀到這種對智慧體的「無梯度」方法,我肯定會大吃一驚。

微博大 V「寶玉 xp」也對這個工作給予了高度評價:

真的是了不起的嘗試,整個程式碼都是開放原始碼的,這種自動生成任務-> 自動寫程式碼執行任務-> 保存一個程式碼庫可以重用的思路,應該是可以很容易應用到其他領域。

Voyager

與其他 AI 研究中常用的遊戲不同,Minecraft 並沒有強加預定義的終點目標或固定的劇情線,而是提供了一個具有無盡可能性的遊樂場。

對於一個有效的終身學習智慧體來說,它應該具有與人類玩家類似的能力:

1. 根據其當前的技能水平和世界狀態提出適當的任務,例如,如果它發現自己是在沙漠而不是森林中,就會在學習收集鐵之前學習收集沙子和仙人掌。

2. 基於環境反饋來完善技能,並將掌握的技能記入記憶,以便在類似情況下重複使用(例如,與殭屍戰鬥與與蜘蛛戰鬥類似)。

3. 持續探索世界,以自我驅動的方式尋找新的任務。

為了讓 Voyager 具有上述這些能力,來自 NVIDIA、加州理工學院、德克薩斯大學奧斯汀分校和亞利桑那州立大學的團隊提出了 3 個關鍵元件:

1. 一個迭代提示機制,能結合遊戲反饋、執行錯誤和自我驗證來改處理程序序

2. 一個技能程式碼庫,用來儲存和檢索複雜行為

3. 一個自動教學,可以最大化智慧體的探索

首先,Voyager 會嘗試使用一個流行的 Minecraft JavaScript API(Mineflayer)來編寫一個實現特定目標的程式。

雖然程式在第一次嘗試時就出錯了,但是遊戲環境反饋和 JavaScript 執行錯誤(如果有的話)會幫助 GPT-4 改處理程序序。

左:環境反饋。GPT-4 意識到在製作木棒之前還需要 2 塊木板。

右:執行錯誤。GPT-4 意識到它應該製作一把木斧,而不是一把「相思木」斧,因為 Minecraft 中並沒有「相思木」斧。

通過提供智慧體當前的狀態和任務,GPT-4 會告訴程式是否完成了任務。

此外,如果任務失敗了,GPT-4 還會提出批評,建議如何完成任務。

自我驗證

其次,Voyager 通過在向量資料庫中儲存成功的程式,逐步建立一個技能庫。每個程式可以通過其文件字串的嵌入來檢索。

複雜的技能是通過組合簡單的技能來合成的,這會使 Voyager 的能力隨著時間的推移迅速增長,並緩解災難性遺忘。

上:新增技能。每個技能都由其描述的嵌入索引,可以在將來的類似情況中檢索。

下:檢索技能。當面對自動課程提出的新任務時,會進行查詢並識別前 5 個相關技能。

第三,自動課程會根據智慧體當前的技能水平和世界狀態,提出合適的探索任務。

例如,如果它發現自己在沙漠而非森林中,就學習採集沙子和仙人掌,而不是鐵。

具體來說,課程是由 GPT-4 基於「發現儘可能多樣化的東西」這個目標生成的。

實驗

接下來,讓我們看一些實驗!

團隊將 Voyager 與其他基於 LLM 的智慧體技術進行了系統性的比較,比如 ReAct、Reflexion,以及在 Minecraft 中廣受歡迎的 AutoGPT。

在 160 次提示迭代中,Voyager 發現了 63 個獨特的物品,比之前的 SOTA 多出 3.3 倍。

尋求新奇的自動課程自然會驅使 Voyager 進行廣泛的旅行。即使沒有明確的指示,Voyager 也會遍歷更長的距離(2.3 倍),訪問更多的地形。

相比之下,之前的方法就顯得非常「懶散」了,經常會在一小片區域裡兜圈子。

地圖探索率

那麼,經過終身學習後的「訓練模型」— 技能庫,表現如何呢?

團隊清空了物品 / 護甲,生成了一個新的世界,並用從未見過的任務對智慧體進行了測試。

可以看到,Voyager 解決任務的速度明顯比其他方法更快。

值得注意的是,從終身學習中建構的技能庫不僅提高了 Voyager 的性能,也提升了 AutoGPT 的性能。

這表明,技能庫作為一種通用工具,可以有效地作為一個即插即用的方法來提高性能。

零樣本泛化

上圖中的數字是三次試驗中提示迭代的平均值。迭代次數越少,方法越有效。可以看到,Voyager 解決了所有的任務,而 AutoGPT 經過 50 次提示迭代都無法解決。

此外,與其他方法相比,Voyager 在解鎖木工具上快了 15.3 倍,石工具快 8.5 倍,鐵工具快 6.4 倍。而且擁有技能庫的 Voyager 是唯一解鎖鑽石工具的。

技能樹掌握情況(木工具 → 石工具 → 鐵工具 → 鑽石工具)

目前,Voyager 只支援文字,但在未來可以通過視覺感知進行增強。

在團隊進行的一個初步研究中,人類可以像一個圖像標註模型一樣,向智慧體提供反饋。

從而讓 Voyager 能夠建構複雜的 3D 結構,比如地獄門和房子。

結果表明,Voyager 的性能優於所有替代方案。此外,GPT-4 在程式碼生成方面也明顯優於 GPT-3.5。

結論

Voyager 是第一個由 LLM 驅動、可以終身學習的具身智慧體。它可以利用 GPT-4 不停地探索世界,開發越來越複雜的技能,並始終能在沒有人工干預的情況下進行新的發現。

在發現新物品、解鎖 Minecraft 技術樹、穿越多樣化地形,以及將其學習到的技能庫應用於新生成世界中的未知任務方面,Voyager 表現出了優越的性能。

對於通用智慧體的開發來說,無需調整模型參數的 Voyager 是可以作為一個起點的。

參考資料:https://voyager.minedojo.org/ 

 

 

 

ADVERTISEMENT