用文字生成游戲關(guān)卡自己玩是一種什么樣的體驗?
GitHub 今日熱榜項目《GPT 版馬里奧》了解一下~
瞧,你只需在文本框中輸入“多點管道,多點敵人,少點障礙物,elevation 低點”:
點擊“Generate level”,就能獲得自己的馬里奧游戲了:
左邊是玩耍區(qū),按方向鍵和 a、s、d 鍵進行控制就能直接玩,右邊則是根據(jù)你的要求生成的整體效果圖。
隨意設(shè)置這幾個選項,還能解鎖更多樣式。
比如障礙物少一點的:
又或者是管道少一點、障礙物多一點的:
……
這一波,簡直童年回憶拉滿,媽媽再也不用擔心我無聊了
不得不提的是,以上你看到的這些效果,都是基于 GPT-2 完成的 ——
大語言模型又立功了~
用 GPT2 生成馬里奧關(guān)卡
該項目背后的模型名叫 MarioGPT。
它是首個基于文本生成游戲關(guān)卡的模型,在 GPT2(distilgpt2)上微調(diào)而成,作者來自哥本哈根信息技術(shù)大學。
其訓練素材包括《超級馬里奧兄弟》和《超級馬里奧兄弟:失落的關(guān)卡》,由視頻游戲關(guān)卡語料庫提供。
具體原理如下圖所示:
和 GPT2 一樣,MarioGPT 能夠?qū)ο乱粋€ token 序列進行預(yù)測。
其中的關(guān)卡被表示為字符串,它會經(jīng)過一個字節(jié)對編碼器進行 tokenize。
關(guān)卡是被按列進行分解的,并展平為單個向量。
為了將用戶輸入的信息進行合并,作者給 MarioGPT 安排了一個凍結(jié)文本編碼器,它以預(yù)訓練的雙向 LLM形式出現(xiàn)。
與此同時,在這里輸出模型前向傳播的平均隱藏狀態(tài)。
最后,將輸出的狀態(tài)用于 GPT2 架構(gòu)的交叉注意力層,并與傳遞到模型中的實際關(guān)卡序列進行結(jié)合就可以了。
對于 MarioGPT 的效果,作者則表示很驚訝,因為它最終生成的結(jié)果中,有 88% 都是可以用來實際進行闖關(guān)的。
怎么玩?
由于 MarioGPT 已經(jīng)開源,大家也可以自己下載體驗一把。
確保電腦安裝了 3.8 + 版本的 python 后,使用 pip 命令或者 git 一下:
生成關(guān)卡最少只需要下面這些代碼:
作者在項目中也提供了更深入的教程。
要想自己上手試一試生成的關(guān)卡,可以:
去 Huggingface 上的 demo 上玩。它甚至可以不用你輸入文本,直接在每個元素上選擇“多”或者“少”等選項生成任意關(guān)卡。
通過代碼控制:使用 play 和 astar 函數(shù),前提是你電腦安裝了 Java 8+。
感興趣的朋友快去試試吧~目前 MarioGPT 已經(jīng)有超過 500 + 人標星了。
論文地址:
項目地址:
HF 試玩地址:
聲明:本網(wǎng)轉(zhuǎn)發(fā)此文章,旨在為讀者提供更多信息資訊,所涉內(nèi)容不構(gòu)成投資、消費建議。文章事實如有疑問,請與有關(guān)方核實,文章觀點非本網(wǎng)觀點,僅供讀者參考。
猜你喜歡
-
游客在進入北京環(huán)球度假區(qū)時須核驗北京健康
具體如下:北京環(huán)球度假區(qū)繼續(xù)按照相關(guān)政府部門的限流要求,以預(yù)約入園的形式加強人流動態(tài)監(jiān)測和...詳情
2022-04-28
-
杭州湘湖的草坪人氣很高不少人在這里搭帳篷
湘湖邊亂搭帳篷,煞了春日風景景區(qū)出臺最新政策,將設(shè)置臨時帳篷搭建區(qū),后續(xù)還要增設(shè)露營服務(wù)區(qū)...詳情
2022-04-14
-
南非徐霞客在云南:從行萬里路到吃百碗米線
題:南非徐霞客在云南:從行萬里路到吃百碗米線的文化之旅杜安睿來自南非,是一名國際注冊會計師...詳情
2022-04-10
-
廣州新增3例本土確診病例雙層觀光巴士全部
廣州新增3例本土確診病例雙層觀光巴士全部停運廣州市政府新聞辦公室21日公布的信息顯示,過去...詳情
2022-03-22