
MLflow es la herramienta open source de referencia para gestionar el ciclo de vida de modelos de Machine Learning.
A diferencia de llevar un registro manual de experimentos en hojas de cálculo o comentarios dentro de notebooks, MLflow permite versionar, comparar y desplegar modelos de forma sistemática y reproducible.
Porque el problema real no es entrenar un modelo.
Es recordar qué modelo entrenaste, con qué parámetros, qué métricas obtuvo y cómo reproducirlo tres semanas después.
MLflow resuelve esto con cuatro componentes principales:
Se integra directamente con Python y con unas pocas líneas de código puedes empezar a registrar tus modelos.
Funciona con Scikit-Learn, TensorFlow, PyTorch y prácticamente cualquier framework de Machine Learning.
Sin embargo, para sacar el máximo partido a la herramienta necesitas entender cómo se estructuran los experimentos y los runs, cómo configurar el tracking de métricas y parámetros, y cómo seleccionar automáticamente el mejor modelo para ponerlo en producción.
Esto es lo que aprenderás en esta sesión práctica de 30 minutos.
En la sesión explicamos la arquitectura fundamental de MLflow de forma muy clara, sin necesidad de montar infraestructura compleja.
Todo gira en torno a dos conceptos: experimentos y runs.
Un experimento es como una carpeta que agrupa un tipo de modelo. Puedes tener un experimento para modelos basados en árboles, otro para modelos lineales y otro para recomendaciones.
Dentro de cada experimento, cada ejecución del modelo con unos parámetros concretos es un run.
En cada run puedes registrar prácticamente todo:
.pickle) listo para hacer predicciones,MLflow almacena todo esto en una carpeta llamada mlruns dentro de tu proyecto. Sin bases de datos, sin servidores, sin configuración. Lo cual lo hace perfecto para empezar a experimentar en local y después escalar si lo necesitas.
La parte práctica del tutorial sigue un flujo muy didáctico.
Primero se entrenan dos modelos (regresión logística y Random Forest) sobre un dataset de clasificación binaria, de la forma tradicional: dentro de un notebook, comparando métricas manualmente.
Hasta aquí es lo que haría cualquiera.
Después se introduce MLflow para registrar esos mismos modelos de forma sistemática. Verás cómo usar mlflow.log_metric() para guardar métricas, mlflow.log_params() para los parámetros, y infer_signature para documentar el formato de entrada que espera el modelo.
Este último punto es clave: gracias a la firma, cualquier otra persona de tu equipo puede tomar el modelo, saber exactamente qué estructura de datos necesita como input y empezar a hacer predicciones sin necesidad de leer tu código.
A continuación verás cómo combinar MLflow con un Grid Search.
Se define una parrilla de hiperparámetros para un Random Forest (número de estimadores, profundidad máxima, mínimo de muestras por split) y se entrena el modelo con todas las combinaciones posibles. Cada iteración se registra automáticamente como un run dentro del mismo experimento.
El resultado es un catálogo completo de modelos, cada uno con sus parámetros y métricas, listo para explorar y comparar. Sin apuntar nada a mano, sin perder ninguna ejecución.
Es fácil. Solo tienes que seguir el notebook.
Durante la sesión exploraremos la interfaz de MLflow, que es donde realmente aprecias el valor de tener todo registrado.
Para acceder a ella solo necesitas ejecutar mlflow ui en la terminal. Se abre en el navegador y desde ahí puedes ver todos tus experimentos, entrar en cada run, comparar métricas entre ejecuciones y explorar los artefactos de cada modelo.
En los artefactos encuentras de todo: las dependencias exactas (versiones de Pandas, NumPy, Scikit-Learn...), la firma del modelo, el archivo .pickle listo para producción y cualquier otra cosa que hayas decidido registrar.
Todo sin escribir una línea de código adicional.
La sesión cierra con la parte más relevante para producción: cómo seleccionar automáticamente el mejor modelo de entre todos los que has entrenado.
Usando mlflow.search_runs() puedes consultar todos los runs de un experimento, ordenarlos por la métrica que te interese (accuracy, AUC, o la que necesites) y quedarte con el ganador.
En la industria, a este modelo se le llama champion model: es el que va a producción para hacer predicciones sobre datos nuevos.
El concepto es fundamental en MLOps: pones a competir muchos modelos y el ganador es el que sirve predicciones. Así de simple, así de potente.
🎥 Si quieres aprender MLflow desde cero con un caso práctico y paso a paso, accede al vídeo completo de la sesión.