Voyager utilise GPT-4 pour guider un agent d’apprentissage Minecraft dans le monde pixelisé. Au lieu de l’apprentissage par renforcement, Voyager s’appuie sur la génération de code.
Des chercheurs de Nvidia, Caltech, UT Austin, Stanford et ASU présentent Voyager, le premier agent d’apprentissage continu qui joue à Minecraft. Contrairement aux autres agents Minecraft qui utilisent des techniques classiques d’apprentissage par renforcement, Voyager utilise GPT-4 pour s’améliorer en permanence. Pour ce faire, il écrit, améliore et transfère du code stocké dans une bibliothèque externe de compétences.
Il en résulte de petits programmes qui aident à la navigation, à l’ouverture de portes, à l’extraction de ressources, à la fabrication d’une pioche ou au combat contre un zombie. « GPT-4 ouvre un nouveau paradigme », explique Jim Fan, chercheur chez Nvidia qui a dirigé le projet. Dans ce paradigme, l' »entraînement » est l’exécution du code et le « modèle entraîné » est la base de code des compétences que Voyager assemble de manière itérative.
Voyager se compose de trois éléments principaux :
- Un moteur d’instruction itératif qui intègre le feedback du jeu, les erreurs d’exécution et l’autocontrôle pour affiner les programmes.
- Une bibliothèque de compétences avec un code pour stocker et récupérer des comportements complexes.
- Un programme d’études automatisé pour maximiser l’exploration.
L’agent Voyager de Minecraft apprend en contexte
L’agent Voyager de Minecraft apprend de manière itérative : il écrit un programme avec GPT-4 pour atteindre un objectif et utilise le retour d’information de l’environnement du jeu et les erreurs Javascript possibles pour affiner le programme avec GPT-4. De cette manière, Voyager se constitue progressivement une bibliothèque de compétences et stocke les programmes réussis dans une base de données vectorielle. Les compétences complexes sont construites à partir de compétences plus simples.
Pour explorer le monde varié de Minecraft, l’équipe utilise un programme automatisé qui suggère des tâches d’exploration appropriées en fonction des compétences actuelles de l’agent et de l’état actuel du monde. Par exemple, l’agent apprend à collecter du sable et des cactus dans un désert avant de creuser pour trouver du fer.
L’ensemble de ces éléments permet de créer un agent qui apprend en permanence et qui peut effectuer une grande variété de tâches. L’équipe réalise toutes les expériences dans l’environnement MineDojo.
Pour l’instant, Voyager ne peut construire des maisons qu’avec l’aide de l’homme. L’équipe compare Voyager à d’autres agents basés sur des modèles de langage tels que ReAct, Reflection ou Auto-GPT dans Minecraft. Voyager a découvert 63 objets différents en 160 itérations, soit 3,3 fois plus que l’approche suivante, selon l’équipe.
Actuellement, Voyager ne peut construire des maisons qu’avec l’aide de l’homme
L’équipe compare Voyager à d’autres agents basés sur des modèles de langage, tels que ReAct, Reflection ou Auto-GPT dans Minecraft. Voyager a découvert 63 objets différents en 160 itérations, soit 3,3 fois plus que l’approche suivante, selon l’équipe.
La recherche automatisée d’objets inconnus auparavant fait voyager Voyager de manière intensive : dans l’ensemble, l’agent Minecraft parcourt plus de deux fois plus de distance et visite plus de biomes. En revanche, Auto-GPT et d’autres méthodes restent souvent bloquées dans leur zone locale.
La bibliothèque de compétences construite par Voyager est également compatible avec l’Auto-GPT : l’agent IA de Minecraft obtient de bien meilleurs résultats avec cette bibliothèque, mais reste à la traîne par rapport à Voyager.
Actuellement, Voyager n’est basé que sur du texte et ne peut pas voir ce qui se passe dans le monde des blocs. Il ne peut donc pas construire de maisons. Cependant, dans une première expérience, l’équipe a utilisé des humains pour fournir un retour d’information visuel à l’agent. Voyager peut ainsi apprendre à construire des maisons et des portails du Néant, par exemple.
De plus amples informations et des exemples sont disponibles sur la page du projet Voyager. Le code est disponible sur GitHub.