当前位置:主页 > 财经 > 正文

GPT版超级马里奥来了,输入文本即可自定义游戏关卡,GitHub标星50

来源:IT之家2023-02-22 16:58:52  阅读量:10606   

用文字生成游戏关卡自己玩是一种什么样的体验?

GitHub 今日热榜项目《GPT 版马里奥》了解一下~

瞧,你只需在文本框中输入“多点管道,多点敌人,少点障碍物,elevation 低点”:

点击“Generate level”,就能获得自己的马里奥游戏了:

左边是玩耍区,按方向键和 a、s、d 键进行控制就能直接玩,右边则是根据你的要求生成的整体效果图。

随意设置这几个选项,还能解锁更多样式。

比如障碍物少一点的:

又或者是管道少一点、障碍物多一点的:

……

这一波,简直童年回忆拉满,妈妈再也不用担心我无聊了

不得不提的是,以上你看到的这些效果,都是基于 GPT-2 完成的 ——

大语言模型又立功了~

用 GPT2 生成马里奥关卡

该项目背后的模型名叫 MarioGPT。

它是首个基于文本生成游戏关卡的模型,在 GPT2(distilgpt2)上微调而成,作者来自哥本哈根信息技术大学。

其训练素材包括《超级马里奥兄弟》和《超级马里奥兄弟:失落的关卡》,由视频游戏关卡语料库提供。

具体原理如下图所示:

和 GPT2 一样,MarioGPT 能够对下一个 token 序列进行预测。

其中的关卡被表示为字符串,它会经过一个字节对编码器进行 tokenize。

关卡是被按列进行分解的,并展平为单个向量。

为了将用户输入的信息进行合并,作者给 MarioGPT 安排了一个冻结文本编码器,它以预训练的双向 LLM形式出现。

与此同时,在这里输出模型前向传播的平均隐藏状态。

最后,将输出的状态用于 GPT2 架构的交叉注意力层,并与传递到模型中的实际关卡序列进行结合就可以了。

对于 MarioGPT 的效果,作者则表示很惊讶,因为它最终生成的结果中,有 88% 都是可以用来实际进行闯关的。

怎么玩?

由于 MarioGPT 已经开源,大家也可以自己下载体验一把。

确保电脑安装了 3.8 + 版本的 python 后,使用 pip 命令或者 git 一下:

生成关卡最少只需要下面这些代码:

作者在项目中也提供了更深入的教程。

要想自己上手试一试生成的关卡,可以:

去 Huggingface 上的 demo 上玩。它甚至可以不用你输入文本,直接在每个元素上选择“多”或者“少”等选项生成任意关卡。

通过代码控制:使用 play 和 astar 函数,前提是你电脑安装了 Java 8+。

感兴趣的朋友快去试试吧~目前 MarioGPT 已经有超过 500 + 人标星了。

论文地址:

项目地址:

HF 试玩地址:

声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多企业信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。投资有风险,需谨慎。

推荐文章