GPT版超级马里奥来了!用文字生成游戏关卡自己玩是一种什么样的体验?

文|丰色 发自 凹非寺
源|量子位

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

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

后台回复关键词【入群

加入卖萌屋NLP、CV、搜推广与求职讨论群

相关推荐

  • ChatGPT是懂Pythonic的
  • 越来越多的人,正在被内耗压垮
  • Javalin:一个轻量的 Web Framework
  • 跨境电商将是下一个风口:花别人一半时间,赚别人十倍的钱
  • 摊牌了!一家以色列公司自爆利用虚拟身份操纵了全球33场选举,其中27场成功
  • 天!转转MySQL机房迁移半小时结束战斗?
  • 面试到一个人才,我问怎么调优,他说有手就行...
  • fastjson2为什么这么快?
  • 从业余项目到全世界最受欢迎的编程语言之一,Rust 是如何做到的?
  • 复旦发布类ChatGPT模型Moss;OpenAI回应ChatGPT不向中国用户开放;Linux 6.2 发布|极客头条
  • AI降维打击人类画家,文生图引入ControlNet,深度、边缘信息全能复用
  • 「图神经网络前沿进展与应用」
  • 8种使用Jupyter Notebook的惊人方法
  • 优达学城深度学习(之四)——jupyter notebook使用
  • 只有想不到,「99」种扩展Jupyter功能的好方法
  • 作为一名40+的大龄程序员,被裁后我一点都不慌
  • Spring Boot 中 MybatisX 插件的简单使用教程
  • 谷歌发布云基础设施可靠性指南,帮助消费者做出正确决策
  • 通过Yarn工作空间将代码交付速度提高97%
  • Go语言实操笔记,从入职到最佳实践 | 极客时间