Machine Learning Operations (MLOps)
Scopri la potenza di MLOps: ottimizza la distribuzione dei modelli ML, automatizza i flussi di lavoro, garantisci l'affidabilità e scala il successo dell'IA in modo efficiente.
Il Machine Learning Operations (MLOps) è un insieme di pratiche, principi e tecnologie che semplifica il processo
di trasferimento dei modelli di machine learning (ML) dallo
sviluppo sperimentale alla distribuzione affidabile in produzione. Combinando la natura esplorativa della scienza dei dati con la
rigorosa disciplina del DevOps, MLOps mira a unificare il ciclo di rilascio delle
applicazioni di intelligenza artificiale (AI).
Mentre lo sviluppo tradizionale di software si concentra principalmente sul versioning del codice, MLOps introduce
ulteriori complessità nella gestione di dati su larga scala e nell'evoluzione dei comportamenti dei modelli. Questo approccio olistico garantisce che i
sistemi di AI rimangano scalabili, accurati e governati durante il loro intero ciclo di vita.
The Pillars of MLOps
Successful MLOps implementations rely on bridging the gap between three distinct disciplines: data engineering,
machine learning, and DevOps.
-
Continuous Integration and Delivery (CI/CD): Just as standard software uses
CI/CD pipelines to automate testing and
deployment, MLOps pipelines automate model training and validation. This ensures that changes to the code or data
automatically trigger steps to verify
model performance before updates reach
production.
-
Data and Model Versioning: In traditional coding, you only version the source code. In MLOps, teams
must use tools like DVC (Data Version Control) to track changes in
training data alongside the model hyperparameters.
This guarantees
reproducibility,
allowing engineers to recreate any specific model version from history.
-
Continuous Monitoring: Once deployed, models can degrade due to
concept drift, where the statistical properties of the
target variable change over time. MLOps involves setting up
observability systems to track metrics like
inference latency and accuracy, automatically
alerting teams when retraining is necessary.
Applicazioni nel mondo reale
MLOps è la spina dorsale dell'intelligenza artificiale aziendale moderna, che consente alle aziende di scalare in modo affidabile da un singolo modello a migliaia di
endpoint distribuiti.
-
Manutenzione predittiva nella produzione: le fabbriche utilizzano la
visione artificiale per identificare i difetti sulle
linee di assemblaggio. Una pipeline MLOps garantisce che, con l'introduzione di nuove linee di prodotti, i
modelli di rilevamento degli oggetti vengano riqualificati con nuove
immagini, versionati e distribuiti automaticamente sui dispositivi edge della fabbrica senza tempi di inattività. Ciò garantisce che il
controllo qualità
rimanga coerente anche al variare delle condizioni di produzione.
-
Inventario intelligente nel settore retail: i rivenditori utilizzano telecamere per track le scorte track . Poiché l'illuminazione dei negozi e
il packaging dei prodotti cambiano frequentemente, la deriva del modello è un
rischio costante. I sistemi MLOps monitorano i
punteggi di affidabilità; se l'affidabilità diminuisce, il sistema
segna le immagini per l'annotazione e avvia un ciclo di riqualificazione sul cloud, inviando un modello aggiornato ai negozi per
mantenere la gestione automatizzata dell'inventario.
Implementazione di MLOps con Ultralytics
Un passaggio fondamentale in qualsiasi flusso di lavoro MLOps è il
monitoraggio degli esperimenti. Ciò garantisce che ogni
esecuzione di addestramento venga registrata con la sua configurazione specifica, consentendo ai team di riprodurre i risultati o di ripristinare le versioni precedenti
se necessario.
L'esempio seguente mostra come addestrare un
modello YOLO26, l'ultimo modello all'avanguardia di
Ultralytics per tutti i nuovi progetti, abilitando al contempo il tracciamento del progetto. Questo crea naturalmente gli artefatti
necessari per una pipeline di produzione.
from ultralytics import YOLO
# Load the YOLO26 model (recommended for superior speed and accuracy)
model = YOLO("yolo26n.pt")
# Train the model while specifying project and name for organized logging
# This creates a structured directory of artifacts (weights, charts, args)
# which is essential for reproducibility in MLOps pipelines.
results = model.train(data="coco8.yaml", epochs=10, project="mlops_experiments", name="run_v1")
Organizzando le sessioni di formazione in progetti specifici, i team possono integrare facilmente strumenti come
MLflow o
TensorBoard per visualizzare le metriche delle prestazioni nel
tempo. Man mano che le organizzazioni crescono, spesso migrano questi flussi di lavoro sulla
Ultralytics , che fornisce un'interfaccia unificata per la gestione dei
set di dati, la formazione da remoto e l'implementazione di modelli in vari formati come
TensorRT per una velocità di inferenza ottimizzata.
MLOps e concetti correlati
Per implementare queste pratiche in modo efficace, è importante distinguere MLOps dai termini correlati nell'ecosistema.
-
MLOps vs. DevOps: DevOps si concentra sulla
distribuzione continua di applicazioni software. MLOps estende questi principi aggiungendo "Dati" e
"Modello" come elementi di primaria importanza. In DevOps, una modifica al codice attiva una build; in MLOps, anche una modifica nella distribuzione dei dati
o un calo di precisione possono attivare una
nuova esecuzione della pipeline.
-
MLOps vs. Model Serving:
Il Model Serving si riferisce specificatamente all'
infrastruttura utilizzata per ospitare un modello ed elaborare le
richieste di inferenza. MLOps è il termine più ampio
che comprende il serving, ma include anche le fasi di formazione, governance e monitoraggio.
-
MLOps vs. AutoML:
L'apprendimento automatico (AutoML)
si concentra sull'automazione del processo di creazione dei modelli (ad esempio, la selezione degli algoritmi). MLOps gestisce il ciclo di vita di quel
modello dopo che è stato creato e rende operativa la pipeline che esegue gli strumenti AutoML.