Lo sviluppo di un modello raramente è lineare: baseline che funzionano, modelli più complessi che non migliorano, dati nuovi che arrivano a metà lavoro, metriche che cambiano su richiesta degli stakeholder. In questo scenario, sostiene una guida di Towards Data Science, serve model governance: il framework con cui un team mantiene controllo su experiment tracking, versioning e riproducibilità. È una capacità che molti team considerano solo quando i modelli sono già in produzione, ed è tardi.
Lo strumento proposto è MLflow, piattaforma MLOps open source che standardizza logging e tracking di modelli, metriche e altro. Si installa con pip install mlflow e si avvia un server locale con mlflow server per usarne la UI.
Esperimenti e run
Il concetto base è l’experiment, una sorta di progetto in cui raccogliere tutto il lavoro correlato. Un experiment contiene run, e ogni run registra modello, parametri, metriche, artifact e tag. Nel tutorial, con un semplice modello di regressione, si vede il flusso tipico: mlflow.log_metric() per una metrica come l’R2 aggiustato, mlflow.log_params() per gli iperparametri, mlflow.set_tag() per annotare a cosa serviva il run e mlflow.sklearn.log_model() per il modello stesso. Dalla UI si confrontano i run e si segue l’evoluzione delle versioni.
Ci sono poi automazioni utili. Passando a MLflow i dati di test e la variabile target, mlflow.evaluate() logga automaticamente le metriche, evitando di aggiungerle e rimuoverle a mano a ogni cambio di approccio. Con log_artifact() si salvano visualizzazioni delle performance e con log_input() si tiene traccia dei dataset via via che si aggiungono o rimuovono feature. Per riprodurre un modello basta richiamarlo per nome e versione con l’URI models:/nome/versione, utile anche per ri-addestrare modelli già in produzione. Per chi lavora su Databricks, MLflow è integrato nativamente nella vista Experiments, con funzioni aggiuntive come il tracking per applicazioni GenAI e l’AutoML.
In sintesi
- La model governance — tracking, versioning, riproducibilità — va impostata prima della produzione, non dopo.
- MLflow organizza il lavoro in experiment e run, loggando modelli, metriche, parametri e artifact.
mlflow.evaluate()automatizza le metriche e i modelli si richiamano per nome e versione; su Databricks è integrato nativamente.
Hai qualcosa da aggiungere? Unisciti alla discussione.