Modèles et plateformes d’IA

POKELLMON : Un agent à parité humaine avec LLM pour les batailles de Pokémon

mm
Ajouter Unite.AI à vos sources préférées sur Google

Les modèles de langage à grande échelle et l’intelligence artificielle générative ont démontré un succès sans précédent dans une large gamme de tâches de traitement du langage naturel. Après avoir conquis le domaine du TAL, le prochain défi pour les chercheurs et les développeurs de l’IA et des LLM est d’explorer comment les grands modèles de langage peuvent agir de manière autonome dans le monde réel avec un écart de génération étendu du texte à l’action, représentant ainsi un paradigme significatif dans la poursuite de l’intelligence artificielle générale. Les jeux en ligne sont considérés comme une fondation de test appropriée pour développer des agents incarnés par LLM qui interagissent avec l’environnement visuel de manière similaire à celle d’un humain.

Par exemple, dans un jeu de simulation en ligne populaire comme Minecraft, des agents de prise de décision peuvent être employés pour aider les joueurs à explorer le monde ainsi qu’à développer des compétences pour fabriquer des outils et résoudre des tâches. Un autre exemple d’agents LLM interagissant avec l’environnement visuel peut être expérimenté dans un autre jeu en ligne, The Sims, où les agents ont démontré un succès remarquable dans les interactions sociales et exhibent un comportement qui ressemble à celui des humains. Cependant, par rapport aux jeux existants, les jeux de bataille tactiques pourraient s’avérer être un meilleur choix pour évaluer la capacité des grands modèles de langage à jouer à des jeux virtuels. La principale raison pour laquelle les jeux tactiques constituent un meilleur référence est que le taux de victoire peut être mesuré directement, et des adversaires constants, y compris des joueurs humains et de l’IA, sont toujours disponibles.

En s’appuyant sur cela, POKELLMON vise à être le premier agent incarné à atteindre des performances humaines dans les jeux tactiques, similaires à celles observées dans les batailles de Pokémon. Au cœur du cadre POKELLMON, trois stratégies principales sont intégrées.

  1. L’apprentissage par renforcement en contexte qui consomme des rétroactions textuelles issues des batailles instantanément pour affiner la politique de manière itérative.
  2. La génération augmentée par connaissance qui récupère des connaissances externes pour contrer les hallucinations, permettant à l’agent d’agir correctement et lorsqu’il est nécessaire.
  3. La génération d’actions cohérentes pour minimiser la situation de commutation panique lorsque l’agent rencontre un adversaire puissant et souhaite éviter de l’affronter.

Cet article vise à couvrir le cadre POKELLMON en profondeur, et nous explorons le mécanisme, la méthodologie, l’architecture du cadre ainsi que sa comparaison avec les cadres d’état de l’art. Nous allons également discuter de la manière dont le cadre POKELLMON démontre des stratégies de bataille similaires à celles des humains, ainsi que des capacités de prise de décision en temps opportun, atteignant un taux de victoire respectable d’environ 50 %. Alors, commençons.

POKELLMON : Un agent à parité humaine avec LLM pour les batailles de Pokémon

La croissance des capacités et de l’efficacité des grands modèles de langage et des cadres d’intelligence artificielle générative au cours des dernières années a été rien de moins que remarquable, en particulier dans les tâches de traitement du langage naturel. Récemment, les développeurs et les chercheurs en IA ont travaillé sur des moyens de rendre l’IA générative et les LLM plus prometteurs dans des scénarios du monde réel avec la capacité d’agir de manière autonome dans le monde physique. Pour atteindre ces performances autonomes dans des situations physiques et réelles, les chercheurs et les développeurs considèrent les jeux comme une fondation de test appropriée pour développer des agents incarnés par LLM capables d’interagir avec l’environnement visuel de manière similaire à celle des humains.

Auparavant, les développeurs ont tenté de développer des agents incarnés par LLM dans des jeux de simulation virtuels comme Minecraft et The Sims, bien qu’il soit considéré que les jeux tactiques comme Pokémon pourraient être un meilleur choix pour développer ces agents. Les batailles de Pokémon permettent aux développeurs d’évaluer la capacité d’un entraîneur à combattre dans des jeux de Pokémon bien connus, et offrent plusieurs avantages par rapport à d’autres jeux tactiques. Puisque les espaces d’action et d’état sont discrets, ils peuvent être traduits en texte sans perte. La figure suivante illustre une bataille de Pokémon typique où le joueur est invité à générer une action à exécuter à chaque tour, étant donné l’état actuel des Pokémon de chaque côté. Les utilisateurs ont la possibilité de choisir parmi cinq différents Pokémon et il y a un total de quatre mouvements dans l’espace d’action. De plus, le jeu aide à alléger la pression sur le temps d’inférence et les coûts d’inférence pour les LLM, car le format basé sur les tours élimine la nécessité d’un gameplay intensif. Par conséquent, les performances dépendent principalement de la capacité de raisonnement du grand modèle de langage. Enfin, même si les jeux de bataille de Pokémon semblent simples, les choses sont un peu plus complexes en réalité et très stratégiques. Un joueur expérimenté ne sélectionne pas aléatoirement un Pokémon pour la bataille, mais prend en compte divers facteurs, notamment le type, les statistiques, les capacités, l’espèce, les objets, les mouvements des Pokémon, à la fois sur et en dehors du champ de bataille. De plus, dans une bataille aléatoire, les Pokémon sont sélectionnés aléatoirement dans un pool de plus de mille personnages, chacun ayant ses propres caractéristiques distinctes avec une capacité de raisonnement et des connaissances sur les Pokémon.

POKELLMON : Méthodologie et architecture

Le cadre général et l’architecture du cadre POKELLMON sont illustrés dans l’image suivante.

Au cours de chaque tour, le cadre POKELLMON utilise les actions précédentes et les rétroactions textuelles correspondantes pour affiner la politique de manière itérative, ainsi que pour augmenter les informations d’état actuelles avec des connaissances externes comme les effets de capacité/mouvement ou les relations d’avantage/faiblesse. Pour les informations données en entrée, le cadre POKELLMON génère plusieurs actions de manière indépendante, puis sélectionne les plus cohérentes comme sortie finale.

Apprentissage par renforcement en contexte

Les joueurs humains et les athlètes prennent souvent des décisions non seulement sur la base de l’état actuel, mais ils réfléchissent également aux rétroactions des actions précédentes ainsi qu’aux expériences d’autres joueurs. Il serait sage de dire que les rétroactions positives sont ce qui aide un joueur à apprendre de ses erreurs et à éviter de répéter les mêmes erreurs à plusieurs reprises. Sans rétroactions appropriées, les agents POKELLMON pourraient rester bloqués sur la même action d’erreur, comme le démontre la figure suivante.

Comme on peut l’observer, l’agent dans le jeu utilise un mouvement basé sur l’eau contre un Pokémon qui a la capacité « Peau sèche », ce qui lui permet d’annuler les dégâts des attaques basées sur l’eau. Le jeu tente d’alerter l’utilisateur en affichant le message « Immune » à l’écran, ce qui pourrait inciter un joueur humain à reconsidérer ses actions et à les modifier, même sans connaître la « Peau sèche ». Cependant, cela n’est pas inclus dans la description d’état pour l’agent, ce qui entraîne l’agent à répéter la même erreur.

Pour s’assurer que l’agent POKELLMON apprend de ses erreurs passées, le cadre met en œuvre l’approche d’apprentissage par renforcement en contexte. L’apprentissage par renforcement est une approche populaire en apprentissage automatique, et elle aide les développeurs à affiner la politique, car elle nécessite des récompenses numériques pour évaluer les actions. Puisque les grands modèles de langage ont la capacité d’interpréter et de comprendre le langage, les descriptions textuelles sont devenues une nouvelle forme de récompense pour les LLM. En incluant les rétroactions textuelles des actions précédentes, l’agent POKELLMON est capable d’affiner sa politique de manière itérative et instantanée, à savoir l’apprentissage par renforcement en contexte. Le cadre POKELLMON développe quatre types de rétroactions,

  1. Les dégâts réels causés par un mouvement d’attaque en fonction de la différence de points de vie sur deux tours consécutifs.
  2. L’efficacité des mouvements d’attaque. La rétroaction indique l’efficacité de l’attaque en termes d’absence d’effet ou d’immunité, d’inefficacité ou de super-efficacité en raison des effets de capacité/mouvement ou de l’avantage de type.
  3. L’ordre de priorité pour exécuter un mouvement. Puisque les statistiques précises pour le Pokémon adverse ne sont pas disponibles, la rétroaction de l’ordre de priorité fournit une estimation grossière de la vitesse.
  4. L’effet réel des mouvements exécutés sur l’adversaire. Les mouvements d’attaque et de statut peuvent entraîner des résultats tels que la récupération de points de vie, la augmentation des statistiques ou les débuffs, ou infliger des conditions telles que la congélation, les brûlures ou l’empoisonnement.

De plus, l’utilisation de l’approche d’apprentissage par renforcement en contexte entraîne une amélioration significative des performances, comme le démontre la figure suivante.

Lorsqu’il est comparé aux performances originales sur GPT-4, le taux de victoire augmente d’environ 10 % ainsi qu’une augmentation de 13 % du score de bataille. De plus, comme le démontre la figure suivante, l’agent commence à analyser et à modifier son action si les mouvements exécutés dans les tours précédents n’ont pas répondu aux attentes.

Génération augmentée par connaissance ou KAG

Bien que la mise en œuvre de l’apprentissage par renforcement en contexte aide à réduire les hallucinations dans une certaine mesure, cela peut encore entraîner des conséquences fatales avant que l’agent ne reçoive les rétroactions. Par exemple, si l’agent décide de combattre un Pokémon de type feu avec un Pokémon de type herbe, le premier est susceptible de gagner en un seul tour. Pour réduire davantage les hallucinations et améliorer la capacité de prise de décision de l’agent, le cadre POKELLMON met en œuvre l’approche de génération augmentée par connaissance ou KAG, une technique qui utilise des connaissances externes pour augmenter la génération.

Maintenant, lorsque le modèle génère les quatre types de rétroactions mentionnés ci-dessus, il annoté les mouvements et les informations de Pokémon, permettant à l’agent de déduire la relation d’avantage de type de manière autonome. Dans une tentative pour réduire davantage les hallucinations contenues dans le raisonnement, le cadre POKELLMON annoté explicitement l’avantage de type et la faiblesse du Pokémon adverse et du Pokémon de l’agent avec des descriptions appropriées. De plus, il est difficile de mémoriser les mouvements et les capacités avec des effets distincts des Pokémon, en particulier puisqu’il y en a beaucoup. La table suivante démontre les résultats de la génération augmentée par connaissance. Il est important de noter que, en mettant en œuvre l’approche de génération augmentée par connaissance, le cadre POKELLMON est capable d’augmenter le taux de victoire d’environ 20 % par rapport aux 36 % existants à 55 %.

De plus, les développeurs ont observé que, lorsque l’agent a été fourni avec des connaissances externes sur les Pokémon, il a commencé à utiliser des mouvements spéciaux au bon moment, comme le démontre l’image suivante.

Génération d’actions cohérentes

Les modèles existants démontrent que la mise en œuvre d’approches de raisonnement et de sollicitation peut améliorer la capacité des LLM à résoudre des tâches complexes. Au lieu de générer une action unique, le cadre POKELLMON évalue les stratégies de sollicitation existantes, y compris CoT ou Chaîne de pensée, ToT ou Arbre de pensée, et Auto-cohérence. Pour la Chaîne de pensée, l’agent génère d’abord une pensée qui analyse le scénario de bataille actuel et produit une action conditionnée par la pensée. Pour l’Auto-cohérence, l’agent génère trois fois les actions et sélectionne la sortie qui a reçu le plus de votes. Enfin, pour l’approche de l’Arbre de pensée, le cadre génère trois actions, comme dans l’approche d’Auto-cohérence, mais choisit celle qu’il considère comme la meilleure après les avoir évaluées toutes par lui-même. La table suivante résume les performances des approches de sollicitation.

Il n’y a qu’une seule action pour chaque tour, ce qui implique que, même si l’agent décide de basculer et que l’adversaire décide d’attaquer, le Pokémon qui bascule prendra les dégâts. Normalement, l’agent décide de basculer parce qu’il veut basculer vers un Pokémon qui a un avantage de type par rapport au Pokémon adverse, et ainsi le Pokémon qui bascule peut supporter les dégâts, car il est résistant au type du mouvement du Pokémon adverse. Cependant, comme ci-dessus, pour l’agent avec le raisonnement CoT, même si le Pokémon adverse puissant force plusieurs rotations, il agit de manière incohérente avec la mission, car il peut ne pas vouloir basculer vers le Pokémon mais plusieurs Pokémon et revenir en arrière, ce que nous appelons la commutation panique. La commutation panique élimine les chances de prendre des mouvements et entraîne ainsi des défaites.

POKELLMON : Résultats et expériences

Avant de discuter des résultats, il est essentiel pour nous de comprendre l’environnement de bataille. Au début d’un tour, l’environnement reçoit un message de demande d’action du serveur et y répond à la fin, ce qui contient également le résultat d’exécution du tour précédent.

  1. Tout d’abord, il analyse le message et met à jour les variables d’état locales, 2. puis traduit les variables d’état en texte. La description textuelle a principalement quatre parties : 1. Informations sur l’équipe propriétaire, qui contient les attributs des Pokémon sur le terrain et hors du terrain (inutilisés).
  2. Informations sur l’équipe adverse, qui contient les attributs des Pokémon adverses sur le terrain et hors du terrain (certaines informations sont inconnues).
  3. Informations sur le champ de bataille, qui incluent le temps, les dangers d’entrée, le terrain.
  4. Informations sur le journal des tours précédents, qui contient les actions précédentes des deux Pokémon et est stocké dans une file d’attente de journal. Les LLM prennent l’état traduit comme entrée et produisent des actions pour l’étape suivante. L’action est ensuite envoyée au serveur et exécutée en même temps que l’action effectuée par l’humain.

Bataille contre des joueurs humains

Le tableau suivant illustre les performances de l’agent POKELLMON contre des joueurs humains.

Comme on peut l’observer, l’agent POKELLMON offre des performances comparables à celles des joueurs de ladder qui ont un taux de victoire plus élevé par rapport à un joueur invité, ainsi qu’une expérience de bataille étendue.

Analyse des compétences de bataille

Le cadre POKELLMON fait rarement une erreur en choisissant le mouvement efficace et bascule vers un autre Pokémon approprié en raison de la stratégie de génération augmentée par connaissance.

Comme le montre l’exemple ci-dessus, l’agent utilise un seul Pokémon pour vaincre toute l’équipe adverse, car il est capable de choisir différents mouvements d’attaque, ceux qui sont les plus efficaces pour l’adversaire dans cette situation. De plus, le cadre POKELLMON exhale également une stratégie d’usure humaine. Certains Pokémon ont un mouvement « Toxique » qui peut infliger des dégâts supplémentaires à chaque tour, tandis que le mouvement « Rétablir » lui permet de récupérer ses points de vie. En tirant parti de cela, l’agent empoisonne d’abord le Pokémon adverse et utilise le mouvement de rétablissement pour éviter de s’évanouir.

Pensées finales

Dans cet article, nous avons discuté de POKELLMON, une approche qui permet aux grands modèles de langage de jouer à des batailles de Pokémon contre des humains de manière autonome. POKELLMON vise à être le premier agent incarné à atteindre des performances humaines dans les jeux tactiques, similaires à celles observées dans les batailles de Pokémon. Le cadre POKELLMON introduit trois stratégies clés : l’apprentissage par renforcement en contexte, qui consomme les rétroactions textuelles comme « récompense » pour affiner la politique d’action de manière itérative sans formation, la génération augmentée par connaissance qui récupère des connaissances externes pour combattre les hallucinations et assure que l’agent agisse de manière opportune et appropriée, et la génération d’actions cohérentes qui prévient le problème de commutation panique lors de la rencontre d’adversaires puissants.

Kunal Kejriwal est ingénieur backend spécialisé en Python, PostgreSQL, Redis et en infrastructure cloud sur GCP et AWS. Fort de trois ans d'expérience dans la construction et la mise à l'échelle de systèmes de production, il écrit sur l'infrastructure IA, les systèmes distribués et l'architecture du déploiement des charges de travail d'apprentissage automatique.