17 · Monitoreo y detección de drift
Un modelo desplegado no falla a gritos — se pudre en silencio mientras el mundo se aleja de sus datos de entrenamiento. Registra cada predicción, luego vigila el drift: drift de DATOS (las entradas cambian) y drift de CONCEPTO (la relación X→y cambia). Una métrica como PSI cuantifica el desplazamiento y dispara una alerta de reentrenamiento.
Un modelo desplegado se degrada en silencio: sigue devolviendo predicciones aun cuando los datos en vivo se alejan de aquello con lo que fue entrenado. El monitoreo atrapa esto. REGISTRAS cada predicción (entradas + salidas), luego vigilas dos tipos de drift — **drift de DATOS** (la distribución de entrada P(X) se desplaza: la media o dispersión de una variable se mueve) y **drift de CONCEPTO** (la relación P(y|X) se desplaza: las mismas entradas ahora mapean a resultados distintos). Una métrica de drift como el **PSI (Índice de Estabilidad de Población)** cuantifica cuánto se ha movido la distribución de entrada actual respecto a la referencia de entrenamiento; cruza un umbral de alerta (regla común: PSI > 0.2) y disparas un **trigger de reentrenamiento**. El monitoreo es el detector de humo que convierte el deterioro silencioso en una alarma accionable.
Sin esto:
Sin monitoreo, la exactitud de un modelo se erosiona invisiblemente — no hay error, ni caída, solo predicciones cada vez peores sobre un mundo que ha cambiado — y solo te enteras cuando una métrica de negocio se desploma o un usuario se queja, mucho después de que el daño está hecho.
Cada lección anterior puso el modelo en marcha. Esta lo mantiene honesto. Un modelo desplegado tiene un modo de fallo distinto al del software normal: no se cae, no lanza excepciones, solo empeora en silencio. El código está bien; el mundo se movió. Tu modelo de fraude se entrenó con los patrones de fraude del año pasado, pero los estafadores cambiaron de tácticas. Tu pronosticador de demanda aprendió el comportamiento prepandemia, luego los hábitos de todos cambiaron. El modelo sigue devolviendo predicciones con confianza — solo que cada vez más equivocadas. Esta podredumbre silenciosa es por qué el monitoreo es la última etapa, no opcional, de MLOps.
Paso uno: registra cada predicción. Al servir, guarda las entradas de cada solicitud y la predicción (y, cuando finalmente llegue la verdad de campo, el resultado real). Este log es la materia prima de todo lo demás — sin él estás ciego. Las métricas operativas también importan (latencia, tasa de error, throughput), pero la señal específica de ML está en los datos y predicciones mismos.
Los dos tipos de drift. El mundo puede desplazarse de dos formas distintas:
- Drift de datos — la distribución de entrada P(X) cambia. El tipo de datos que entra ya no es con lo que entrenaste: la media de una variable trepa, una categoría que era rara se vuelve común, un sensor se recalibra. La relación X→y podría seguir válida, pero el modelo ahora extrapola hacia regiones que vio poco en el entrenamiento. Puedes detectar esto de inmediato solo desde las entradas — sin necesidad de etiquetas.
- Drift de concepto — la relación P(y|X) cambia. Las mismas entradas ahora corresponden a resultados distintos: la definición misma de "fraude" o "churn" evolucionó. Las entradas pueden lucir estadísticamente sin cambios mientras el mapeo aprendido del modelo simplemente ya está mal. Detectar drift de concepto suele necesitar etiquetas de verdad de campo para ver que la exactitud cayó, que a menudo llegan con retraso.
La distinción práctica: el drift de datos lo atrapas solo desde las entradas, de inmediato; el drift de concepto suele necesitar etiquetas y aparece como exactitud cayendo. Ambos son razones para reentrenar — pero el drift de datos es tu sistema de alerta temprana.
Cuantificar el drift de datos: PSI. No miras histogramas a ojo en producción — calculas un número. El Índice de Estabilidad de Población (PSI) compara una distribución de referencia (tus datos de entrenamiento) contra la distribución actual en vivo. Agrupa ambas en los mismos bordes, toma la proporción de masa en cada bin y suma (p_cur − p_ref) · ln(p_cur / p_ref) sobre los bins. El PSI es 0 cuando las distribuciones coinciden y crece a medida que divergen. Una regla práctica muy usada: PSI < 0.1 = sin desplazamiento significativo, 0.1–0.2 = desplazamiento moderado (vigílalo), > 0.2 = desplazamiento significativo (investiga / reentrena). Una verificación relacionada y sin etiquetas es el estadístico KS — la brecha máxima entre las dos CDFs empíricas.
Umbrales de alerta → triggers de reentrenamiento. Las métricas de drift alimentan alertas: cuando el PSI de una variable clave cruza 0.2 (o la exactitud sobre datos etiquetados cae por debajo de un piso), el sistema dispara una alerta y, en un pipeline maduro, dispara el reentrenamiento — trae datos etiquetados frescos, reentrena, reevalúa y envía por el mismo camino de CI/CD de las lecciones 12–13. Eso cierra el bucle del ciclo de vida del ML: desplegar → monitorear → detectar drift → reentrenar → desplegar. La celda de abajo calcula el PSI y un estadístico estilo KS en NumPy puro y los observa subir a medida que una distribución se desplaza.
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
¿Cuál es la diferencia entre el drift de DATOS y el drift de CONCEPTO?
- Un modelo desplegado falla en silencio — sin caída, solo predicciones cada vez peores mientras el mundo se aleja de sus datos de entrenamiento — así que debes registrar predicciones y monitorear el drift.
- El drift de datos es un desplazamiento en las entradas P(X) (atrapable solo desde las entradas, de inmediato); el drift de concepto es un desplazamiento en la relación P(y|X) (las mismas entradas mapean a resultados distintos, usualmente visto vía exactitud cayendo sobre etiquetas).
- El PSI cuantifica cuánto se movió la distribución de entrada en vivo respecto al entrenamiento; cruzar un umbral de alerta (p. ej. PSI > 0.2) dispara un trigger de reentrenamiento — el monitoreo es el detector de humo que cierra el bucle del ciclo de vida.
Los servicios de modelos en producción se envían con dashboards de monitoreo que registran predicciones y rastrean métricas de drift (PSI/KS por variable, exactitud sobre etiquetas con retraso); una alerta de drift es la señal estándar que dispara un reentrenamiento.
Si lo quitas: La exactitud se erosionaría invisiblemente sin error ni caída — solo descubrirías la podredumbre cuando una métrica de negocio se desplome o un usuario se queje, mucho después de que empezaron las predicciones degradadas.