Fundamentos de MLOps y tracking de modelos

1

¿Qué es MLOps y para qué sirve?

2

Etapas del ciclo de MLOps

3

Componentes de MLOps

4

Tracking de modelos en localhost con MLflow

5

Tracking de modelos en localhost: directorio personalizado

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

Componentes de MLOps

3/35
Recursos

Aportes 3

Preguntas 0

Ordenar por:

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

Componentes de MLOPs

Control de versiones 🕎

  • Facilita integrar el trabajo de varios contribuidores y manejar las versiones del proyecto
  • Servicios: Github o GItLab

CI/CD ♻️

Continuos integration (CI)

  • Unit testing
  • Buenas prácticas de software developments

Continuos deployment (CD)

  • Facilitar la disponibilidad de los servicios de ML
  • Asegurar que se tiene la correcta infraestructura de software
  • Registrar la trazabilidad de las dependencias que se usan en el flujo de trabajo

Orquestación 🎻

  • Automatización de los del flujo de ML
  • Servicios: DVC, prefect, hydra

Model y container registry 📝

  • Experimentación de ML: Hiperparametros, datos, metadata
  • Servicios: MLFlow

Compute serving 📦

¿Cómo vamos a disponibilizar nuestro modelo?

  • Batch Serving
    • Las predicciones se hacen por lote
    • Priorizamos las métricas y las tasas de computo
  • Real-Time serving
    • Las predicciones se hacen bajo demanda
    • Priorizamos latencia, trafico en la red, etc.

Monitoreo 🔍

  • Este componente es crucial a la hora de dar seguimiento al performance de nuestro modelo, debemos siempre preguntarnos si el modelo funciona o es obsoleto
  • Integramos visualizaciones de metricas de negocio, etc.
  • Servicios: Grafana Labs
* **Control de versiones (Github, Gitlab)**: Permite tener el tracking de todo el desarrollo de código. Es común que se realice con Github y Gitlab, se relacionan con el CI / CD * **CI / CD** * CI (Continuous Integration): Es común que en un repositorio haya mas de un desarrollador, y al haber tantas personas manipulando el repositorio, se debe garantizar que la integración de esos códigos realizados ya haya pasado por pruebas antes de ser integrados. Pruebas unitarias, o pruebas que aseguren la integridad del código. * CD (Continuous Delivery): Es ir más allá del CI, es que al momento de implementar algo debemos tener algunos requerimientos de infraestructura, pruebas realizadas, etc. Antes de ponerlo en ambientes productivos. Tener la certeza y trazabilidad de que toda la infraestructura sea la adecuada para ponerlo disponible. Facilita la entrega de los servicios de ML. * **Orquestación (dvc, prefect, hydra, airflow):** Unimos todos los procesos, desde la adquisición de la data, ETL, experimentación de modelos de ML con sus métricas de desempeño, el objetivo es tener una madurez determinada por la pregunta ¿Qué tan automático tienes tu flujo? El propósito es tener automatizado todo el pipeline de ML. * **Model y Container Registry (mlflow):** Tiene como objetivo hacer varias experimentaciones con varios modelos de ML, haciendo diversas configuraciones en hiperparámetros, versionado de la data, para almacenar esa metadata. La metadata puede ser los modelos, versión del código que lo generó, artefactos, etc. A los modelos se les puede asignar un estado (staging) para saber si los modelos están en etapas de pruebas o productivas. Esto permite manipular los modelos dentro de un repositorio y tener la seguridad de que hacer con ellos (consumirlos y en cual versión enviar a producción) * **Compute Serving:** Disponibilizar un modelo, hay varias formas * **Batch Serving:** Cuando hay gran cantidad de datos, dividirlos en lotes de tamaños iguales, estos se introducen al modelo para que se pueda hacer la predicción respectiva, dependiendo del número de batches se tiene el número de predicciones. * **Real-Time Serving:** Tener predicciones bajo demanda (tiempo real), la infraestructura varía teniendo en cuenta latencia, ancho de banda, entre otros * **Monitoring (grafana):** Realizar monitoreo constante de los modelos de ML.
Buena introducción