La necessità di MLOps
Il ciclo di vita dei modelli AI richiede più che addestramento: è necessario versionare dati, tracciabilità degli esperimenti e gestione delle dipendenze. MLOps unifica questi aspetti in un workflow continuo.
MLflow fornisce componenti chiave: Tracking, Projects, Models e Registry. In combinazione con Docker, è possibile creare ambienti isolati e riproducibili per ogni esperimento.
Tracciamento degli esperimenti con MLflow Tracking
Definisci un mlflow.start_run() all’inizio del training. Logga parametri (learning rate, batch size), metriche (loss, accuracy) e artefatti (modello salvato). Il server MLflow consente di visualizzare i risultati in tempo reale.
Creazione di un progetto reproducible
Il file MLproject descrive le dipendenze con Conda o Docker. Utilizzando mlflow run . -P epochs=10, è possibile eseguire lo stesso script in ambienti coerenti su diverse macchine.
Versionamento e deployment del modello
Dopo il training, registra il modello con mlflow.pyfunc.log_model(). Nel registry, ogni versione può essere approvata o deprecata. Per il deploy in produzione, esporta il modello in ONNX e servilo tramite un container Docker con torchserve.
Monitoraggio delle inferenze
Incorporando mlflow.log_metric() all’interno del servizio di inference, è possibile raccogliere dati sul tempo di risposta e sull’accuratezza in produzione. Questi dati alimentano alert automatici quando il modello devia dal comportamento atteso.