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

Preparar datos para crear reporte con Evidently

32/35
Recursos

¿Cómo mejorar un modelo de clasificación con Support Vector Classifier?

El desarrollo y la mejora de modelos de clasificación son esenciales en el campo del aprendizaje automático. En este contexto, se ha propuesto un segundo enfoque utilizando Support Vector Classifier (SVC) para mejorar la simplicidad del modelo base inicial. La importancia de este enfoque radica en su capacidad para manejar la clasificación multiclase y mejorar la precisión del modelo.

¿Cuáles son los pasos clave en la creación del modelo?

Para implementar un modelo eficiente de SVC, se llevaron a cabo varios pasos cuidadosamente estructurados:

  1. Transformación de datos: Se utilizaron técnicas de transformación de datos como la frecuencia inversa para preparar los datos para el modelo.

  2. División de datos: Los datos se separaron en conjuntos de entrenamiento y prueba para asegurar que el modelo pueda generalizar a nuevos datos.

  3. Definición del modelo: Se configuró un Support Vector Machine Classifier especificando atributos como el kernel y el class weight, además de fijar una semilla para garantizar la reproducibilidad del modelo.

  4. Ajuste del modelo: El modelo se entrenó con los datos transformados de entrenamiento y se evaluó usando un conjunto de datos de pruebas, examinando además las predicciones para realizar ajustes necesarios.

  5. Evaluación del modelo: Se generó un informe con los datos de pruebas para evaluar el desempeño del modelo en las clases previstas.

¿Cómo se procesan las matrices dispersas?

Trabajar con matrices dispersas es común al utilizar técnicas como la inversa de frecuencia, y puede implicar complejidades adicionales. En este modelo:

  • Las filas de la matriz representaban registros individuales, mientras que las columnas correspondían a palabras únicas.
  • Para simplificar el análisis y evitar el aumento de dimensiones que estas matrices dispersas pueden provocar, se empleó una técnica alternativa que implicaba sumar componentes de manera ponderada.
  • Esto se hizo para condensar la información de la matriz en un único valor escalar, mejorando así el manejo y análisis de los datos.

¿Cómo se almacenan y utilizan las predicciones y referencias?

Es crucial tener en cuenta cómo se gestionan las predicciones y los datos de referencia al construir un modelo eficaz:

  • Predicciones: Las predicciones se almacenaron y se añadieron al conjunto de entrenamiento, permitiendo comparaciones con las etiquetas reales y ajustes al modelo.
  • Referencias de datos: Los datos de referencia, o benchmark data, se ligaron al conjunto de pruebas para su utilización en estudios de calidad de datos y análisis de desviación de datos.

¿Por qué es importante la preparación de datos para Evidently?

El uso de herramientas como Evidently para la calidad de datos requiere un formato específico para asegurar un análisis adecuado:

  • Transformaciones previas: Los valores de las etiquetas y las predicciones se transformaron a tipos de datos apropiados, como enteros.
  • Datasets simplificados: Se seleccionaron únicamente las columnas necesarias en un formato adecuado para Evidently, evitando estructuras de datos complejas.

¿Qué sigue después de la transformación de datos?

Con los datos ahora transformados, se está listo para llevar a cabo un análisis de calidad de datos, verificando las predicciones del modelo con un conjunto de datos de referencia y datos reales. Este paso no solo evalúa la efectividad del modelo, sino que también ayuda a asegurar su robustez en el tiempo.

Continúa explorando las capacidades de SVC y experimenta creando tu propio modelo base. No olvides compartir tus resultados y aprender de las experiencias de otros estudiantes. ¡Adelante con entusiasmo hacia la próxima lección!

Aportes 1

Preguntas 0

Ordenar por:

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

Estoy demasiado confundido, Aveces siento que es un curso de mlflow, aveces siento que es un curso de codigo de modelos, una cosa no es como se modela, otra no es como se utilza ese mlflow?, o mlflow tambien es para modelar, ando demasiado perdido