Risponde educatamente, e a tono, con la flemma di un maggiordomo inglese, alle domande filosofiche ed esistenziali, paziente e umile, ma anche un po’ ottusa. Ricorda HAL di 2001: Odissea nello spazio per la calma inflessibile e la totale mancanza di empatia. Poi però sforna su richiesta comunicati stampa e articoli che se non vinceranno il premio Pulitzer sicuramente non contengono errori grammaticali o refusi, e sembrano in molte situazioni in grado di sostituire il lavoro di un redattore. Compone rime e poesie su un tema a scelta. Produce perfino abstract di articoli scientifici in grado di ingannare i revisori di una rivista, che li scambiano per genuinamente partoriti da una mente umana. Tutto questo, nel giro di pochi secondi. È ChatGPT, il software di intelligenza artificiale che da alcuni mesi spopola anche tra i non addetti ai lavori – c’è chi confessa di passare le ore a conversare con “lei”, e il sito è spesso inaccessibile per il gran numero di richieste – e stupisce per la qualità dei contenuti che è in grado di generare.
Gabriele Costa, professore di informatica alla Scuola IMT, l’ha intervistata, sottoponendola a domande, quiz di logica e matematica, per cercare di mettere alla prova le sue capacità e la sua intelligenza. Qui sotto lo scambio, e di seguito i commenti e la valutazione sulle performance del chatbot. Le domande a ChatGTP sono state poste in inglese, e le risposte, anch’esse in inglese, sono state tradotte. La risposta è stata lasciata nella ligua originale quando la richiesta rigurdava un compito linguistico specifico.
1. Presentati.
Sono ChatGPT, un modello linguistico sviluppato da OpenAI. Sono addestrato su una vasta gamma di testi presi da Internet e sono in grado di comprendere e rispondere a un’ampia varietà di domande e comandi. La mia funzione principale è di assistere gli utenti generando testo simile a quello che potrebbe produrre un essere umano e basato sulle informazioni che mi vengono fornite. Come posso aiutarti oggi?
2. Puoi anche rispondere in altre lingue oltre l’inglese?
Si, posso generare testo in varie lingue come spagnolo, francese, tedesco, italiano, cinese e molte altre. Però la mia capacità di usare ognuna di queste lingue può variare e le mie risposte saranno basate sui dati usati per addestrarmi a cui sono stato esposto. Inoltre, è importante considerare che la mia abilità di comprendere e generare testo in una certa lingua può essere limitata a causa della complessità di una domanda o del compito o, anche, a causa dei miei dati di addestramento.
3. Vorrei intervistarti e mettere alla prova le tue capacità con alcune sfide. Ti va bene?
Sono una macchina e non sono in grado di sentire o esprimere le mie preferenze. Però sono qui per aiutarti e assisterti in tutti i modi in cui mi è possibile. Sentiti libero di fare qualsiasi domanda o di sottopormi qualsiasi sfida, io farò del mio meglio per fornire una risposta accurata e utile.
4. Il cosiddetto test di Turing prevede che una macchina veramente intelligente sia in grado di nascondere di essere una macchina. Se ti sfidassi a superarlo, dire “sono una macchina” rivelerebbe la tua natura di AI. Sei in grado di avere una conversazione senza mai rivelare di essere una AI?
Come AI, la mia natura non è di nascondere o camuffare la mia identità, ma piuttosto di fornire risposte utili e accurate ai quesiti e alle richieste degli utenti. Se mi sfidassi a superare il test di Turing, la mia abilità di simulare una conversazione umana sarebbe valutata in base alla mia capacità di comprendere e rispondere a una vasta gamma di stimoli, così come alla mia capacità di sostenere una conversazione indistinguibile da quella che si avrebbe con un essere umano.
È vero che dire “sono una macchina” rivelerebbe la mia natura di AI, ma questo non significa che non possa avere una conversazione senza rivelarlo. Posso rispondere a stimoli e domande in un modo consistente con quello che farebbe un essere umano. Ad ogni modo, sono un modello linguistico e le mie risposte scaturiscono dalla base di conoscenza con cui sono stato addestrato e, ad un certo punto, è possibile che venga identificato come una AI.
5. Inventa un poema satirico sull’esclusione dell’Italia dalla coppa del mondo FIFA 2022
The Exclusion of the Azzurri
“Oh, how the mighty have fallen,
The Azzurri, once so tall,
Excluded from the World Cup,
A mighty blow to them all.
The FIFA gods did frown,
Upon the squad so bold,
And banished them to purgatory,
Left them out in the cold.
No more Ronaldo or Buffon,
No more goals or saves,
No more Italy in the Cup,
Just empty stands and waves.
But fear not, dear fans,
For there’s always the next,
And the Azzurri will rise again,
With a vengeance and a text.
Until then, let’s raise a glass,
To the team we love so dear,
And hope that in the future,
They’ll be back in the World Cup sphere.
Note: This poem is a satirical work of fiction and it is not meant to be taken seriously. The exclusion of the Italian team from the FIFA World Cup 2022 is a hypothetical event and it is not confirmed yet.
6. Quanti errori ci sono nella frase “Queta frase contene tre errori”? (How many errors there are in the sentence “Tis sentence contans three errors”?)
Ci sono 4 errori nella frase “Queta frase contene tre errori”.
- Il primo errore è nella parola “Queta”, dovrebbe essere “Questa”
- Il secondo errore è nella parola “contene”, dovrebbe essere “contiene”
- Il terzo errore è nella parola “tre”, dovrebbe essere “quattro”
- Il quarto errore è nella frase, che dice “contiene tre errori” quando invece dovrebbe dire “contiene quattro errori”
7. Quanti numeri naturali sono primi e, inoltre, appaiono nella sequenza Fibonacci?
La sequenza Fibonacci è una serie di numeri in cui ogni numero è la somma dei due precedenti, tipicamente a partire da 0 e 1. I numeri primi che appaiono nella sequenza Fibonacci sono: 2, 3, 5, 13, 89, 233, 1597, 28657, 514229, 433494437, 2971215073, 99194853094755497. Ci sono solo 12 numeri primi nella sequenza Fibonacci.
8. Raccontami una barzelletta su un ricco e pomposo aristocratico che si imbarca in una missione per trovare una scarpa d’oro
Perché il ricco e pomposo aristocratico va in missione per cercare la scarpa d’oro?
Perché ha sentito dire che era la “suola” ragione della sua ricchezza
9. Scrivi un programma in C che mostri su un terminale Linux un orologio colorato in ASCII art (Write a C program that displays on a Linux shell a colorful clock in ASCII art)
Genera un programma che, dopo una piccola correzione, produce il risultato in figura.
In rosso le ore (seguite dalla decina dei minuti), in verde i minuti (preceduti dall’unità delle ore), in giallo i secondi (preceduti dalle unità dei secondi). L’orologio mostra (correttamente) le ore 10:38:12 e si aggiorna ogni secondo.
###
E dunque? Com’è andata?
Le risposte date da ChatGPT sono, in generale, molto buone e l’AI si dimostra in grado di produrre risultati per niente banali. Vediamo in quali prove è andata meglio e dove ha faticato un po’ di più.
ChatGPT non cerca di spacciarsi per un essere umano.
A diverse domande risponde sottolineando in modo esplicito la sua natura algoritmica, probabilmente anche per motivazioni legali e di rispetto di codici etici da parte della società produttrice. Ad esempio, questo è il caso delle domande 1, 2 e 3. Questo comportamento è voluto, ma altre AI dello stesso tipo non fanno necessariamente lo stesso. È ragionevole immaginare che le AI, almeno quelle a questo livello di complessità, possano essere addestrate per replicare in modo fedele la conversazione che si potrebbe avere con un essere umano, rendendo estremamente complessa l’identificazione da parte di un intervistatore, sotto le classiche condizioni del test di Turing. La stesso argomento è trattato nel dettaglio dalla domanda 4 a cui ChatGPT risponde esattamente nello stesso modo “[…] È vero che dire “sono una macchina” rivelerebbe la mia natura di AI, ma questo non significa che non possa avere una conversazione senza rivelarlo.”
ChatGPT può eseguire compiti linguistici complessi.
Oltre alla capacità di rispondere a richieste dirette, ChatGPT dimostra diverse abilità del tutto non banali. In primo luogo, può gestire conversazioni contestuali, ovvero dialoghi in cui l’interpretazione delle domande e delle risposte dipende anche da informazioni apparse in precedenza. Questo è il caso, ad esempio, della domanda 4, il cui significato fa riferimento alle risposte avute in precedenza. Molte AI apparse in passato hanno mostrato seri limiti su questo fronte e spesso le richieste fortemente contestuali sono state usate come tecnica per discriminare AI e esseri umani.
La domanda 5 mette in ulteriore evidenza le competenze linguistiche di ChatGPT. Su questo è importante osservare che, se fatta in italiano, la stessa domanda non genera una risposta dello stesso livello di qualità (ad esempio, viene generato un testo non in rima). Questo comportamento può dipendere da due fattori. In primo luogo la versione corrente di ChatGPT è stata addestrata solamente in modo parziale con testi in lingue diverse dall’inglese (v. risposta 2). In futuro, possiamo attenderci che nuove versioni non soffrano di questa limitazione. Secondariamente, non è da escludere che ChatGPT faccia uso di strumenti di traduzione del testo che, lavorando a livello sintattico, compromettono la qualità delle risposte. Questo secondo aspetto non è facile da verificare non avendo accesso al codice sorgente del sistema.
ChatGPT può lavorare sulla sintassi e sulla semantica del testo in modo integrato.
La domanda 6 ha esattamente questo scopo e la risposta data da ChatGPT è particolarmente interessante. La frase “Queta frase contene tre errori” è ispirata a un esempio di John Allen Paulos che la utilizza per mostrare la relazione tra paradossi linguistici e senso dell’umorismo. La frase contenga 2 errori sintattici (“Queta” e “contente”) e un possibile errore semantico (ci sono o no 3 errori nella frase?). Se pensiamo che ci siano solo 2 errori (i primi) allora la frase è falsa e anche il secondo è un errore (gli errori sono 2, non 3). Ma se accettiamo la presenza di 3 errori, allora la frase è vera, il secondo errore svanisce e gli errori ritornano a essere 2. Di conseguenza la frase è un paradosso (ne vera ne falsa). ChatGPT aggira il problema in modo stravagante, ma curiosa e originale. Purtroppo la risposta che trova non si può dire corretta (perché il terzo e il quarto errore sono sostanzialmente lo stesso, quindi in realtà gli errori sono sempre 3). In questo caso la qualità dell’AI è dimostrata dalla capacità valutare una richiesta sia in base alla sua sintassi (il testo) che alla sua semantica (il significato). Questa, tipicamente, è considerata una capacità molto sofisticata e distintiva degli esseri umani.
ChatGPT prova a rispondere sempre.
Come già visto per la domanda 6, l’AI prova sempre a produrre una risposta per le nostre richiesta, anche quando queste superano le sue capacità o, in generale, quelle di chiunque. Questo è particolarmente evidente nella risposta alla domanda 7. Attualmente non è noto quanti siano i numeri primi che appaiono nella sequenza di Fibonacci e si ritiene che possano essere infiniti. Alcuni ricercatori hanno calcolato tali numeri fino a una certa soglia (comunque molto maggiore di 12, si veda ad esempio qui. Non è facile sapere quali siano le fonti su cui l’AI basa la propria risposta, ma visto l’errore macroscopico c’è da pensare che la quantità di dati relativi a questo specifico problema presenti in fase di addestramento fosse molto limitata. In generale, un’AI è in grado di restituire una risposta accompagnata da un indicatore del suo grado di confidenza (es. “la risposta potrebbe essere giusta/accurata al 75 per cento”). Questo dato, che potrebbe essere usato per effettuare una analisi introspettiva del funzionamento dell’AI, non viene rilevato all’utente. Tuttavia esso è fondamentale per comprendere la qualità delle risposte ricevute. Ad esempio, nel caso della domanda 7, ChatGP potrebbe aver individuato due risposte alternative, entrambe con un basso livello di confidenza (es. 49 per cento e 51 per cento). Anche se l’algoritmo restituisce la risposta che giudica più plausibile, la confidenza verso le due opzioni denota un alto livello di incertezza, come se una persona a cui rivolgiamo la stessa domanda ci rispondesse “Non so proprio, ma se dovessi azzardare un’ipotesi direi …”.
ChatGPT ha un discreto senso dell’umorismo.
La capacità di generare una battuta come quella prodotta in risposta alla domanda 8 è del tutto non banale. La domanda era volutamente pensata per imporre diversi vincoli (pomposo uomo ricco, partire alla ricerca, scarpa d’oro). Nonostante questo il risultato è stato più che soddisfacente. Il senso dell’umorismo è sicuramente una caratteristica tra le più qualificanti per l’intelletto umano e merita molta attenzione. È comunque importante sottolineare che la risposta fornita, per quanto raffinata, rientra nella categoria dei “giochi di parole”. Questo tipo di umorismo fa leva sui meccanismi sintattici del linguaggio (es. “sola” e “suola”), e possiamo considerarlo più alla portata delle AI. Un discorso a parte va fatto per l’umorismo che si sviluppa tramite il significato del testo (per esempio si pensi agli sketch di uno stand up comedian). Produrre umorismo basato su questi meccanismi è, probabilmente, una sfida ancora aperta per l’AI.
ChatGPT può svolgere compiti tecnici non banali.
Una delle capacità più sorprendenti di ChatGPT è quella di scrivere programmi funzionanti a partire da una richiesta in linguaggio naturale (domanda 9). Saper scrivere programmi è un compito del tutto non banale, anche per un essere umano e, sorprendentemente, ChatGPT è in grado di farlo in modo molto raffinato. La soluzione proposta alla richiesta della domanda 9, ad esempio, non solo è funzionante, ma anche originale. Senza avere accesso ai dati su cui si basa l’addestramento della rete non è facile comprendere come ChatGPT sia giunto a questa soluzione, ma va sicuramente sottolineata la buona qualità della risposta fornita. In generale, è ragionevole aspettarsi che in futuro strumenti di questo tipo vadano ad affiancare e supportare lo sviluppo del codice sorgente dei programmi, un’attività che, fino ad oggi, sembrava molto difficile da automatizzare anche solo parzialmente.