Fundamentos de MLOps y tracking de modelos

1

Implementación de MLOps para Modelos de Machine Learning

2

Tracking de Modelos de Machine Learning con MLflow Local

3

Seguimiento local de experimentos con MLflow usando folder personalizado

4

Principios y Etapas del MLOps en Machine Learning

5

Componentes de Infraestructura en MLOps: Control, Integración y Monitorización

6

Tracking de Experimentos con MLflow y Bucket en SQLite

7

Tracking de Experimentos de Machine Learning con AWS y MLflow

Tracking del ciclo de vida de modelos de machine learning

8

Clasificación de Tickets con Procesamiento de Lenguaje Natural

9

Tracking de Datos y Modelado con MNLflow y Scikit-learn

10

Tracking de Métricas e Hiperparámetros con Validación Cruzada

11

Tracking de Modelos y Métricas con MLflow y CycleLearn

12

Optimización de Hiperparámetros en Modelos de Machine Learning

13

Creación y gestión de experimentos con MLflow y Scikit-Learn

14

Promoción y Gestión de Modelos en Azure con MLflow

15

Validación de Modelos de Machine Learning con MLflow y SciPy

16

Tracking y Trazabilidad en MLOps con MLflow

Orquestación de pipelines de machine learning

17

Creación de tareas en Prefect para flujos de Machine Learning

18

Creación de Flujos de Trabajo con Prefect para Machine Learning

19

Pipeline de Machine Learning para Clasificación de Tickets

20

Pipeline de Procesamiento y Entrenamiento de Modelos de Datos

21

Ejecución de Flujos de Trabajo con Prefect: Conceptos y Prácticas

22

Orquestación de Flujos Flexibles con Prefect y Python

Despliegue de modelo de machine learning

23

Despliegue de Aplicaciones con Docker y FAS API en AWS

24

Creación de Aplicación con PaaS API, Docker y Grafana

25

Preprocesamiento y Predicción de Texto en Modelos de Machine Learning

26

Configuración de Base de Datos en SQLModel y Docker Compose

27

Despliegue Local y en AWS de Aplicaciones con Docker y Postman

28

Implementación de Modelos en Entornos Productivos con AWS y Docker

29

Autoescalado y Entrega Continua de Modelos en Producción

Monitoreo de modelo de machine learning en producción

30

Monitoreo de Modelos en Producción: Estrategias y Métricas Clave

31

Monitoreo de Modelos en Producción: Calidad de Datos y Data Drift

32

Modelo de Clasificación con Support Vector Classifier

33

Análisis de Drift y Valores Faltantes con Evidently

34

Creación de Dashboards y Visualizaciones en Grafana para Machine Learning

35

Mejora de Procesos MLOps e Infraestructura Escalable

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Tracking de Experimentos con MLflow y Bucket en SQLite

6/35
Recursos

¿Cómo hacer tracking con MLflow utilizando un bucket?

Hoy te llevaré de la mano en el emocionante proceso de hacer tracking con MLflow, pero esta vez utilizando un bucket. Si ya te sientes cómodo con el flujo anterior de MLflow, prepárate, porque nos adentraremos en una metodología que ofrece nuevas posibilidades para gestionar y compartir tus experimentos de Machine Learning.

¿Cómo integrar SQLite en tu proyecto de MLflow?

El flujo comienza con la ejecución de tu código de Machine Learning como de costumbre, haciendo uso del tracking de MLflow. La diferencia clave ahora es que, si bien los artefactos aún se almacenan en la carpeta MLruns, todo lo demás, es decir, las entidades, serán almacenadas en una base de datos compatible con SQLite. Este método optimiza la gestión de información al utilizar un bucket.

  • Modificación de setTrackingUri: Necesitamos especificar que se hará uso de un bucket asociado con SQLite.
  • Configuración de setExperiment: Atribuir un nombre único al experimento. En este caso, puedes nombrarlo "experiment bucket" o cualquier nombre que prefieras.

Una vez ejecutado, se creará automáticamente el archivo bucket.db, que actúa como nuestra base de datos. Esto es esencial para almacenar tus experimentos dependiendo de los parámetros que rastrees, como métricas e hiperparámetros. Ahora, cada vez que ejecutes un run, la información quedará registrada en este bucket.

¿Cómo configurar el entorno y ejecutar el tracking?

Para llevar a cabo el proceso con precisión, te proporciono un tutorial paso a paso en el notebook. Este incluye un comando especial que deberás copiar y pegar para notificar al UI de MLflow la utilización de nuestro bucket sort-uri, especificando su ubicación.

  1. Posición de trabajo precisa: Asegúrate de estar posicionado en el directorio correcto donde se encuentran tus archivos de tracking.
  2. Activación del entorno adecuado: Verifica que tu entorno de desarrollo esté activado y en el mismo nivel de la carpeta de trabajo.
  3. Uso del comando en la terminal: Pega el comando en la terminal y ejecútalo.

Una vez que ejecutes el comando, al igual que en ocasiones anteriores, MLflow te proporcionará una dirección IP con un puerto. Este lo pegarás en tu navegador favorito para acceder al dashboard de MLflow.

¿Qué información se puede trackear en MLflow?

Dentro del UI de MLflow, te permitirá visualizar todas las especificaciones y detalles de tus experimentos:

  • Parámetros e hiperparámetros: Entiende cómo afectan al modelo y optimiza mejor tus resultados.

  • Métricas: Registra resultados clave del desempeño de tu modelo.

  • Requisitos del entorno: Documenta las configuraciones necesarias para replicar el experimento.

  • Modelos generados: Almacena y accede fácilmente a los modelos creados durante los experimentos.

Esto es fundamental para reflexionar sobre cómo la información se gestiona y optimiza, especialmente cuando se buscan métodos para colaborar con un equipo o almacenar información de manera accesible. Sin embargo, es vital tener en cuenta que gestionar los experimentos localmente puede ser una limitante si deseas compartir el proyecto.

Este enfoque exige apertura y flexibilidad, y desde aquí, se construye el camino hacia el futuro del aprendizaje automático colaborativo y eficiente. Estoy convencido de que estos conocimientos te ofrecerán las herramientas necesarias para avanzar con determinación en tus proyectos de Machine Learning. ¡Adelante!

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.