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

Tracking de modelos con MLflow y SQLite

6/35
Recursos

Aportes 3

Preguntas 0

Ordenar por:

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

Un comment que me costó semanas aprender, triple '/' es path relativo y cuadruple '/' es path absoluto

Tracking de Modelos con MLflow y SQLite

Introducción 🚀

Cómo realizar el seguimiento de modelos utilizando MLflow y SQLite, pero con un enfoque adicional: el uso de un “bucket”. Este enfoque nos permitirá almacenar las entidades en una base de datos SQLite, ofreciendo ventajas significativas para colaboración y accesibilidad.

Paso a Paso 🛠️

  1. Desarrollo de Código de Machine Learning
    Comienza desarrollando el código de Machine Learning que deseas seguir y mejorar.

  2. Tracking con MLflow
    Utiliza MLflow para realizar el seguimiento de tus experimentos. Los artefactos se seguirán almacenando en la carpeta mlruns

  3. Ejecución del Código

    Ejecuta tu código. Automáticamente se creará un archivo bucket.db, que es la base de datos SQLite que actúa como el “bucket” para tus entidades.

  4. Almacenamiento en un Bucket

    En lugar de almacenar todas las entidades localmente, ahora utilizaremos un “bucket”. Este “bucket” es una base de datos SQLite que contendrá información como métricas, hiperparámetros y otros detalles relevantes para cada ejecución.

Ventajas 🌟

Este enfoque resuelve limitaciones al permitir compartir experimentos con equipos de trabajo. Al almacenar la información en un bucket, múltiples desarrolladores pueden acceder y colaborar en el mismo conjunto de datos, fomentando un entorno colaborativo y eficiente.

El **tracking de modelos con MLflow y SQLite** se refiere al proceso de registrar, monitorear y gestionar experimentos y modelos de machine learning utilizando la herramienta **MLflow** en combinación con una base de datos **SQLite** para almacenar la información. Aquí te explico cada componente: ### 1. **MLflow:** MLflow es una plataforma de código abierto que facilita la gestión del ciclo de vida de los modelos de machine learning. Esto incluye cuatro componentes principales: * **Tracking:** Registro de experimentos, parámetros, métricas, y artefactos. * **Projects:** Organización del código en un formato reproducible. * **Models:** Gestión y despliegue de modelos. * **Registry:** Registro centralizado de modelos para la colaboración. ### 2. **Tracking con MLflow:** El componente de tracking en MLflow permite a los científicos de datos y equipos de machine learning realizar un seguimiento detallado de los experimentos que ejecutan. Por ejemplo, puedes registrar: * **Parámetros de entrada**: Variables de configuración, como el número de árboles en un modelo de bosque aleatorio. * **Métricas de rendimiento**: Como la precisión, el recall, o cualquier otra métrica relevante. * **Artefactos**: Archivos generados, como gráficos, modelos entrenados, etc. * **Código fuente**: El código utilizado en cada experimento. ### 3. **SQLite:** SQLite es una base de datos ligera y autónoma que se utiliza comúnmente para aplicaciones de menor escala, como el desarrollo o aplicaciones locales. Cuando se utiliza con MLflow, SQLite puede ser el backend de la base de datos donde se almacenan los registros de experimentos de MLflow. ### **Cómo funciona el tracking de modelos con MLflow y SQLite:** 1. **Configuración de MLflow para usar SQLite:** Se configura MLflow para que utilice una base de datos SQLite como backend para almacenar la información de tracking. Esto generalmente implica especificar la URI de la base de datos SQLite en la configuración de MLflow. 2. **Registro de experimentos:** A medida que realizas experimentos de machine learning, MLflow registra automáticamente todos los detalles en la base de datos SQLite. Esto incluye parámetros, métricas, artefactos, y más. 3. **Consulta y análisis:** Puedes consultar la base de datos SQLite para revisar los experimentos anteriores, comparar resultados, y analizar el rendimiento de los modelos. 4. **Reproducibilidad:** Al tener todo registrado en MLflow, puedes replicar experimentos anteriores, facilitando la reproducibilidad y el seguimiento de los resultados a lo largo del tiempo.