Article. What i write

Come misurare e rendere affidabile un sistema di intelligenza artificiale

Pubblicato il 14 settembre 2023 su CyberSecurity360.it
La produzione di sistemi affidabili basati sull’intelligenza artificiale ne aumenterà l’impatto in ambito lavorativo e nel supportare altre finalità. Pertanto, è fondamentale incorporare gli obiettivi indicati sin dalla fase di pianificazione iniziale fino al rilascio finale e alla manutenzione del prodotto.
Vincenzo Calabro' | Misurare un sistema di intelligenza artificiale
Da qualche anno stiamo osservando una crescita esponenziale di nuove applicazioni che sfruttano le opportunità offerte dall’intelligenza artificiale (IA) per la risoluzione di alcune criticità che solitamente, ovvero tramite l’applicazione dei sistemi informativi di tipo classico, risultano molto più complesse e onerose da esitare.
Parallelamente, man mano che gli utenti iniziano a prendere dimestichezza con queste nuove funzionalità, hanno iniziato a insinuarsi i primi dubbi circa l’accettazione e la fiducia che gli stessi utenti ripongono nei confronti di queste tecnologie.
Per cui, sorge la domanda: gli utenti desiderano realmente utilizzare l’intelligenza artificiale per risolvere i propri problemi e, soprattutto, si fidano dei loro risultati? Di conseguenza, quali sfide dovrà affronta chi progetta prodotti, servizi e funzionalità abilitati all’IA, affinché siano accettati favorevolmente, piuttosto che vengano scartati perché non soddisfano i requisiti operativi o le aspettative, come la fiducia dell’utente finale?

Intelligenza artificiale e percezione della sua affidabilità

In sintesi, il successo dell’IA, come lo è stato in passato per tutte le innovazioni, è legato alla percezione della sua affidabilità, prima ancora dell’utilità.
Per capire meglio il problema introdotto, prendiamo in considerazione i seguenti esempi che ci consentono di evidenziare alcuni scenari applicativi del mondo reale:
  1. Come fa un ingegnere informatico a valutare l’affidabilità di uno strumento per la generazione automatica del codice che produce un output funzionale e di qualità?
  2. Come fa un medico a misurare l’affidabilità delle applicazioni sanitarie predittive che possono agevolare la diagnosi sulle condizioni cliniche del paziente?
  3. In che modo un soldato può stimare l’attendibilità delle informazioni riguardanti le minacce fornite da un visore artificiale in grado di individuare gli avversari?
In sintesi, cosa succede quando gli utenti non si fidano dei nuovi sistemi? La capacità dell’IA di collaborare positivamente con l’ingegnere, il medico o il soldato, dipende dalla fiducia che questi ripongono sui sistemi basati sull’IA, perché quest’ultima possa collaborare con loro efficacemente e sia in grado di fornire i risultati attesi.
Di conseguenza, affinché si possano creare livelli di fiducia adeguati, è necessario gestire le aspettative su ciò che l’IA può offrire realisticamente.
Questo articola illustra le principali ricerche e lezioni apprese su come sia possibile misurare l’affidabilità dell’IA e, di conseguenza, in che modo gli utenti finali possano ottenere i risultati attesi.

Fiducia nell’intelligenza artificiale: una variabile complessa

Prima di iniziare la disamina, analizziamo alcune definizioni chiave relative ad un sistema basato sull’intelligenza artificiale:
  1. fiducia: è uno stato psicologico basato sulle aspettative del comportamento di un sistema, la fiducia che il sistema manterrà la sua promessa;
  2. fiducia calibrata: è uno stato psicologico basato sulla fiducia regolata, ovvero allineata – in tempo reale – alle percezioni di affidabilità degli utenti finali;
  3. affidabilità: è la proprietà di un sistema in grado di dimostrare che questi manterrà la sua promessa e, contestualmente, fornirà la prova che in quel determinato contesto il sistema sia affidabile e che durante l’utilizzo gli utenti finali siano consapevoli delle sue capacità.
La fiducia è una variabile complessa, transitoria e personale; tutti questi fattori rendono difficile la misurazione dell’esperienza umana in rapporto alla fiducia. Anche l’esperienza individuale di sicurezza psicologica (ad esempio: sentirsi al sicuro all’interno della propria relazione personale, del proprio team, della propria organizzazione e del proprio governo), così come la percezione del legame tra il sistema di intelligenza artificiale con sé stesso, possono influenzare la fiducia nel sistema.
Quando le persone interagiscono e/o lavorano con i sistemi di IA, sviluppano una comprensione (o un’incapacità di comprendere) delle capacità e dei limiti del sistema in un determinato contesto di utilizzo.
La consapevolezza può essere sviluppata anche attraverso la formazione, l’esperienza e le informazioni che i colleghi condividono sulle loro esperienze. Questa comprensione può trasformarsi in un livello di fiducia del sistema giustificato dalle esperienze di utilizzo.
Un altro modo di ragionare prevede che gli utenti finali sviluppino un livello di fiducia nel sistema calibrato su ciò che conoscono delle sue capacità nel contesto attuale.
Pertanto, la costruzione di un sistema affidabile genera la fiducia del sistema percepita dagli utenti.

Come progettare un’intelligenza artificiale affidabile

Tendiamo a pensare all’intelligenza artificiale esclusivamente come a uno strumento per automatizzare una serie di processi, facilitando compiti, spesso con risultati migliori, in meno tempo e a costi più bassi. È tutto vero, ma ciò che spesso dimentichiamo è che l’intelligenza artificiale è anche una scienza e, come tutte le scienze, ci racconta qualcosa di noi – come singoli e come società – e del mondo in cui viviamo.
Partiamo dall’assunto che non possiamo costringere le persone a fidarsi dei sistemi di IA, ma potremmo progettarli concentrandoci sugli aspetti che ci consentano di misurarne l’affidabilità. Sebbene non sia matematicamente possibile quantificare l’affidabilità complessiva di un sistema nel suo contesto di applicazione, alcuni aspetti dell’affidabilità possono essere quantitativamente misurati, per esempio potremmo rilevare la fiducia dell’utente attraverso i suoi comportamenti, come l’utilizzo del sistema.
All’inizio del 2023, il National Institute of Standards and Technology (NIST) ha pubblicato l’Artificial Intelligence Risk Management Framework in cui indica i seguenti aspetti essenziali per misurare l’affidabilità dell’IA:
  • validità e affidabilità,
  • protezione,
  • sicurezza e resilienza,
  • responsabilità e trasparenza,
  • comprensione e modellazione,
  • riservatezza,
  • imparzialità, attraverso la mitigazione dei pregiudizi dannosi.
Queste variabili possono essere valutate attraverso strumenti qualitativi e quantitativi, come i valori delle prestazioni funzionali utilizzati per misurare la validità e l’affidabilità, oppure l’analisi della user experience (UX) per determinare l’usabilità, la comprensione e la modellazione di un sistema.
Tuttavia, alcune di queste componenti potrebbero non essere misurabili a causa della loro stessa natura. Ad esempio, il progettista di un sistema potrebbe essere in grado di valutare se lo stesso funziona bene in ciascuno di queste componenti, ma gli utenti potrebbero essere cauti o diffidenti nei confronti dell’output a causa delle interazioni che hanno con il sistema.
La misurazione dell’affidabilità dell’IA dovrebbe avvenire durante l’intero ciclo di vita di un sistema di intelligenza artificiale.
All’inizio, durante le fasi di progettazione di un sistema di intelligenza artificiale, i responsabili del progetto, i ricercatori incentrati sul lato umano e gli specialisti dei rischi connessi all’uso dell’intelligenza artificiale, dovrebbero condurre una serie di test per comprendere le esigenze degli utenti finali e, preferibilmente, anticipare i requisiti per l’affidabilità dell’IA.
La progettazione iniziale di un sistema deve necessariamente tenere conto delle esigenze e dell’affidabilità volute dagli utenti.
Inoltre, mentre gli sviluppatori inizieranno ad implementare il sistema, gli altri componenti del team dovrebbero continuare a condurre sessioni di user experience con gli utenti finali per convalidare il progetto e raccogliere i feedback sulle componenti per poter misurare l’affidabilità durante l’intero ciclo di sviluppo del sistema.
Contemporaneamente, il team di sviluppo dovrebbe continuare a convalidare il sistema, in base ai criteri indicati dalle componenti di affidabilità e con gli utenti finali, anche durante la distribuzione iniziale. Queste attività hanno uno scopo diverso dalle consuete procedure di testing utilizzate per garantire la qualità di un prodotto.
Durante l’implementazione, ogni versione deve essere costantemente monitorata, sia per controllare le sue prestazioni rispetto alle aspettative, sia per valutare la percezione del sistema da parte degli utenti.
Gli amministratori di sistema dovrebbero stabilire anche i criteri per il rilascio all’interno di un sistema distribuito e un manuale d’uso, in modo tale che gli utenti possano crearsi aspettative adeguate nel momento in cui interagiranno con il sistema.
Infine, anche i system builder dovrebbero collaborare con gli utilizzatori finali affinché la tecnologia sia creata per soddisfare le loro esigenze. Tali collaborazioni aiutano le persone che utilizzano il sistema a ponderare regolarmente la propria fiducia nei suoi confronti.
In sintesi, la fiducia è un fenomeno interno e i system builder devono creare esperienze affidabili attraverso punti di contatto, come la documentazione del prodotto, le interfacce digitali e i test di convalida, per consentire agli utenti di esprimere giudizi sull’affidabilità del sistema in tempo reale.

Contestualizzare gli indicatori di affidabilità per gli utenti finali

La possibilità di valutare accuratamente l’affidabilità di un sistema consente agli utenti di ottenere una fiducia misurata del sistema stesso. La fiducia, che solitamente l’utente ripone nei confronti dei sistemi basati sull’intelligenza artificiale, implica che questi ultimi siano considerati affidabili entro una certa soglia.
Tra i principali indicatori, che ci consentono di caratterizzare un sistema di IA affidabile, possiamo includere la possibilità che gli utenti finali possano rispondere alle seguenti domande:
  1. Sa cosa sta facendo il sistema e il perché?
  2. È in grado di valutare perché il sistema sta formulando determinate risposte o generando un determinato output?
  3. Comprende quanto siano affidabili le risposte del sistema?
  4. Riesce a valutare quanto potrebbe essere sicuro un determinato output?
Se la risposta ad una di queste domande fosse negativa, allora sarebbe necessario migliorare ulteriormente il sistema per garantire che sia progettato per essere affidabile.
Inoltre, è fondamentale che le capacità del sistema siano rese trasparenti e verificabili, in modo tale che gli utenti possano essere informati e sicuri durante lo svolgimento del proprio lavoro e possano utilizzarlo per come previsto.

Criticità di un’intelligenza artificiale affidabile

Come già evidenziato in questo articolo, per valutare l’affidabilità di un sistema di intelligenza artificiale occorre considerare diversi elementi e punti di vista.
Le criticità, che solitamente vengono rivolte all’IA, includono la possibilità che possa generare confusione (per esempio non restituisce sempre risultati univoci), possa essere talvolta dirompente (per esempio può ribaltare un output consolidato da anni), sia apparentemente poco pratica o vista come non necessaria perché fornisce alternative complesse.
Una ricerca sulla letteratura riguardante l’IA rivela che alcuni autori usano spesso i termini “fiducia” e “affidabilità” in modo intercambiabile, mentre altra letteratura li considera come due caratteristiche distinte. Quindi, per un verso è incoraggiante sapere che l’IA affidabile è un ambito multidisciplinare, di converso, avere una moltitudine di definizioni, può generare confusione in coloro i quali sono nuovi alla progettazione di un sistema di IA affidabile.
Le diverse definizioni di affidabilità per i sistemi di IA consentono ai progettisti, inoltre, di scegliere o selezionare arbitrariamente gli elementi di affidabilità che consentono di soddisfare le loro esigenze.
Allo stesso modo, la definizione di IA affidabile varia a seconda del contesto di utilizzo del sistema. Ad esempio, i fattori che caratterizzano un sistema di intelligenza artificiale affidabile in un contesto sanitario potrebbero non essere gli stessi di un sistema di intelligenza artificiale affidabile in un contesto finanziario.
Queste differenze contestuali, e l’influenza delle caratteristiche del sistema, sono rilevanti per poter progettare un sistema di intelligenza artificiale affidabile in un determinato contesto e, contemporaneamente, in grado di soddisfare le esigenze degli utenti finali, al fine di incoraggiare l’accettazione e l’adozione dello stesso.
Per coloro che non abbiano familiarità con tali considerazioni, tuttavia, la progettazione di sistemi affidabili potrebbe risultare frustrante e, persino, deprimente.
Anche alcuni elementi caratteristici dell’affidabilità, comunemente accettati, possono apparire in contrasto tra di loro. Ad esempio, la trasparenza e la privacy sono spesso in conflitto. Per garantire la trasparenza, è opportuno rivelare agli utenti le informazioni che descrivano adeguatamente le modalità di sviluppo del sistema, viceversa, per garantire la privacy, gli utenti non dovrebbero avere accesso a tutti i dettagli del sistema.
In questi casi è necessario effettuare una negoziazione per determinare come bilanciare gli aspetti che sono in conflitto e quali compromessi dovrebbero essere accettati. In questi casi, il team di sviluppo deve dare priorità all’affidabilità del sistema, alle esigenze degli utenti finali e al contesto di utilizzo, il che può comportare compromessi per altri aspetti del sistema.
È interessante notare che, mentre i compromessi sono una considerazione necessaria quando si progettano e sviluppano sistemi di intelligenza artificiale affidabili, l’argomento è assolutamente assente da molti documenti tecnici che discutono della fiducia e dell’affidabilità dell’IA.
Spesso, l’individuazione del grado di compromesso è delegata agli esperti legali e di etica. Invece, questo lavoro dovrebbe essere condotto dallo stesso gruppo multidisciplinare che sta realizzando il sistema e gli dovrebbe essere data la stessa rilevanza attribuita alle attività per definire gli aspetti matematici o ingegneristiche di questi sistemi.

Esplorare l’affidabilità delle tecnologie IA emergenti

Man mano che le tecnologie di intelligenza artificiale innovative e dirompenti, come Microsoft 365 Copilot e ChatGPT, entreranno realmente nel mercato, ci saranno diversi aspetti che dovranno essere presi in considerazione. Un’organizzazione che decidesse di impiegare una nuova tecnologia AI dovrebbe chiedersi:
  • Qual è l’uso previsto del prodotto di IA?
  1. Quanto è rappresentativo il dataset di addestramento rispetto al contesto operativo?
  2. Come è stato addestrato il modello?
  3. Il prodotto è adatto al caso d’uso?
  4. In che modo le caratteristiche del prodotto si allineano al grado di responsabilità del mio caso d’uso e del mio contesto?
  5. Quali sono i limiti della sua funzionalità?
  • Qual è il processo per controllare e verificare le prestazioni del prodotto di IA?
  1. Quali sono le metriche delle prestazioni del prodotto?
  2. In che modo gli utenti possono interpretare l’output del prodotto?
  3. In che modo il prodotto è continuamente monitorato per guasti e altre condizioni di rischio?
  4. Quali pregiudizi impliciti sono incorporati nella tecnologia?
  5. Come vengono valutati gli aspetti dell’affidabilità? Con quale frequenza?
  6. C’è un modo per far re-addestrare questo strumento da un esperto per implementare politiche di equità?
  7. Sarò in grado di comprendere e controllare l’output dello strumento?
  8. Quali sono i controlli di sicurezza per evitare che questo sistema causi danni? Come possono essere testati questi controlli?
Generalmente, gli utenti finali diventano i primi osservatori dei fallimenti della tecnologia AI e le loro esperienze negative sono indicatori del rischio di deterioramento dell’affidabilità. Pertanto, le organizzazioni che decidessero di implementare e/o utilizzare tali sistemi e, contestualmente, renderli affidabili, dovrebbero supportare gli utenti finali sui seguenti aspetti:
  1. Inserire degli indicatori all’interno del sistema per segnalare quando non funziona come previsto,
  2. Effettuare delle valutazioni sulle prestazioni del sistema nei contesti attuali e nuovi,
  3. Prevedere un alert del sistema quando non funziona dentro un range di affidabilità accettabile,
  4. Acquisire informazioni utili ad allineare le loro aspettative ed esigenze con il potenziale rischio introdotto dal sistema.
Le risposte alle domande introdotte all’inizio di questo paragrafo mirano, da un lato, a chiarire se la tecnologia sia adatta allo scopo previsto e, dall’altro, a verificare se l’utente possa convalidare l’affidabilità su base continuativa. Le organizzazioni possono anche implementare funzionalità tecniche e modelli di governance per incentivare il mantenimento continuo dell’affidabilità dell’IA e fornire piattaforme per testare, valutare e gestire i prodotti AI.

Conclusioni

I concetti illustrati in questo articolo rappresentano una base di partenza per la creazione di un IA affidabile. Occorrerà, ovviamente, condurre ulteriori attività di ricerca e sviluppo per indagare su nuovi metodi, best practices e linee guida per la creazione di un’IA affidabile. Ecco alcuni elementi su cui i ricercatori dell’IA stanno lavorando per la misurazione dell’affidabilità:
  1. Fairness (imparzialità): l’identificazione e la mitigazione dei pregiudizi nei modelli di machine learning (ML) che consenta la creazione di sistemi più equi.
  2. Robustness (robustezza): se i sistemi di intelligenza artificiale non fossero sufficientemente resistenti ai guasti o agli errori, fallirebbero in breve tempo.
  3. Explainability (dimostrabilità): rappresenta un attributo rilevante per un sistema che vuole essere affidabile per tutti gli stakeholders: ingegneri e sviluppatori, utenti finali.
La produzione di sistemi affidabili basati sull’intelligenza artificiale aumenterà l’impatto di questi sistemi in ambito lavorativo e nel supportare altre finalità. Pertanto, è fondamentale incorporare gli obiettivi indicati sin dalla fase di pianificazione iniziale fino al rilascio finale e alla manutenzione del prodotto. Solo in questo modo le aziende potranno raggiungere il massimo potenziale delle aspettative previste dall’IA.