Application Maintenance al servizio dell’Intelligenza Artificiale: nasce MLOps
Di Roberto Grassi, Data Governance & AI Side Group - pubblicato il 29/05/2024
Application Maintenance al servizio dell’Intelligenza Artificiale: nasce MLOps
Di Roberto Grassi, Data Governance & AI Side Group - pubblicato il 29/05/2024
Di Roberto Grassi, Data Governance & AI Side Group
pubblicato il 29/05/2024
Adottiamo l'MLOps nello sviluppo di modelli di Intelligenza artificiale e machine learning per lo stesso motivo per cui abbiamo adottato il DevOps: accelerare la produzione tramite pratiche di integrazione e implementazione continua.
Adottiamo l'MLOps nello sviluppo di modelli di Intelligenza artificiale e machine learning per lo stesso motivo per cui abbiamo adottato il DevOps: accelerare la produzione tramite pratiche di integrazione e implementazione continua.
MLOps significa anche implementazione di adeguati processi di monitoraggio, convalida e governance dei modelli: ovvero di come strutturare un servizio efficace di appliction management di modelli di Machine-learning e intelligenza artificiale.
La manutenzione di agenti "intelligenti" richiede qualcosa in più della manutenzione di software convenzionali: questo qualcosa in più è la "validazione continua".
Quando abbiamo a che fare con un software il suo comportamento è generalmente trasparente: se conosciamo il linguaggio in cui è stato scritto, possiamo leggere il codice riga per riga e comprendere come funziona: possiamo descrivere in dettaglio (e in linguaggio naturale) come mai, dato un certo INPUT, esce un certo OUTPUT.
Questa relazione è trasparente, immutabile nel tempo.
Per gli agenti "intelligenti" le cose non vanno nello stesso modo.
Anche un agente intelligente ha alla base del codice (generalmente uno script in linguaggio python). Possiamo "leggere" questo script e comprenderlo, ma non è che un passaggio intermedio. Questo codice non ci dirà nulla su come si comporta il modello finale, ovvero sulla relazione tra INPUT e OUTPUT. Questo perché lo scopo di questo script è lanciare l'allenamento.
Il risultato di questo allenamento è il vero agente intelligente (ad esempio una rete neurale allenata), non leggibile come un codice. Quello che abbiamo a disposizione è un insieme di parametri di contorno (non sempre intuitivi nella interpretazione) e di pesi che "misurano" quando ogni variabile di INPUT pesa nel definire l'OUTPUT finale.
D'altronde usiamo questi algoritmi / modelli proprio perché il sistema che stiamo analizzando non è riconducibile a una semplice equazione che lo descriva. Questo modello intelligente va quindi "validato" integrando la lettura di pesi e parametri con l'applicazione del modello a un campione di riferimento consistente.
Guardiamo come funziona l'algoritmo e giudichiamo se risponde ai requisiti che avevamo dato agli sviluppatori: lo stiamo validando. Una volta validato possiamo rilasciarlo in produzione e farlo funzionare.
Qui interviene un aspetto in cui i modelli "intelligenti" si differenziano.
Uno dei tratti che ci fanno parlare di intelligenza nel caso degli umani è la capacità/disponibilità a cambiare idea. Il contrario di questa disponibilità lo chiamiamo appunto ottusaggine che ha il sapore della poca intelligenza. I modelli "intelligenti" sono quindi tali anche perché grazie ai ri-allenamenti continui cambiano il loro comportamento in funzione del contesto. Ma come cambia il suo comportamento un modello? È ancora quello che ci aspetteremmo?
Questi modelli richiedono quindi una validazione continua intesa come:
- monitoraggio continuo a cura del servizio di manutenzione
- riconvalida da parte di un utente quando il cambiamento è oltre una soglia concordata
Se il comportamento del "nuovo modello" si discosta dal comportamento accettabile allora bisogna ritornare al team di sviluppo.
Il cambiamento nei servizi di manutenzione non è quindi solamente in termini di impegno erogato o di nuove tecnologie da imparare, quanto di competenze sempre più di carattere funzionale che ci permettono di monitorare il comportamento degli agenti intelligenti.
Sempre più le competenze STEM vanno a integrarsi con le competenze di natura sociale e comportamentale per creare figure professionali della manutenzione in grado di dare un supporto completo delle esigenze degli u
