Cosa significa quando l’apprendimento automatico commette un errore?

Significato dell'errore nel machine learning

Le nostre definizioni di “errore” hanno senso quando si tratta di ML/AI? Se no, perché?

Foto di Kind and Curious su Unsplash

Un commento sul mio recente post riguardante la percezione pubblica dell’apprendimento automatico mi ha fatto riflettere sul significato dell’errore nell’apprendimento automatico. Il lettore ha chiesto se pensassi che i modelli di apprendimento automatico facessero sempre “errori”. Come ho descritto in quel post, le persone hanno una forte tendenza ad antropomorfizzare i modelli di apprendimento automatico. Quando interagiamo con un chatbot LLM, applichiamo tecniche a quegli incontri che abbiamo imparato comunicando con altre persone – persuasione, formulazioni, argomentazioni, ecc. Tuttavia, questo è spesso inefficace e porterà a risposte insoddisfacenti.

Nel mio lavoro quotidiano, vedo problemi simili legati ai classificatori e ai modelli di regressione. Il mio team ed io dedichiamo molto tempo ed energia nel cercare di aiutare i clienti e i colleghi a capire che l’apprendimento automatico non è perfetto (e realisticamente non lo sarà mai). “Perché il modello ha detto X quando la verità si è rivelata essere X-5?” è un tema perenne. Non incolpo chi fa la domanda, almeno non interamente, perché come ho scritto nel mio ultimo articolo, noi nella comunità più ampia dell’apprendimento automatico non abbiamo fatto un buon lavoro nell’insegnare la fondamentale alfabetizzazione dell’apprendimento automatico.

Ma questo solleva una domanda fondamentale che ha bisogno di ulteriori indagini prima di poter risolvere davvero quel problema di alfabetizzazione.

Cosa intendiamo (e cosa intendono le altre persone) quando dicono che un modello ha commesso un errore, o ha fallito, o ha allucinato, o ha mentito?

Prima di poter rispondere a questa domanda, dobbiamo partire dall’inizio.

Che cos’è un modello di apprendimento automatico?

In un senso molto generale, un modello di apprendimento automatico è un algoritmo che accetta un input o una richiesta e restituisce una risposta determinata in modo probabilistico. Come decide quale dovrebbe essere la risposta può variare drasticamente – potrebbe utilizzare un albero decisionale, una rete neurale, una regressione lineare o qualsiasi altro tipo di apprendimento automatico.

Per creare un modello, partiamo con dati di esempio che riflettono i risultati che stiamo cercando. I campioni di input possono essere di vario tipo – per l’IA generativa, potrebbero essere grandi corpi di testi scritti dall’uomo, o musica o immagini. Per altri tipi di apprendimento automatico, potrebbero essere grandi set di dati contenenti caratteristiche degli oggetti o classificazioni di cose come immagini o testi in categorie, o molto altro.

A volte questi saranno “etichettati” in modo che il modello impari quali sono quelli desiderabili o meno, o quali cadono in una specifica categoria e quali no. Altre volte, il modello imparerà i modelli nei campioni sottostanti e dedurrà la propria comprensione di quei modelli, per replicare le caratteristiche degli input, scegliere tra le opzioni, dividere gli input in gruppi o altre attività.

Modi in cui i modelli di IA generativa vengono addestrati

Il modo in cui addestriamo i modelli generativi è specifico e più complicato rispetto all’addestramento di un modello per stimare la semplice probabilità di una risposta. Invece, questi modelli stimano le probabilità di molti elementi diversi e li mettono insieme per creare la loro risposta. Ecco spiegazioni molto semplici di alcuni dei modi in cui facciamo questo addestramento. (Queste sono tutte estreme semplificazioni, per favore perdonate la mancanza di dettagli e qualsiasi generalizzazione.)

Quando generiamo suoni o immagini, possiamo utilizzare le reti generative avversariali. Qui, i modelli sono messi l’uno contro l’altro, con un modello che genera nuovi contenuti e l’altro modello che cerca di capire se quel contenuto proviene da un modello o meno, avanti e indietro. I due modelli competono per migliaia e migliaia di casi, migliorando entrambi nel loro compito man mano che procedono. Alla fine, il modello generativo sarà in grado di produrre contenuti che sono quasi indistinguibili da quelli che la realtà produrrebbe. (Il modello distintivo diventa anche molto bravo a capire quando un input è stato generato dall’uomo, come effetto collaterale.)

Per gli LLM e la generazione di testi come i modelli GPT, utilizziamo quello che chiamiamo Transformers. Questo addestramento comporta insegnare al modello una comprensione di come i significati delle parole sono correlati tra loro, così come come produrre contenuti di testo che sono quasi indistinguibili dalla produzione umana. I risultati suonano molto convincenti perché il modello sa quali parole sono inclini a unirsi (con probabilità basate su come il linguaggio umano reale usato nell’addestramento le ha collegate).

Per generare immagini da input di testo, come Dall-E, utilizziamo la Diffusione. In questo caso, insegniamo al modello a calcolare quali tipi di caratteristiche di un’immagine sono probabilmente desiderate, basandoci sul testo fornito. Il modello inizia essenzialmente con un’immagine statica e, in base al tuo testo, applica dettagli/colori/caratteristiche. Ciò si basa su ciò che ha imparato su come il testo di solito corrisponde alle immagini, secondo i dati di addestramento.

Utilizzando queste tecniche, insegniamo ai modelli a decifrare i modelli negli input – a volte modelli che noi stessi non riusciamo nemmeno a spiegare o rilevare (soprattutto nel caso dell’apprendimento approfondito) – e poi il modello è in grado di interpretare e applicare quei modelli. Tutto ciò è matematica sotto la superficie, anche se i modelli possono essere nel testo, nelle immagini o in molte altre cose.

Ora che sappiamo questo, possiamo parlare di cosa sono gli output e cosa significa quando l’output non è quello che volevamo.

Output

Le cose che un modello di apprendimento automatico produce possono variare ampiamente. L’intelligenza artificiale generativa produce in particolare immagini, video, audio e testo di ogni tipo immaginabile. Altri tipi di modelli ci forniscono la probabilità di eventi/fenomeni, stime di valori sconosciuti, traduzioni di testo in diverse lingue, etichette o raggruppamenti per il contenuto e altro ancora.

In tutti questi casi, vengono utilizzati calcoli matematici complessi per stimare la migliore risposta in base all’input fornito. “Migliore” è però una cosa molto specifica. Nel processo di creazione del modello, hai indicato al modello quale caratteristica vuoi che abbiano le sue risposte.

Nel processo di creazione del modello, hai indicato al modello quale caratteristica vuoi che abbiano le sue risposte.

Cosa significa quando otteniamo qualcosa che non ci aspettavamo?

Questo riguarda tanto noi quanto il modello stesso. È essenzialmente come qualsiasi prodotto nel settore tecnologico. I designer e i creatori del prodotto creano “storie degli utenti” quando sviluppano qualcosa da vendere alle persone e ciò comprende narrazioni su chi utilizzerà il prodotto, come, perché e cosa vorranno ottenere da esso.

Ad esempio, supponiamo di progettare un foglio di calcolo. Utilizzeremmo le storie degli utenti per pensare ad Anne, la contabile, e parleremmo con i contabili per decidere quali caratteristiche un contabile ha bisogno nel suo software di foglio di calcolo. Poi penseremmo a Bob, l’analista aziendale, e parleremmo con gli analisti BI delle loro esigenze di funzionalità. Metteremmo tutto ciò nella nostra lista quando pianifichiamo il foglio di calcolo e useremmo ciò per guidare il nostro design. Capisci l’idea.

Chi è l’utente di un modello di apprendimento automatico? Dipende completamente dal tipo di modello che è. Ad esempio, se il tuo modello prevede i prezzi delle case in base alle caratteristiche della proprietà, potrebbero essere agenti immobiliari, istituti di credito ipotecario o acquirenti di case. Un modello relativamente specifico che ha applicazioni chiare e limitate è facile da personalizzare per l’utente. Noi scienziati dei dati possiamo assicurarci che questo modello soddisfi le aspettative delle persone che lo utilizzeranno.

A volte la previsione non sarà accurata, ma questo è un problema matematico e probabilmente possiamo capire perché è successo. Forse abbiamo dato al modello dati errati o questa casa è eccezionale per qualche motivo che non siamo stati in grado di comunicare al modello, ad esempio. Se il modello non è mai stato insegnato a interpretare l’effetto, ad esempio, di uno zoo nel cortile sulla prezzo delle case, non avrà un modo per incorporare queste informazioni. Cosa succede se c’è stato un crollo dei prezzi delle case? Abbiamo visto che non molto tempo fa e puoi immaginare che i modelli appresi dal modello prima del crollo non si applicherebbero più.

Tuttavia, in un caso come questo, abbiamo due cose:

  1. Un obiettivo chiaro che il modello deve raggiungere, di cui sia i data scientist che gli utenti sono consapevoli;
  2. Un modo quantificabile per misurare se il modello si è avvicinato o meno al suo obiettivo.

Ciò significa che è chiaro e semplice quando vogliamo definire se il modello è stato di successo. Dopo aver preso questa decisione, possiamo esplorare perché il modello ha fatto ciò che ha fatto, questo è ciò che viene chiamato “spiegabilità del modello” o “interpretabilità del modello” nel campo.

Ma per LLM?

Cosa significa tutto questo framework per qualcosa come un LLM? Chi è l’utente di ChatGPT? (Hai appena detto mentalmente “tutti”?) Quando l’output di un modello può essere complesso e vario come quello di un LLM, iniziamo ad avere domande.

Per i data scientist che hanno costruito modelli di intelligenza artificiale generativa, anche se possono utilizzare diversi metodi di addestramento, stiamo cercando sempre di creare contenuti il più possibile simili ai dati di addestramento, che di solito sono generati dall’uomo o dalla natura. Per realizzare ciò, il modello viene addestrato su contenuti campione che le persone o la natura hanno effettivamente prodotto. Facciamo del nostro meglio per fornire al modello un modo matematico per capire come e perché questo contenuto sembra “reale”, in modo da poterlo replicare. Questo è come un modello di intelligenza artificiale generativa diventa in grado di creare efficienze e rendere obsoleti certi lavori umani.

Per i data scientist che hanno costruito modelli di intelligenza artificiale generativa, l’obiettivo è creare contenuti il più possibile simili ai dati di addestramento, che di solito sono generati dall’uomo o dalla natura.

In questo senso, questi modelli sono eccellenti in ciò che fanno! Tuttavia, ciò crea alcuni rischi. Poiché i modelli LLM sono così convincenti nell’imitare le risposte umane, gli utenti tendono a pensare che siano simili alle persone. È come quando i bambini imparano degli animali: insegni a un bambino che una creatura pelosa con quattro zampe e un naso bagnato è un cane, ma poi metti un gatto davanti a loro e sono inclini a pensare che sia probabilmente anche un cane, perché le caratteristiche di base sembrano così simili. Solo quando spieghi che il gatto è una cosa diversa iniziano a interpretare le differenze e a costruire un modello mentale diverso.

Poiché questi modelli sono così convincenti nell’imitare le risposte umane, gli utenti tendono a pensare che siano simili alle persone.

Al momento, penso che la maggior parte del pubblico stia ancora costruendo quel modello mentale diverso per distinguere un LLM da una persona. (Come ho scritto in precedenza, i data scientist devono essere gli adulti che spiegano che un cane non è la stessa cosa di un gatto, per continuare la metafora.)

Ma mi sono un po’ distratto. Il vero significato di tutto ciò è che le persone che interagiscono con un modello molto semplice (come i prezzi delle case) capiscono che si tratta di un algoritmo limitato. È più simile a una formula di un foglio di calcolo che a una persona, e questo influenza le nostre aspettative. Ma quando usiamo ChatGPT, ad esempio, ha molte delle caratteristiche di una chat online con un essere umano, e questo ci influenza. Invece di aspettarci solo cose limitate, come “testo che suona come linguaggio umano”, iniziamo ad aspettarci che le affermazioni siano sempre accurate, che i risultati includano un pensiero critico coerente e che i fatti delle notizie di oggi siano recuperabili dal modello, anche se è stato addestrato l’anno scorso, ad esempio.

Le persone che interagiscono con un modello molto semplice capiscono che si tratta di un algoritmo limitato… Ma quando usiamo ChatGPT, ad esempio, ha molte delle caratteristiche di una chat online con un essere umano, e questo ci influenza.

Nella misura in cui possono emergere delle apparenze di pensiero critico nei risultati del modello, ciò avviene perché il modello ha imparato che gli arrangiamenti di testo che interpretiamo come “pensiero critico” da fonti umane reali suonano più “umani”, quindi sta imitando questi arrangiamenti per quel motivo. Quando parliamo con le persone, deduciamo da ciò che dicono che stanno usando il pensiero critico. Non possiamo farlo con l’apprendimento automatico, però.

Ricorda i due elementi chiave che ho descritto sopra che il modello dei prezzi delle case ha:

1. Un obiettivo chiaro che il modello deve raggiungere, di cui i data scientist e gli utenti sono entrambi consapevoli;

2. Un modo quantificabile per misurare se il modello si è avvicinato al suo obiettivo o meno.

Con l’intelligenza artificiale generativa, inclusi ma non limitati ai LLM, abbiamo problemi con il punto 1, in parte perché l’obiettivo non è effettivamente così chiaro (“restituire materiale indistinguibile da ciò che un umano produrrebbe”), ma soprattutto perché i data scientist non comunicano con successo agli utenti quale sia l’obiettivo. I data scientist che lavorano su questi modelli hanno il punto 2, perché utilizzano sistemi matematici complessi per insegnare ai modelli quando hanno prodotto contenuto sufficientemente “reale” o simile all’essere umano. Ma per l’utente comune per strada, questo è molto più difficile. Determinare se il modello ha fatto un buon lavoro è molto simile alla valutazione dei compiti, piuttosto che al controllo del risultato di un problema matematico. Entra in gioco la soggettività.

Ma anche se fosse più facile misurare, sostengo fortemente che gli utenti, anche alcuni tecnicamente esperti e altamente istruiti, non abbiano una chiara conoscenza di ciò per cui questi modelli sono stati addestrati a fare e quindi non possono sapere cosa è realistico aspettarsi e cosa no. Pertanto, i risultati che sono perfettamente appropriati per il modello, come un paragrafo fluido, eloquente e perfettamente “umano” che descrive come la luna sia fatta di formaggio verde, verranno considerati un “errore”. Non lo sono, però: questo output ha raggiunto i suoi obiettivi di addestramento ed è questa la fonte di molta della nostra confusione.

Tarare le aspettative

Ciò suggerisce che dobbiamo tarare le aspettative di questi modelli, e spero che questo articolo possa aiutare in tal senso. Per utilizzare con successo un modello di apprendimento automatico e distinguere l’errore dal comportamento atteso, è necessario comprendere quali compiti i modelli sono stati addestrati a svolgere e la natura dei dati di addestramento. Se si diventa davvero sofisticati, si dovrebbe anche avere un chiaro contesto su come gli scienziati dei dati dietro quel modello hanno misurato il successo, perché ciò plasmerà in modo significativo il comportamento del modello.

Incorporando questi elementi, avrai il contesto necessario per comprendere cosa significano i risultati del modello e sarai in grado di interpretarli correttamente: le tue aspettative saranno ragionevoli e saprai se sono state soddisfatte. E saprai cosa significa veramente un “errore” quando si tratta di apprendimento automatico.

Ci sono alcuni materiali utili che chiariscono molto di tutto ciò (come vengono addestrati, cosa significano realmente le risposte) per i modelli di apprendimento automatico generativi popolari, e ho aggiunto alcuni link a seguire. (Non sto avallando tutte le opinioni in questi materiali, ma li offro come opzioni per coloro che vogliono saperne di più sull’IA generativa.)

Sono i modelli di IA destinati a sempre allucinare? | TechCrunch

I modelli di linguaggio di grandi dimensioni come ChatGPT hanno la brutta abitudine di inventare fatti. Ma questo può essere risolto a livello tecnico?

techcrunch.com

Google Cloud Skills Boost

Qwiklabs offre veri ambienti Google Cloud che aiutano sviluppatori e professionisti IT ad apprendere piattaforme cloud…

www.cloudskillsboost.google

Garon, Jon M., Una introduzione pratica all’IA generativa, ai media sintetici e ai messaggi presenti nell’ultimo VoAGI (14 marzo 2023). Disponibile su SSRN: https://ssrn.com/abstract=4388437 o http://dx.doi.org/10.2139/ssrn.4388437

Vedi altri miei lavori su www.stephaniekirmer.com.

Nota: Di solito dico “apprendimento automatico” e non IA, ma nel caso dell'”IA generativa” ho scelto di utilizzare quella frase a causa della sua ampia adozione nel campo.