I progressi nell’apprendimento automatico e nella scienza dei dati hanno portato alla creazione di nuove filiali. Le nuove specializzazioni sono spesso radicate negli stessi principi di base e hanno funzionalità sovrapposte. Ad esempio, MLOps e DevOps. In questo articolo, discutiamo perché i due sono diversi e non possono essere usati in modo intercambiabile.

DevOps: sviluppo + operazioni
DevOps è emerso come una strategia mainstream per le principali aziende di tutto il mondo, tra cui Accenture, Tech Mahindra e Oracle. DevOps è l’unione di sviluppo e operazioni.

 

Nello scenario consueto, molti team che sviluppano software in genere dedicano più tempo alla distribuzione che allo sviluppo di nuove funzionalità. È qui che torna utile DevOps, dove riduce la barriera tra Sviluppo e Operazioni, aumentando così l’autonomia di sviluppo. Consente la comunicazione tra gli sviluppatori di software e l’IT per una consegna più rapida dei processi software.

In alcuni casi, anche i team di controllo qualità e sicurezza sono strettamente integrati con i team di sviluppo e operativi. Quando la sicurezza è l’obiettivo del team DevOps, viene definita DevSecOps. I team automatizzano i processi per eseguire attività manuali. 

MLOps: derivazione di DevOps
Di recente, Andrew Ng ha parlato di come la comunità di machine learning può sfruttare gli strumenti MLOps per creare set di dati di alta qualità e sistemi di intelligenza artificiale ripetibili e sistematici. Ha chiesto di spostare l’attenzione dallo sviluppo del machine learning incentrato sul modello a quello incentrato sui dati. Andrew ha anche affermato che, in futuro, MLOps può svolgere un ruolo importante nell’assicurare un flusso di dati coerente e di alta qualità in tutte le fasi del progetto.

Fino al 90% dei dati totali di cui disponiamo oggi è stato generato negli ultimi anni. I Big Data aiutano a sviluppare intuizioni fruibili ma allo stesso tempo pongono alcune sfide come: acquisizione e pulizia di dati di grandi dimensioni; monitoraggio e controllo delle versioni per i modelli; implementazione di pipeline di monitoraggio per la produzione; scalare le operazioni di machine learning.

L’approccio MLOps può aiutare a risolvere queste sfide. MLOps è l’unione di DevOps, machine learning e ingegneria dei dati. Basate sull’approccio esistente di DevOps, le soluzioni MLOps sono sviluppate per ridurre gli sprechi, facilitare l’automazione ed estrarre informazioni più ricche e coerenti in un progetto di machine learning.

Vantaggi:

 MLOps aiuta a costruire una strategia di apprendimento automatico efficiente per un’azienda combinando la conoscenza aziendale del team operativo di un’organizzazione con l’esperienza del team di data science per ottenere il massimo beneficio.

MLOps automatizza lo sviluppo e la distribuzione del modello. Ciò consente un rilascio più rapido e una riduzione dei costi operativi, con conseguente agilità aziendale e processo decisionale più rapido.
MLOps mette il team operativo in prima linea nel processo normativo. Questo è importante perché le intuizioni ottenute dai dati non avranno alcun fondamento se si ignorano le pratiche standard e le normative.
MLOps facilita la collaborazione tra le operazioni e il team di dati per ottimizzare la divisione del lavoro.
Le fasi chiave di MLOps includono: raccolta dati, analisi dei dati, preparazione e trasformazione dei dati, formazione e sviluppo del modello, servizio del modello, monitoraggio del modello e riaddestramento del modello.
MLOps consente la sperimentazione con diverse impostazioni.
“Credo che l’hype sia reale. C’è una crescente domanda di persone che hanno esperienza nella gestione del ciclo di vita del modello e nell’implementazione del modello, ecc. Questo è leggermente diverso dalla necessità di data scientist o data engineer; entrambi sono ancora necessari per la piena capacità di analisi in un team”, ha affermato Nikhil Dhawan , Direttore dell’ingegneria, MLOps presso Dentsu International in una precedente intervista con Analytics India Magazine.

DevOps vs MLOps
MLOps è una propaggine di DevOps. In MLOps, i principi e i flussi di lavoro DevOps vengono applicati alle operazioni di machine learning. Implementa pipeline e automazione per il flusso regolare delle operazioni di formazione e l’integrazione dei modelli finali nei prodotti software.

Quando si tratta di test, MLOps richiedono metodi aggiuntivi oltre a ciò che viene fatto per DevOps e DevSecOps. Potrebbe richiedere passaggi come la convalida dei dati, la convalida del modello e il test della qualità del modello. Quando si tratta di distribuzione, a seconda del tipo di modello ML, lo sviluppatore deve impostare pipeline per la gestione e la formazione continua dei dati; ciò richiede pipeline a più fasi per gestire le fasi di riqualificazione, la verifica e i processi di ridistribuzione.

Un’altra area in cui MLOps è diverso da DevOps è nel modo in cui vengono costruite le pipeline CD/CI . In MLOps, i componenti CI sono estesi ai processi di test e validazione; I componenti CD supportano l’implementazione di pipeline di addestramento e la previsione del modello finale. Oltre a questo, esiste un altro componente chiamato test continuo (CT) per il riaddestramento e il perfezionamento automatici del modello.

Di ihal