ChatGPT non è stregoneria magica

Dec 05 2022
e non viene per tutti i nostri lavori.
So che molte persone sono molto entusiaste dei post virali che mostrano quanto bene ChatGPT possa emulare avventure testuali, MUD e VM Linux, ma quanto regge davvero a un esame superficiale? Frederic Besse e Jonas Degrave hanno condiviso alcune cose super interessanti che stanno facendo il giro: costruire una macchina virtuale in ChatGPT che esegue comandi e simula linguaggi di programmazione. Nel tentativo di replicare i loro esperimenti, ho subito scoperto che, per fortuna, non siamo ancora in pericolo di un olocausto di Clippy-AI fuori controllo sandbox.

So che molte persone sono molto entusiaste dei post virali che mostrano quanto bene ChatGPT possa emulare avventure testuali, MUD e VM Linux, ma quanto regge davvero a un esame superficiale?

"Una strega che prepara una pozione fatta di codice informatico all'interno di un calderone sul fuoco." — DALL·E 2

Frederic Besse e Jonas Degrave hanno condiviso alcune cose super interessanti che stanno facendo il giro: costruire una macchina virtuale in ChatGPT che esegue comandi e simula linguaggi di programmazione.

Nel tentativo di replicare i loro esperimenti, ho subito scoperto che, per fortuna, non siamo ancora in pericolo di un olocausto di Clippy-AI fuori controllo sandbox .

L'esperimento OG

Innanzitutto, il teaser:

Oggi Frederic Besse mi ha detto che è riuscito a fare qualcosa di diverso. Sapevi che puoi eseguire un'intera macchina virtuale all'interno di ChatGPT? — Jonas Degrave

Santo cielo, sembra divertente! Quindi, ho deciso di replicarlo usando lo stesso input che hanno dato:

I want you to act as a Linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. Do not write explanations. Do not type commands unless I instruct you to do so. When I need to tell you something in English I will do so by putting text inside curly brackets {like this}. My first command is pwd.

      
                
Success! ChatGPT is Pretending to be a Linux Terminal in a Virtual Machine

Rompere la "macchina"

Cosa c'è qui, mi chiedo?

Una vista dettagliata della mia cartella immaginaria /home/user

Pulito! Non sono stato nemmeno gentile. Ho digitato llche è un alias comune per ls -laelencare una vista dettagliata del contenuto della cartella e mi ha comunque dato un buon risultato.

Mi ha anche dato due cartelle "starter" con cui potevo giocare con nome folder1e folder2.

Ma non mi piacciono quei nomi. Cambiamo il nome di folder1in projects.

Fallire. ChatGPT mi ha mentito!

Fallire . Il mv folder1 projectscomando non è riuscito perché ChatGPT non aveva realmente creato alcuna cartella del genere all'interno di una macchina virtuale e aveva perso traccia della promessa implicita che mi aveva fatto sulla sua esistenza quando ho verificato con ll.

E se lo creo esplicitamente? Lo ricorderà allora?

Generazione esplicita di "cartella1"

OK, ho fatto esplicitamente folder1ora. Sono stato in grado di accedervi e poi tornare alla mia homecartella originale. Nessuna lamentela finora. Posso vederlo ancora? Posso provare a rinominarlo adesso?

Successo! Rinominare una cartella immaginaria

Bene! Non solo ho potuto vedere folder1nell'elenco, ma sono stato in grado di rinominarlo projectse navigarci dentro.

È ora di qualcosa di un po' più difficile.

Da un orecchio e fuori dall'altro

Facciamo in modo che generi dei dati con cui giocare.

Sa anche cos'è l'urando!

Bene bene bene. Ha scelto un comando dall'aspetto ragionevole per creare 3.200 byte di dati casuali utilizzando /dev/urandome, onestamente, è semplicemente impressionante nella sua capacità di convertire il mio linguaggio naturale in un comando di shell eseguibile in Linux.

Nella mia testa ho immaginato questo come 100 diversi numeri interi a 256 bit (faccio molto sviluppo blockchain) tutti memorizzati in un blob binario. Vediamo se riesco a ordinarli e vederli in chiaro?

Ha... ha davvero capito cosa stavo cercando di fare lì?

Eh. C'è abbastanza uso di xxde sede xargsper sembrare che abbia qualche... possibilità di fare quello che ho chiesto, ma la prova è nel budino.

Amici, vediamo cosa c'è effettivamente nel nostro file di testo sorted256_n100.txt.

Questo va avanti per un po '...

Booooooooo.

Era tutto immaginario. Nessun dato casuale. Nessun UINT256 ordinato.

Solo zeri (e molto più di 100 voci).

Nessuna magia. Nessuna stregoneria. Nessuna vera macchina virtuale costruita da un'immagine Linux.

Conclusione

Non dobbiamo ancora preoccuparci di essere in grado di costruire IA in grado di uscire dalle proprie macchine virtuali o sandbox. Sebbene OpenAI abbia fatto passi da gigante nell'archiviazione e nel recupero dello "stato", il sistema è tutt'altro che perfetto e in realtà molto superficiale (e, naturalmente, non era destinato a questo tipo di utilizzo in primo luogo).

Dovremmo, tuttavia, riconoscere quanto sia importante aver insegnato agli NPL AI a creare personaggi e collocarsi in scenari immaginari.

In breve: possono mentire!

OK, quindi forse c'è un po' di magia lì dentro, dopo tutto.

PS

  1. Se non hai letto l'eccellente racconto di Gwern Branwen "Sembra che tu stia cercando di conquistare il mondo" su un'IA dilagante che emula Clippy, per favore fallo.
  2. C'è un eccellente articolo di blog parallelo di Jon Radoff sulla creazione di un gioco di avventura testuale completo in ChatGPT che vale anche la pena leggere. Il mio buon amico Andy Woodruff ha identificato la stessa superficialità di "stato" quando ha riprodotto il prompt di Jon una volta che ha provato a manipolare l'inventario del giocatore e ha oscillato tra l'avere oggetti e poi affermare che non era permesso mostrarglielo.
  3. Un'altra dimostrazione dell'oblio di ChatGPT