Prueba canalizaciones en producción

¡Felicitaciones! Implementaste el predictor de la apariencia de tu unicornio a nivel mundial. Desea que su predictor se ejecute las 24 horas, todos los días, sin problemas. Te das cuenta rápidamente de que necesitas supervisar tu canalización de AA. Si bien la supervisión de todos los componentes puede parecer abrumadora, veamos los requisitos y las soluciones.

Comprobación de la desviación entre el entrenamiento y la publicación

La desviación entre el entrenamiento y la entrega significa que los datos de entrada difieren entre el entrenamiento y la entrega. En la siguiente tabla, se describen los dos tipos de sesgo importantes:

Tipo Definición Ejemplo Solución
Sesgo de esquema Los datos de entrada y entrenamiento no se ajustan al mismo esquema. El formato o la distribución de los datos de entrega cambia mientras el modelo continúa entrenando con datos antiguos. Usa el mismo esquema para validar los datos de entrenamiento y entrega. Asegúrate de verificar por separado si hay estadísticas que tu esquema no verificó, como la fracción de valores faltantes
Sesgo de atributos Los datos de ingeniería difieren entre el entrenamiento y la entrega. El código de ingeniería de atributos difiere entre el entrenamiento y la entrega, lo que produce datos de ingeniería diferentes. Al igual que en el sesgo de esquema, aplica las mismas reglas estadísticas en el entrenamiento y la entrega de datos de ingeniería. Realiza un seguimiento de la cantidad de atributos sesgados detectados y la proporción de ejemplos sesgados por elemento.

Supervisar la antigüedad del modelo en toda la canalización

Si los datos de entrega evolucionan con el tiempo, pero el modelo no se vuelve a entrenar con regularidad, verás una disminución en la calidad del modelo. Realiza un seguimiento del tiempo desde que el modelo se volvió a entrenar con datos nuevos y establece una antigüedad límite para las alertas. Además de supervisar la antigüedad del modelo en la entrega, debes supervisar la antigüedad del modelo a lo largo de la canalización para detectar bloqueos de canalización.

Prueba que los pesos y resultados del modelo sean estables numéricamente

Durante el entrenamiento de modelos, tus pesos y resultados de capas no deben ser NaN ni Inf. Escribe pruebas para verificar los valores NaN e Inf de tus pesos y capas de salida. Además, prueba que más de la mitad de los resultados de una capa no sean cero.

Supervisar el rendimiento del modelo

¡Tu predictor de apariencia de unicornio ha sido más popular de lo esperado! Obtienes muchas solicitudes de predicción y aún más datos de entrenamiento. Crees que eso es genial hasta que te das cuenta de que tu modelo requiere cada vez más memoria y tiempo para entrenarse. Decides supervisar el rendimiento de tu modelo mediante estos pasos:

  • Realiza un seguimiento del rendimiento del modelo por versiones de código, modelo y datos. Este seguimiento te permite identificar la causa exacta de cualquier degradación del rendimiento.
  • Prueba los pasos de entrenamiento por segundo para una versión de modelo nueva en comparación con la versión anterior y con un umbral fijo.
  • Captura fugas de memoria estableciendo un umbral para el uso de memoria.
  • Supervisa los tiempos de respuesta de la API y realiza un seguimiento de sus percentiles. Si bien es posible que los tiempos de respuesta de la API estén fuera de tu control, las respuestas lentas podrían causar métricas reales deficientes.
  • Supervisa la cantidad de consultas que se responden por segundo.

Probar la calidad del modelo en vivo con los datos publicados

Validaste tu modelo. Pero ¿qué sucede si las situaciones del mundo real, como el comportamiento de los unicornios, cambian después de registrar tus datos de validación? Luego, la calidad del modelo entregado se degradará. Sin embargo, probar la calidad en la entrega es difícil porque los datos del mundo real no siempre están etiquetados. Si tus datos de entrega no están etiquetados, considera estas pruebas:

  • Genera etiquetas con evaluadores humanos.

  • Investiga modelos que muestren un sesgo estadístico significativo en las predicciones. Consulta Clasificación: Sesgo de predicción.

  • Realiza un seguimiento de las métricas reales para tu modelo. Por ejemplo, si clasificas spam, compara tus predicciones con el spam denunciado por los usuarios.

  • Mitiga la posible diferencia entre el entrenamiento y la entrega de datos mediante la entrega de una versión del modelo nueva en una fracción de tus consultas. A medida que valides tu nuevo modelo de entrega, cambia gradualmente todas las consultas a la versión nueva.

Con estas pruebas, recuerda supervisar la degradación repentina y lenta en la calidad de la predicción.