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

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

12/35
Recursos

¿Cómo se realiza el research y selección de modelos?

El proceso de investigación y selección de modelos en Machine Learning es crucial para garantizar que se utilicen los algoritmos adecuados y los mejores hiperparámetros. Utilizar la técnica de búsqueda de grilla (Grid Search) es una de las formas más efectivas de lograrlo. Esta técnica permite definir un diccionario con varios hiperparámetros y, mediante una validación cruzada, se busca el conjunto óptimo de estos.

¿Qué elementos se consideran en el setup inicial?

  1. Modelo a Entrenar: Elegir el algoritmo base que se usará.
  2. Hiperparámetros: Crear un diccionario de búsqueda con diferentes valores posibles.
  3. Scoring: Definir cuál será la métrica a optimizar.
  4. Número de Jobs: Configurar cuántos procesos simultáneos usar.
  5. Propósito: Establecer el objetivo de optimización para los hiperparámetros.

Ejecutar este setup inicial es vital antes de sumergirse en entrenamientos más complejos. Además, los modelos baseline son una excelente manera de evaluar el punto de partida y decidir si las estrategias más complejas son necesarias.

¿Cómo manejar los errores durante el entrenamiento?

Durante el proceso de entrenamiento, es común encontrarse con errores en el código, por ejemplo, al intentar llamar métodos inexistentes. En tales casos, es esencial revisar el código, identificar la fuente del error y corregirla antes de continuar.

# Previamente teníamos el siguiente error:
# model.predict()
# donde debería ser algo como:

model.predict(x_test)

Corrigiendo este tipo de errores básicos, se asegura un entrenamiento fluido y sin interrupciones innecesarias.

¿Cuál es el papel de la matriz de confusión?

La matriz de confusión es una herramienta poderosa que se utiliza para evaluar el rendimiento de un modelo. Esta matriz muestra claramente verdaderos positivos, falsos positivos, verdaderos negativos y falsos negativos de las predicciones:

  • Verdaderos Positivos: Emitidos cuando las predicciones coinciden con las etiquetas reales.
  • Desbalance de Datos: Se observa en la matriz cuando los datos están desproporcionados.

Este desbalance puede llevar a un overfitting, donde el modelo se ajusta demasiado a los datos de entrenamiento y no se adapta bien a nuevas entradas.

¿Cuál es la importancia de la interfaz de MLflow?

MLflow ofrece una interfaz intuitiva para observar y comparar nuestros modelos de Machine Learning. Esto ayuda a identificar métricas críticas y determinar si hay un sobreajuste:

  1. Activar Entorno: Antes de usar MLflow, asegúrate de que el entorno esté activado correctamente.
  2. Verificar Tracking: Debe estar posicionado donde se almacena la información de seguimiento.
  3. Comparar Métricas: A través de MLflow puedes organizar y comparar métricas como precision y recall para tanto entrenamiento como pruebas.

La comparación efectiva y la organización de métricas importantes permiten optimizar y validar el modelo antes de su despliegue.

¿Por qué es importante la gestión de artefactos en Scikit-Learn?

Guardar modelos como artefactos, en Scikit-Learn o cualquier otra biblioteca, permite reutilizar instancias entrenadas sin necesidad de repetir entrenamientos costosos en el futuro. Esto es crucial para:

  • Cargar Modelos por Run ID: Facilita las pruebas y validaciones de rendimiento.
  • Pruebas Unitarias Pre-Despliegue: Asegura que el modelo esté listo para producción respondiendo correctamente ante estrés y validaciones.

Al integrar estos procedimientos, los profesionales pueden optimizar no solo el desarrollo de modelos, sino también su implementación y mantenimiento a largo plazo.

Aportes 3

Preguntas 0

Ordenar por:

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

Es posible que al abrir mlflow ui no puedan visualizar los experimentos, esto se debe a que el .db está quedando dentro de la carpeta tracking. deben ejecutar

mlflow ui --backend-store-uri sqlite:///tracking/mlflow.db
Al entrenar modelos baseline y analizar los resultados en la interfaz del usuario de MLFlow, podemos observar: 1. Los experimentos, 2. Sus atributos (dataset, source, models), 3. Las métricas (entrenamiento, test, recall), 4. Sus parámetros y 5. Los tags, si los hemos creado. Específicamente, también podemos observar también los modelos asociados a las métricas, la métrica que se requiere optimizar, requerimientos del entorno para cada experimento, los registros de los modelos (MLFlow no es para el despliegue de modelos).
simplemente con `log_reg = LogisticRegression(class_weight='balanced', max_iter=9999)` obtuve un muy buen rendimiento en`LogisticRegressionCVSmote` ![](https://static.platzi.com/media/user_upload/image-453e1e61-af8b-47c7-a30e-9767bb09b7c1.jpg)