給游戲行業來點 GPT-4 式震撼?這個叫 Voyager 的智能體不僅可以根據游戲的反饋自主訓練,而且還能自行寫代碼推動游戲任務。
最近,英偉達首席科學家 Jim Fan 等人把 GPT-4 整進了「我的世界」—— 提出了一個全新的 AI 智能體 Voyager。
Voyager 的厲害之處在于,它不僅性能完勝 AutoGPT,而且還可以在游戲中進行全場景的終身學習!
比起之前的 SOTA,Voyager 獲得的物品多出了 3.3 倍,旅行距離變長了 2.3 倍,解鎖關鍵技能樹的速度快了 15.3 倍。
對此,網友直接震驚了:我們離通用人工智能 AGI,又近了一步。
所以,未來的游戲,就是由大模型帶動 NPC 來玩的吧?
真?數字生命
接入 GPT-4 之后,Voyager 根本不用人類操心,完全就是自學成才。
它不僅掌握了挖掘、建房屋、收集、打獵這些基本的生存技能,還學會了自個進行開放式探索。
它會自己去到不同的城市,路過一片片海洋,一座座金字塔,甚至還會自己搭建傳送門。
通過自我驅動,它不斷探索著這個神奇的世界,擴充著自己的物品和裝備,配備不同等級的盔甲,用盾牌格擋上海,用柵欄圈養動物……
Voyager 的英勇事跡包括但不限于 ——
大戰末影人
造基地
挖紫水晶
挖金子
收集仙人掌
打獵
釣魚
數字生命的潛能究竟有多大?我們只知道,現在 Voyager 仍然在 Minecraft 中一刻不停地探索,不斷擴展著自己的疆域。
「訓練」無需梯度下降
此前,AI 領域的一大挑戰就是,構建具有通用能力的具身智能體,讓它們在開放世界中自主探索,自行發展新技能。
以往,學界都是采用強化學習和模仿學習,但這些方法在系統化的探索、可解釋性和泛化性等方面,表現往往差強人意。
大語言模型的出現,給構建具身智能體帶來了全新的可能性。因為基于 LLM 的智能體可以利用預訓練模型中蘊含的世界知識,生成一致的行動計劃或可執行策略,這就非常適合應用于游戲和機器人之類的任務。
這種智能體還有一個好處就是,不需要具體化的自然語言處理任務。
然而,這些智能體仍然無法擺脫這樣的缺陷 —— 無法終身學習,因而不能在較長時間跨度上逐步獲取知識,并且將它們積累下來。
而這項工作最重要的意義就在于,GPT-4 開啟了一種新的范式:這個過程中是靠代碼執行「訓練」,而非靠梯度下降。
「訓練模型」是 Voyager 迭代式構建的技能代碼庫,而非浮點數矩陣。通過這種方法,團隊正在將無梯度架構推向極限。
在這種情況下訓練出的智能體,已經具備了同人類一樣的終身學習能力。
比如,Voyager 如果發現自己處在沙漠而非森林中,就會知道學會收集沙子和仙人掌就比學會收集鐵礦更重要。
而且,它不僅能根據目前的技能水平和世界狀態明確自己最合適的任務,還能根據反饋不斷完善技能,保存在記憶中,留在下次調用。
剛剛回到 OpenAI 的 Karpathy 對這個工作表示盛贊:這是個用于高級技能的「無梯度架構」。在這里,LLM 就相當于是前額葉皮層,通過代碼生成了較低級的 mineflayer API。
Karpathy 回憶起,在 2016 年左右,智能體在 Minecraft 環境中的表現還很讓人絕望。當時的 RL 只能從超稀疏的獎勵中隨機地探索執行長期任務的方式,讓人感覺非常 stuck。
而現在,這個障礙已經在很大程度上被解除了 —— 正確的做法是另辟蹊徑,首先訓練 LLM 從互聯網文本上學習世界知識、推理和工具使用,然后直接把問題拋給它們。
最后他感慨道:如果我在 2016 年就讀到這種對智能體的「無梯度」方法,我肯定會大吃一驚。
微博大 V「寶玉 xp」也對這個工作給予了高度評價 ——
真的是了不起的嘗試,整個代碼都是開源的,這種自動生成任務-gt; 自動寫代碼執行任務-gt; 保存一個代碼庫可以重用的思路,應該是可以很容易應用到其他領域。
Voyager
與其他 AI 研究中常用的游戲不同,Minecraft 并沒有強加預定義的終點目標或固定的劇情線,而是提供了一個具有無盡可能性的游樂場。
對于一個有效的終身學習智能體來說,它應該具有與人類玩家類似的能力:
1. 根據其當前的技能水平和世界狀態提出適當的任務,例如,如果它發現自己是在沙漠而不是森林中,就會在學習收集鐵之前學習收集沙子和仙人掌
2. 基于環境反饋來完善技能,并將掌握的技能記入記憶,以便在類似情況下重復使用
3. 持續探索世界,以自我驅動的方式尋找新的任務。
為了讓 Voyager 具有上述這些能力,來自英偉達、加州理工學院、得克薩斯大學奧斯汀分校和亞利桑那州立大學的團隊提出了 3 個關鍵組件:
1. 一個迭代提示機制,能結合游戲反饋、執行錯誤和自我驗證來改進程序
2. 一個技能代碼庫,用來存儲和檢索復雜行為
3. 一個自動教程,可以最大化智能體的探索
首先,Voyager 會嘗試使用一個流行的 Minecraft JavaScript API來編寫一個實現特定目標的程序。
雖然程序在第一次嘗試時就出錯了,但是游戲環境反饋和 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 也會遍歷更長的距離,訪問更多的地形。
相比之下,之前的方法就顯得非常「懶散」了,經常會在一小片區域里兜圈子。
那么,經過終身學習后的「訓練模型」—— 技能庫,表現如何呢?
團隊清空了物品 / 護甲,生成了一個新的世界,并用從未見過的任務對智能體進行了測試。
可以看到,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 是可以作為一個起點的。
參考資料:
聲明:本網轉發此文章,旨在為讀者提供更多信息資訊,所涉內容不構成投資、消費建議。文章事實如有疑問,請與有關方核實,文章觀點非本網觀點,僅供讀者參考。
猜你喜歡
-
游客在進入北京環球度假區時須核驗北京健康
具體如下:北京環球度假區繼續按照相關政府部門的限流要求,以預約入園的形式加強人流動態監測和...詳情
2022-04-28
-
杭州湘湖的草坪人氣很高不少人在這里搭帳篷
湘湖邊亂搭帳篷,煞了春日風景景區出臺最新政策,將設置臨時帳篷搭建區,后續還要增設露營服務區...詳情
2022-04-14
-
南非徐霞客在云南:從行萬里路到吃百碗米線
題:南非徐霞客在云南:從行萬里路到吃百碗米線的文化之旅杜安睿來自南非,是一名國際注冊會計師...詳情
2022-04-10
-
廣州新增3例本土確診病例雙層觀光巴士全部
廣州新增3例本土確診病例雙層觀光巴士全部停運廣州市政府新聞辦公室21日公布的信息顯示,過去...詳情
2022-03-22