¿Qué debería ejecutar la integración continua de un proyecto de ML, además de los tests unitarios?
Opciones
- Nada más: los tests unitarios bastan
- Comprobaciones de datos y esquema, un entrenamiento rápido con una muestra pequeña, una puerta de evaluación frente a una línea base y una prueba de que el modelo se puede empaquetar y servir (Opción correcta)
- Un entrenamiento completo con todos los datos en cada commit
- Solo comprobaciones de formato del código
Respuesta
Comprobaciones de datos y esquema, un entrenamiento rápido con una muestra pequeña, una puerta de evaluación frente a una línea base y una prueba de que el modelo se puede empaquetar y servir
Por qué
El código puede pasar sus tests unitarios mientras el pipeline está roto. El ML añade modos de fallo que la CI puede comprobar con poco coste.
Un entrenamiento de humo con una muestra pequeña muestra que el código se ejecuta de principio a fin. Una puerta de calidad compara el modelo con una línea base o con el modelo actual. Una prueba de servicio comprueba que el modelo empaquetado carga y responde.
Entrenar con todos los datos en cada commit es demasiado lento y caro; guárdalo para ejecuciones programadas.
Recuerda
La CI de ML prueba el código, los datos y el modelo.