Model Monitoring
La supervisión de modelos controla sus entradas, predicciones, precisión y latencia en producción para detectar el desvío de datos y los fallos silenciosos antes de que los usuarios los noten.
La monitorización de modelos consiste en medir de forma continua las entradas, salidas, el rendimiento y el estado de servicio de un modelo de aprendizaje automático en producción, y generar alertas cuando alguno de estos elementos se sale del rango esperado. Los fallos de los modelos suelen pasar inadvertidos: un detector sigue devolviendo cajas con una confianza verosímil después de mover una cámara, ensuciarse una lente o rediseñarse un producto, y lo único que cambia es la precisión. La monitorización compara el comportamiento en producción con una referencia, normalmente los datos de validación con los que se aprobó el modelo, para que los equipos detecten la deriva de datos y la pérdida de precisión mediante paneles de control, en lugar de enterarse por los usuarios. Cierra el ciclo de las operaciones de aprendizaje automático (MLOps) tras la implementación del modelo y permite decidir cuándo hay que volver a entrenar un modelo.
Qué monitorizar#
La monitorización en producción suele abarcar cuatro capas:
- Latencia de inferencia y estado del servicio: Frecuencia de solicitudes, tasa de errores, latencia p95 y p99, y memoria y utilización de la GPU, que suelen recopilarse con Prometheus y representarse en Grafana.
- Datos de entrada: Incumplimientos del esquema, valores ausentes y cambios en las estadísticas de características o imágenes, como el brillo, la resolución o el tamaño de los objetos.
- Confianza de las predicciones y distribución de las salidas: Distribución de clases, detecciones por imagen y puntuaciones de confianza. Un cambio en estos valores, denominado deriva de predicciones, es una señal de alerta temprana que aparece antes de disponer de etiquetas.
- Rendimiento del modelo: Precisión, exactitud, exhaustividad o mAP, calculadas cuando se dispone de la verdad de referencia. Las etiquetas de fraude pueden tardar semanas en llegar, cuando se tramitan las devoluciones de cargos, y los equipos de visión etiquetan manualmente una muestra de las imágenes de producción.
Ultralytics Platform integra la capa de predicción en sus puntos de conexión dedicados: la pestaña Monitoring muestra la distribución de confianza del modelo YOLO desplegado, la confianza media a lo largo del tiempo, las clases principales y las predicciones por imagen; además, permite guardar imágenes recientes con sus predicciones en un conjunto de datos para revisarlas y volver a entrenar. La guía de supervisión y mantenimiento de modelos y la lección de Ultralytics Academy Observabilidad y deriva explican cómo comprobar la deriva en implementaciones de YOLO.
Dos tipos de cambios provocan la mayor parte del deterioro. La deriva de datos, también llamada cambio de covariables, modifica las entradas; por ejemplo, cuando se mueve la cámara de inspección de una línea de fabricación o cambia la iluminación. El cambio de concepto modifica la relación entre las entradas y las respuestas correctas; por ejemplo, cuando los estafadores cambian de táctica y las transacciones que antes eran normales pasan a ser fraudulentas. Las estadísticas de entrada revelan directamente la deriva de datos, mientras que el cambio de concepto solo aparece en las métricas de rendimiento cuando llegan las etiquetas. Ambos están entre las causas más habituales de los fallos de los modelos de visión artificial por ordenador en producción.
Detección de la deriva#
Una comprobación habitual de deriva compara la distribución de una estadística en producción con la referencia mediante la prueba de Kolmogórov-Smirnov de dos muestras, que mide la mayor diferencia entre dos distribuciones acumuladas. Este script la aplica a niveles de confianza de detección simulados: una muestra de referencia de validación, una semana de producción que coincide con ella y otra semana con valores más bajos:
import numpy as np
from scipy.stats import ks_2samp
rng = np.random.default_rng(0)
# Detection confidences logged at validation time form the reference distribution
reference = rng.beta(8, 2, size=2000)
# Two simulated production windows: one like the reference, one shifted lower
windows = {"week 1": rng.beta(8, 2, size=500), "week 2": rng.beta(5, 3, size=500)}
for name, live in windows.items():
# Two-sample Kolmogorov-Smirnov test: do both samples come from one distribution?
result = ks_2samp(reference, live)
drift = result.pvalue < 0.01
print(f"{name}: mean {live.mean():.2f}, KS {result.statistic:.3f}, p {result.pvalue:.1e}, drift {drift}")La semana 1 supera la prueba con un estadístico KS de 0,037 y p = 0,64. En la semana 2, la confianza media baja a 0,63 frente al 0,80 de la semana 1, y un estadístico KS de 0,456 con p = 1,2e-75 señala deriva. Con muchos miles de muestras, incluso los cambios inocuos resultan estadísticamente significativos, así que las comprobaciones de producción suelen generar alertas cuando el estadístico KS o el índice de estabilidad poblacional (PSI) superan un umbral fijo. Bibliotecas de código abierto como Evidently y NannyML agrupan estas pruebas en informes de deriva; NannyML también estima la precisión de un clasificador sin etiquetas a partir de sus niveles de confianza calibrados. Amazon SageMaker Model Monitor y Vertex AI Model Monitoring ofrecen las mismas comprobaciones como servicios gestionados. A continuación, una alerta inicia una investigación:
Monitorización, observabilidad y evaluación#
- Observabilidad: Registros, trazas y entradas almacenadas que explican por qué se ha activado una alerta. La monitorización ejecuta comprobaciones predefinidas, y muchos proveedores ofrecen ambos servicios juntos bajo el nombre de observabilidad de ML.
- Evaluación del modelo: Puntúa un modelo con un conjunto de prueba reservado antes de su lanzamiento. La monitorización repite esa medición con el tráfico real mientras el modelo siga prestando servicio.
- Seguimiento de experimentos: Registra las ejecuciones de entrenamiento durante el desarrollo, antes de que haya datos de producción.










