E se i progetti MLOps (Machine Learning Ops) fossero il cavallo di Troia per spingere anche gli ultimi a migrare al cloud? È quello che si sta domandando il team di BeSharp, “partner of the year” 2022 di AWS. Diventata una specialista in consulenze “powerpointless”, quest’azienda sta osservando una maturata consapevolezza data-driven sul mercato italiano. Tanto evidente, da farle venire la tentazione di aprire una nuova business unit, oltre alle due con cui è cresciuta finora.
Complessità ed esigenze di un progetto MLOps
Lasciando a BeSharp le decisioni di business, lato tecnologie è importante soffermarsi su opportunità e sfide che fioriscono assieme a questo trend. L’assonanza con “DevOps” non deve ingannare né illudere, non si può fare un “lift and shift” della strategia cloud, va ripensata quasi totalmente. Le ragioni vedremo che sono sia tecnologiche che infrastrutturali, ma l’obiettivo è unico: utilizzare al meglio i dati a disposizione.
Davanti a un’ondata di progetti MLOps, Simone Merlini, CEO e CTO di BeSharp, osserva che “sta succedendo proprio come per DevOps tempo fa, ma con caratteristiche più intense, perché coinvolge i data scientist, solitamente più estranei all’informatica rispetto ai developers. Aumenta, quindi, il rischio di amplificare le bad practice e il deployment gap”. Competenze a parte, ciò che rende davvero impossibile trattare un progetto MLOps, aggiustando un approccio DevOps, è l’aumento delle dimensioni su cui esso si articola. “Si passa da una a tre, si devono fare i conti con una variabilità che riguarda data, model e code. Sono aspetti molto correlati tra loro, quindi ogni volta che c’è una variazione su un solo fronte, anche gli altri devono essere ‘aggiustati’. È un continuo ri-deployment, ri-training”.
In tal senso, spesso può essere utile creare degli automatismi ad hoc, che possano prevenire il rischio di errore umano, in questo caso molto più probabile.
Introdotta l’automation, con il suo strascico di complessità legate a ogni innovazione, è necessario mettere mano anche alla parte di infrastruttura. “Con tre dimensioni intercorrelate, per fare back testing o fine tuning degli hyperparameters di un progetto ML, può capitare di dover lanciare anche 100 simulazioni in parallelo su uno stesso dataset, per fare più velocemente. Ciò significa, su storage, essere in grado di leggere e scrivere con 10 operatori contemporaneamente. È quindi necessario avere un’infrastruttura di calcolo che supporti 10 flussi in contemporanea senza esplodere, o procurarsela senza pagare un prezzo maggiore del necessario” spiega Merlini.
Le sfide di un cloud “a prova di data scientist”
Se in un progetto DevOps, un buon utilizzo del cloud dà una mano, in uno con più variabilità e più “dimensioni” a cui badare, diventa necessario e particolarmente delicato. Un errore o una semplice inefficienza, secondo BeSharp, possono impattare dieci volte di più.
“In un modello DevOps, il cloud aiuta a gestire l’intero ciclo di vita di un progetto software. Se si tratta di MLOps, invece, siamo di fronte a un progetto vivo e che si evolve, non più su una sola dimensione ma su tre, non ortogonali ma interconnesse. Per supportare il ciclo interattivo di training e tuning continuo, e i necessari aggiornamenti, serve un nuovo approccio e un nuovo mindset, ma anche delle soluzioni tecnologiche adeguate” spiega Merlini.
Un progetto MLOps avrà bisogno di una potenza di calcolo maggiore, per esempio, e le risorse solitamente valide per il lavoro DevOps, non sempre bastano. “Potrei aver bisogno anche di cluster giganti. Vista la natura iterativa e dinamica di questa fase, il cloud deve potermi fornire una potenza di calcolo maggiore e anche istantanea, a disposizione su richiesta, velocemente e senza preavviso” precisa Merlini. Prospettato questo scenario, il pensiero vola ai costi, molto spesso, ma da quel punto di vista dovrebbero esistere strumenti e offerte per contenerli.
Il rischio è, più che altro, “contenere” i data scientist e il loro desiderio di migliorare un modello e la sua accuratezza, letteralmente “a ogni costo”. Meglio fermarsi a valutare fino a che punto ne vale la pena, mettendo sulla bilancia la spesa per il computing e il reale miglioramento sull’accuratezza ottenibile.
Anche sulla governance, Merlini lancia un alert, definendolo un “punto critico” spesso trascurato dai data scientist, più interessati e competenti su dati, modello e contesto che sull’informatica. Abituati a far girare un algoritmo sulla propria macchina, il rischio è che lo mandino in produzione, in modo non sufficientemente sicuro e governato”.
Più data scientist ho, più si moltiplica questo rischio, come quello legato agli accessi. Devono poter essere gestibili in modo flessibile, e regolati da una precisa governance per la sicurezza dei dati. Un altro pericolo, a livello di cybercrime, riguarda il percorso compiuto dai dati. Subiscono molti passaggi dall’estrazione dalla sorgente all’arrivo nel data lake, poi, ogni volta che vi entrano e vi escono meno grezzi, restano esposti. Secondo il team di BeSharp, per un progetto MLOps è essenziale impostare una governance e una strategia di security molto puntuali fin da inizio. Entrambe “by design”, quindi. “Possono servire diversi giorni, può sembrare esagerato, ma è importante sistemare subito le impostazioni, tenendo conto dei vari stakeholder. Agire dopo è complesso, e non porta gli stessi risultati”.
IoT, lì dove il cloud può dare il meglio di sé
Progetti MLOps più complessi, quindi, ma anche più frequentemente presenti nel panorama italiano dal punto di osservazione di BeSharp. Alcuni richiedenti hanno le idee chiare, desiderano unicamente un aiuto sul cloud. Altri necessitano di un supporto anche sul lato del machine learning, per cui BeSharp si appoggia a un partner competente in materia.
In comune, resta il voler “spremere” tutto il possibile dai dati. Un desiderio sempre più potente e che riesce a superare le diffidenze verso il cloud, racconta Merlini, notando che in questo caso i vantaggi sono più evidenti e concreti che in altri. Queste sfide MLOps, quindi, diventano, per i più restii, un’occasione per avvicinarsi al paradigma della nuvola, per poi comprenderne i benefici anche meno evidenti.
Molto spesso si tratta di progetti legati all’IoT, tecnologia che democratizza ed estende l’uso dei dati anche a contesti non sempre all’avanguardia, o nel bel mezzo della propria digital transformation. Merlini spiega: “Solitamente, in progetti data-driven, si hanno 5 fasi: dalla raccolta dei dati, si passa alla source ingestion, alla gestione dello storage, all’estrazione del valore, fino alla sua presentazione, tramite piattaforma o API. Nel mondo dell’IoT si massimizza questa catena del valore, il cloud riesce ad apportare miglioramenti operativi in ogni fase. Per alcune realtà, un progetto MLOps è spesso il primo touchpoint col cloud, gli altri vantaggi meno percepibili ai non esperti, possono emergere dopo”.