Machine Learning Operations (MLOps)
MLOps applica le pratiche DevOps all'apprendimento automatico: dati con controllo delle versioni, pipeline di addestramento automatizzate, controlli di qualità, distribuzione e monitoraggio del drift.
Le operazioni di machine learning (MLOps) sono l’insieme di pratiche e strumenti per creare, distribuire e gestire in modo affidabile e ripetibile modelli di machine learning (ML) in produzione. Estendono DevOps, che automatizza test e rilascio del software, ai sistemi il cui comportamento dipende anche dai dati, oltre che dal codice: un modello può degradarsi senza che cambi una sola riga, perché è cambiato il mondo che osserva. Il modello in sé è solo una piccola parte di un sistema di questo tipo. La guida all’architettura MLOps di Google osserva che solo una piccola frazione di un sistema ML del mondo reale è costituita da codice ML; raccolta e verifica dei dati, infrastruttura di servizio e monitoraggio costituiscono il resto. L’articolo NeurIPS Debito tecnico nascosto nei sistemi di machine learning ha descritto i costi di manutenzione a lungo termine accumulati da questo sistema circostante.
Pratiche fondamentali#
MLOps collega ingegneria dei dati, sviluppo dei modelli e operations attraverso alcune pratiche, applicate tanto al set di dati di addestramento quanto al codice:
- Versionamento dei dati: A ogni snapshot del set di dati viene assegnata una versione immutabile, così è possibile risalire ai dati esatti che hanno prodotto qualsiasi modello.
- Tracciamento degli esperimenti: Ogni esecuzione di addestramento registra la versione del codice, la versione dei dati, gli iperparametri, le metriche e gli artefatti, così è possibile confrontare e riprodurre i risultati.
- Integrazione continua e delivery: Le pipeline automatizzate testano il codice, convalidano i dati in ingresso, riaddestrano i modelli e bloccano ogni candidato che non supera un controllo di qualità.
- Registro dei modelli: Le versioni approvate dei modelli vengono archiviate con metadati, lineage e fase, per esempio staging o produzione, così le distribuzioni e i rollback fanno riferimento a versioni precise.
- Servizio dei modelli: I modelli vengono impacchettati, spesso in container, ed esposti tramite API o distribuiti su dispositivi edge.
- Monitoraggio dei modelli: Gli input di produzione, le previsioni, la latenza e la precisione vengono monitorati per rilevare il drift e decidere quando riaddestrare.
La guida di Google descrive la maturità su tre livelli. Al livello 0, i data scientist addestrano i modelli e li consegnano manualmente. Il livello 1 automatizza la pipeline di addestramento stessa, aggiungendo l’addestramento continuo (CT), ovvero il riaddestramento e la messa in servizio automatici dei modelli quando arrivano nuovi dati o viene rilevato il data drift. Il livello 2 automatizza anche la creazione, il test e la distribuzione del codice della pipeline tramite CI/CD, in modo che le nuove versioni della pipeline raggiungano la produzione con la stessa sicurezza delle nuove versioni dei modelli. Nel loro insieme, queste pratiche formano un ciclo:
MLOps nella pratica#
- Ispezione nella produzione: Quando una fabbrica aggiunge una linea di prodotti, le immagini dei nuovi difetti vengono etichettate e sottoposte a versionamento; una pipeline riaddestra il modello di rilevamento e la versione approvata viene distribuita alle telecamere edge di ogni linea senza tempi di inattività.
- Monitoraggio degli scaffali nei negozi: Le modifiche al packaging e all’illuminazione dei negozi alterano ciò che vedono le telecamere. Il monitoraggio segnala il calo dei punteggi di confidenza, le immagini con bassa confidenza vengono inviate all’annotazione e il modello riaddestrato viene distribuito nei negozi dopo aver superato la valutazione.
Un controllo di qualità automatizza la decisione di promozione. Lo script seguente addestra un modello candidato di rilevamento degli oggetti, assegna un punteggio al candidato e al modello attualmente in produzione sugli stessi dati di convalida ed esporta il candidato in ONNX solo se il suo mAP50-95 è superiore:
from ultralytics import YOLO
# Addestra un candidato; l’esecuzione salva i pesi, args.yaml e results.csv in project/name
candidate = YOLO("yolo26n.pt")
candidate.train(data="coco8.yaml", epochs=10, project="mlops", name="candidate")
# Controllo di qualità: assegna un punteggio al candidato e al modello in produzione sugli stessi dati di convalida
candidate_map = candidate.val(data="coco8.yaml").box.map
production_map = YOLO("yolo26n.pt").val(data="coco8.yaml").box.map
# Promuovi solo un miglioramento, esportato in un formato supportato dallo stack di servizio
if candidate_map > production_map:
candidate.export(format="onnx")In una pipeline di produzione, uno scheduler o un job CI esegue uno script di questo tipo ogni volta che arrivano nuovi dati etichettati, e il modello esportato viene registrato con la versione dei dati e le metriche. Ultralytics Platform copre questo ciclo di vita dei modelli di visione in un unico workspace, con versioni immutabili dei set di dati, addestramento nel cloud con metriche in tempo reale, esportazione in formati come TensorRT, endpoint di inferenza dedicati e monitoraggio dei modelli distribuiti.
MLOps e termini correlati#
- DevOps: Automatizza la creazione, il test e il rilascio del software, in cui una modifica al codice avvia la pipeline. MLOps aggiunge dati e modelli come risorse sottoposte a versionamento, così anche nuovi dati o un calo della precisione in produzione possono avviarla.
- LLMOps: Il ramo di MLOps dedicato alle applicazioni basate su modelli linguistici di grandi dimensioni, incentrato su prompt, recupero delle informazioni, valutazione del testo generato e costi dei token.
- Machine learning automatizzato (AutoML): Automatizza la creazione di un modello, per esempio la scelta degli algoritmi e degli iperparametri. MLOps gestisce il ciclo di vita che lo circonda, dal versionamento dei dati al monitoraggio, e spesso usa AutoML come fase di una pipeline.
- MLflow e Weights & Biases: Strumenti che coprono parti del ciclo di vita, come il tracciamento e i registri dei modelli. MLOps è la pratica che combina questi strumenti con pipeline, servizio e monitoraggio.










