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.