Come Nvidia usa il GPT-4 per migliorare l’intelligenza artificiale in Minecraft

0
779

Il programma Voyager è in grado di ideare nuove sfide nel gioco e di perfezionare continuamente le strategie di successo. A volte, però, ha allucinazioni su oggetti inesistenti, come un'”ascia di acacia”.
Un confronto tra Voyager di Nvidia e altri agenti automatizzati che procedono attraverso il cosiddetto albero tecnologico dei risultati del gioco. Il programma è decisamente più veloce nel portare a termine nuovi compiti e finora è l’unica automazione di Minecraft in grado di sbloccare il preziosissimo livello diamante degli attrezzi. I numeri lungo la parte inferiore del grafico rappresentano il numero di iterazioni richieste per i programmi.
Guanzhi Wang e altri
Come il check e il mate negli scacchi, la capacità di creare un attrezzo di diamante nel videogioco Minecraft, una delle sfide di alto livello del gioco, sta diventando banale per l’intelligenza artificiale.

E ora, qualcosa di simile alla memoria sta arrivando all’abilità dell’intelligenza artificiale nel popolare gioco per computer.

I programmi di intelligenza artificiale sono stati ampiamente sviluppati per giocare a Minecraft senza l’intervento umano, con enormi investimenti in tutti i tipi di approcci. Ad esempio, OpenAI, il creatore di ChatGPT, ha speso enormi somme di denaro per assumere giocatori umani del gioco al fine di catturare filmati che possano sviluppare l’IA per giocare imitando le mosse delle persone.

A febbraio un team guidato da Zihao Wang della Peking University di Pechino ha descritto quello che secondo il team è “il primo agente multi-task in grado di svolgere in modo robusto oltre 70 compiti di Minecraft”.

Ma lo stato dell’arte si muove velocemente. La settimana scorsa un team guidato da Nvidia ha dichiarato di aver creato il primo “agente che impara per tutta la vita”, in grado di perfezionare il proprio approccio al gioco provando diverse tecniche e salvando poi i risultati ottenuti in una libreria di tecniche.

Confrontata con altri sistemi automatici, la tecnologia è riuscita a raggiungere più velocemente le pietre miliari di Minecraft.

Il programma, chiamato Voyager, è descritto in un documento – pubblicato sul server di pre-print arXiv – scritto da Guanzhi Wang di Nvidia e Caltech e dai colleghi di UT Austin, Stanford e Arizona State University. Un consulente del team è il direttore senior della ricerca sull’intelligenza artificiale di Nvidia, Anima Anandkumar. (L’articolo e il materiale aggiuntivo sono stati pubblicati da Nvidia su un sito web dedicato).
Voyager utilizza il GPT-4, l’ultimo “modello linguistico di grandi dimensioni” del creatore di ChatGPT OpenAI. GPT-4 è stato presentato a marzo, anche se OpenAI ha rifiutato di descrivere gli aspetti tecnici del programma. Secondo OpenAI, il codice GPT-4 è migliore delle versioni precedenti e di molti altri modelli linguistici di grandi dimensioni (LLM) in molti compiti per i quali viene utilizzato ChatGPT, come rispondere a sfide in linguaggio naturale e scrivere codice.

Il GPT-4 viene utilizzato in tre modi in Voyager. Uno è quello di prendere l’attuale inventario dei beni di Minecraft e usarlo per creare una nuova sfida per il programma Voyager. Al prompt, GPT-4 fornisce una descrizione dell’inventario in linguaggio naturale, con una formattazione che facilita il parsing, come ad esempio,

Inventario (5/36): {‘assi_di_quercia’: 3, ‘bastone’: 4, ‘crafting_table’: 1, ‘stone’: 3, ‘wooden_pickaxe’: 1},

Il GPT-4 produrrà una descrizione in linguaggio naturale di una nuova sfida, come la creazione di un piccone di pietra, insieme all’indicazione del motivo per cui si tratta di un nuovo compito appropriato, ad esempio,

Ragionamento: Dal momento che si dispone di un piccone di legno e di alcune pietre, sarebbe utile aggiornare il piccone con un piccone di pietra per migliorare l’efficienza.

Compito: Realizzare 1 piccone di pietra.

Una seconda funzione di GPT-4 in Voyager è quella di inserire la nuova sfida e generare il codice per eseguire la mossa successiva in Minecraft. GPT-4 scrive il codice del programma da eseguire in Minecraft; ogni pezzo di codice viene testato in Minecraft e il feedback viene restituito a GPT-4, che lo perfeziona.

È noto che GPT-4 può perfezionare il codice del programma. Gli autori descrivono questo processo di prova ed errore del codice come “prompting iterativo”, a causa del ciclo di codice/feedback/ricodifica tramite il prompt del GPT-4. Una seconda istanza di GPT-4 viene utilizzata come critico per testare ogni invenzione di codice e determinare se ha successo. Questo è noto come “autoverifica”.

Ad esempio, se il codice iniziale del programma deve inviare a Minecraft l’istruzione di creare un'”ascia di acacia”, un’ascia fatta con la pianta di acacia, il programma fallirà perché non esiste un’ascia di acacia in Minecraft. Il fallimento di questa istruzione viene gestito da Voyager come un “errore di esecuzione” e il programma rivede il suo codice Minecraft e riprova.

La parte più interessante riguarda la cosiddetta libreria, in cui Voyager memorizza le parti di codice che ha provato e testato e che ha trovato vincenti, note come “abilità”.

Anche: I migliori chatbot AI: ChatGPT e altre alternative degne di nota

Proprio come GPT-4 prevede la parola successiva in una frase, Voyager può estrarre da questa libreria le azioni suggerite in futuro. GPT-4 inizia con una “query”, come ad esempio “creare un piccone di ferro”, poi cerca nella libreria la “chiave”, cioè la descrizione memorizzata di un’abilità, e recupera l’abilità richiesta come risultato, il “valore” della combinazione query-chiave, proprio come una ricerca in un database.

Utilizzando i cosiddetti studi di ablazione (rimozione di parti del programma), Wang e il team hanno scoperto che l’elemento più critico dell’intera struttura di Voyager è il critico, l’unità di autoverifica.


Esempi di come Voyager possa produrre risultati più sofisticati quando riceve un feedback umano durante il suo gameplay.

Guanzhi Wang e altri
“L’autoverifica è il più importante tra tutti i tipi di feedback” che Voyager riceve, scrivono.

“La rimozione del modulo porta a un calo significativo (-73%) nel numero di elementi scoperti”, da cui deducono che “l’autoverifica serve come meccanismo critico per decidere quando passare a un nuovo compito o tentare nuovamente un compito precedentemente fallito”.

Per testare Voyager rispetto allo stato dell’arte dell’automazione di Minecraft, gli autori hanno messo insieme altri programmi di intelligenza artificiale perché, come dicono loro, “non esistono LLM in grado di giocare a Minecraft”.

I programmi con cui sono stati effettuati i test, che costituiscono la loro linea di base, includono MineDojo, un programma sviluppato da alcuni degli stessi collaboratori l’anno scorso che ha vinto un “outstanding paper award” alla conferenza NeurIPS AI; ReAct, un’invenzione di Google introdotta quest’anno che spinge un modello linguistico di grandi dimensioni a “eseguire un ragionamento dinamico” nella risoluzione di problemi, in questo caso Minecraft; e AutoGPT, un adattamento di GPT-4 che automatizza l’azione successiva del modello linguistico, pubblicato su GitHub, sviluppato dalla casa di sviluppo a contratto Significant Gravitas.

Rispetto a questi altri approcci, scrivono gli autori, Voyager raggiunge gli obiettivi molto più velocemente. “La superiorità di Voyager è evidente nella sua capacità di fare sempre nuovi passi avanti, scoprendo 63 elementi unici in 160 iterazioni di richiesta, un numero di elementi nuovi 3,3 volte superiore rispetto alle sue controparti”, scrivono gli autori. “Voyager sblocca il livello del legno 15,3× più velocemente (in termini di iterazioni di richiesta), il livello della pietra 8,5× più velocemente, il livello del ferro 6,4× più velocemente”.

Inoltre, “Voyager è l’unico a sbloccare il livello diamante dell’albero tecnologico”. (Ottenere un piccone di diamante è uno dei compiti più difficili in Minecraft. Gli strumenti a base di diamante durano più a lungo e possono fare più danni, e la loro potenza in altri modi diventa importante per le attività di fine gioco come l’incantamento di tavoli e la creazione di attrezzature in netherite).

Hanno anche scoperto che il programma ha una capacità residua di progredire nel gioco anche quando la sua libreria di abilità viene svuotata.

Per testare la cosiddetta “generalizzazione a colpo zero”, scrivono i ricercatori, “abbiamo svuotato l’inventario dell’agente, l’abbiamo reimpostato su un nuovo mondo istanziato e l’abbiamo messo alla prova con compiti non visti”, contro un semplice GPT-4. “Voyager è in grado di risolvere in modo coerente le attività del gioco anche quando la sua libreria di abilità è svuotata. “Voyager è in grado di risolvere tutti i compiti, mentre le linee guida non riescono a risolvere alcun compito entro 50 iterazioni di richiesta”.

Wang e il team scrivono che c’è ancora molto da fare in futuro. Ad esempio, GPT-4 non è ancora in grado di elaborare immagini. Se ci riuscisse, Voyager potrebbe ottenere un feedback visivo dalla grafica del gioco, ipotizzano.

Un’altra direzione è quella di utilizzare il feedback umano in tempo reale come “critico” o “curriculum” o entrambi, per far progredire le scelte di Voyager. Infatti, negli esperimenti condotti, “dimostriamo che, dato il feedback umano, Voyager è in grado di costruire strutture 3D complesse in Minecraft, come un portale Nether e una casa”.

Voyager è costoso dal punto di vista dei calcoli, osservano. “L’API GPT-4 comporta costi significativi. È 15 volte più costosa di GPT-3.5″. Tuttavia, Voyager richiede un salto di qualità nella generazione del codice da GPT-4, che GPT-3.5 e gli LLM open-source non possono fornire”.

E sì, Voyager è incline alle allucinazioni in questo compito, proprio come in tutte le cose che i modelli linguistici fanno. L’ascia di acacia è un esempio, e Voyager propone altri “compiti irraggiungibili”, come la creazione di una “spada di rame” o di un “pettorale di rame”, che, notano, “sono oggetti che non esistono nel gioco”.

Inoltre, “si verificano anche allucinazioni durante il processo di generazione del codice”, come “l’utilizzo di ciottoli come input di carburante, nonostante il gioco non preveda una fonte di carburante valida”.

LEAVE A REPLY

Please enter your comment!
Please enter your name here