Fundamentos de MLOps y tracking de modelos
¿Qué es MLOps y para qué sirve?
Tracking de modelos en localhost con MLflow
Tracking de modelos en localhost: directorio personalizado
Etapas del ciclo de MLOps
Componentes de MLOps
Tracking de modelos con MLflow y SQLite
Tracking de modelos con MLflow en la nube
Tracking del ciclo de vida de modelos de machine learning
Tracking de experimentos con MLflow: preprocesamiento de datos
Tracking de experimentos con MLflow: definición de funciones
Tracking de experimentos con MLflow: tracking de métricas e hiperparámetros
Tracking de experimentos con MLflow: reporte de clasificación
Entrenamiento de modelos baseline y análisis en UI de MLflow
MLflow Model Registry: registro y uso de modelos
Registro de modelos con mlflow.client
Testing de modelo desde MLflow con datos de prueba
¿Para qué sirve el tracking de modelos en MLOps?
Orquestación de pipelines de machine learning
Tasks con Prefect
Flows con Prefect
Flow de modelo de clasificación de tickets: procesamiento de datos y features
Flow de modelo de clasificación de tickets: integración de las tasks
Flow de modelo de clasificación de tickets: ejecución de tasks
¿Cómo se integra la orquestación en MLOps?
Despliegue de modelo de machine learning
Despligue con Docker y FastAPI: configuración y requerimientos
Despligue con Docker y FastAPI: definición de clases y entry point
Despligue con Docker y FastAPI: procesamiento de predicciones en main app
Despligue con Docker y FastAPI: configuración de la base de datos
Despliegue y pruebas de modelo de machine learning en localhost
Despliegue y pruebas de modelo de machine learning en la nube
¿Qué hacer con el modelo desplegado?
Monitoreo de modelo de machine learning en producción
¿Cómo monitorear modelos de machine learning en producción?
Entrenamiento de modelo baseline
Preparar datos para crear reporte con Evidently
Análisis de la calidad de los datos con Evidently
Creación de reportes con Grafana
¿Cómo mejorar tus procesos de MLOps?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Es un momento emocionante: ¡tu modelo de procesamiento de lenguaje natural está listo para ver la luz! Implementar y desplegar aplicaciones de machine learning no solo requiere habilidades técnicas sino también una comprensión clara del entorno de producción. Aquí descubriremos cómo puedes lograr desplegar con éxito tu modelo de clasificación de tickets, asegurando que tu aplicación esté lista y funcionando eficazmente.
Antes de cualquier implementación, asegúrate de seleccionar el modelo que haya demostrado el mejor rendimiento. Esto lo has aprendido al hacer el seguimiento de modelos con MLflow. Elegir el modelo correcto requiere evaluar cuidadosamente tanto su precisión como su robustez.
La transformación de datos es fundamental para el despliegue. Asegúrate de que los datos utilizados para entrenar el modelo sufran el mismo procesamiento en producción. Esto incluye el uso de Convectorizer, que transforma datos de texto en formatos numéricos comprensibles por el modelo.
Para desplegar efectivamente tu aplicación, necesitarás construir una infraestructura robusta, lo cual implica varios pasos y herramientas claves, como Docker, Docker Compose, y FastAPI.
Para comenzar tu viaje en producción, Docker es esencial. Aquí te mostramos cómo puedes definir tu entorno Docker:
# Dockerfile básico ejemplo:
FROM python:3.8-slim-buster
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
Este archivo define el entorno necesario ejecutando Python y especificando todas las dependencias requeridas.
El archivo docker-compose.yaml
te permite definir múltiples servicios y su configuración respectiva. Aquí se muestra un esquema básico:
version: '3.8'
services:
web:
build: .
ports:
- "5000:5000"
environment:
POSTGRES_USER: "user"
POSTGRES_PASSWORD: "password"
POSTGRES_DB: "db"
db:
image: postgres
ports:
- "5432:5432"
environment:
POSTGRES_USER: "user"
POSTGRES_PASSWORD: "password"
POSTGRES_DB: "db"
Incorpora la API de FastAPI para manejar solicitudes y respuestas de cliente de manera eficiente. Además, utiliza Postgres para la gestión de la base de datos:
El monitoreo es un elemento crucial, añadiendo un volumen extra para Grafana te permite controlar el rendimiento y asegurar la estabilidad de tu aplicación.
Mantener la transformación de datos consistente es vital. Crea un módulo utils.py
que contenga toda la lógica de procesamiento:
# utils.py ejemplo:
import nltk
from sklearn.feature_extraction.text import CountVectorizer
def transform_data(text):
nltk.download('stopwords')
# Transformación del texto
vectorizer = CountVectorizer()
return vectorizer.fit_transform([text])
Esto asegura que el procesamiento se mantenga constante en todas las implementaciones.
Imagina un despliegue exitoso que aproveche tanto tus habilidades técnicas como el entendimiento de la producción. Estos pasos no solo garantizan un modelo eficiente en la práctica, sino que también te brindan flexibilidad y control sobre tu aplicación de machine learning. ¡Sigue aprendiendo y aplicando tus conocimientos para alcanzar tus metas!
Aportes 1
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?