stomp POKELLMON: een mens-pariteitsagent voor Pokemon-gevechten met LLM's - Unite.AI
Verbind je met ons

Artificial Intelligence

POKELLMON: een mens-pariteitsagent voor Pokemon-gevechten met LLM's

mm

gepubliceerd

 on

POKELLMON: een mens-pariteitsagent voor Pokemon-gevechten met LLM's

Grote taalmodellen en generatieve AI hebben ongekend succes getoond bij een breed scala aan natuurlijke taalverwerkingstaken. Na het veroveren van het NLP-veld is de volgende uitdaging voor GenAI- en LLM-onderzoekers het onderzoeken hoe grote taalmodellen autonoom kunnen handelen in de echte wereld met een grotere generatiekloof van tekst naar actie, en daarmee een belangrijk paradigma vertegenwoordigen in het streven naar kunstmatige algemene intelligentie. . Online games worden beschouwd als een geschikte testbasis voor het ontwikkelen van belichaamde agenten in grote taalmodellen die interageren met de visuele omgeving op een manier die een mens zou doen. 

In een populair online simulatiespel Minecraft kunnen besluitvormende agenten bijvoorbeeld worden ingezet om de spelers te helpen bij het verkennen van de wereld en om vaardigheden te ontwikkelen voor het maken van gereedschappen en het oplossen van taken. Een ander voorbeeld van LLM-agenten die interactie hebben met de visuele omgeving kan worden ervaren in een ander online spel, The Sims, waar agenten opmerkelijk succes hebben getoond in sociale interacties en gedrag vertonen dat op mensen lijkt. In vergelijking met bestaande games zouden tactische gevechtsgames echter een betere keuze kunnen zijn om het vermogen van grote taalmodellen om virtuele games te spelen te benchmarken. De belangrijkste reden waarom tactische spellen een betere maatstaf zijn, is omdat het winstpercentage direct kan worden gemeten en consistente tegenstanders, waaronder menselijke spelers en AI, altijd beschikbaar zijn. 

Voortbouwend op hetzelfde wil POKELLMON de eerste belichaamde agent ter wereld zijn die prestaties op menselijk niveau behaalt in tactische games, vergelijkbaar met die in Pokemon-gevechten. In de kern omvat het POKELLMON-framework drie hoofdstrategieën.

  1. In-context versterkend leren dat tekstgebaseerde feedback uit veldslagen onmiddellijk gebruikt om het beleid iteratief te verfijnen. 
  2. Op kennis gebaseerde generatie die externe kennis ophaalt om hallucinaties tegen te gaan, waardoor de agent correct kan handelen wanneer dat nodig is. 
  3. Consistente actiegeneratie om de panieksituatie bij het schakelen te minimaliseren wanneer de agent een sterke speler tegenkomt en deze wil vermijden. 

Dit artikel heeft tot doel het POKELLMON-framework diepgaand te behandelen, en we onderzoeken het mechanisme, de methodologie en de architectuur van het raamwerk, samen met de vergelijking ervan met de modernste raamwerken. We zullen ook praten over hoe het POKELLMON-framework opmerkelijke mensachtige gevechtsstrategieën en tijdige besluitvormingsvaardigheden demonstreert, waardoor een respectabel winstpercentage van bijna 50% wordt bereikt. Dus laten we beginnen.

POKELLMON: een Human Parity Agent met LLM voor Pokemon Battles

De groei in de mogelijkheden en efficiëntie van grote taalmodellen en generatieve AI-frameworks in de afgelopen jaren is niets anders dan geweldig geweest, vooral op het gebied van NLP-taken. Onlangs hebben ontwikkelaars en AI-onderzoekers gewerkt aan manieren om generatieve AI en LLM's prominenter te maken in scenario's in de echte wereld, met de mogelijkheid om autonoom te handelen in de fysieke wereld. Om deze autonome prestaties in fysieke en echte situaties te bereiken, beschouwen onderzoekers en ontwikkelaars games als een geschikte proeftuin voor het ontwikkelen van LLM-belichaamde agenten met het vermogen om met de virtuele omgeving te communiceren op een manier die op menselijk gedrag lijkt. 

Eerder hebben ontwikkelaars geprobeerd LLM-belichaamde agenten te ontwikkelen voor virtuele simulatiespellen zoals Minecraft en Sims, hoewel men gelooft dat tactische spellen zoals Pokemon een betere keuze zouden kunnen zijn om deze agenten te ontwikkelen. Met Pokemon-gevechten kunnen de ontwikkelaars het vermogen van een trainer om te vechten in bekende Pokemon-spellen evalueren, en dit biedt verschillende voordelen ten opzichte van andere tactische spellen. Omdat de actie- en statusruimten discreet zijn, kan deze zonder enig verlies in tekst worden vertaald. De volgende afbeelding illustreert een typisch Pokemon-gevecht waarbij de speler wordt gevraagd een actie te genereren die hij bij elke beurt moet uitvoeren, gegeven de huidige status van de Pokemon van elke kant. De gebruikers hebben de mogelijkheid om uit vijf verschillende Pokemons te kiezen en er zijn in totaal vier bewegingen in het actieveld. Bovendien helpt de game bij het verlichten van de stress op de inferentietijd en inferentiekosten voor LLM's, aangezien het turn-based formaat de noodzaak van een intensieve gameplay elimineert. Hierdoor zijn de prestaties vooral afhankelijk van het redeneervermogen van de groot taalmodel. Ten slotte: hoewel de Pokemon-gevechtsspellen eenvoudig lijken, zijn de zaken in werkelijkheid iets complexer en zeer strategisch. Een ervaren speler selecteert niet willekeurig een Pokemon voor de strijd, maar houdt rekening met verschillende factoren, waaronder type, statistieken, vaardigheden, soorten, items en bewegingen van de Pokemons, zowel op als buiten het slagveld. Bovendien worden de Pokemons in een willekeurig gevecht willekeurig geselecteerd uit een pool van meer dan duizend karakters, elk met hun eigen reeks verschillende karakters met redeneervermogen en Pokemon-kennis. 

POKELLMON: Methodologie en architectuur

Het algemene raamwerk en de architectuur van het POKELLMON-raamwerk worden geïllustreerd in de volgende afbeelding. 

Tijdens elke beurt gebruikt het POKELLMON-framework eerdere acties en de bijbehorende op tekst gebaseerde feedback om het beleid iteratief te verfijnen, samen met het uitbreiden van de huidige statusinformatie met externe kennis zoals vaardigheids-/bewegingseffecten of de relatie tussen voordeel en zwakte. Voor informatie die als invoer wordt gegeven, genereert het POKELLMON-framework onafhankelijk meerdere acties en selecteert vervolgens de meest consistente als uiteindelijke uitvoer. 

In-context versterkend leren

Menselijke spelers en atleten nemen beslissingen vaak niet alleen op basis van de huidige stand van zaken, maar reflecteren ook op de feedback van eerdere acties en de ervaringen van andere spelers. Het zou veilig zijn om te zeggen dat positieve feedback een speler helpt om van zijn fouten te leren, en ervoor zorgt dat hij niet keer op keer dezelfde fout maakt. Zonder de juiste feedback kunnen de POKELLMON-agenten dezelfde foutactie blijven uitvoeren, zoals blijkt uit de volgende afbeelding. 

Zoals je kunt zien, gebruikt de in-game agent een aanval op waterbasis tegen een Pokemon-personage met de vaardigheid ‘Dry Skin’, waardoor deze de schade bij aanvallen op waterbasis teniet kan doen. Het spel probeert de gebruiker te waarschuwen door het bericht "Immuun" op het scherm te laten knipperen, wat een menselijke speler ertoe kan aanzetten zijn acties te heroverwegen en te veranderen, zelfs zonder op de hoogte te zijn van "Droge huid". Het is echter niet opgenomen in de statusbeschrijving van de agent, waardoor de agent opnieuw dezelfde fout maakt. 

Om ervoor te zorgen dat de POKELLMON-agent leert van zijn eerdere fouten, implementeert het raamwerk de In-Context Reinforcement Learning-aanpak. Reinforcement learning is een populaire aanpak bij machinaal leren en helpt ontwikkelaars bij het verfijnen van het beleid, omdat er numerieke beloningen nodig zijn om acties te evalueren. Sinds grote taalmodellen het vermogen hebben om taal te interpreteren en te begrijpen, zijn op tekst gebaseerde beschrijvingen naar voren gekomen als een nieuwe vorm van beloning voor de LLM's. Door op tekst gebaseerde feedback van de vorige acties op te nemen, kan de POKELLMON-agent zijn beleid iteratief en onmiddellijk verfijnen, namelijk het In-Context Reinforcement Learning. Het POKELLMON-framework ontwikkelt vier soorten feedback:

  1. De daadwerkelijke schade veroorzaakt door een aanvalsbeweging is gebaseerd op het verschil in HP over twee opeenvolgende beurten. 
  2. De effectiviteit van aanvalsbewegingen. De feedback geeft de effectiviteit van de aanval aan in termen van geen effect of immuun, ineffectief of supereffectief vanwege vaardigheids-/bewegingseffecten of typevoordeel. 
  3. De prioriteitsvolgorde voor het uitvoeren van een zet. Omdat de precieze statistieken voor het Pokémon-personage van de tegenstander niet beschikbaar zijn, geeft de feedback over de prioriteitsvolgorde een ruwe schatting van de snelheid. 
  4. Het daadwerkelijke effect van de uitgevoerde zetten op de tegenstander. Zowel aanvalsbewegingen als status kunnen resulteren in uitkomsten zoals het herstellen van HP, statboost of debuffs, en het veroorzaken van omstandigheden zoals bevriezing, brandwonden of vergif. 

Bovendien resulteert het gebruik van de In-Context Reinforcement Learning-aanpak in een aanzienlijke prestatieverbetering, zoals blijkt uit de volgende afbeelding. 

Afgezet tegen de originele prestaties op GPT-4, schiet het winstpercentage met bijna 10% omhoog, samen met een boost van bijna 13% in de gevechtsscore. Bovendien begint de agent, zoals blijkt uit de volgende afbeelding, zijn actie te analyseren en te veranderen als de zetten die in de vorige zetten zijn uitgevoerd niet aan de verwachtingen konden voldoen. 

Kennis-Augmented Generation of KAG

Hoewel het implementeren van In-Context Reinforcement Learning tot op zekere hoogte helpt bij hallucinaties, kan het nog steeds fatale gevolgen hebben voordat de agent de feedback ontvangt. Als de agent bijvoorbeeld besluit om tegen een vuur-type Pokemon te strijden met een gras-type Pokemon, zal de eerste waarschijnlijk in één beurt winnen. Om hallucinaties verder te verminderen en het beslissingsvermogen van de agent te verbeteren, implementeert het POKELLMON-framework de Knowledge-Augmented Generation- of de KAG-aanpak, een techniek die externe kennis gebruikt om generatie vergroten

Wanneer het model nu de vier soorten feedback genereert die hierboven zijn besproken, annoteert het de Pokemon-bewegingen en informatie, waardoor de agent zelf de relatie tussen het typevoordeel kan afleiden. In een poging om de hallucinatie in de redenering verder te verminderen, annoteert het POKELLMON-framework expliciet het typevoordeel en de zwakte van de vijandige Pokemon, en de Pokemon van de agent met adequate beschrijvingen. Bovendien is het een uitdaging om de bewegingen en vaardigheden met verschillende effecten van Pokemons te onthouden, vooral omdat er veel zijn. De volgende tabel toont de resultaten van het genereren van kennis. Het is vermeldenswaard dat door het implementeren van de Knowledge Augmented Generation-aanpak het POKELLMON-framework het winstpercentage met ongeveer 4% kan verhogen van de bestaande 20% naar 36%. 

Bovendien merkten ontwikkelaars op dat wanneer de agent externe kennis van Pokemons kreeg, hij op het juiste moment speciale bewegingen begon te gebruiken, zoals gedemonstreerd in de volgende afbeelding. 

Consistente actiegeneratie

Bestaande modellen tonen aan dat het implementeren van prompting- en redeneringsbenaderingen het vermogen van de LLM bij het oplossen van complexe taken kan vergroten. In plaats van een eenmalige actie te genereren, evalueert het POKELLMON-framework bestaande promptingstrategieën, waaronder CoT of Chain of Thought, ToT of Tree of Thought, en Self Consistency. Voor Chain of Thought genereert de agent in eerste instantie een gedachte die het huidige gevechtsscenario analyseert, en voert hij een actie uit die afhankelijk is van de gedachte. Voor zelfconsistentie genereert de agent drie keer zoveel acties en selecteert hij de uitvoer die het maximale aantal stemmen heeft gekregen. Ten slotte genereert het raamwerk voor de Tree of Thought-benadering drie acties, net als bij de zelfconsistentiebenadering, maar kiest het raamwerk dat het het beste acht nadat het deze allemaal zelf heeft geëvalueerd. De volgende tabel geeft een overzicht van de prestaties van de prompting-benaderingen. 

Er is slechts één actie per beurt, wat inhoudt dat zelfs als de agent besluit te wisselen en de tegenstander besluit aan te vallen, de inschakel-Pokémon de schade op zich zal nemen. Normaal gesproken besluit de agent om te wisselen omdat hij typevoordeel wil hebben bij het wisselen van een Pokémon die niet in de strijd is, en dus kan de schakelende Pokémon de schade oplopen, omdat deze typebestendig was tegen de bewegingen van de tegenstander. Echter, zoals hierboven, voor de agent met CoT-redenering, zelfs als de krachtige tegenstander verschillende rotaties afdwingt, handelt deze inconsistent met de missie, omdat hij misschien niet wil overschakelen naar de Pokemon, maar naar verschillende Pokémon en terug, wat we noemen paniek schakelen. Paniekwisseling elimineert de kansen om zetten te doen, en dus nederlagen. 

POKELLMON: Resultaten en experimenten

Voordat we de resultaten bespreken, is het essentieel dat we de strijdomgeving begrijpen. Aan het begin van een beurt ontvangt de omgeving een actieverzoekbericht van de server en zal aan het einde op dit bericht reageren, dat ook het uitvoeringsresultaat van de laatste beurt bevat. 

  1. Parseert eerst het bericht en werkt de lokale statusvariabelen bij, 2. vertaalt vervolgens de statusvariabelen in tekst. De tekstbeschrijving bestaat hoofdzakelijk uit vier delen: 1. Eigen teaminformatie, die de attributen bevat van Pokémon in het veld en daarbuiten (ongebruikt).
  2. Teaminformatie van de tegenstander, die de kenmerken van Pokémon van de tegenstander in het veld en daarbuiten bevat (sommige informatie is onbekend).
  3. Informatie over het slagveld, waaronder het weer, toegangsgevaren en terrein.
  4. Historische beurtloginformatie, die eerdere acties van beide Pokémon bevat en wordt opgeslagen in een logwachtrij. LLM's nemen de vertaalde status als invoer- en uitvoeracties voor de volgende stap. De actie wordt vervolgens naar de server gestuurd en tegelijkertijd uitgevoerd met de actie van de mens.

Vecht tegen menselijke spelers

De volgende tabel illustreert de prestaties van de POKELLMON-agent tegen menselijke spelers. 

Zoals je kunt zien, levert de POKELLMON-agent prestaties die vergelijkbaar zijn met die van ladderspelers die een hoger winstpercentage hebben in vergelijking met een uitgenodigde speler, en bovendien uitgebreide gevechtservaring hebben. 

Analyse van gevechtsvaardigheden

Het POKELLMON-framework maakt zelden een fout bij het kiezen van de effectieve zet en schakelt over naar een andere geschikte Pokemon dankzij de Knowledge Augmented Generation-strategie. 

Zoals in het bovenstaande voorbeeld te zien is, gebruikt de agent slechts één Pokemon om het hele team van de tegenstander te verslaan, omdat hij verschillende aanvalsbewegingen kan kiezen, degene die het meest effectief zijn voor de tegenstander in die situatie. Bovendien vertoont het POKELLMON-framework ook een mensachtige uitputtingsstrategie. Sommige Pokemons hebben een ‘Toxic’-beweging die bij elke beurt extra schade kan aanrichten, terwijl de ‘Recover’-beweging hem in staat stelt zijn HP te herstellen. De agent maakt hiervan gebruik, vergiftigt eerst de Pokémon van de tegenstander en gebruikt de Recover-beweging om te voorkomen dat hij flauwvalt. 

Conclusie

In dit artikel hebben we het gehad over POKELLMON, een aanpak waarmee grote taalmodellen autonoom Pokemon-gevechten tegen mensen kunnen spelen. POKELLMON wil de eerste belichaamde agent ter wereld zijn die prestaties op menselijk niveau behaalt in tactische games, vergelijkbaar met die in Pokemon-gevechten. Het POKELLMON-framework introduceert drie sleutelstrategieën: In-Context Reinforcement Learning, waarbij de op tekst gebaseerde feedback als “beloning” wordt gebruikt om het beleid voor het genereren van acties iteratief te verfijnen zonder training, Knowledge-Augmented Generation dat externe kennis ophaalt om hallucinaties te bestrijden en ervoor te zorgen dat de agent handelt tijdig en correct, en consistente actiegeneratie die het probleem van paniekschakelingen voorkomt bij het tegenkomen van krachtige tegenstanders. 

"Een ingenieur van beroep, een schrijver in hart en nieren". Kunal is een technisch schrijver met een diepe liefde voor en begrip van AI en ML, toegewijd aan het vereenvoudigen van complexe concepten op deze gebieden door middel van zijn boeiende en informatieve documentatie.