mozzicone POKELLMON: un agente di parità umana per battaglie Pokemon con LLM - Unite.AI
Seguici sui social

Intelligenza Artificiale

POKELLMON: un agente di parità umana per battaglie Pokemon con LLM

mm

Pubblicato il

 on

POKELLMON: un agente di parità umana per battaglie Pokemon con LLM

I modelli linguistici di grandi dimensioni e l’intelligenza artificiale generativa hanno dimostrato un successo senza precedenti in un’ampia gamma di attività di elaborazione del linguaggio naturale. Dopo aver conquistato il campo della PNL, la prossima sfida per i ricercatori GenAI e LLM è esplorare come modelli linguistici di grandi dimensioni possano agire in modo autonomo nel mondo reale con un ampio divario generazionale dal testo all'azione, rappresentando così un paradigma significativo nella ricerca dell'Intelligenza Generale Artificiale. . I giochi online sono considerati una base di test adeguata per sviluppare agenti incarnati di modelli linguistici di grandi dimensioni che interagiscono con l'ambiente visivo come farebbe un essere umano. 

Ad esempio, in un popolare gioco di simulazione online Minecraft, gli agenti decisionali possono essere impiegati per assistere i giocatori nell'esplorazione del mondo e nello sviluppo di abilità per creare strumenti e risolvere compiti. Un altro esempio di agenti LLM che interagiscono con l'ambiente visivo può essere sperimentato in un altro gioco online, The Sims, in cui gli agenti hanno dimostrato un notevole successo nelle interazioni sociali e mostrano comportamenti che assomigliano a quelli umani. Tuttavia, rispetto ai giochi esistenti, i giochi di battaglia tattica potrebbero rivelarsi una scelta migliore per valutare la capacità di modelli linguistici di grandi dimensioni di giocare a giochi virtuali. Il motivo principale per cui i giochi tattici rappresentano un punto di riferimento migliore è perché la percentuale di vittorie può essere misurata direttamente e sono sempre disponibili avversari coerenti, inclusi giocatori umani e intelligenza artificiale. 

Basandosi sullo stesso approccio, POKELLMON mira a essere il primo agente incarnato al mondo in grado di raggiungere prestazioni di livello umano nei giochi tattici, simili a quelli visti nelle battaglie Pokemon. Fondamentalmente, il framework POKELLMON incorpora tre strategie principali.

  1. Apprendimento di rinforzo nel contesto che utilizza istantaneamente il feedback basato su testo derivato dalle battaglie per perfezionare la politica in modo iterativo. 
  2. Generazione aumentata di conoscenza che recupera la conoscenza esterna per contrastare le allucinazioni, consentendo all'agente di agire correttamente e quando necessario. 
  3. Generazione di azioni coerenti per ridurre al minimo la situazione di panico quando l'agente incontra un giocatore forte e vuole evitare di affrontarlo. 

Questo articolo mira a coprire in modo approfondito il framework POKELLMON ed esploriamo il meccanismo, la metodologia, l'architettura del framework insieme al suo confronto con i framework più all'avanguardia. Parleremo anche di come la struttura di POKELLMON dimostri notevoli strategie di battaglia simili a quelle umane e capacità di prendere decisioni tempestive, raggiungendo un rispettabile tasso di vincita di quasi il 50%. Quindi iniziamo.

POKELLMON: un agente di parità umana con LLM per battaglie Pokemon

La crescita delle capacità e dell’efficienza dei modelli linguistici di grandi dimensioni e dei framework di intelligenza artificiale generativa negli ultimi anni non è stata altro che meravigliosa, soprattutto per quanto riguarda le attività di PNL. Recentemente, sviluppatori e ricercatori di intelligenza artificiale hanno lavorato su come rendere l'intelligenza artificiale generativa e gli LLM più importanti negli scenari del mondo reale con la capacità di agire autonomamente nel mondo fisico. Per ottenere queste prestazioni autonome in situazioni fisiche e reali, ricercatori e sviluppatori considerano i giochi un banco di prova adatto per sviluppare agenti incorporati in LLM con la capacità di interagire con l'ambiente virtuale in un modo che assomiglia al comportamento umano. 

In precedenza, gli sviluppatori hanno provato a sviluppare agenti incorporati in LLM su giochi di simulazione virtuale come Minecraft e Sims, anche se si ritiene che giochi tattici come Pokemon potrebbero essere una scelta migliore per sviluppare questi agenti. Le battaglie Pokemon consentono agli sviluppatori di valutare l'abilità di un allenatore di combattere nei famosi giochi Pokemon e offrono numerosi vantaggi rispetto ad altri giochi tattici. Poiché gli spazi di azione e di stato sono discreti, possono essere tradotti in testo senza alcuna perdita. La figura seguente illustra una tipica battaglia Pokemon in cui al giocatore viene chiesto di generare un'azione da eseguire ad ogni turno dato lo stato attuale dei Pokemon da ciascuna parte. Gli utenti hanno la possibilità di scegliere tra cinque Pokemon diversi e ci sono un totale di quattro mosse nello spazio d'azione. Inoltre, il gioco aiuta ad alleviare lo stress sul tempo di inferenza e sui costi di inferenza per gli LLM poiché il formato a turni elimina la necessità di un gameplay intenso. Di conseguenza, la prestazione dipende principalmente dalla capacità di ragionamento del grande modello linguistico. Infine, anche se i giochi di battaglia Pokemon sembrano semplici, in realtà le cose sono un po' più complesse e altamente strategiche. Un giocatore esperto non seleziona casualmente un Pokemon per la battaglia, ma prende in considerazione vari fattori tra cui tipo, statistiche, abilità, specie, oggetti, mosse dei Pokemon, sia dentro che fuori dal campo di battaglia. Inoltre, in una battaglia casuale, i Pokemon vengono selezionati casualmente da un pool di oltre mille personaggi, ciascuno con il proprio set di personaggi distinti con capacità di ragionamento e conoscenza dei Pokemon. 

POKELLMON: Metodologia e Architettura

La struttura generale e l'architettura del framework POKELLMON sono illustrate nell'immagine seguente. 

Durante ogni turno, la struttura di POKELLMON utilizza le azioni precedenti e il corrispondente feedback basato su testo per perfezionare la politica in modo iterativo oltre ad aumentare le informazioni sullo stato attuale con conoscenze esterne come effetti di abilità/movimento o relazione vantaggio/debolezza. Per le informazioni fornite come input, il framework POKELLMON genera più azioni in modo indipendente, quindi seleziona quelle più coerenti come output finale. 

Apprendimento per rinforzo nel contesto

I giocatori e gli atleti umani spesso prendono decisioni non solo sulla base dello stato attuale, ma riflettono anche sul feedback delle azioni precedenti e sulle esperienze degli altri giocatori. Sarebbe corretto affermare che il feedback positivo è ciò che aiuta un giocatore a imparare dai propri errori e gli impedisce di commettere lo stesso errore ancora e ancora. Senza un feedback adeguato, gli agenti POKELLMON potrebbero attenersi alla stessa azione di errore, come dimostrato nella figura seguente. 

Come si può osservare, l'agente nel gioco utilizza una mossa a base d'acqua contro un personaggio Pokemon che ha l'abilità "Pelle secca", permettendogli di annullare il danno contro gli attacchi a base d'acqua. Il gioco tenta di avvisare l'utente facendo lampeggiare il messaggio "Immune" sullo schermo che potrebbe indurre un giocatore umano a riconsiderare le proprie azioni e modificarle, anche senza conoscere "Dry Skin". Tuttavia, non è incluso nella descrizione dello stato dell'agente, con il risultato che l'agente commette nuovamente lo stesso errore. 

Per garantire che l'agente POKELLMON impari dai suoi errori precedenti, il framework implementa l'approccio di apprendimento per rinforzo in-contesto. L'apprendimento per rinforzo è un approccio popolare nell'apprendimento automatico e aiuta gli sviluppatori nella politica di perfezionamento poiché richiede ricompense numeriche per valutare le azioni. Da modelli linguistici di grandi dimensioni hanno la capacità di interpretare e comprendere il linguaggio, le descrizioni basate su testo sono emerse come una nuova forma di ricompensa per gli LLM. Includendo feedback basati su testo dalle azioni precedenti, l'agente POKELLMON è in grado di perfezionare in modo iterativo e istantaneo la sua politica, ovvero l'apprendimento per rinforzo nel contesto. Il framework POKELLMON sviluppa quattro tipologie di feedback,

  1. Il danno effettivo causato da un attacco si sposta in base alla differenza di HP in due turni consecutivi. 
  2. L'efficacia delle mosse di attacco. Il feedback indica l'efficacia dell'attacco in termini di assenza di effetto o immunità, inefficacia o superefficacia a causa di effetti di abilità/movimento o vantaggio di tipo. 
  3. L'ordine di priorità per l'esecuzione di una mossa. Poiché le statistiche precise per il personaggio Pokemon avversario non sono disponibili, il feedback dell'ordine di priorità fornisce una stima approssimativa della velocità. 
  4. L'effetto reale delle mosse eseguite sull'avversario. Sia le mosse di attacco che lo stato potrebbero comportare risultati come recupero di HP, aumento delle statistiche o debuff, infliggere condizioni come congelamento, ustioni o veleno. 

Inoltre, l'uso dell'approccio di apprendimento per rinforzo in-contesto si traduce in un aumento significativo delle prestazioni, come dimostrato nella figura seguente. 

Se confrontato con la prestazione originale su GPT-4, la percentuale di vittorie aumenta di quasi il 10% insieme a un aumento di quasi il 13% nel punteggio della battaglia. Inoltre, come dimostrato nella figura seguente, l'agente inizia ad analizzare e modificare la propria azione se le mosse eseguite nelle mosse precedenti non sono state in grado di corrispondere alle aspettative. 

Generazione aumentata dalla conoscenza o KAG

Sebbene l'implementazione dell'apprendimento per rinforzo nel contesto aiuti in una certa misura con le allucinazioni, può comunque provocare conseguenze fatali prima che l'agente riceva il feedback. Ad esempio, se l'agente decide di combattere contro un Pokemon di tipo fuoco con un Pokemon di tipo erba, è probabile che il primo vinca probabilmente in un solo turno. Per ridurre ulteriormente le allucinazioni e migliorare la capacità decisionale dell'agente, il framework POKELLMON implementa la Knowledge-Augmented Generation o l'approccio KAG, una tecnica che utilizza la conoscenza esterna per aumentare la generazione

Ora, quando il modello genera i 4 tipi di feedback discussi sopra, annota le mosse e le informazioni dei Pokemon consentendo all'agente di dedurre da solo la relazione di vantaggio del tipo. Nel tentativo di ridurre ulteriormente l'allucinazione contenuta nel ragionamento, il framework POKELLMON annota esplicitamente il vantaggio di tipo e la debolezza del Pokemon avversario e del Pokemon dell'agente con descrizioni adeguate. Inoltre, è difficile memorizzare le mosse e le abilità con effetti distinti dei Pokemon, soprattutto perché ce ne sono molti. La tabella seguente mostra i risultati della generazione aumentata di conoscenza. Vale la pena notare che implementando l'approccio Knowledge Augmented Generation, il framework POKELLMON è in grado di aumentare il tasso di vincita di circa il 20% dall'attuale 36% al 55%. 

Inoltre, gli sviluppatori hanno osservato che quando all'agente veniva fornita la conoscenza esterna dei Pokemon, iniziava a utilizzare le mosse speciali al momento giusto, come dimostrato nell'immagine seguente. 

Generazione di azioni coerenti

I modelli esistenti dimostrano che l'implementazione di approcci di suggerimento e ragionamento può migliorare la capacità degli LLM di risolvere compiti complessi. Invece di generare un'azione one-shot, il framework POKELLMON valuta le strategie di suggerimento esistenti tra cui CoT o catena di pensiero, ToT o albero del pensiero e coerenza personale. Per Chain of Thought, l'agente genera inizialmente un pensiero che analizza lo scenario di battaglia attuale e produce un'azione condizionata dal pensiero. Per Self Consistency, l'agente genera tre volte le azioni e seleziona l'output che ha ricevuto il numero massimo di voti. Infine, per l'approccio dell'Albero del Pensiero, il framework genera tre azioni proprio come nell'approccio di autocoerenza, ma sceglie quella che considera migliore dopo averle valutate tutte da solo. La tabella seguente riassume le prestazioni degli approcci di prompt. 

C'è solo una singola azione per ogni turno, il che implica che anche se l'agente decidesse di scambiare e l'avversario decidesse di attaccare, il Pokémon scambiato subirebbe il danno. Normalmente l'agente decide di cambiare perché vuole avvantaggiare il tipo di un Pokémon fuori dalla battaglia, e quindi il Pokémon che cambia può sostenere il danno, poiché era resistente al tipo alle mosse del Pokémon avversario. Tuttavia, come sopra, per l'agente con ragionamento CoT, anche se il potente Pokémon avversario forza varie rotazioni, agisce in modo incoerente con la missione, perché potrebbe non voler effettuare lo switch-in sul Pokemon ma su diversi Pokémon e viceversa, che chiamiamo commutazione dettata dal panico. Il cambio di panico elimina la possibilità di eseguire mosse e quindi di sconfitte. 

POKELLMON: Risultati ed esperimenti

Prima di discutere i risultati, è essenziale comprendere l'ambiente di battaglia. All'inizio di un turno, l'ambiente riceve un messaggio di richiesta di azione dal server e alla fine risponderà a questo messaggio, che contiene anche il risultato dell'esecuzione dell'ultimo turno. 

  1. Innanzitutto analizza il messaggio e aggiorna le variabili di stato locali, 2. quindi traduce le variabili di stato in testo. La descrizione testuale è composta principalmente da quattro parti: 1. Informazioni sulla propria squadra, che contengono gli attributi dei Pokémon in campo e fuori dal campo (non utilizzati).
  2. Informazioni sulla squadra avversaria, che contengono gli attributi dei Pokémon avversari in campo e fuori dal campo (alcune informazioni sono sconosciute).
  3. Informazioni sul campo di battaglia, che includono condizioni meteorologiche, pericoli di ingresso e terreno.
  4. Informazioni storiche sul registro dei turni, che contengono le azioni precedenti di entrambi i Pokémon e sono archiviate in una coda di registro. Gli LLM prendono lo stato tradotto come azioni di input e output per il passaggio successivo. L'azione viene quindi inviata al server ed eseguita contemporaneamente all'azione eseguita dall'essere umano.

Battaglia contro giocatori umani

La tabella seguente illustra le prestazioni dell'agente POKELLMON contro i giocatori umani. 

Come si può osservare, l'agente POKELLMON offre prestazioni paragonabili a quelle dei giocatori ladder che hanno una percentuale di vincita più elevata rispetto a un giocatore invitato oltre ad avere una vasta esperienza di battaglia. 

Analisi delle abilità di battaglia

Il framework POKELLMON raramente commette errori nella scelta della mossa efficace e passa a un altro Pokemon adatto grazie alla strategia di generazione aumentata della conoscenza. 

Come mostrato nell'esempio sopra, l'agente utilizza un solo Pokemon per sconfiggere l'intera squadra avversaria poiché può scegliere diverse mosse di attacco, quelle più efficaci per l'avversario in quella situazione. Inoltre, la struttura POKELLMON mostra anche una strategia di logoramento di tipo umano. Alcuni Pokemon hanno una mossa "Tossica" che può infliggere danni aggiuntivi ad ogni turno, mentre la mossa "Recupera" gli consente di recuperare i suoi HP. Approfittando della stessa, l'agente avvelena prima il Pokemon avversario e utilizza la mossa Recupero per evitare di svenire. 

Considerazioni finali

In questo articolo abbiamo parlato di POKELLMON, un approccio che consente a grandi modelli linguistici di giocare autonomamente battaglie Pokemon contro umani. POKELLMON mira a essere il primo agente incarnato al mondo in grado di raggiungere prestazioni di livello umano nei giochi tattici, simili a quelli visti nelle battaglie Pokemon. Il framework POKELLMON introduce tre strategie chiave: In-Context Reinforcement Learning che utilizza il feedback basato su testo come "ricompensa" per perfezionare iterativamente la politica di generazione dell'azione senza formazione, Knowledge-Augmented Generation che recupera conoscenza esterna per combattere le allucinazioni e garantisce che l'agente agisca. tempestivo e corretto, e generazione di azioni coerenti che previene il problema del panico quando si incontrano avversari potenti. 

"Un ingegnere di professione, uno scrittore a memoria". Kunal è uno scrittore tecnico con un profondo amore e comprensione di AI e ML, dedito a semplificare concetti complessi in questi campi attraverso la sua documentazione coinvolgente e informativa.