Repaso
English
MLOps y despliegueIntermedioMLO-20

¿Cómo se puede comprobar de forma sistemática si hay training-serving skew en un sistema en vivo?

Opciones

  1. Comparando la pérdida de entrenamiento con la de validación
  2. Revisando el tamaño de la imagen Docker
  3. Aumentando el número de réplicas
  4. Registrando las features exactas que recibe el modelo en producción y comparándolas con las mismas features recalculadas offline, o con las distribuciones del entrenamiento (Opción correcta)

Respuesta

Registrando las features exactas que recibe el modelo en producción y comparándolas con las mismas features recalculadas offline, o con las distribuciones del entrenamiento

Por qué

Skew significa que el modelo recibe en producción entradas distintas de las que le dio el pipeline al entrenar. La forma de verlo es mirar lo que realmente recibe.

Registrar las features del servicio (con muestreo) permite compararlas con un recálculo offline para las mismas peticiones, lo que encuentra diferencias de código, o con las estadísticas del entrenamiento, lo que encuentra valores que faltan, unidades o codificaciones que cambiaron.

La mejor prevención es ejecutar el mismo código de features en ambos sitios.

Recuerda

Registra las features del servicio y compáralas con las offline.

Términos clave

Practica esta pregunta en Repaso