Quel genre d’expérience est-ce d’utiliser du texte pour générer des niveaux de jeu à jouer par vous-même ? Jetons un coup d’œil au projet de liste chaude de GitHub « Version GPT de Mario ». Voilà, tout ce que vous avez à faire est de taper « plus de tuyaux, beaucoup d’ennemis, quelques blocs, basse altitude » dans la zone de texte :
Cliquez sur « Générer un niveau » pour obtenir votre propre jeu Mario :
Le côté gauche est la zone de jeu, vous pouvez jouer directement en appuyant sur les touches fléchées et les touches a, s, d pour contrôler. Le côté droit est le rendu global généré selon vos besoins.
N’hésitez pas à paramétrer ces quelques options pour débloquer plus de styles.
Par exemple, avec moins d’obstacles :
Ou avec moins de tuyaux et plus d’obstacles :
Cette vague est pleine de souvenirs d’enfance et bien que le jeu ne soit plus intéressant, les souvenirs vous permettent de continuer. Il est important de noter que les effets que vous voyez ci-dessus sont tous basés sur GPT – 2. Le grand modèle de langage a de nouveau apporté une contribution ~
Le modèle est désormais capable de comprendre les commandes en anglais courant. En plus de ces commandes ci-dessus, il comprend d’autres commandes comme « beaucoup de tuyaux et beaucoup d’ennemis », et « pas de tuyaux, pas d’ennemis, beaucoup de blocs »… grâce à l’entrée étiquetée.
D’autres invites qui n’existent pas dans l’ensemble de données incluent « beaucoup de tuyaux, pas d’ennemis, beaucoup de blocs ». De plus, un cas d’échec comprend « beaucoup de tuyaux, pas d’ennemis, quelques blocs »
Actualité mobile (sous-titrée) de notre partenaire de la semaine
Générez des niveaux Mario avec GPT2
Le modèle derrière le projet s’appelle MarioGPT. C’est le premier modèle basé sur du texte pour générer des niveaux de jeu (text2level), affiné sur GPT2 (distilgpt2). Les auteurs sont de l’Université des technologies de l’information de Copenhague. Son matériel de formation comprend les niveaux Super Mario Bros et Super Mario Bros: The Lost Levels, fournis par The Video Game Level Corpus.
Le principe spécifique est illustré dans la figure ci-dessous :
Comme GPT2, MarioGPT peut prédire la prochaine séquence de jetons. Le niveau qu’il contient est représenté sous la forme d’une chaîne, qui segmentera l’encodeur (Byte-Pair Encoding) via un octet. Les niveaux sont décomposés par colonne et aplatis en un seul vecteur (ou plusieurs niveaux en un lot de vecteurs). Afin d’incorporer les informations saisies par l’utilisateur, l’auteur organise un encodeur de texte figé pour MarioGPT. Cela se présente sous la forme d’un LLM bidirectionnel pré-formé (BART).
En même temps, l’état caché moyen de la propagation vers l’avant du modèle est sorti ici. Enfin, il suffit d’alimenter l’état de sortie dans la couche d’attention croisée de l’architecture GPT2 et de le combiner avec la séquence de niveau réelle transmise au modèle. Concernant l’effet de MarioGPT, l’auteur a exprimé sa surprise. En effet, 88% des résultats qu’il génère finalement peuvent être utilisés pour franchir le niveau.
Comment jouer?
Puisque MarioGPT est déjà open source, vous pouvez également le télécharger et en faire l’expérience vous-même. Après vous être assuré que l’ordinateur a installé la version 3.8+ de Python, utilisez la commande pip ou git :
« pip install mario-gpt » ou « git clone [email protected]:shyamsn97/mario-gpt.git >python setup.py install »
La génération d’un niveau nécessite au moins le code de l’image ci-dessous :
image
L’auteur fournit également un tutoriel plus approfondi sur le projet. Pour essayer vous-même les niveaux générés, vous pouvez suivre les étapes ci-dessous
(1) Jouez la démo sur Huggingface. Il peut même générer des niveaux arbitraires en sélectionnant des options telles que « plus » ou « moins » sur chaque élément sans que vous saisissiez de texte.
(2) Contrôle par code : utilisez les fonctions play et astar, à condition que Java 8+ soit installé sur votre ordinateur.
Ceux qui sont intéressés peuvent l’essayer. À l’heure actuelle, MarioGPT compte plus de 500 étoiles.
Au lieu de l’une de ces IA parlantes de pointe, MarioGPT est construit sur GPT-2. Ces grands modèles de langage sont des moteurs de détection et de réplication de modèles à usage général. Ainsi, ils sont excellents pour faire plus que simplement ingérer des mots dans des phrases comme celles-ci et en produire d’autres comme eux.
« Honnêtement, nous avons juste choisi le plus petit pour voir s’il fonctionnait ! » a déclaré Shyam Sudhakaran, auteur principal de l’article, dans un e-mail à TechCrunch. « Je pense qu’avec de petits ensembles de données en général, GPT2 est mieux adapté que GPT3, tout en étant beaucoup plus léger et plus facile à former. Cependant, à l’avenir, avec des ensembles de données plus volumineux et des invites plus compliquées, nous devrons peut-être utiliser un modèle plus sophistiqué comme GPT3.
Même un très grand LLM ne pourra pas saisir directement les niveaux de Mario, les chercheurs ont donc dû d’abord convertir une sélection d’entre eux en texte. Cela a abouti à une variation de Mario semblable à Dwarf Fortress.
Super mario
Super Mario est un jeu de plateforme classique en 2D à défilement latéral développé par Nintendo. Le joueur contrôle Mario, un plombier qui doit naviguer à travers différents niveaux, vaincre les ennemis et éviter les obstacles pour sauver la princesse Toadstool du maléfique Bowser. Ce jeu rappelle des souvenirs d’enfance pour beaucoup de gens.
Mario peut courir, sauter et piétiner les ennemis pour les vaincre. Il peut également collecter des bonus tels que des champignons, qui le font grossir, et des fleurs de feu, qui lui permettent de tirer des boules de feu. Mario doit éviter de tomber dans des fosses, d’être touché par des ennemis et de manquer de temps, car chaque niveau a une limite de temps. Le jeu propose une variété d’ennemis, tels que Goombas, Koopa Troopas et Piranha Plants, ainsi que des boss à la fin de chaque monde. Il y a aussi des secrets cachés et des zones bonus à découvrir pour les joueurs. Le jeu est devenu une icône culturelle et a engendré de nombreuses suites et retombées, tout en influençant le genre de plateforme dans son ensemble.