🔄
MLOps y Despliegue
Operaciones, despliegue y mantenimiento de modelos de ML en producción
⏱️ Tiempo estimado de lectura: 18 minutos
Introducción a MLOps
MLOps - Machine Learning Operations
MLOps es un conjunto de prácticas que combina Machine Learning, DevOps y Data Engineering para desplegar y mantener sistemas de ML en producción de manera confiable y eficiente.
¿Por qué MLOps?
Desafíos sin MLOps:
- Deriva del modelo: El rendimiento degrada con el tiempo
- Reproducibilidad: Difícil recrear resultados
- Escalabilidad: Problemas al pasar de experimentación a producción
- Monitoreo: Falta de visibilidad del rendimiento
- Versionado: Difícil rastrear modelos y datos
Beneficios de MLOps:
- Despliegues más rápidos y confiables
- Mejor colaboración entre equipos
- Reproducibilidad y auditoría
- Escalabilidad automática
- Monitoreo continuo
- Detección temprana de problemas
Principios de MLOps
1. Automatización
- CI/CD para modelos de ML
- Pipelines automatizados de entrenamiento
- Pruebas automatizadas
2. Versionado
- Código: Git para scripts de ML
- Datos: Versionado de datasets
- Modelos: Registro de modelos
- Experimentos: Seguimiento de hiperparámetros
3. Monitoreo
- Métricas de rendimiento del modelo
- Deriva de datos (data drift)
- Deriva del modelo (model drift)
- Latencia y throughput
4. Gobernanza
- Auditoría de modelos
- Cumplimiento normativo
- Explicabilidad
- Gestión de riesgos
Ciclo de Vida MLOps
1. Desarrollo: Experimentación y entrenamiento
2. Integración: CI/CD de modelos
3. Despliegue: Puesta en producción
4. Monitoreo: Observabilidad continua
5. Reentrenamiento: Actualización de modelos
6. Gobierno: Cumplimiento y auditoría
Puntos Clave
- ✓ Automatizar pipelines reduce errores y acelera reentrenamientos
- ✓ Versionar código, datos y modelos para reproducibilidad y auditoría
- ✓ Monitoreo proactivo de drift y métricas de negocio es esencial
- ✓ Definir estrategia de reentrenamiento (programada vs trigger por drift)
- ✓ Incluir gobernanza y procesos de rollback en pipelines de despliegue
Despliegue de Modelos con SageMaker
Despliegue de Modelos con Amazon SageMaker
Opciones de Despliegue
1. Real-Time Inference (Endpoints)
Características:
- Inferencia síncrona con baja latencia
- Endpoint persistente (always-on)
- Auto-scaling basado en tráfico
- Balanceo de carga automático
Cuándo usar:
- Aplicaciones que requieren respuestas inmediatas
- Predicciones individuales o en lotes pequeños
- Latencia < 100ms importante
Configuración:
- Seleccionar tipo de instancia
- Configurar auto-scaling
- Múltiples variantes para A/B testing
2. Serverless Inference
Características:
- Sin gestión de servidores
- Escala automáticamente a 0
- Pago por uso (por invocación)
- Cold start inicial
Cuándo usar:
- Tráfico intermitente o impredecible
- Optimización de costos
- Desarrollo y pruebas
3. Batch Transform
Características:
- Procesamiento por lotes asíncrono
- Procesa datasets completos de S3
- Sin infraestructura persistente
- Parallelización automática
Cuándo usar:
- Predicciones periódicas (diarias, semanales)
- Grandes volúmenes de datos
- No requiere tiempo real
4. Asynchronous Inference
Características:
- Inferencia asíncrona con cola
- Manejar payloads grandes (hasta 1GB)
- Tiempo de procesamiento largo (hasta 15 min)
- Auto-scaling basado en cola
Cuándo usar:
- Procesamiento de archivos grandes
- Modelos con latencia variable
- Cargas de trabajo impredecibles
SageMaker Edge Manager
Despliegue en dispositivos edge:
- Optimización de modelos para edge
- Gestión de flotas de dispositivos
- Monitoreo de modelos en edge
- Actualizaciones OTA (Over-The-Air)
Multi-Model Endpoints
Características:
- Múltiples modelos en un solo endpoint
- Carga dinámica de modelos
- Reduce costos de infraestructura
- Ideal para muchos modelos similares
Estrategias de Despliegue
Blue/Green Deployment
- Dos ambientes: actual (blue) y nuevo (green)
- Cambio instantáneo entre versiones
- Rollback rápido si hay problemas
Canary Deployment
- Despliegue gradual a un porcentaje de tráfico
- Monitoreo de nueva versión con tráfico real
- Incremento progresivo si todo va bien
A/B Testing
- Múltiples variantes del modelo
- Distribución de tráfico entre variantes
- Comparación de rendimiento en producción
Puntos Clave
- ✓ Elegir tipo de despliegue según requisitos de latencia y coste (real-time, serverless, batch)
- ✓ Serverless inference reduce costes para tráfico intermitente pero puede introducir cold starts
- ✓ Multi-model endpoints son útiles para muchos modelos similares y ahorros en infraestructura
- ✓ Implementar pruebas canary o blue/green para despliegues seguros
- ✓ Optimizar tipos de instancia y autoscaling para balance coste/rendimiento
Monitoreo y Mantenimiento
Monitoreo y Mantenimiento de Modelos
Amazon SageMaker Model Monitor
Servicio para detectar deriva y mantener la calidad de modelos en producción.
Tipos de Monitoreo
1. Data Quality Monitoring
Detecta cambios en la calidad de datos de entrada:
- Valores faltantes
- Cambios en distribuciones
- Violaciones de esquema
- Valores fuera de rango
2. Model Quality Monitoring
Monitorea el rendimiento del modelo:
- Precisión (accuracy)
- Métricas personalizadas
- Comparación con ground truth
- Detección de degradación
3. Bias Drift Monitoring
Detecta cambios en sesgos:
- Monitorea métricas de equidad
- Detecta sesgos emergentes
- Alertas de cambios en bias
4. Feature Attribution Drift
Monitorea importancia de features:
- Cambios en SHAP values
- Detección de deriva en features
- Análisis de explicabilidad
Conceptos Clave de Monitoreo
Data Drift
Cambios en la distribución de datos de entrada
Causas:
- Cambios en comportamiento de usuarios
- Cambios estacionales
- Cambios en fuentes de datos
- Problemas en pipelines
Detección:
- Tests estadísticos (KS test, Chi-squared)
- Comparación con baseline
- Distancia entre distribuciones
Model Drift (Concept Drift)
Cambios en la relación entre features y target
Tipos:
- Sudden drift: Cambio abrupto
- Gradual drift: Cambio progresivo
- Incremental drift: Cambios pequeños continuos
- Recurring drift: Patrones cíclicos
Performance Monitoring
Métricas de Sistema:
- Latencia de predicciones
- Throughput (predicciones/seg)
- Tasa de errores
- Utilización de recursos
Métricas de Modelo:
- Accuracy, Precision, Recall
- AUC-ROC
- MSE, RMSE (para regresión)
- Métricas de negocio personalizadas
Estrategias de Reentrenamiento
1. Reentrenamiento Programado
- Frecuencia fija (diario, semanal, mensual)
- Automático mediante pipelines
- Útil cuando el drift es predecible
2. Reentrenamiento Disparado por Deriva
- Monitoreo continuo de métricas
- Umbral de alerta configurable
- Reentrenamiento automático cuando se detecta drift
3. Reentrenamiento Online/Incremental
- Actualización continua con nuevos datos
- Sin reentrenar desde cero
- Para datos en streaming
SageMaker Pipelines
Orquestación de workflows de ML:
- Define pasos de preprocesamiento
- Entrenamiento automático
- Evaluación de modelos
- Aprobación condicional
- Despliegue automático
Beneficios:
- Reproducibilidad
- Automatización end-to-end
- Versionado de pipelines
- Integración con CI/CD
Best Practices
1. Baseline de Datos: Establecer distribución de referencia
2. Umbrales de Alerta: Definir niveles de deriva aceptables
3. Monitoreo Proactivo: No esperar a que fallen las predicciones
4. Logging Completo: Registrar inputs, outputs y métricas
5. Rollback Plan: Tener estrategia de reversión rápida
6. Documentación: Mantener registro de cambios y decisiones
7. Testing en Producción: Validar antes de desplegar a todos
8. Observabilidad: Dashboards y alertas configuradas
Puntos Clave
- ✓ Monitorear métricas de sistema (latencia, throughput) y de modelo (accuracy, drift)
- ✓ Registrar inputs y outputs para reproducibilidad y debugging
- ✓ Configurar alertas y umbrales para reentrenamiento o rollback
- ✓ Usar pruebas A/B y canary antes de full rollout
- ✓ Documentar pipelines y mantener playbooks para incidentes