Un chatbot AI dentro Minecraft senza mod né plugin

Un giocatore ha costruito un chatbot LLM funzionante usando 445.782 command block e nessuna mod

Redazione
Chatbot minecraft vanilla costruito con 445.000 command block nel gioco base

Immagine copertina generata con l’intelligenza artificiale

Un giocatore ha portato un piccolo modello linguistico direttamente dentro Minecraft vanilla, costruendo un chatbot funzionante attraverso ben 445.782 command block. L’esperimento, realizzato dall’utente Reddit Objz, non utilizza mod, plugin o datapack: tutto il sistema è stato sviluppato sfruttando esclusivamente gli strumenti disponibili nel gioco.

Il risultato è particolarmente curioso anche per le dimensioni raggiunte dal progetto. La versione iniziale richiedeva infatti quasi 2 milioni di blocchi, mentre una serie di ottimizzazioni ha permesso di scendere a circa 445mila.

Come è nato il chatbot AI in Minecraft

L’idea parte da una delle tradizioni più note della community di Minecraft: utilizzare command block e redstone per costruire sistemi che normalmente non avrebbero nulla a che fare con un videogioco sandbox. Nel corso degli anni sono comparsi calcolatori grafici, generatori di QR code e persino versioni di Tetris realizzate direttamente all’interno del gioco.

Objz ha portato questo approccio verso i large language model (LLM), costruendo un sistema capace di conversare con il giocatore. Il modello dispone di uno spazio di embedding a 64 dimensioni, un livello nascosto composto da 256 neuroni e un vocabolario estremamente ridotto, formato da 2.048 parole. Per l’addestramento sono state utilizzate 11.118 conversazioni di DailyDialog.

Il chatbot può essere interrogato attraverso la funzionalità /dialog e restituisce le risposte una parola alla volta, proprio come avviene nei normali sistemi conversazionali.

Command block e neural network: il confine si restringe

Nonostante il funzionamento, il modello ha capacità molto limitate. È stato progettato soprattutto per la conversazione e non è in grado di fare calcoli né di possedere una conoscenza generale particolarmente ampia. L’obiettivo dell’esperimento, quindi, non è realizzare un chatbot competitivo con i moderni sistemi AI, ma dimostrare cosa sia possibile ottenere direttamente dentro Minecraft.

La parte più interessante riguarda però l’ottimizzazione. Un modello di questo tipo utilizza normalmente pesi rappresentati attraverso valori floating-point, difficili da gestire nell’ambiente del gioco. Objz ha quindi scelto una rappresentazione ternaria, limitando i pesi a -1, 0 e +1.

La sfida delle limitazioni tecniche

La scelta non serve soltanto a ridurre la complessità dei dati. Il comando scoreboard di Minecraft supporta moltiplicazioni e divisioni, ma lavora con numeri interi. Utilizzare valori floating-point avrebbe quindi richiesto ulteriori conversioni e operazioni.

Con la quantizzazione ternaria, invece, il progetto riesce a evitare parte di questo lavoro. Grazie anche alla presenza dei valori nulli, ogni operazione equivalente a un’operazione di multiply-accumulate richiede in media 0,67 comandi.

Il modello non è stato semplicemente convertito in valori ternari dopo l’addestramento. La quantizzazione è stata applicata direttamente durante il forward pass, mentre un straight-through estimator ha permesso di aggiornare i pesi floating-point durante la fase di backpropagation. Dopo ulteriori ottimizzazioni, il valore di perplexity è sceso da 48,7 a 38,8.

Chatbot vanilla Minecraft: senza mod, senza plugin

Uno degli aspetti più particolari dell’esperimento è che l’intero sistema funziona senza mod, plugin o datapack. La complessa struttura necessaria per eseguire il modello è quindi composta esclusivamente dai command block presenti nell’ambiente di gioco.

Le limitazioni di Minecraft impongono però anche vincoli sulle operazioni che possono essere eseguite contemporaneamente. Per questo motivo, l’LLM è stato suddiviso in gruppi più piccoli.

Su un server impostato a 35 tick al secondo, il sistema impiega circa 1,8 secondi per generare ogni parola della risposta. Il risultato è quindi lontano dalla velocità dei chatbot tradizionali, ma sufficiente a dimostrare il funzionamento dell’esperimento.

Prospettive per l’intelligenza artificiale nei giochi sandbox

Il progetto mostra soprattutto quanto possano diventare elaborate le creazioni della community quando vengono affrontate partendo da vincoli tecnici molto stringenti. La riduzione da quasi 2 milioni a 445.782 command block rappresenta infatti uno degli elementi più significativi dell’esperimento.

Allo stesso tempo, aumentare le dimensioni del modello sarebbe estremamente costoso dal punto di vista computazionale. Secondo Objz, un LLM da 135 milioni di parametri costruito con la stessa architettura sarebbe circa 200 volte più grande rispetto a questo progetto.

Per chi vuole sperimentare con AI su Minecraft

L’esperimento di Objz rappresenta quindi soprattutto una dimostrazione tecnica di ciò che può essere realizzato con gli strumenti nativi di Minecraft. Il chatbot è piccolo e presenta limiti evidenti nelle capacità, ma riesce comunque a elaborare risposte conversazionali direttamente nel gioco.

La combinazione tra command block, ottimizzazione dei calcoli e quantizzazione dei pesi mostra come i vincoli dell’ambiente possano diventare uno stimolo per trovare soluzioni creative, fino a trasformare Minecraft in un insolito laboratorio per la sperimentazione con i modelli linguistici.

Fonte: Tom’s Hardware

Iscriviti alla newsletter

Non inviamo spam! Leggi la nostra Informativa sulla privacy per avere maggiori informazioni.