# MLOps

MLOps o ML Ops è un insieme di pratiche che mira a sviluppare e mantenere i modelli di apprendimento automatico in produzione in modo affidabile ed efficiente. La parola è un composto di "apprendimento automatico" (Machine Learning, ML) e DevOps, la metodologia di sviluppo del software. I modelli di apprendimento automatico sono testati e sviluppati in sistemi sperimentali isolati. Quando un algoritmo è pronto per essere applicato, MLOps coinvolge data scientist, sviluppatori DevOps e ingegneri di Machine Learning per portare l'algoritmo in produzione. Simile agli approcci DevOps o DataOps, MLOps cerca di aumentare l'automazione e migliorare la qualità dei modelli di produzione, concentrandosi al contempo anche sui requisiti aziendali e normativi. Sebbene MLOps sia iniziato come un insieme di best practice, si sta lentamente evolvendo in un approccio indipendente alla gestione del ciclo di vita del ML. MLOps si applica all'intero ciclo di vita, dall'integrazione con la generazione del modello (modello di sviluppo del software, integrazione continua/consegna continua ), orchestrazione e distribuzione, all'integrità, alla diagnostica, alla governance e alle metriche aziendali. Secondo Gartner, MLOps è un sottoinsieme di ModelOps . MLOps si concentra sull'operazionalizzazione dei modelli ML, mentre ModelOps copre l'operazionalizzazione di tutti i tipi di modelli di intelligenza artificiale.
Esplora i principali repository MLOps di GitHub per tenere traccia delle tendenze e delle risorse emergenti.

## Storia

Le sfide dell'uso continuo dell'apprendimento automatico nelle applicazioni sono state evidenziate in un articolo del 2015.
La crescita prevista dell'apprendimento automatico includeva un raddoppio stimato dei progetti pilota e delle implementazioni di ML dal 2017 al 2018 e di nuovo dal 2018 al 2020.
Il progetto open source Kubeflow è stato creato nel 2018 da Jeremy Lewi e David Aronchick presso Google per facilitare MLOps su Kubernetes.
I rapporti mostrano che la maggior parte (fino all'88%) delle iniziative di intelligenza artificiale aziendale sta lottando per andare oltre le fasi di test. Tuttavia, le organizzazioni che hanno effettivamente messo in produzione l'intelligenza artificiale e l'apprendimento automatico hanno visto un aumento del margine di profitto del 3-15%.
Il mercato MLOps è stato stimato a 23,2 miliardi di dollari nel 2019 e si prevede che raggiungerà i 126 miliardi di dollari entro il 2025 grazie alla sua rapida adozione.

## Architettura

I sistemi di Machine Learning possono essere classificati in otto diverse categorie: raccolta dati, elaborazione dati, ingegneria delle feature, etichettatura dei dati, progettazione del modello, addestramento e ottimizzazione del modello, distribuzione agli endpoint e monitoraggio degli endpoint. Ogni fase del ciclo di vita dell'apprendimento automatico è costruita nel proprio sistema, ma richiede interconnessione. Questi sono i sistemi minimi di cui le aziende hanno bisogno per scalare l'apprendimento automatico all'interno della loro organizzazione.

## Obiettivi

Ci sono una serie di obiettivi che le aziende vogliono raggiungere attraverso i sistemi MLOps implementando con successo il ML in tutta l'azienda, tra cui:
* Distribuzione e automazione
* Riproducibilità di modelli e previsioni
* Diagnostica
* Governance e conformità normativa
* Scalabilità
* Collaborazione
* Usi aziendali
* Monitoraggio e gestione
Una pratica standard, come MLOps, tiene conto di ciascuna delle suddette aree, che può aiutare le aziende a ottimizzare i flussi di lavoro ed evitare problemi durante l'implementazione.
Un'architettura comune di un sistema MLOps includerebbe le piattaforme di data science in cui vengono costruiti i modelli e i motori analitici in cui vengono eseguiti i calcoli, con MLOps che orchestra il movimento di modelli, dati e risultati di apprendimento automatico tra i sistemi.