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

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

21/35
Recursos

¿Cómo ejecutar un flujo con Prefect?

Ejecutar un flujo con Prefect puede ser una experiencia enriquecedora, especialmente después de diseñar e implementar diversas tasks. Ahora, el siguiente paso es poner en marcha este flujo. Antes de proceder, ten en cuenta dos aspectos fundamentales:

  • Activar el entorno predefinido: Asegúrate de que tu entorno de trabajo esté activo.
  • Inicializar el servidor de Prefect: Si aún no lo has hecho, inicia el servidor en otra terminal para tener todo preparado.

Una vez asegurados estos dos puntos, navega al directorio raíz del proyecto donde se encuentra tu flujo. A continuación, ejecuta el módulo que contiene tu flujo con el siguiente comando en tu terminal:

python orchestration/nombre_modulo.py

Es probable que la primera tarea tarde algunos minutos, dado que se están procesando grandes volúmenes de datos. Una vez finalizada, el resto de las tareas se ejecutarán de forma secuencial, aprovechando los datos procesados por la primera tarea.

¿Qué resultados podemos esperar al correr esto?

Una vez ejecutado el flujo, visualizarás en la terminal que cada tarea se ha completado con éxito. Incluso podrás ver métricas como la accuracy en los reportes de entrenamiento. Esto ofrece un panorama completo del rendimiento del flujo. Navegando a la interfaz de Prefect, en la sección MLEplowruns, podrás ver detalles como el tiempo total de ejecución (por ejemplo, 2 minutos con 43 segundos) y los logs de cada tarea.

Las tareas se dividen en:

  • Text processing
  • Feature extraction
  • Entrenamiento del modelo

Además, aunque no lo implementemos ahora, es interesante saber que Prefect permite la integración de subflows, es decir, ejecutar un flujo dentro de otro. Esta funcionalidad es útil si en algún momento lo requieres.

¿Cómo visualizar y entender las relaciones entre tareas?

Una de las ventajas más destacadas de visualización es poder analizar las relaciones entre las tareas que componen tu flujo. Esto se representa de forma gráfica en Prefect, facilitando la comprensión de cómo interactúan y se sincronizan:

  • Ejecuciones en serie y en paralelo: Puedes decidir si algunas tareas se ejecutarán una tras otra o simultáneamente. Las tareas independientes, por ejemplo, pueden correr en paralelo.
  • Facilidad en la configuración: Puedes ajustar parámetros de instancia, como el tamaño (medium, large, etc.) y seleccionar si utilizarás recursos adicionales como GPUs para trabajos más complejos.

Estos elementos dotan de flexibilidad a los workflows, permitiendo ajustes y personalizaciones según las necesidades específicas del proyecto.

Por último, aunque no se han generado artifacts en este ejemplo, es recomendable explorar esta opción y consultar la documentación para profundizar en la integración y maximizar el potencial de Prefect en futuros proyectos. Con perseverancia y curiosidad, cada flujo que construyas será más sofisticado y eficiente. ¡Sigue aprendiendo e innovando!

Aportes 8

Preguntas 0

Ordenar por:

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

En el archivo `text_processing.py` también es necesario cambiar el path de data\_processed y el de data\_raw, puesto que está puesto el de la profesora.
una recomendación en el archivo orchestrate\_with\_prefect.py es recomendable colocar lo siguiente import nltk nltk.download('stopwords') nltk.download('punkt')
De la clase: Tracking de experimentos con MLflow: preprocesamiento de datos y con base en el aporte de Ignacio Milesi que avala María Camila, resulta lo siguiente: Train Accuracy: 0.9892254370102471, Test Accuracy: 0.9715239936719986 Y estos tiempos: ![](https://subir-imagen.com/images/2024/05/25/Resultados-Prefect.png)
![](<"C:\Temp\Resultados Prefect.png">)![](file:///C:/Temp/Resultados%20Prefect.xcf)
![](<C:\0_Trabajos\Cursos_Platzi\AI\ML_con_Python\7 MLOPS_Despliegue_Modelos_ML\Clase 21\Resultados Prefect.xcf>)De la clase: Tracking de experimentos con MLflow: preprocesamiento de datos y con base en el aporte de Ignacio Milesi que avala María Camila, resulta lo siguiente:![](file:///C:/0_Trabajos/Cursos_Platzi/AI/ML_con_Python/7%20MLOPS_Despliegue_Modelos_ML/Clase%2021/Resultados%20Prefect.xcf) Train Accuracy: 0.9892254370102471, Test Accuracy: 0.9715239936719986 Y estos tiempos: ![](<C:\0_Trabajos\Cursos_Platzi\AI\ML_con_Python\7 MLOPS_Despliegue_Modelos_ML\Clase 21\Resultados Prefect.xcf>)![](file:///C:/Temp/Resultados%20Prefect.xcf)
De la clase: Tracking de experimentos con MLflow: preprocesamiento de datos y con base en el aporte de Ignacio Milesi que avala María Camila, resulta lo siguiente: * Train Accuracy: 0.9892254370102471 * Test Accuracy: 0.9715239936719986 ![](file:///C:/0_Trabajos/Cursos_Platzi/AI/ML_con_Python/7%20MLOPS_Despliegue_Modelos_ML/Clase%2021/Resultados%20Prefect.xcf)
![]()De la clase: Tracking de experimentos con MLflow: preprocesamiento de datos y con base en el aporte de Ignacio Milesi que avala María Camila, resulta lo siguiente:![]()![](file:///C:/0_Trabajos/Cursos_Platzi/AI/ML_con_Python/7%20MLOPS_Despliegue_Modelos_ML/Clase%2021/Captura%20de%20pantalla%202024-05-25%20202013.xcf) * Train Accuracy: 0.9892254370102471 * Test Accuracy: 0.9715239936719986 ![](file:///C:/0_Trabajos/Cursos_Platzi/AI/ML_con_Python/7%20MLOPS_Despliegue_Modelos_ML/Clase%2021/Captura%20de%20pantalla%202024-05-25%20202013.xcf)
De la clase: Tracking de experimentos con MLflow: preprocesamiento de datos y con base en el aporte de Ignacio Milesi que avala María Camila Durango Barrera, resulta lo siguiente: Train Accuracy: 0.9892254370102471 Test Accuracy: 0.9715239936719986 ![](<"C:\0_Trabajos\Cursos_Platzi\AI\ML_con_Python\7 MLOPS_Despliegue_Modelos_ML\Clase 21\Captura de pantalla 2024-05-25 202013.png">)