丰色 丽翔 凹非寺
物理位 | 社会公众号 QbitAI
用文本聚合格斗游戏迷宫他们玩是一类怎样的新体验?
GitHub本周一热榜工程项目《GPT版路易吉》介绍呵呵~
瞧,你只需在类型信息中输出“远距管线,远距敌方,少点障碍物,elevation高点”:
点选“Generate level”,就能赢得他们的路易吉格斗游戏了:
右边是嬉戏区,按摇杆和a、s、d键展开掌控就能间接玩,右边则是依照你的明确要求聚合的总体设计图。
随便增设这两个快捷键,还能弹出更科散囊。
比如栅栏少一点的:
又或者是管线少一点、栅栏多一点的:
……
这一波,简直童年回忆拉满,妈妈再也不用担心我无聊了
不得不提的是,以上你看到的这些效果,都是基于GPT-2完成的——
大语言模型又立功了~
用GPT2聚合路易吉迷宫
该工程项目背后的模型名叫MarioGPT。
它是首个基于文档聚合格斗游戏迷宫(text2level)的模型,在GPT2(distilgpt2)上微调而成,作者来自哥本哈根信息技术大学。
其训练素材包括《DT路易吉兄弟》和《DT路易吉兄弟:失落的迷宫》,由视频格斗游戏迷宫语料库提供。
具体原理如下图所示:
和GPT2一样,MarioGPT能够对下一个token序列展开预测。
其中的迷宫被表示为字符串,它会经过一个字节对编码器(Byte-Pair Encoding)展开tokenize。
迷宫是被按列展开分解的,并展平为单个向量(或者是多个迷宫组成一批向量)。
为了将用户输出的信息展开合并,作者给MarioGPT安排了一个冻结文档编码器,它以预训练的双向LLM(BART)形式出现。
与此同时,在这里输出模型前向传播的平均隐藏状态(hidden state)。
最后,将输出的状态用于GPT2架构的交叉注意力层,并与传递到模型中的实际迷宫序列展开结合就可以了。
对于MarioGPT的效果,作者则表示很惊讶,因为它最终聚合的结果中,有88%都是可以用来实际展开闯关的。
怎么玩?
由于MarioGPT已经开源,大家也可以他们下载新体验一把。
确保电脑安装了3.8+版本的python后,使用pip命令或者git呵呵:
“pip install mario-gpt” 或 “git clone [email protected]:shyamsn97/mario-gpt.git >python setup.py install”
聚合迷宫最少只需要下面这些代码:
作者在工程项目中也提供了更深入的教程。
要想自己上手试一试聚合的迷宫,可以:
(1)去Huggingface上的demo上玩。它甚至可以不用你输出文档,间接在每个元素上选择“多”或者“少”等快捷键聚合任意迷宫。
(2)通过代码掌控:使用play和astar函数,前提是你电脑安装了Java 8+。
感兴趣的朋友快去试试吧~目前MarioGPT已经有超过500+人标星了。
论文地址:
https://arxiv.org/abs/2302.05981工程项目地址:
https://github.com/shyamsn97/mario-gptHF试玩地址:
https://huggingface.co/spaces/multimodalart/mariogpt
— 完 —
物理位 QbitAI · 头条号签约
关注我们,第一时间获知前沿科技动态