Saltar a contenido

ADR-0009 — Detección de deriva: Evidently AI

Contexto

La monitorización de modelos cierra el ciclo de MLOps. Los modelos de anomalías y de predicción viven en producción procesando lecturas de forma continua, y la pregunta crítica es si siguen siendo válidos con el paso del tiempo.

El problema canónico del ML en producción es la deriva, en varias formas:

  • Deriva de entrada: la distribución de las características que entran al modelo cambia respecto a la del entrenamiento (por ejemplo, un sensor que empieza a emitir con un sesgo por degradación física).
  • Deriva de predicción: la distribución de las salidas cambia de forma significativa sin causa real (por ejemplo, el modelo empieza a marcar como anómalo un porcentaje muy superior al habitual).
  • Degradación de rendimiento: cuando aparece una verdad de referencia, las métricas reales empeoran; es el indicador más fuerte de que hace falta reentrenar.
  • Deriva de calidad de datos: aumentan los valores faltantes, se rompe el esquema o los rangos se desbordan.

Las restricciones: open source y autohospedado, nativo en Python, integrable con el registro de modelos y con el orquestador, capaz de cubrir los distintos tipos de deriva con pruebas estadísticas correctas, con informes compartibles y coste casi nulo. No se requiere detección de deriva en tiempo real por lectura: la deriva es una señal estadística sobre ventanas, y se mide en batch.

Decisión

Se adopta Evidently AI (open source) como herramienta única de detección de deriva, ejecutada en batch mediante un flujo del orquestador con cadencia diaria para la deriva de entrada y de predicción, y semanal para la degradación de rendimiento cuando hay verdad de referencia. Se compara un conjunto de referencia (una instantánea de los datos de entrenamiento del modelo en producción) contra una ventana reciente de datos. Se producen informes en HTML, se linkan al registro del modelo para tener trazabilidad, se exponen métricas numéricas para los dashboards y se disparan alertas cuando la deriva supera los umbrales. No se hace detección de deriva en tiempo real por lectura: esa dimensión de observabilidad la cubren las métricas genéricas del sistema.

Consecuencias

Positivas:

  • Cierra el ciclo de MLOps: entrenamiento, servicio y monitorización.
  • Informes en HTML compartibles, de gran valor para demostraciones y análisis posteriores.
  • Trazabilidad de extremo a extremo: cada informe de deriva queda ligado al modelo concreto que vigila.
  • Alertas configurables que pueden disparar un reentrenamiento o una investigación.
  • Coste incremental nulo: es una biblioteca dentro de un trabajo batch ya existente.

Negativas o costes aceptados:

  • Enfoque orientado a batch, no a tiempo real; se acepta como diseño correcto, y la observabilidad inmediata se cubre por otras vías.
  • La gestión del conjunto de referencia requiere una política clara sobre cuándo actualizarlo.
  • Riesgo de fatiga de alertas si los umbrales están mal calibrados; se ajustan empíricamente en las primeras semanas.

Alternativas descartadas

  • WhyLabs: buena interfaz continua y resúmenes estadísticos ligeros, pero su backend es un servicio en la nube que impide la demo sin conexión y choca con la filosofía autohospedada.
  • Arize AI: la plataforma de observabilidad de ML más completa, pero de precio empresarial y solo en la nube; sobredimensionada para el proyecto.
  • Pruebas estadísticas propias: reinventar lo que Evidently ya hace correctamente y mantiene, con riesgo de errores estadísticos sutiles y sin la calidad de sus informes.
  • Alibi Detect: open source y con pruebas modernas, pero con menor adopción para deriva tabular, sin informes listos y orientado a un ecosistema de servicio que el proyecto no usa. Se reserva para cuando entren representaciones aprendidas (embeddings).