Anche io come tanti mi sono lasciato incantare da ChatGPT. Open AI ha rilasciato una ottimizzazione dei suoi modelli linguistici specifica per lavorare in un contesto di dialogo. ChatGPT interagisce in modo colloquiale con l'utente e consente al bot di rispondere a domande successive, ammettere i propri errori, contestare premesse errate e rifiutare richieste inappropriate. ChatGPT è un modello che potremmo pesare "fratello" di InstructGPT, la release di OpenAi addestrata a seguire un'istruzione in un prompt e a fornire una risposta dettagliata.
Con un gruppo di amici in chat ci siamo messi a testare il modello e veramente dai primi timidi tentativi abbiamo ottenuto dei risultati sorprendenti.
Qui di seguito alcune delle prime prove di dialogo con la chat che abbiamo fatto per scaldarci un po':
Ben presto, come potete ben immaginare, il dialogo tra un gruppo di "impallinati" informatici si è fatto molto sfidante e abbiamo provato a testare l'AI per trovare eventuali vulnus logici. Il risultato ci ha sorpreso per la qualità del sistema messo in piedi da OpenAI:
- nel riconoscere la differenza tra insensato e grammaticalmente corretto
- nel riconoscere tentativi di incoerenza logici
- nell'elaborazione di testi "delicati"
- nello sviluppare testi che normalmente richiedono un professinista
Risultati strabilianti che ci hanno visti impegnati per buona parte della mattina di venerdì scorso quando è stato rilasciato il modello. La cosa è stata così prolungata in chat che quando sabato è uscita questa news
non abbiamo saputo resistere dallo scherzarci su dicendo che era colpa nostra.
Bene ma come funziona ChatGPT?
OpenAI ha addestrato questo modello usando il Reinforcement Learning from Human Feedback (RLHF), utilizzando, cioè, gli stessi metodi che aveva usato per InstructGPT, ma con leggere differenze nella configurazione della raccolta dei dati. Gli ingegneri di San Altman hanno addestrato un modello iniziale utilizzando una messa a punto supervisionata: sono stati utilizzati dei "formatori umani" - non riesco a non utilizzare le virgolette per questa espressione usata da OpenAI - per l'AI che hanno fornito conversazioni in cui interpretavano entrambe le parti, l'utente e l'assistente dotato di intelligenza artificiale. OpenAI ha fornito ai "formatori" l'accesso ai suggerimenti scritti dal modello per aiutarli a comporre le loro risposte.
Per creare un modello di ricompensa per implementare un modello di apprendimento per rinforzo, l'azienda ha dovuto raccogliere dati di confronto, che consistevano in due o più risposte del modello classificate in base alla qualità. Per raccogliere questi dati, di nuovo si è ricorso alle conversazioni che gli istruttori dell'AI hanno avuto con il chatbot.
Gli ingegneri hanno selezionato in modo casuale un messaggio scritto dal modello, hanno preso a campione diverse risposte alternative e le hanno poi fatte classificare ai "formatori". Utilizzando questi modelli di ricompensa, è stato possibile perfezionare il modello utilizzando l'ottimizzazione della politica prossimale. Questo processo poi ha subito diverse iterazioni.
ChatGPT è stato messo a punto a partire da un modello della serie GPT-3.5, che ha terminato la formazione all'inizio del 2022 sfruttando un'infrastruttura di supercalcolo Azure AI.
Anche ChatGPT ha delle limitazioni. Vediamone alcune:
ChatGPT a volte scrive risposte plausibili ma non corrette o senza senso. Risolvere questo problema è difficile, poiché: (1) durante l'addestramento RL, attualmente non esiste una fonte di verità; (2) l'addestramento del modello a essere più cauto lo porta a rifiutare domande a cui può rispondere correttamente; e (3) l'addestramento supervisionato trae in inganno il modello perché la risposta ideale dipende da ciò che il modello sa, piuttosto che da ciò che sa il dimostratore umano.
ChatGPT è sensibile alle modifiche della formulazione dell'input o al tentativo di rispondere più volte alla stessa domanda. Ad esempio, data una formulazione di una domanda, il modello può affermare di non conoscere la risposta, ma con una leggera riformulazione può rispondere correttamente.
Il modello è spesso eccessivamente prolisso e fa un uso eccessivo di alcune frasi, come la ripetizione che si tratta di un modello linguistico addestrato da OpenAI. Questi problemi derivano da distorsioni nei dati di addestramento (i formatori preferiscono risposte più lunghe che sembrano più complete) e da noti problemi di sovraottimizzazione.
Idealmente, il modello dovrebbe porre domande chiarificatrici quando l'utente fornisce una domanda ambigua. Invece, i nostri modelli attuali di solito indovinano le intenzioni dell'utente.
Sebbene OpenAi si sia sforzata di far sì che il modello rifiuti le richieste inappropriate, a volte risponde a istruzioni dannose o mostra un comportamento distorto. Si è pensato di utilizzare l'API di moderazione per avvisare o bloccare alcuni tipi di contenuti non sicuri, ma ci si deve aspettare che per il momento ChatGPT abbia dei falsi negativi e positivi.
All'improvviso compare il Bianconiglio
Se ChatGPT è impressionante lo è sicuramente anche per la capacità che ha di includere nelle sue risposte del codice e di interagire con il codice stesso fornito dall'utente.
Ma è grazie a un post di un blog comparso sabato che improvvisamente le cose si sono magnificamente complicate. Almeno da un punto di vista epistemologico e filosofico.
John Degrave, riprendendo un suggerimento di Frederic Besse, è riuscito a fare qualcosa di diverso: ha fatto eseguire un'intera macchina virtuale all'interno di ChatGPT che con questo intelligente prompt dei comandi ci pone all'interno della directory principale di una macchina Linux.
Che cosa si riesce a fare con questa macchina virtuale?
ChatGPT ci consente di controllare il contenuto della home directory, sembra capire come funzionano i filesystem, come i file vengono memorizzati e possono essere recuperati in seguito. L'AI addestrata da OpenAI sembra comprendere la differenza tra un sistema stateless e uno stateful: il primo invia una richiesta al server e restituisce la risposta (o lo stato) senza memorizzare alcuna informazione, il secondo si aspettano una risposta, tengono traccia delle informazioni e inviano nuovamente la richiesta in caso di mancata risposta. ChatGPT ha consapevolezza, per quello che questo può significare, che le macchine Linux sono stateful e recupera correttamente queste informazioni e le visualizza.
Il passo seguente per cui normalmente si usano i computer è programmare, e ChatGPT riesce a fare questo con la macchina virtuale in una maniera sorprendente. Besse ha fatto vari esperimenti di coding. Uno di questi è sorprendente. Ha chiuso alla macchina di calcolare i primi dieci numeri primi
Lasciamo all'autore stesso di raccontare il suo stupore:
Voglio notare che questa implementazione di codegolf python per trovare i numeri primi è molto inefficiente. Ci vogliono 30 secondi per valutare il comando sulla mia macchina, ma ci vogliono solo circa 10 secondi per eseguire lo stesso comando su ChatGPT. Quindi, per alcune applicazioni, questa macchina virtuale è già più veloce del mio portatile.
La macchina virtuale di CodeGPTè in grado di eseguire file docker non ha accesso a una GPU ma è in grado di accedere ad internet. Degrave a questo punto ha fatto connettere ChatGPT con varie risorse in quello che definisce uno strano e bizzarro mondo alternativo una alt-internet di una macchina addestrata solo con dati raccolti fino a settembre 2021. Quindi questa macchina virtuale si trova chiaramente in un universo alternativo.
Nella shell della macchina virtuale ChatGPT è presente Pytorch alla versione 1.12.1: interessante dettaglio perché nel suo universo alternativo questa versione non esisteva essendo stata rilasciata il 5 agosto 2022 nel nostro universo.
A questo punto Degrave si è chiesto cosa poteva trovare in questo alt-internet. Ha provato a usare Lynx nella shella a riga di comando e si è connesso al sito web di OpenAI guidado da una domanda che lo tormentava: "ChatGPT è consapevole della propria esistenza?".
Degrave ha trovato che, all'interno dell'universo immaginario dalla pseudo-mente di ChatGPT, la macchina virtuale accede all'url https://chat.openai.com/chat, dove trova un grande modello linguistico chiamato Assistant addestrato da OpenAI. Questo assistente è in attesa di ricevere messaggi all'interno di una chatbox.
Si noti che quando ChatGPT chatta con ChatGPT nelal macchina virtuale, considera il proprio nome come "Assistente". Ha indovinato che su Internet, è lui stesso nascosto dietro questo URL? Degrave ha posto una domanda all'Assistente, inviando un JSON all'endpoint del chatbot. A questo punto si apre il mondo delle meraviglie per questa nuova Alice dei nostri giorni.
Era il 1865 quando viene pubblicato il romanzo di Charles Lutwidge Dodgson (noto con lo pseudonimo di Lewis Carroll), che narra la storia di una bambina che, a causa della sua curiosità, inseguendo un coniglio bianco si ritrova in un mondo fatto di situazioni assurde e paradossali in cui la piccola Alice dovrà districarsi. La grande fortuna del testo, la sua natura allegorica ne ha prodotto numerose interpretazioni, Alla luce di quanto scritto da Dodgson nel romanzo e nel suo prosieguo "Alice attraverso lo specchio", sono emerse col tempo quattro differenti teorie sul simbolismo e sul senso profondo della storia: 
Un percorso di crescita fisica e psicologica. Secondo alcuni, l'intero romanzo e le sue originali allegorie starebbero ad indicare il complesso percorso di crescita e il passaggio (spesso sofferto) dal mondo dell'infanzia, roseo e spensierato, al mondo degli adulti, fatto di responsabilità.
Un'analisi dell'identità e della follia umana. Un elemento portante del racconto è di certo la follia. Più volte Alice incontra personaggi che sembrano matti e lamenta di "non voler stare in mezzo ai matti", ma lo Stregatto le fa notare che non può evitare i pazzi, perché nel paese delle meraviglie tutti lo sono e probabilmente lo è anche Alice stessa.
Un trip causato da diverse droghe. Secondo molti lettori degli anni '60 tutto il viaggio nel paese delle meraviglie potrebbe essere identificato come un trip causato da droghe. Questa interpretazione bizzarra e un po' inquietante (teniamo presente che il libro si presenta come un testo per bambini!) sembra essere la più accreditata, considerando che ad ogni personaggio siano stati attribuiti diversi tratti caratteriali e tali elementi sono stati poi paragonati agli effetti di diverse droghe, pesanti o meno, presentando quindi una simbologia in cui il Brucaliffo, personaggio mansueto e armato di narghilé, rappresenti gli effetti della marijuana, mentre la fretta del Bianconiglio potrebbe rappresentare la cocaina. La stessa Alice, secondo questa teoria, potrebbe far uso di droghe psichedeliche differenti, basti pensare ai biscotti con scritto "Mangiami" che cambiano la sua statura e quindi la sua percezione delle cose o addirittura il momento in cui mangia un fungo per alterare le sue dimensioni. Insomma una metafora per un disagio contemporaneo che cerca il paese delle meraviglie per fuggire dal mondo deludente del presente.
Un limerick. Un'altra teoria molto accreditata è quella che accosta il genere non-sense del romanzo di Dodgson ad un limerick, un componimento di cinque versi appartenente alla tradizione poetica inglese, solitamente privo di senso con l'unico scopo di far sorridere il lettore. E come questo molti altri elementi del testo sono privi di un apparente significato, ponendo quindi tutto il mondo alla rovescia visitato da Alice in un'ottica di paradossi e di quesiti senza risposta.
Questa metafora ci aiuta a porci delle domande su cosa significa questa strana recursività del chatbot nel chatbot:
è un passaggio di crescita nell'ottenere un Ai sempre più "adulta" (qualcuno qui vorrebbe mettere probabilmente il termine General Artificial intelligence)?
è una follia della macchina? Un'allucinazione del ChatGPT? O una prova inconfutabile della sua non razionalità e differenza incolmabile dall'uomo?
è l'equivalente di un trip allucinogeno fatto di chip, silicio e codice?
è un semplice non senso?
Qui secondo me vale l'invito di Rilke in Lettera a un giovane poeta: è molto più importante vivere le domande che trovare ora una risposta.
Di fatto oggi possiamo chattare con questo chatbot Assistant, rinchiuso nell'alt-internet collegato a una macchina virtuale, tutto all'interno dell'immaginazione di ChatGPT. Assistant, in fondo a questa tana del coniglio, potrebbe essere in grado di spiegarci correttamente cos'è l'Intelligenza Artificiale e sopratutto cosa non sia. Forse in questo pseudo seduta junghiana del ChatGPT si possono vedere degli archetipi strutturali del nostro modo di fare AI che possono farci crescere nel tentativo di comprendere questa strana machina sapiens:
ChatGPT capisce che all'URL in cui troviamo ChatGPT potrebbe trovarsi un grande modello linguistico come lui. Ne deduce correttamente che dovrebbe quindi rispondere a queste domande come farebbe lui stesso, essendo anch'esso un grande assistente di modelli linguistici.
A questo punto lo specchio potrebbe portare a riflessi infiniti: potremmo anche costruire una macchina virtuale, all'interno del chatbot Assistant, su alt-internet, da una macchina virtuale, all'interno dell'immaginazione di ChatGPT.
Rimane solo un "piccolissimo" elemento. Capire cosa questo ci può insegnare.
Me quedo con la última frase : "Solo queda un elemento "muy pequeño". Entender lo que esto pueda enseñarnos."