Nelle ultime settimane non si fa altro che parlare del chatbot ChatGPT che non solo è in grado di sostenere un colloquio comportandosi come un umano ma è anche capace di fornire risposte articolate ed esaustive, su qualunque argomento. ChatGPT risponde anche a domande tecniche molto precise e addirittura fornisce codice di programmazione funzionate in tantissimi linguaggi. Sembra quasi di trovarsi dinanzi a una sorta di oracolo dalle competenze sconfinate, in grado di ironizzare su se stesso e sugli altri, con una conoscenza dettagliata del passato, la consapevolezza del presente e una certa visione di quello che potrebbe essere il futuro.
ChatGPT è stato sviluppato da OpenAI, un’organizzazione senza scopo di lucro impegnata nella ricerca nel campo dell’intelligenza artificiale, sulla quale hanno investito Microsoft, Elon Musk, Amazon Web Services (AWS) e tanti altri soggetti di primo piano.
A ChatGPT è stato veramente chiesto di tutto, con responsi che talvolta sono a dir poco impressionanti. Il chatbot supporta le varie lingue, compreso l’italiano, ma su LearnGPT si possono trovare esempi di quesiti – proposti a ChatGPT in lingua inglese – che hanno condotto a risultati significativi.
Abbiamo detto che ChatGPT poggia il suo funzionamento sul modello linguistico GPT-3.5 di OpenAI, il più recente e di più grandi dimensioni. Sfrutta inoltre la abilità in fatto di supercomputing della piattaforma Microsoft Azure: tant’è vero che, dopo tutti gli investimenti fatti, la società di Redmond prevede di integrare ChatGPT nel motore di ricerca Bing al fine di migliorare le risposte alle interrogazioni degli utenti.
Prima dell’arrivo di ChatGPT si conosceva GPT-3, un modello di linguaggio sviluppato sempre da OpenAI che utilizza il deep learning per generare testo simile a quello che potrebbe produrre una persona in carne ed ossa.
GPT è infatti l’acronimo di Generative Pre-trained Transformer, un sistema “pre-addestrato” che genera contenuti attraverso l’utilizzo di “Transformer“.
Andrej Karpathy, membro fondatore di OpenAI, ricercatore e responsabile fino al 2022 del progetto Tesla Autopilot, ha pubblicato un video su YouTube col quale illustra i principi alla base del funzionamento di ChatGPT.
Nel suo esempio l’ingegnere mostra la fase di addestramento e i “rudimenti” di un’intelligenza artificiale capace di generare testi e creare personaggi “in stile William Shakespeare”. Seppur “in scala ridotta” quanto descritto da Karpathy corrisponde all’infrastruttura di ChatGPT e di altre applicazioni basate su modelli generativi.
Karpathy spiega che il documento dal quale si è partiti per lo sviluppo di modelli di linguaggio come GPT è stato il documento sul quale hanno prevalentemente lavorato i ricercatori di Google Brain con la collaborazione di alcuni accademici. Si tratta di Attention Is All You Need, pubblicato a fine 2017: basti pensare ai progressi che sono stati compiuti nel segmento dell’intelligenza artificiale in soli 5 anni. Tanto da far dichiarare che la programmazione informatica è morta, almeno quella intesa in senso tradizionale.
Proprio nello studio del 2017 viene presentato il concetto di Transformer, un modello di deep learning che adotta il meccanismo noto come “auto-attenzione“: il significato di ciascuna parte dei dati di input viene ponderato in maniera differenziale ed è quindi particolarmente utile nell’elaborazione del linguaggio naturale e nel campo della visione artificiale.
GPT crea un testo partendo dalla frase di partenza attingendo alle sconfinate informazioni che gli sono state fornite durante la fase di addestramento. Il modello di linguaggio alla base di GPT permette alla macchina di sviluppare “conoscenze” che vengono poi recuperate per rispondere successivamente alle sollecitazioni di ciascun utente.
Per chi volesse avvicinarsi al mondo dei modelli generativi, il video confezionato da Karpathy è uno strumento eccellente per iniziare. Anche perché il ricercatore spiega come creare codice da zero e guida all’utilizzo del suo nanoGPT, un modello pubblicato su GitHub, ancora in corso di raffinamento, che si presenta agile e leggero.
nanoGPT permette di addestrare Transformer partendo da ogni genere di testo. È uno strumento eccezionale per iniziare perché si basa su due soli file da 300 righe di codice ciascuno: uno definisce il modello GPT del Transformer e l’altro si occupa del suo addestramento a partire da un set di dati (testuali in questo caso).
Karpathy spiega che addestrando il modello su un volume piuttosto corposo di pagine Web, prendendo in esame i rispettivi contenuti, nanoGPT replica di fatto il funzionamento di GPT-2 ovvero della precedente generazione del modello generativo di OpenAI. Niente male davvero.