Nelle ultime due settimane, i social networks sono stati presi d’assalto dall’ultima Intelligenza Artificiale di OpenAI, la società fondata (anche) da Elon Musk nel 2015. L’algoritmo si chiama “ChatGPT” e rappresenta la versione “chat” di un modello precedente (GPT), che aveva già fatto furore per la capacità di generare testi in linguaggio naturale. Cos’è dunque ChatGPT? Chiediamolo a lui…
“Un language model è un tipo di modello utilizzato in ambito natural language processing (NLP), ovvero il processamento del linguaggio umano da parte di un computer. Un language model è in grado di prevedere la probabilità di una sequenza di parole all’interno di un testo, fornendo informazioni utili per comprendere il significato di un testo e per prevedere le parole successive in una frase. Questi modelli sono spesso utilizzati in applicazioni come il riconoscimento del parlato, la traduzione automatica e la sintesi vocale”.
ChatGPT si basa su un’architettura neurale chiamata “transformer”, che dal 2018 rappresenta lo stato dell’arte nel campo del machine learning. I transformers sono modelli autoregressivi, che vengono alimentati con una sequenza di token (parole) e cercano di prevedere il token successivo. Secondo Ilya Sutskever, co-fondatore nonché chief scientist di OpenAI, la capacità di prevedere la parola successiva dovrebbe fare emergere l’intelligenza. Per indovinare il nome dell’assassino prima di leggere l’ultimo capitolo di un romanzo poliziesco – questo l’esempio utilizzato da Sutskever – è necessario comprendere la dinamica del delitto.
La programmazione e la scrittura più o meno creativa possono essere annoverati tra i punti di forza di chatGPT. Il sistema è in grado di “tradurre” una descrizione in linguaggio naturale nel corrispondente programma informatico. Esempio: “scrivi una macro visual basic che scarica gli allegati dalle email”. I risultati appaiono piuttosto impressionanti a prima vista. Lo sono un po’ meno se consideriamo che in rete sono presenti in abbondanza pezzi di codice preconfezionati. Il codice deve poi essere adattato al compito da svolgere, un passaggio che richiede intelligenza. Sul fine-tuning ChatGPT è meno affidabile e mostra la tendenza a seminare errori, spesso impercettibili: motivo per cui è stato già bannato da Stack Overflow, un sito web popolare tra i programmatori.
Sarebbe però ingiusto concludere che chatGPT si limita a scopiazzare cose trovate su internet. In alcune domande, il chatbot esibisce chiaramente la capacità di scomporre la domanda nelle sue componenti semantiche e riassemblarle successivamente per produrre una risposta significativa. Se ad esempio si chiede di scrivere il codice Latex per creare una tabella con N=8 colonne, il chatbot fornisce la risposta corretta. Questo risultato non può essere recuperato da qualche sito web, perché è improbabile che l’esempio della tabella Latex esista per tutti i possibili valori di N. Le due componenti semantiche “tabella Latex” e “numero di colonne” vengono quindi digerite, elaborate e riassemblate per produrre la risposta corretta.
Con l’aumentare del livello di complessità, le prestazioni del sistema diventano più deludenti. La richiesta di generare il numero successivo di una serie produce talvolta il risultato corretto, condito però da spiegazioni strampalate. La domanda sulla dimostrazione dell’infinità dei numeri primi genera risposte tanto prolisse quanto prive di senso. La capacità di fare dei ragionamenti appare quindi presente in modo molto limitato.
Un altro problema è che le risposte del sistema non sembrano essere univoche. Se all’input vengono apportate piccole variazioni, tali da lasciare inalterati scopo e significato originali della domanda, la risposta può subire drastici cambiamenti. La domanda precedente sui numeri primi, ripetuta tre volte, in lingue diverse e/o con piccole variazioni, genera tre risposte diverse, che hanno in comune solo il fatto di essere sbagliate. Un’applicazione del precetto di “diversità”, oltre al solito ambito del politicamente corretto!
La cosa non è del tutto inattesa, dal momento che questo tipo di sistemi utilizzano processi di campionamento da una distribuzione di probabilità. Tuttavia, il processo appare alquanto instabile. Potrebbe quindi trattarsi di una manifestazione della versione linguistica del fenomeno degli “esempi avversari”, per cui è possibile apportare piccole modifiche ai dati, appena percettibili dagli esseri umani, ma in grado di mandare in tilt le reti neurali.
Le risposte di chatGPT sono peraltro sempre sintatticamente impeccabili e “plausibili” per lettori non esperti, dando l’impressione che siano anche semanticamente corrette: come detto, così non è, almeno non sempre. Tuttavia, indipendentemente dalla loro veridicità, le risposte sono sempre fornite con grande self-confidence: la prudenza, la conoscenza dei propri limiti e il beneficio del dubbio non sono tra le migliori qualità di questo modello!
In conclusione, nonostante la presenza di sprazzi di intelligenza, esistono ancora ampi margini di miglioramento. Per il momento, gli esseri umani mantengono il controllo della situazione. Per quanto tempo ancora, non è dato sapere…
— — — —
Abbiamo bisogno del tuo contributo per continuare a fornirti una informazione di qualità e indipendente.