Nella prima parte abbiamo visto il significato del termine IA (Intelligenza Artificiale), DL, ML per arrivare all’IA Generativa (IA-Gen). Abbiamo visto che IA non significa Robot autocoscienti.
Per il come funziona abbiamo visto la tecnologia dietro all’IA ossia i Big Data e le Reti Neurali che simulano o comunque cercano di replicare il funzionamento del cervello umano e quindi dei Neuroni Artificiali.
Sul finire abbiamo accennato il concetto di addestramento dell’IA ed ora possiamo proseguire.
(per chi si fosse perso la prima parte, è disponibile QUA)
Riepiloghiamo il percorso fatto fin qui:
IA -> ML -> DL -> IA-Gen
L’intelligenza, esattamente come per le persone, deve essere stimolata, “nutrita”, il termine che si usa per l’IA è addestrata e lo si fa su Big Data ossia enormi quantità di dati, che possono essere testo ma anche immagini, video, file pdf o qualsiasi altro tipo di informazione che viene analizzata e che permette all’IA, in base allo scopo per cui viene “programmata”, di imparare a categorizzare, a classificare qualcosa oppure a risolvere dei problemi.
In realtà non è proprio così.
Immaginiamoci l’IA come un “esperto” di qualcosa: sarà bravissimo nel suo ambito a fare ciò per cui è stato addestrato.
Mi serve una IA che riconosca (e quindi impari a classificare correttamente quando “vede” un cane o un gatto? Diamo in pasto all’algoritmo migliaia, milioni di immagini di cani e di gatti e imparerà a riconoscerli in modo corretto.
Mi serve una IA che sappia diagnosticare una frattura ossea e fornire le giuste cure? Gli diamo in pasto milioni di radiografie e imparerà a riconoscere cosa sia una frattura, come si presenta, tutte le tipologie e le cure che sono state prestate. Ovviamente imparerà a riconoscere, “vedendo” la radiografia, se ci sia una frattura o meno senza che sia più necessario attendere un medico che svolga questo compito, risparmiando tempo ed efficientando il processo di diagnosi.
Più precisamente, i modelli di Deep Learning sono in grado di riconoscere le caratteristiche di immagini, testo, suoni e altri dati per produrre informazioni e previsioni accurate.
Si potrebbero fare altri mille esempi ma facciamo un passo avanti e capiamo come funziona e cosa fa l’IA Generativa.
LLM, si mangia?
Mi serve una IA che sappia comprendere perfettamente un testo.
Partiamo dal dare in pasto al modello una quantità immensa di dati ossia di testi, libri, articoli di giornale, blog, ecc. Immaginiamo che in poco tempo, la nostra IA abbia “letto” tutti i libri in italiano esistenti e tutte le pagine web scritte in italiano.
Tutto questo materiale è ovviamente un Big Data quindi ho a disposizione tutti i libri, gli articoli, ecc. scritti in italiano, salvati da qualche parte e li do in pasto al motore.
In base a quanto visto fino a qui dovremmo aver compreso che, grazie alla Rete Neurale che costituisce la mia IA di esempio, essa avrà non solo “appreso” nozioni di praticamente ogni cosa che ha letto ma anche la struttura grammaticale, le regole sintattiche, i verbi, le espressioni idiomatiche, ecc.
Quasi come per magia, la mia IA saprà rispondere correttamente a qualsiasi domanda sui testi che ha letto ma non solo, avendo, di fatto, imparato l’italiano, saprà riconoscere altre frasi o testi che gli do come input.
Questo è il significato di comprensione del linguaggio: NLP (Natural Language Processing) ossia l’IA diventa capace di comprendere il linguaggio umano. Nell’esempio, l’italiano ma vale per qualsiasi altro linguaggio.
Ulteriore passo avanti
La nostra IA diventa quindi un LLM che vuol dire Large Language Model perché è un modello che è stato addestrato su una grandissima quantità di testi (e non solo testi) e ha imparato lingua, la grammatica, ecc. di quella lingua ma non si ferma qui: il modello non si limita a rispondere a domande in base ai testi che ha immagazzinato.
È in grado di generare nuovo testo! (per questo si chiama IA Generativa)
Il mio modello LLM (che è definibile come una IA Generativa) è in grado di ricombinare, riassumere, manipolare il testo.
Esattamente come un bambino che sta crescendo, dopo aver appreso tutta una serie di nozioni, impara ad esprimersi e, piano piano, impara a parlare.
L’IA ha appreso la lingua, ha una conoscenza vastissima dato l’addestramento su tutti i testi pubblici scritti del mondo ed è in grado di “comprendere” una mia qualsiasi richiesta, formulata in linguaggio naturale (NLP) – quindi NON in codice, non in un linguaggio di programmazione ma in italiano naturale e mi saprà rispondere.
Il bello è che mi saprà rispondere sia su uno qualsiasi degli argomenti che ha “studiato” (in fase di addestramento) sia su qualsiasi cosa perché è in grado di comprendere e di formulare una risposta sensata.
Ma capisce davvero?
Ok, la mia IA cioè il mio modello LLM (che è una IA Generativa) è in grado di capire la mia domanda e di darmi una risposta ma… capisce davvero?
La risposta è (almeno per il momento) NO. Non nel senso che intendiamo noi.
La macchina ha appreso tutti i testi del mondo e ha, attraverso complesse funzioni matematiche, attribuito dei pesi a ciascuna parola e delle probabilità che le parole si combinino in un certo modo.
Facciamo un esempio (ovviamente sempre iper semplificato con lo scopo non di essere estremamente rigorosi ma di far capire il concetto).
Se do in pasto alla IA tutti i testi in italiano del mondo e, ipotizziamo, in tutti c’è sempre associato alla parola “io” la parola “sono” oppure alla parola “tu” segue sempre la parola “sei”, cosa otterrò?
La macchina ha appreso che, quando mi fornisce una risposta, se deve scrivere la parola “io”, essa dovrà sempre essere seguita dalla parola “sono” ossia, in generale, da un verbo e, dato che lo ha appreso, saprà anche che a “tu” segue “sei” e così via e anche le declinazioni ossia se il contesto è riferito al passato o al futuro, saprà che l’output di testo che deve scrivere nella risposta deve tenerne conto e quindi diventa in grado di comprendere e scrivere anche frasi al passato e al futuro con i verbi declinati, ecc.
Ma non capisce davvero il verbo al passato o al futuro. Sa solo che è molto probabile che, se il contesto è al passato, i verbi dovranno essere scritti al passato quindi, capendo il mio linguaggio naturale, se parlo di previsioni (ipotesi sul futuro), l’LLM scriverà frasi con i verbi al futuro e così via.
Il bello è che, grazie alla vastissima conoscenza, addestramento, precisione e correttezza delle reti neurali utilizzate, funziona cioè ci azzecca. Tradotto vuol dire che mi fornisce una risposta adeguata, corretta, grammaticalmente giusta, ecc.
Intendiamoci, qualche errore lo fa, ma assolutamente accettabile. In generale ad una domanda posta ad un motore LLM, corrisponde una risposta corretta fornita dal sistema.
La risposta è una combinazione di testo assolutamente nuova ossia generata dall’IA e non un richiamo di testo scritto già da qualche parte.
È importante comprendere che non si limita a recuperare del testo (che ha già in memoria) ma, per tutto quanto visto finora, è in grado di scrivere testo nuovo ossia di rispondere ai miei quesiti generando frasi corrette e in modo da sembrare intelligente davvero.
ChatGPT, Bard e gli altri
Abbiamo quindi una IA super addestrata, che ha letto tutti i testi pubblici del mondo, comprende il linguaggio naturale e può rielaborare, riassumere, rispondere, scrivere testo partendo da un input dell’utente.
ChatGPT, Bard e le altre IA- Gen sono esattamente questo: sono LLM super evoluti che possono rispondere a qualsiasi domanda.
Se scrivo nel prompt “tanto va la gatta al lardo…” l’LLM risponderà “che ci lascia lo zampino”. E mi spiegherà pure da cosa deriva questo modo di dire.
Si tratta solo di sapere che ChatGPT è di una società che si chiama OpenAI ma che “dietro” ha Microsoft; Bard è di Google, ecc.
Ma sono tutti LLM.
Senza entrare nel tecnico, possiamo dire che gli LLM non sono uguali: uno è più “evoluto” oppure uno è specializzato in un certo ambito, uno è pensato per fare una cosa e così via.
Ci sono IA che creano immagini, altre che scrivono testo, altre che fanno tutto (cosiddette multimodali), ecc.
Di solito, con tutte, si interagisce tramite una chat in cui l’utente scrive e l’LLM risponde.
Come “curiosità” per concludere possiamo dire che GPT non sono lettere messe a caso ma significano Generative Pre Trained Transformer.
Generative è perché è una IA-Gen, Pre Trained vuol dire che è stato addestrato in precedenza su enormi volumi di dati, Transformer è il tipo di rete neurale artificiale utilizzata.
L’IA, con le sue enormi potenzialità, può essere applicata in contesti che vanno ben oltre la semplice generazione di testo: robotica, inclusi sistemi software che influenzano la finanza, la medicina, l'arte, ecc.
Con questo concludiamo la trattazione delle basi dell’IA per chi parte da zero e spero che ora i concetti siano più chiari e comprensibili a tutti.