Fundamentos de MLOps y tracking de modelos

1

¿Qué es MLOps y para qué sirve?

2

Tracking de modelos en localhost con MLflow

3

Tracking de modelos en localhost: directorio personalizado

4

Etapas del ciclo de MLOps

5

Componentes de MLOps

6

Tracking de modelos con MLflow y SQLite

7

Tracking de modelos con MLflow en la nube

Tracking del ciclo de vida de modelos de machine learning

8

Tracking de experimentos con MLflow: preprocesamiento de datos

9

Tracking de experimentos con MLflow: definición de funciones

10

Tracking de experimentos con MLflow: tracking de métricas e hiperparámetros

11

Tracking de experimentos con MLflow: reporte de clasificación

12

Entrenamiento de modelos baseline y análisis en UI de MLflow

13

MLflow Model Registry: registro y uso de modelos

14

Registro de modelos con mlflow.client

15

Testing de modelo desde MLflow con datos de prueba

16

¿Para qué sirve el tracking de modelos en MLOps?

Orquestación de pipelines de machine learning

17

Tasks con Prefect

18

Flows con Prefect

19

Flow de modelo de clasificación de tickets: procesamiento de datos y features

20

Flow de modelo de clasificación de tickets: integración de las tasks

21

Flow de modelo de clasificación de tickets: ejecución de tasks

22

¿Cómo se integra la orquestación en MLOps?

Despliegue de modelo de machine learning

23

Despligue con Docker y FastAPI: configuración y requerimientos

24

Despligue con Docker y FastAPI: definición de clases y entry point

25

Despligue con Docker y FastAPI: procesamiento de predicciones en main app

26

Despligue con Docker y FastAPI: configuración de la base de datos

27

Despliegue y pruebas de modelo de machine learning en localhost

28

Despliegue y pruebas de modelo de machine learning en la nube

29

¿Qué hacer con el modelo desplegado?

Monitoreo de modelo de machine learning en producción

30

¿Cómo monitorear modelos de machine learning en producción?

31

Entrenamiento de modelo baseline

32

Preparar datos para crear reporte con Evidently

33

Análisis de la calidad de los datos con Evidently

34

Creación de reportes con Grafana

35

¿Cómo mejorar tus procesos de MLOps?

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

MLflow Model Registry: registro y uso de modelos

13/35
Recursos

¿Cómo crear inferencias con modelos en MLflow?

Crear inferencias con modelos en MLflow es un proceso sencillo y eficaz gracias a su integración con Scikit-Learn. Este flujo de trabajo nos permite cargar el modelo como una instancia y aplicar métodos comunes para obtener predicciones, parámetros y más. Aquí te guiaremos paso a paso para utilizar esta potente herramienta.

¿Qué es MLflow y cómo lo integramos?

MLflow es una plataforma que proporciona un flujo de trabajo unificado para manejar el ciclo de vida completo de Machine Learning.

  • Carga del modelo: Se utiliza el método load_model de MLflow para cargar el modelo, permitiendo tener acceso a métodos tradicionales de Scikit-Learn, como .predict, .getParams, entre otros.

  • Verificación de datos: Asegúrate de que la dimensión de los datos iniciales y las etiquetas sea la misma antes de proceder con las predicciones. Esto se recomienda hacer con un assert.

¿Cómo registrar y conectar experimentos?

Registrar modelos y experimentos en MLflow es esencial para tener un visibilidad clara de cada etapa del proceso de ML.

  • Registro de experimentos: Puedes crear nuevos experimentos, por ejemplo, regression models, lo cual se asocia a un nuevo ID de experimento. Luego, puedes ejecutar estos experimentos para generar resultados.

  • Conexión del cliente: Utiliza MLflow para conectarte con tu cliente o base de datos backend, previamente configurados, para buscar y gestionar tus experimentos.

¿Cómo manejar el registro de modelos?

Registrar modelos dentro de MLflow permite monitorear su estado, ya sea en "staging" o en producción.

  • Promoción de modelos: Ve a la interfaz de MLflow y registra los mejores modelos. Puedes crear tags como "regression classifier" para identificarlos y proporcionar descripciones detalladas.

  • Configuración de estados: Asigna estados temporales como "staging" para modelos que están en pruebas antes de su implementación definitiva en producción. Esto facilita la transición y garantiza que los modelos más efectivos lleguen al entorno productivo.

¿Cuáles son las mejores prácticas para el uso de MLflow?

  • Optimización de métricas: Asegúrate de que los modelos optimicen las métricas relevantes para el problema de negocio que estás resolviendo.

  • Comparación de modelos: Anota y compara múltiples configuraciones para determinar cuáles ofrecen las mejores soluciones.

  • Descripciones detalladas: Incluye en las descripciones todas las características y métricas de optimización para facilitar la identificación y transición de estados.

MLflow es una herramienta robusta que, combinada con Scikit-Learn, permite un monitoreo eficiente y gestión profesional del ciclo de vida de los experimentos en Machine Learning. Con estas prácticas, estarás preparado para optimizar tus modelos y avanzar en tus proyectos de manera efectiva.

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Stage ya aparece Deprecado. A continuación dejo el enlace con la info acerca del tema: <https://www.mlflow.org/docs/latest/model-registry.html#migrating-from-stages>
MLflow Model Registry sirve, principalmente, para promover el estado del registro de los modelos (establecer su transición a “Staging”, “Production” o “Archived”) y compartir su estado con los miembros del equipo, de manera que se puedan realizar las pruebas unitarias y continuar el proceso de despliegue de los modelos con mejor desempeño. Además, MLFlow también es útil para: * Describir el modelo: * Hacer inferencias con el modelo * Consultar sus parámetros * Conectarnos con el cliente y revisar los experimentos, con sus ID’s * Las corridas y los artefactos asociados a cada experimento