Una feature se calcula con SQL para entrenar pero se reimplementa en el código de servicio, y los valores online difieren un poco. ¿Cómo se llama esto y cuál es el mejor arreglo?
Opciones
- Training-serving skew; usar una única definición de la feature (o registrar los valores del servicio y entrenar con ellos) (Opción correcta)
- Sobreajuste; añadir regularización
- Concept drift; reentrenar más a menudo
- Fuga de datos; quitar la feature
Respuesta
Training-serving skew; usar una única definición de la feature (o registrar los valores del servicio y entrenar con ellos)
Por qué
El training-serving skew es una diferencia entre los datos con los que se entrenó el modelo y los que recibe en producción, aquí causada por dos implementaciones de una misma feature.
Los arreglos: calcular la feature con el mismo código (o un feature store) en los dos sitios, o registrar los valores exactos en el momento del servicio y entrenar con esos registros, y comprobar con tests que los valores offline y online coinciden.
Reentrenar no ayuda si los dos pipelines no coinciden.
Recuerda
El mismo código de features para entrenar y para servir.