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

Tracking de modelos en localhost: directorio personalizado

3/35
Recursos

¿Cómo gestionar un seguimiento local de experimentos con MLflow?

La capacidad de rastrear y gestionar experimentos es fundamental en Machine Learning. MLflow es una herramienta poderosa para este propósito, permitiéndonos organizar y seguir el progreso de nuestros experimentos de manera eficiente. A través de esta guía exploraremos cómo gestionar un seguimiento de experimentos en local, utilizando un folder URI para almacenar los resultados. Este enfoque ofrece una gran flexibilidad en la gestión de experimentos y es un paso fundamental hacia el manejo más avanzado de proyectos de Machine Learning.

¿Cuál es el procedimiento para establecer una carpeta de rastreo personalizada?

Configurar una carpeta de rastreo personalizada en MLflow nos permite definir explícitamente dónde almacenar nuestros experimentos, facilitando una organización más clara y eficiente.

  1. Creación de una carpeta de experimentos:
  • En el directorio donde estés trabajando, crea un subfolder a nivel de módulo de tracking.
  • Nómbralo de manera única para evitar confusiones, por ejemplo, experiment.ml.
  1. Configuración del código:
  • Copia el código base con el que trabajas.
  • Importa las librerías necesarias y asegúrate de detener cualquier proceso en curso de MLflow con mlflow.end_run().
  1. Ejecución del experimento:
  • Corre el código, prestando atención a posibles errores relacionados con la identificación de experimentos. Si aparece un conflicto de ID, verifica que la carpeta por defecto mlruns esté eliminada.

¿Cómo visualizar los resultados almacenados en la carpeta local?

Una vez configurada y ejecutada la experimentación, es crucial poder visualizar los resultados para analizar y tomar decisiones informadas. En MLflow, esto se logra fácilmente mediante el uso de su interfaz de usuario.

  1. Ejecutar el comando en la terminal:
  • Asegúrate de estar dentro de la carpeta experiment.ml.
  • Copia el comando necesario en la terminal para abrir la interfaz.
  • Asegúrate de estar en el directorio adecuado cuando lo ejecutes.
  1. Navegación en el navegador:
  • Copia la dirección con el puerto proporcionado al ejecutar el comando.
  • Pégalo en el navegador de tu preferencia para abrir la interfaz de MLflow y observar tus experimentos.

Estas operaciones nos permiten visualizar el historial de rastreo, los parámetros, métricas y artefactos de cada ejecución.

¿Qué ventajas ofrece usar MLflow de manera local?

El uso de MLflow de forma local proporciona varias ventajas que optimizan la manera en que gestionamos nuestros proyectos de Machine Learning:

  • Control sobre el entorno de experimentación: Personaliza y controla tu flujo de trabajo sin depender de una conexión a Internet.
  • Organización eficiente: Clasificación y rastreo organizado de múltiples experimentos en un solo lugar.
  • Simulación de entornos de producción: Permite un contexto seguro para probar configuraciones antes de implementarlas en un entorno de producción.
  • Fácil integración con herramientas futuras: Aunque se trabaje localmente, es posible integrar MLflow con plataformas basadas en la nube para compartir experimentos con facilidad, mejorando la colaboración dentro de equipos.

Este enfoque local es un cimiento fuerte para avanzar en la integración con servicios en la nube, lo cual añadirá capacidades adicionales y facilitará el trabajo en equipo. Con el dominio de este procedimiento, estás un paso más cerca de convertirte en un profesional del Machine Learning completamente capacitado. Sigue explorando las capacidades de MLflow y expande tus habilidades en este emocionante campo.

Aportes 5

Preguntas 3

Ordenar por:

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

Cuando quieran cambiar la URI (O dirección en donde se guardarán los experimentos, recuerden que el comando es

mlflow ui --backend-store-uri [path_a_la_nueva_carpeta]

Y en lugar de [path_a_la_nueva_carpeta], copian la direccion del folder donde quieren guardar los experimentos, en mi caso el comando es

mlflow ui --backend-store-uri /home/santi/Mlops-platzi/tracking/experiment_ml
* **Resumen**: ## ■■■■■■■ * El **Backend Stor**e es un componente core el módulo de tracking, donde mlflow almacena la metadata para las corridas de cada experimento, por defecto mlflow almacenrá la data en ``./mlruns`` pero podemos guardar esta metadata en bases de datos también. * Si quisieramos correr el UI de mlflow para gestionar las métricas en un archivo podemos ejecutar `` `mlflow ui --backend-store-uri {file:/my/local/dir}` `` * En server: mlflow server `` `--backend-store-uri sqlite:///mydb.sqlite`. `` Es posible conectarse a diferentes servicios, desde databricks, abses de datos hasta servidores con puertos HTTP, especificados. **Referencia:** \[<u>Backend Store</u>]\(<u>https://mlflow.org/docs/latest/tracking/backend-stores.html</u>)
Les dejo la ruta editable para mlflow, solo es reemplazar lo que está entre <> con su ruta `mlflow ui --backend-store-uri file:///<ruta de la carpeta con los runs>`
Tener en cuenta que, al definir un URI personalizado, `mlflow`presenta error en rutas tipo windows de la forma `C:\\users\platzinauta\my_path`. Para manejar el error, es recomendable usar la ruta relativa del proyecto `./my_custom_path`.
súper!! Cómo explicas los errores encontrados. Gracias por la organización del curso!!!!