🔄

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