Intelligenza Artificiale: come progettarla e svilupparla nelle imprese e nelle PA?

redazione

Pubblicato da Cefriel, centro di innovazione digitale fondato dal Politecnico di Milano, il nuovo white paper Come si progetta e sviluppa l’Intelligenza Artificiale?”. Il testo – a cura di Diego RagazziDavide Stenner e Manuel Vimercati di Cefriel – a partire da un chiarimento circa il significato di Intelligenza Artificiale e dei diversi tipi di AI, presenta le opportunità e gli ambiti di applicazione di questa tecnologia, per soffermarsi su un aspetto poco trattato, ovvero il diverso approccio e le differenti competenze necessarie per affrontare la progettazione e lo sviluppo di soluzioni che utilizzano l’Intelligenza Artificiale.

Le imprese che desiderano sfruttare al massimo le opportunità offerte da questa tecnologia, realizzando applicazioni affidabili, sicure e robuste, secondo quanto riportato nel white paper, devono infatti comprendere il ciclo di sviluppo dell’AI, che presenta alcune importanti differenze rispetto alle pratiche tradizionali di sviluppo del software.


L’AI – commenta Diego Ragazzi, Data Strategy Lead di Cefriel e autore del white paper – viene sempre più utilizzata dalle imprese per realizzare soluzioni concrete, passando da una fase di sperimentazione a una di rilascio in produzione di applicazioni e sistemi basati su questa tecnologia. In questo contesto, è importante innanzitutto avere chiara la metodologia di approccio alla progettazione di soluzioni di questo tipo, che dovranno anche tenere in considerazione la compliance con quanto stabilito di recente dell’AI Act.

Perché è necessario comprendere il ciclo di sviluppo dell’AI per utilizzarla con successo?

Secondo quanto riportato nel white paper, è fondamentale comprendere l’importanza che, nella realizzazione di soluzioni basate sulla Intelligenza Artificiale, assumono i dati. Lo sviluppo di un modello basato su apprendimento automatico non richiede allo sviluppatore di programmare un algoritmo per risolvere un dato problema, ma di definire le modalità di apprendimento di modello di AI fornendo dati opportunamente selezionati e verificando i risultati ottenuti mediante una severa fase di test. Mentre lo sviluppo software tradizionale, quindi, tende a privilegiare metodologie strutturate e pianificate, lo sviluppo di modelli di Machine Learning è caratterizzato da un approccio maggiormente iterativo e sperimentale, intrinsecamente fatto di tentativi ed errori come parte integrante del processo di apprendimento e ottimizzazione. Infine, se lo sviluppo software tradizionale è basato su algoritmi e regole che producono risposte in linea di principio prevedibili e ripetibili, i modelli di AI generano una risposta probabilistica e richiedono anche la formazione degli utenti finali, per aumentarne la consapevolezza e la confidenza nell’utilizzo di questi sistemi.

Quali sono le peculiarità del ciclo di vita dell’AI?

Il ciclo di vita dell’AI si può definire, secondo il white paper, come il processo iterativo che porta da un problema di business a una soluzione basata su Intelligenza Artificiale che risolve quel problema. Il fatto di usare l’AI non stravolge le fasi fondamentali di qualsiasi sviluppo software, ancora identificabili in progettazionesviluppo e rilascio in produzione. Tuttavia, l’AI introduce alcune importanti differenze,

Applicazioni complesse, per esempio, necessitano di una valutazione generale del rischio prima di procedere allo sviluppo. L’obiettivo, in una fase preliminare alla realizzazione della soluzione, è identificare i principali fattori di rischio, che dovranno poi essere analizzati a fondo nelle fasi successive. Tale valutazione va fatta a livello di sistema complessivo, includendo tutti i componenti dell’applicazione e le interazioni prevedibili con gli utenti finali e, se rilevante, con la società più in generale. L’aspetto di valutazione del rischio assume ancor più importanza alla luce della nascente normativa europea sull’IA.

Per quanto riguarda, poi, la fase di analisi, diventa fondamentale la selezione delle fonti dati, che sono alla base di qualsiasi soluzione di AI. Senza una chiara comprensione dei dati richiesti e della loro composizione, non è possibile realizzare nulla. “Nella nostra esperienza in Cefriel – sottolinea Davide Stenner, uno degli autori del white paper – l’approccio più efficace si basa su sessioni di lavoro strutturato che riuniscono rappresentanti del business e dell’IT, con l’obiettivo non solo di identificare i dati, ma anche di strutturarli in un modello di alto livello che ne evidenzi le relazioni e consenta di verificare se la base informativa esistente risponde alle domande di business che scaturiscono dal caso d’uso in esame”.

La progettazione dell’architettura applicativa si basa sulle buone pratiche di ingegneria del software: in particolare, un’architettura “a strati” ben pensata, che preveda per esempio l’isolamento del modello di AI dagli altri componenti applicativi, renderà più semplice la manutenzione in esercizio, facilitando la determinazione della causa degli eventuali problemi e l’evoluzione applicativa. Tuttavia, un aspetto specifico delle applicazioni basate su AI è costituito dall’ambiente di sviluppo, in quanto l’addestramento dei modelli richiede spesso grandi risorse di memoria e di calcolo.

Le aziende prive di un ciclo di sviluppo di AI consolidato – aggiunge un altro degli autori del white paper, Manuel Vimercati  devono definire anche l’ambiente di sperimentazione e sviluppo, che tipicamente ha requisiti tecnici diversi dall’ambiente di produzione dove verrà installata l’applicazione finale”.

Una volta creati uno o più modelli, si passa alla fase di verifica degli stessi, necessaria per testarli su nuovi dati. “Questo passaggio è particolarmente critico “– conclude Diego Ragazzi. “Sono noti diversi esempi di progetti basati sull’Intelligenza Artificiale finiti male, a dimostrazione che lo sviluppo responsabile deve diventare un obiettivo primario. Il processo di verifica assume, a tal proposito, un ruolo centrale”.