Mejores Prácticas de MLOps
Reglas para llevar modelos del experimento a un servicio de producción confiable.
Cómo Usar Esta Lista
- Las reglas A-B cubren la reproducibilidad y el seguimiento.
- Las reglas C-D rigen el servicio y la inferencia.
- Las reglas E-F cubren la monitorización y las operaciones.
A - Reproducibilidad
- Versionar los datos de entrenamiento con DVC o hash. Reproducir cualquier modelo a partir de la versión del código + datos.
- Fijar las versiones de las bibliotecas en el entorno de entrenamiento. Registrar en la ejecución de MLflow o en la imagen del contenedor.
- Usar scripts de entrenamiento, no notebooks. Los notebooks para exploración; los scripts para pipelines de producción.
- Establecer semillas aleatorias y registrarlas. Experimentos reproducibles entre ejecuciones.
- Guardar el artefacto completo del pipeline. Preprocesamiento + modelo en un objeto serializable.
B - Seguimiento de Experimentos
- Registrar cada ejecución de entrenamiento. Parámetros, métricas, artefactos, versión de datos, commit de git.
- Nombrar las ejecuciones de forma descriptiva. Incluir el tipo de modelo, la versión de los datos y el hiperparámetro clave.
- Comparar ejecuciones antes de seleccionar un modelo. No desplegar la última ejecución por defecto.
- Registrar los mejores modelos en un registro. Flujo de trabajo de promoción de Staging a Producción.
- Vincular la versión del registro a la ejecución de entrenamiento. Linaje completo desde la predicción hasta los datos.
C - Servicio
- Cargar el modelo una vez al inicio. Manejador de ciclo de vida o carga a nivel de módulo; nunca por solicitud.
- Validar las entradas con Pydantic. Comprobaciones de tipo, rango y campos requeridos.
- Devolver la versión del modelo con las predicciones. Trazabilidad para depuración.
- Exponer el endpoint /health. Modelo cargado, dependencias accesibles.
- Escribir pruebas de humo de inferencia. Entrada conocida -> forma de salida esperada y valor aproximado.
D - Calidad de Inferencia
- Emparejar el preprocesamiento de entrenamiento en el servicio. Mismo artefacto de pipeline o módulo de código compartido.
- Forzar el orden de las columnas de características. Campos con nombre, no listas posicionales.
- Registrar metadatos de predicción. Marca de tiempo, versión del modelo, hash de entrada (no PII en bruto).
- Definir presupuestos de latencia. Objetivo p99; perfilar antes de elegir el framework de servicio.
- Planificar el rollback. Mantener la versión anterior del modelo desplegable en <5 minutos.
E - Monitorización
- Guardar la distribución de datos de referencia al desplegar. Línea base para la detección de deriva.
- Monitorizar la deriva de características semanalmente. Prueba KS, PSI o informes de Evidently.
- Rastrear la distribución de predicciones. Cambios repentinos indican problemas de datos upstream.
- Alertar sobre la tasa de errores y la latencia. Misma observabilidad que cualquier servicio de producción.
- Reentrenar ante deriva o degradación de métricas. Disparador automatizado con puerta de aprobación humana.
F - Costo e Infraestructura
- Dimensionar correctamente la computación. CPU para sklearn; GPU solo cuando el entrenamiento/inferencia lo requiera.
- Usar instancias spot para entrenamiento. Punto de control para sobrevivir a la interrupción.
- Calcular el punto de equilibrio entre API y autoalojado. Antes de invertir en infraestructura de GPU.
- Escalar automáticamente las réplicas de inferencia. Escalar a cero para desarrollo; réplicas mínimas para producción.
- Etiquetar los recursos en la nube por proyecto. Atribución de costos y limpieza.
Preguntas Frecuentes
¿Mayor error de MLOps?
Desplegar código de notebook sin pruebas, versionado o monitorización.¿Notebooks en producción?
No - refactorizar a scripts con argumentos CLI y pruebas.¿Monitorización mínima?
Comprobación de estado, tasa de errores, latencia, registro de predicciones.¿Cuándo usar MLflow?
Cualquier proyecto con más de un experimento o miembro de equipo.¿FastAPI es suficiente para servir?
Sí, para la mayoría de los equipos hasta que la demanda de rendimiento requiera Triton.¿Con qué frecuencia reentrenar?
Ante una alerta de deriva o programado (semanal/mensual) según la velocidad del dominio.¿CI/CD para ML?
CI: pruebas + métricas de evaluación. CD: desplegar modelo de Staging; promover a Producción.¿Se necesita un almacén de características?
Cuando las rutas por lotes y de streaming deben compartir la misma computación de características.¿Tarjetas de modelo?
Documentar el uso previsto, limitaciones, datos de entrenamiento y riesgos de sesgo.¿Seguridad?
Autenticación en la API de inferencia; sin PII en los registros; escanear imágenes de contenedores.¿Diferencias de MLOps para LLM?
Añadir versionado de prompts, conjuntos de evaluación y seguimiento de costos de tokens a MLOps estándar.¿Transferencia de equipo?
README con comandos de entrenamiento/servicio, ubicación del registro de modelos y runbook de guardia.Relacionados
- Conceptos Básicos de MLOps
- Seguimiento de Experimentos
- Servicio con FastAPI
- Monitorización y Deriva
- Mejores Prácticas de Machine Learning
Versiones de Stack: Esta página fue escrita para Python 3.14.0 (estable 3.14, mantenimiento 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, y uv 0.6+.