Articolo di Andrea Mirabile, Global Director of AI Research, Zebra Technologies
Il settore tecnologico richiede costante aggiornamento e innovazione. Per questo motivo, il team di AI all’interno del Chief Technology Office di Zebra ospita regolarmente dottorandi e professori accademici, che presentano le loro ultime ricerche e intuizioni. Questo permette di essere all’avanguardia sulle ultime tecnologie e sui casi d’uso emergenti, tra cui high-performance computing, edge computing, metaverso, robotica e sistemi autonomi, intelligenza artificiale (AI) e deep learning.
Tra le aree di maggior interesse per Zebra, l’AI, il deep learning e le operazioni di machine learning (ML Ops). In questi ambiti, infatti, è possibile notare progressi nella visione e nell’elaborazione del linguaggio naturale, in particolare nei large language models (LLM), nonché nelle tecniche per migliorare le prestazioni e l’interpretabilità delle reti neurali profonde, delle applicazioni AI e deep learning nel settore manifatturiero, automotive, sanitario e finanziario.
Il retail è un altro settore dove l’AI gioca un ruolo chiave per quanto concerne la risoluzione dei problemi. La tracciabilità dell’inventario, il self-monitoring automatizzato, il miglioramento della precisione nelle attività picking nell’inventario e la semplificazione della gestione dei resi sono solo alcune delle sfide che potrebbero essere risolte con soluzioni di AI, come la computer vision. Non da ultimo, proprio le applicazioni di computer vision potrebbero migliorare significativamente la customer experience. Ad esempio, può essere utilizzata per la gestione delle code, garantendo tempi di attesa più brevi grazie ai sistemi di self-checkout, che rendono il processo più veloce e conveniente, oltre ad assicurare transazioni sicure. Per risolvere queste sfide, bisogna assicurarsi che i processi di ricerca e sviluppo siano i migliori possibili e che le operazioni di ML siano corrette.
In generale, le ML Ops combinano le best practices di sviluppo del software con le soluzioni di machine learning per sviluppare dei modelli di AI. L’obiettivo è migliorare la collaborazione tra data scientist, ingegneri e team IT e automatizzare il processo di implementazione, scalabilità e aggiornamento dei modelli di AI negli ambienti di produzione. Le ML Ops permettono di assicurare che i modelli creati siano implementati, monitorati e aggiornati in modo simile a quanto avviene con lo sviluppo di un software. In questo modo, si garantisce che i modelli funzionino sempre come richiesto dai clienti, forniscano risultati precisi e che possano essere aggiornati secondo le necessità con tempi di inattività minimi o nulli.
Tuttavia, i modelli non sono perfetti e presentano diverse sfide. Per esempio, possono peggiorare le proprie performance nel tempo a causa del cambiamento dei campioni di dati o di fattori ambientali. Per questo è essenziale un monitoraggio costante per garantire che i modelli funzionino sempre come previsto. Inoltre, nella fase di produzione, la gestione dei modelli su diversi dispositivi edge è resa difficile dai diversi meccanismi di aggiornamento dei terminali. La standardizzazione dei framework di implementazione potrebbe garantire aggiornamenti coerenti ed efficienti dei modelli su tutta l’intera gamma di prodotti.
Operazioni di ML comuni e non
I team delle ML Ops si interrogano su come gestire e monitorare i modelli di AI in produzione, su come migliorare la collaborazione tra data scientist, ingegneri e team IT e su come garantire la qualità e l’affidabilità dei modelli di AI in produzione. Si tratta di una tematica che coinvolge l’intera comunità dell’AI, che condivide le sfide e le best practice relative alla scalabilità, al monitoraggio e alla manutenzione dei modelli in produzione.
Sono cinque le aree in cui il contributo delle ML Ops può essere fondamentale: automatizzare il processo di sviluppo, test, implementazione e monitoraggio dei modelli; assicurare la scalabilità dei modelli in base alla domanda; garantire la conformità alle normative e agli standard stabiliti da azienda e clienti; monitorare costantemente le prestazioni dei modelli, l’accuratezza e il data drift; gestire il ciclo di vita end-to-end del modello e fornire trasparenza agli stakeholder.
Sebbene non siano sempre considerate parte delle operazioni di ML, è necessario considerare anche collaborazione, sicurezza privacy. È molto importante adottare strumenti e pratiche che incoraggino la comunicazione e la condivisione delle conoscenze tra i membri dei team di AI. Ciò include l’uso di repository condivisi, la documentazione dei processi e la regolare revisione del codice per garantirne qualità e coerenza. Gli sviluppatori devono essere consapevoli delle implicazioni per la sicurezza e la privacy derivanti dall’implementazione di modelli di machine learning. È importante prevedere controlli di accesso adeguati, tecniche per rendere i dati anonimi e misure di crittografia per proteggere quelli sensibili e impedire l’accesso non autorizzato.
Tre Miti sulle Operazioni di Machine Learning
Riguardo le ML Ops, ci sono anche alcuni miti da sfatare: nonostante molti affermino che le ML Ops siano di esclusiva competenza del team di data science, queste operazioni coinvolgono anche data scientist, sviluppatori, team operativi e altri. Gli sviluppatori dovrebbero partecipare attivamente alla creazione e all’aggiornamento delle operazioni di ML per garantire il successo dell’implementazione e della gestione dei modelli.
Anche affermare che le ML Ops riguardano solo l’implementazione dei modelli in produzione è fuorviante. Sebbene il deployment dei modelli sia un aspetto importante delle ML Ops, non è l’unico, in quanto queste comprendono l’intero ciclo di vita di un modello di machine learning, tra cui la pre-elaborazione e il versioning dei dati, la formazione del modello, l’implementazione, il monitoraggio e la riqualificazione. La costruzione di pipeline di dati – una serie di fasi e processi interconnessi che trasformano i dati grezzi in un formato utilizzabile per le attività di AI – efficiente può migliorare la velocità e l’affidabilità del ciclo di sviluppo. Questo processo comporta la raccolta, la gestione, la pre-elaborazione e la trasformazione dei dati, nonché la loro immissione nei modelli di ML per l’addestramento o l’inferenza. Le pipeline di dati automatizzano queste fasi, garantendo coerenza, riproducibilità e scalabilità nell’elaborazione dei dati.
Infine, è sbagliato credere che le ML Ops siano attività da compiere una volta sola. Le operazioni di ML richiedono un miglioramento e un’iterazione continua. Gli sviluppatori dovrebbero valutare e ottimizzare regolarmente la loro pipeline di ML Ops per adattarsi ai requisiti in continuo cambiamento, alle tecnologie emergenti, alle best practice e agli strumenti in evoluzione. È importante notare che non tutti gli strumenti si adattano a ogni esigenza o caso d’uso nell’implementazione, nel monitoraggio e nella gestione dei modelli di ML. A seconda dei requisiti specifici, dell’infrastruttura e dei vincoli, può essere necessario costruire strumenti personalizzati o in-house per affrontare sfide specifiche o utilizzare una soluzione pronta all’uso. Ad esempio, alcune piattaforme software utilizzano kubernetes e docker per automatizzare e gestire i carichi di lavoro dell’AI, integrati da altri strumenti per monitorare e seguire gli esperimenti, promuovere la collaborazione e facilitare la condivisione delle conoscenze all’interno del team.
La crescita delle ML Ops, con un numero maggiore di team di ricerca e sviluppo che testano e sviluppano soluzioni di questo genere, sarà fondamentale per fare in modo che l’AI generativa diventi una tecnologia davvero trasformativa, con automazione e innovazione che cresceranno notevolemente.