[資訊] 把GPT-4塞進 Minecraft,AI 智慧體 Voyager 自學探索新世界

作者: roujuu (老中)   2023-06-10 14:43:56
在各位往下閱讀內文時,我先貼上我的想法吧:
總算有 AI 程式能夠自己去玩線上遊戲了,
好希望能夠看到真的有 AI 程式在臺灣的任何一個 mud 裡面自我成長,
例如像是很久以前就關站的塔西絲之怒和現在還存活的重生的世界。
以下為內文的本文,網址內有圖片,直接去『 https://0rz.tw/zxt6B 』看,
可以看到內文裡的圖形和圖片:
==========
『 https://www.facebook.com/groups/pttstartrek/posts/2246360038904936/ 』
https://www.techbang.com/posts/106696-nvidia-ai-agents-access-gpt-4-defeating-autogpt-and
縮網址:『 https://0rz.tw/zxt6B 』。
把GPT-4塞進 Minecraft,AI 智慧體 Voyager 自學探索新世界、挖掘建屋打獵樣樣行。
給遊戲業來點 GPT-4 式震撼?這個叫 Voyager 的智慧體不僅可以根據遊戲的反饋自主訓
練,而且還能自行寫程式碼推動遊戲任務。
繼史丹佛大學開發的 25 人小鎮遊戲後,AI 智慧體又出爆款新作了。
最近,NVIDIA 首席科學家 Jim Fan 等人把 GPT-4 整進了「當個創世神」(Minecraft),
提出了一個全新的 AI 智慧體 Voyager。
Voyager 的厲害之處在於,它不僅性能完勝 AutoGPT,而且還可以在遊戲中進行全場景的
終身學習!
比起之前的 SOTA (State of the Art) 模型,Voyager 獲得的物品多出了 3.3 倍,旅行
距離變長了 2.3 倍,解鎖關鍵技能樹的速度快了 15.3 倍。
對此,網友直接震驚了:我們離通用人工智慧 AGI (Articifical General
Intelligence),又近了一步。
所以,未來的遊戲,就是由大型語言模型帶動 NPC 來玩的吧?
真・數位生命
接入 GPT-4 之後,Voyager 根本不用人類操心,完全就是自學成才。
它不僅掌握了挖掘、建房屋、收集、打獵這些基本的生存技能,還學會了自個進行開放式
探索。
它會自己去到不同的城市,路過一片片海洋,一座座金字塔,甚至還會自己搭建傳送門。
通過自我驅動,它不斷探索著這個神奇的世界,擴充著自己的物品和裝備,配備不同等級
的盔甲,用盾牌格擋上海,用柵欄圈養動物……
論文地址:『 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 是可以作為一個起點的。
老中『ろうじゅう,ロウジュウ』。
作者: tsetsethatha (吉星麥造~~~我來了)   2023-06-14 08:07:00
感謝分享資訊!

Links booklink

Contact Us: admin [ a t ] ucptt.com