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

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

17/35
Recursos

¿Qué son los "Pythons" en Machine Learning?

Los "Pythons" en Machine Learning se refieren a productos automáticos que facilitan el tránsito desde la experimentación hasta la producción en esta área. Principalmente, estos productos están compuestos por tareas, las cuales son la unidad fundamental de los workflows en Machine Learning. Utilizando la librería de código abierto Prefect, podemos definir estas tareas de manera sencilla, lo que nos ayuda a automatizar procesos y mejorar la eficiencia del flujo de trabajo.

¿Cómo definir una tarea con Prefect?

La definición de tareas con Prefect se inicia mediante el uso de un decorador llamado @task, que se aplica a una función específica. A continuación, se muestra un ejemplo básico para ilustrar el proceso:

from prefect import task

@task
def miPrimeraTarea(mensaje):
    print("Hola", mensaje)

En este ejemplo, la tarea miPrimeraTarea recibe como parámetro un mensaje y ejecuta un print con él. La lógica interna de la función será lo que se ejecuta dentro de la tarea.

¿Cómo integrar una tarea en un workflow?

Para introducir una tarea dentro de la lógica de un flujo de trabajo se utiliza la anotación @flow, que es la encargada de gestionar estas tareas dentro de un flujo más extenso. A continuación, los pasos para crear un flujo simple que clasifique el conjunto de datos "iris":

  1. Importar Librerías:
  • Se requiere importar Prefect y otras bibliotecas como Scikit-Learn.
  1. Definir la Tarea:
  • Se utiliza el decorador @task para definir la lógica de la tarea.
  1. Crear el Diccionario de Datos:
  • Se extraen los datos y se estructuran en un diccionario que almacenará las features y el target.
  1. Ejecutar un Flujo:
  • Se incorpora la tarea dentro de un flujo empleando el decorador @flow.

Aquí un ejemplo del flujo:

from prefect import flow, task
from sklearn import datasets

@task
def obtenerDatos():
    """
    Carga el dataset de Iris desde Scikit-Learn.
    """
    datos = datasets.load_iris()
    return {'X': datos.data, 'y': datos.target}

@flow(retries=3, retry_delay_seconds=5)
def clasificacionIris():
    data = obtenerDatos()
    print(data)

clasificacionIris()

Este código ilustra el flujo clasificacionIris, que ejecuta la tarea obtenerDatos, cargando así los datos del conjunto de "iris" y gestionando posibles errores.

¿Cómo visualizar y gestionar los flujos en Prefect?

Para poder observar y controlar nuestros flujos y tareas de manera efectiva, Prefect nos ofrece una interfaz gráfica a través de su servidor. Para inicializar el servidor, se pueden seguir estos pasos:

  1. Activar el entorno virtual.
  2. Ejecutar el comando prefect server start en la terminal.
  3. Abrir la dirección proporcionada en un navegador para acceder a la interfaz.

Con esta configuración, puedes gestionar tus flujos, observar los registros y consultar el estado de tus tareas. Prefect ofrece funcionalidades como reintentos automáticos, reintentos con un retraso específico y almacenamiento eficiente de registros, lo que resulta invaluable en proyectos de Machine Learning. A medida que sigas avanzando, considera integrar múltiples tareas para encadenar flujos automáticos más complejos, optimizando así tus recursos y experimentos en Machine Learning.

Aportes 1

Preguntas 1

Ordenar por:

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

Si al ejecutar en Ubuntu: `prefect server start` reciben un error relacionado a la Base de datos pueden ejecutar el siguiente comando: `rm ~/.prefect/prefect.db` Y luego volver a intentarlo, esto borra la base de datos que existia y generaba el bug. Al volver a iniciar el servidor el crea otro nuevo para poder continuar con la clase!