APP下载
报价宝  ›  资讯  › 

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

报价宝 来源:baojiabao.com 发布时间:2023-02-24 15:39:44 10月31日更新
报价宝综合消息GPT 版超级马里奥来了,输入文本即可自定义游戏关卡,GitHub 标星 500+

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

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

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

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

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

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

比如障碍物少一点的:

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

……

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

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

大语言模型又立功了~

用 GPT2 生成马里奥关卡

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

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

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

具体原理如下图所示:

和 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 git@github.com: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-gpt

HF 试玩地址:

https://huggingface.co/spaces/multimodalart/mariogpt

本文来自微信公众号:量子位 (ID:QbitAI),作者:丰色

文章标签: 关卡 生成 马里 马里奥 作者 模型 文本 项目 输入 地址 效果 障碍 障碍物 不用 代码 信息 兄弟 向量 实际 序列 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 报价宝 数码相机价格 汽车价格 小米手机价格 红米手机价格