Qualche tempo fa, conversando amabilmente con ChatGPT, gli ho chiesto l’ora. Con la sicurezza da consulente consumato che lo contraddistingue, mi ha risposto senza esitare: le dieci e un quarto. Gli ho chiesto se ne fosse sicuro. Si è profuso in scuse di circostanza e ha corretto il tiro: le undici e mezza. Erano le otto del mattino.
IA, il problema delle allucinazioni
Nella sua semplicità, questo esempio di “allucinazione” è paradigmatico del comportamento erratico dei grandi modelli linguistici (large language models), che sfoggiano doti impressionanti di padronanza della lingua, ma possono fallire in modo inaspettato quando si tratta di semplicissime verità fattuali.
In questi giorni i tecnici di Open AI ci hanno messo una pezza, e alla stessa domanda ChatGPT risponde, con maggior senso della responsabilità, di non poter fornire informazioni affidabili su eventi contemporanei, in quanto il suo addestramento si basa su dati storici fino al 2021. Il problema non è naturalmente limitato a ChatGPT. Comportamenti simili, anche se con interessanti sfumature, si possono riscontrare in altri recentissimi modelli di intelligenza artificiale, come Google Bard e Perplexity AI. Quest’ultimo, per esempio, pur vantando la possibilità di cercare le informazioni più recenti in rete, alla mia richiesta di un elenco degli eventi di settembre a Milano ha risposto con gli eventi di maggio. Quando gliel’ho fatto notare, si è scusato (di nuovo, la cortesia innanzitutto) e mi ha avvertito che non è in grado di accedere alle informazioni più recenti. Peccato che alla stessa domanda, ma formulata qualche secondo dopo in inglese, ha risposto correttamente.
Si potrebbe essere tentati di credere che questi problemi siano limitati ai più recenti modelli di intelligenza artificiale, estremamente complessi e potenti ma ancora in fase di “rodaggio”. In realtà, l’affidabilità è un problema spinoso che riguarda molte applicazioni di IA di uso comune, e tutto ci porta a credere che diventerà sempre più pressante man mano che l’IA si diffonde. Poiché il tema è estremamente ampio, in questo articolo proverò a fornire una panoramica dei principali rischi legati all’affidabilità dell’IA, focalizzandomi sui modelli più comuni di apprendimento automatico, sempre più diffusi nelle imprese e nelle pubbliche amministrazioni, suggerendo alcune contromisure che possiamo introdurre per mitigarli.
Quanto ci possiamo fidare dell’intelligenza artificiale?
In un articolo[1] scritto a quattro mani da ricercatori di Berkeley, Google e Open AI, si osserva che, per molti anni, tutti gli sforzi si sono concentrati sul far funzionare i sistemi di machine learning (ML), ma che ora, proprio in virtù del notevole successo della tecnologia, la sicurezza deve diventare una priorità assoluta, tanto più se pensiamo che questi sistemi cominciano a diffondersi anche in applicazioni critiche, per esempio in sanità o nella guida autonoma, dove un errore può avere conseguenze catastrofiche. Ma anche in scenari meno sensibili, un errore di inferenza può causare perdite economiche, rischi legali e altri incidenti.
Il problema è che i moderni sistemi di apprendimento automatico non sono gestibili facendo affidamento esclusivamente sulle pratiche tradizionali di ingegneria del software. Nei sistemi di ML, i flussi di controllo sono specificati da pesi imperscrutabili appresi durante l’addestramento, anziché programmati con istruzioni esplicite. Questi sistemi inoltre non presentano modularità né incapsulamento, il che li rende molto meno comprensibili e rende difficile localizzare le cause degli errori. Osserviamo di sfuggita che proprio queste caratteristiche in un certo senso “caotiche” dei sistemi di ML possono essere abilmente sfruttate da agenti malevoli per creare nuove tipologie di attacchi informatici.
Gli errori causati da distribution shift e correlazioni spurie
Una delle cause più comuni di errore è il cosiddetto “spostamento della distribuzione” (distribution shift), ovvero il fatto che i dati su cui il modello è stato addestrato presentano una distribuzione probabilistica diversa da quella che il modello si trova ad affrontare nel mondo reale, in produzione. In questo caso, il modello si troverà ad affrontare situazioni nuove, per le quali non è stato addestrato. Come è facile intuire, la questione è particolarmente spinosa nel caso di eventi altamente improbabili anche nella realtà (il cosiddetto problema della “coda lunga”, dall’inglese long tail in riferimento alle code delle distribuzioni di probabilità che descrivono eventi eccezionalmente improbabili). Tali eventi, tuttavia, possono avere conseguenze fatali in alcuni scenari critici, come la guida autonoma, e non possono essere semplicemente ignorati. Come osservò Scott D. Sagan, professore a Stanford specializzato in sicurezza internazionale, “eventi mai accaduti prima accadono in continuazione”.
Un’altra causa può essere ricondotta alle “correlazioni spurie”, cioè correlazioni statistiche presenti nei dati di addestramento che non riflettono correlazioni reali. Esempi spesso citati comprendono il colore di sfondo delle immagini: se quasi tutte le immagini di cani usate per l’addestramento presentano un prato verde sullo sfondo, il modello potrebbe essere tentato di classificare come “cane” anche un gatto, purché ritratto su sfondo verde.
L’invecchiamento dell’intelligenza artificiale
Il tempo che passa non è solo un nostro problema, a quanto pare. Un’analisi pubblicata su Nature[2] nel luglio 2022, intitolata “Temporal quality degradation in AI models”, affronta un tema finora poco studiato: come cambiano le prestazioni dei modelli di IA con il tempo. Gli autori hanno considerato quattro fra i modelli più comuni di ML applicati a 32 dataset storici in settori diversi, dalla sanità alla finanza, trovando un degrado delle prestazioni col tempo nel 90% dei casi.
Da quanto detto finora possiamo facilmente intuire che un modello, addestrato con i dati disponibili fino a una certa data, possa incontrare difficoltà crescenti con il passare del tempo, in quanto le proprietà statistiche dei dati generati nei contesti applicativi in cui opera possono cambiare. Tuttavia, l’analisi rivela un comportamento estremamente complesso e variegato. Il degrado osservato non sembra essere una funzione lineare del distribution shift dei dati. Alcuni modelli presentano un degrado notevole anche in presenza di piccole variazioni nella distribuzione dei dati, mentre altri di adattano più facilmente. In certi casi si osserva un improvviso degrado dopo anni di buone prestazioni senza che sia possibile individuare un cambiamento radicale nella distribuzione dei dati. In altri casi ancora i modelli presentano un comportamento tipico dei sistemi caotici, con l’emergere di “attrattori” che formano concentrazioni separate di stati di errore fra cui il modello salta erraticamente.
Gli autori osservano che manca tutt’ora una teoria affidabile per spiegare questi comportamenti, ma che sicuramente non possiamo più assumere, ingenuamente, che una volta testato il modello e verificate le prestazioni, possiamo senz’altro metterlo in produzione e continuare a utilizzarlo senza ulteriori preoccupazioni.
Cosa si può fare
Le considerazioni che abbiamo fatto non devono portarci a diffidare per principio dei modelli di apprendimento automatico o dell’IA in generale. Negli ultimi anni questa tecnologia ha dimostrato una straordinaria capacità di risolvere problemi precedentemente intrattabili, e mantiene un enorme potenziale di sviluppo positivo. Dobbiamo però attrezzarci per mitigarne i rischi attraverso una gestione attenta di tutto il ciclo di vita. Nel far questo dobbiamo essere consapevoli che le buone pratiche tradizionali di gestione del software devono essere estese per affrontare nuove sfide.
Le principali aree su cui intervenire riguardano la gestione dei dati, la scelta dei modelli, la fase di addestramento e test, e infine il monitoraggio in esercizio. Inoltre, è opportuno potenziare le competenze e i processi di gestione in aree contigue e potenzialmente impattate, come la sicurezza informatica e l’etica aziendale.
Se anche prima dell’IA i dati erano importanti, oggi sono diventati imprescindibili. Qualunque azienda voglia sviluppare o specializzare modelli di ML deve adottare un solido processo di governo dei dati utilizzati per l’addestramento e il test, espandendo le tradizionali metriche di qualità con nuove metriche, come per esempio la polarizzazione (bias) o la distribuzione statistica.
Un’importante leva di governo è rappresentata dalla scelta dei modelli di ML. Oggi la disponibilità di interfacce di facile utilizzo può indurre le imprese a utilizzare i grandi modelli di base (foundation models), estremamente potenti e complessi, anche per applicazioni che potrebbero tranquillamente essere realizzate con modelli più semplici e trasparenti. A parità di altre condizioni, l’utilizzo di modelli inerentemente interpretabili è invece preferibile e le imprese devono acquisire, internamente o attraverso partner tecnologici fidati, le competenze necessarie a presidiare questa importante leva di governo strategico dell’IA.
Le fasi di addestramento e verifica devono essere attentamente presidiate, definendo benchmark opportuni per sottoporre i sistemi a stress test, trovare i loro punti di rottura e determinare se funzioneranno in modo appropriato in esercizio.
Infine, una volta rilasciato, un sistema di ML deve essere monitorato mediante un processo strutturato per identificare i segnali premotori di un possibile degrado delle prestazioni, e decidere se è il caso di effettuare un nuovo addestramento.
Note
[1] Dan Hendrycks et al., Unsolved Problems in ML Safety, 2022
[2] Daniel Vela et al., Temporal quality degradation in AI models, 2022