Supervisión de modelos de Azure Machine Learning
La supervisión de modelos es el último paso del ciclo de vida completo del aprendizaje automático. Este paso realiza un seguimiento del rendimiento del modelo en producción y analiza el rendimiento desde perspectivas operativas y de ciencia de datos. En este artículo, obtendrá información sobre la supervisión de modelos en Azure Machine Learning, las señales y las métricas que puede supervisar y los procedimientos recomendados para la supervisión de modelos.
A diferencia de los sistemas de software tradicionales, el comportamiento del sistema de aprendizaje automático no solo depende de las reglas especificadas en el código, sino que también se aprende de los datos. Los cambios de distribución de datos, la distorsión de servicio de entrenamiento, los problemas de calidad de los datos, los cambios en entornos y los cambios de comportamiento del consumidor pueden hacer que un modelo quede obsoleto.
Cuando un modelo se queda obsoleto, su rendimiento puede degradarse hasta el punto en que no agrega valor empresarial o comienza a causar problemas graves de cumplimiento en entornos altamente regulados. Por lo tanto, es importante supervisar el rendimiento del modelo.
Funcionamiento de la supervisión de modelos de Azure Machine Learning
Para implementar la supervisión, Azure Machine Learning adquiere señales de supervisión mediante la realización de cálculos estadísticos en datos de inferencia de producción transmitidos y datos de referencia. Los datos de inferencia de producción hacen referencia a los datos de entrada y salida del modelo recopilados en producción. Los datos de referencia pueden ser datos históricos de entrenamiento, de validación o verídicos básicos.
Importante
La supervisión del modelo de Azure Machine Learning solo admite la autenticación basada en credenciales, como un token de firma de acceso compartido (SAS) para acceder a los datos incluidos en los almacenes de datos. Para más información sobre los almacenes de datos y los modos de autenticación, consulte Administración de datos.
Cada señal de supervisión tiene una o varias métricas. Puede establecer umbrales para estas métricas para desencadenar alertas sobre el modelo o las anomalías de datos a través de Azure Machine Learning o Azure Event Grid. Cuando reciba alertas, puede usar el Estudio de Azure Machine Learning para analizar o solucionar problemas de señales de supervisión para la mejora continua de la calidad del modelo.
Azure Machine Learning usa el siguiente proceso para controlar una señal de supervisión integrada, como el desfase de datos, para un modelo en producción:
En primer lugar, Azure Machine Learning calcula la distribución estadística del valor de la característica en los datos de entrenamiento. Esta distribución es la distribución de línea base para la característica.
A continuación, Azure Machine Learning calcula la distribución estadística de los valores más recientes de la característica registrados en producción.
Después, Azure Machine Learning realiza una prueba estadística o calcula una puntuación de distancia para comparar la distribución de los valores más recientes de la característica en producción con la distribución de línea base. Si la estadística de prueba o la puntuación de distancia entre las dos distribuciones supera un umbral especificado por el usuario, Azure Machine Learning identifica la anomalía y notifica al usuario.
Configuración y uso de la supervisión de modelos
Para usar la supervisión de modelos en Azure Machine Learning:
Primero, habilite la recopilación de datos de inferencia de producción.
- Si implementa un modelo en un punto de conexión en línea de Azure Machine Learning, puede habilitar la recopilación de datos de inferencia de producción mediante la recopilación de datos del modelo de Azure Machine Learning.
- Si implementa un modelo fuera de Azure Machine Learning o en un punto de conexión por lotes de Azure Machine Learning, es responsable de recopilar datos de inferencia de producción que puede usar para la supervisión del modelo de Azure Machine Learning.
A continuación, configure la supervisión del modelo. Puede usar el SDK o la CLI 2.0 de Azure Machine Learning o la interfaz de usuario del estudio para configurar fácilmente la supervisión del modelo. Durante la configuración, puede especificar las señales de supervisión preferidas y personalizar las métricas y los umbrales de cada señal.
Por último, vea y analice los resultados de la supervisión del modelo. Una vez configurada la supervisión del modelo, Azure Machine Learning ejecuta un trabajo de supervisión según la programación especificada. Cada ejecución calcula y evalúa las métricas de todas las señales de supervisión seleccionadas y desencadena notificaciones de alerta cuando se supera cualquier umbral especificado. Puede seguir el vínculo de la notificación de alerta para ver y analizar los resultados de la supervisión en el área de trabajo de Azure Machine Learning.
Funcionalidades de la supervisión de modelos
Azure Machine Learning proporciona las siguientes funcionalidades para la supervisión continua de modelos:
- Señales de supervisión integradas para los datos tabulares, incluido el desfase de datos, el desfase de predicción, la calidad de los datos, el desfase de atribución de características y el rendimiento del modelo.
- Supervisión de modelos integradas para puntos de conexión en línea. Si implementa el modelo en producción en un punto de conexión en línea, Azure Machine Learning recopila automáticamente los datos de inferencia de producción y los usa para la supervisión continua.
- Varían las señales de supervisión en una configuración de supervisión. Para cada señal de supervisión, puede seleccionar las métricas preferidas y el umbral de alerta.
- Elección de datos de referencia para la comparación. Para las señales de supervisión, puede establecer datos de referencia mediante datos de entrenamiento o datos de producción anteriores recientes.
- características principales N para el desfase de datos o la supervisión de la calidad de los datos. Si usa datos de entrenamiento como datos de referencia, puede definir el desfase de datos o las señales de calidad de los datos en capas sobre la importancia de las características.
- Capacidad de definir señales de supervisión personalizadas. Si las señales de supervisión integradas no son adecuadas para su escenario empresarial, puede definir su propia señal de supervisión con un componente de señal de supervisión personalizado.
- Flexibilidad para usar datos de inferencia de producción desde cualquier origen. Si implementa modelos fuera de Azure Machine Learning o implementa modelos en puntos de conexión por lotes, todavía puede recopilar datos de inferencia de producción para usarlos en la supervisión del modelo de Azure Machine Learning.
Procedimientos recomendados para la supervisión de modelos
Cada modelo de Machine Learning y sus casos de uso son únicos. Por lo tanto, la supervisión del modelo es única para cada situación. En la siguiente lista se describen los procedimientos recomendados para la supervisión de modelos.
- Iniciar la supervisión del modelo inmediatamente después de implementar un modelo en producción.
- Trabaje con científicos de datos que estén familiarizados con el modelo para configurar la supervisión. Los científicos de datos que tienen información sobre el modelo y sus casos de uso pueden recomendar señales y métricas de supervisión y establecer los umbrales de alerta adecuados para cada métrica para evitar la fatiga de las alertas.
- Incluya varias señales de supervisión en la configuración. Con varias señales de supervisión, obtiene vistas de supervisión amplias y granulares. Por ejemplo, puede combinar el desfase de datos y las señales de desfase de atribución de características para obtener advertencias tempranas sobre los problemas de rendimiento del modelo.
- Use los datos de referencia adecuados como línea base de comparación. En el caso de los datos de referencia usados como línea base de comparación, puede usar datos de producción anteriores recientes o datos históricos, como datos de entrenamiento o validación. Si se trata de una comparación más significativa, use los datos de entrenamiento como línea base de comparación para el desfase de datos y la calidad de los datos. Use los datos de validación como línea base de comparación para el desfase de predicción.
- Especifique la frecuencia de supervisión en función del crecimiento de los datos de producción a lo largo del tiempo. Por ejemplo, si el modelo de producción tiene un tráfico diario intensivo y la acumulación diaria de datos es suficiente, establezca la frecuencia de supervisión a diario. De lo contrario, considere una frecuencia de supervisión semanal o mensual, en función del crecimiento de los datos de producción a lo largo del tiempo.
- Supervise las N principales características o un subconjunto de características. Si usa datos de entrenamiento como línea base de comparación, puede configurar fácilmente la supervisión del desfase de datos o la supervisión de la calidad de los datos para las características de N principales. En el caso de los modelos que tienen un gran número de características, considere la posibilidad de supervisar un subconjunto de esas características para reducir el costo de cálculo y supervisar el ruido.
- Use la señal de rendimiento del modelo cuando tenga acceso a los datos verídicos básicos. Si tiene acceso a datos reales de tierra, también denominados reales, en función de la aplicación de aprendizaje automático, use la señal de rendimiento del modelo para comparar los datos de verdad del suelo con la salida del modelo. Esta comparación proporciona una vista objetiva del rendimiento del modelo en producción.
Tamaño y desplazamiento de la ventana de retrospectiva
El tamaño de la ventana de retrospectiva es la duración del tiempo (en formato ISO 8601) para la ventana de datos de referencia o de producción. El desplazamiento de la ventana de retrospectiva es la duración del tiempo para desplazar el final de la ventana de datos desde la fecha de ejecución de la supervisión.
Por ejemplo, el modelo en producción tiene un monitor establecido para que se ejecute el 31 de enero a las 15:15 UTC. Un tamaño de ventana de búsqueda de datos de producción de P7D
o siete días y un desplazamiento de ventana de retrospección de datos de P0D
o cero días significa que el monitor usa datos de producción desde el 24 de enero a las 15:15 UTC hasta el 31 de enero a las 15:15 UTC, la hora a la que se ejecuta el monitor.
Para los datos de referencia, si establece el desplazamiento de la ventana de retrospectiva en P7D
o siete días, la ventana de datos de referencia finaliza justo antes de que se inicie la ventana de datos de producción, de modo que no se superponga. A continuación, puede establecer el tamaño de la ventana de retrospectiva de datos de referencia para que sea tan grande como desee.
Por ejemplo, si establece el tamaño de la ventana de retrospectiva de datos de referencia en P24D
o 24 días, la ventana de datos de referencia incluye datos del 1 de enero a las 15:15 UTC hasta el 24 de enero a las 15:15 UTC. En el siguiente diagrama, se ilustra este concepto.
En algunos casos, puede resultar útil establecer el desplazamiento de la ventana de búsqueda para los datos de producción en un número mayor que cero días. Por ejemplo, si el monitor está programado para ejecutarse semanalmente los lunes a las 15:15 UTC, pero no quiere usar datos del fin de semana en la ejecución de supervisión, puede usar un tamaño de ventana de retrospectiva de P5D
o cinco días y un desplazamiento de ventana de retrospectiva de P2D
o dos días. A continuación, la ventana de datos comienza el lunes anterior a las 15:15 UTC y termina el viernes a las 15:15 UTC.
En la práctica, debe asegurarse de que la ventana de datos de referencia y la ventana de datos de producción no se superpongan. Como se muestra en la siguiente ilustración, puede asegurarse de que las ventanas sin superponer garantizan que el desplazamiento de la ventana de búsqueda de datos de referencia, de P10D
o 10 días en este ejemplo, es mayor o igual que la suma del tamaño de la ventana de búsqueda de datos de producción y su desplazamiento de ventana de búsqueda, de siete días en total en este ejemplo.
Con la supervisión del modelo de Azure Machine Learning, puede usar valores predeterminados inteligentes para el tamaño de la ventana de retrospectiva y el desplazamiento de ventana de retrospectiva, o puede personalizarlos para satisfacer sus necesidades. Se admiten ventanas graduales y ventanas fijas.
Personalizar el tamaño de la ventana de retrospectiva
Tiene la flexibilidad de seleccionar un tamaño de ventana de retrospectiva para los datos de producción y los datos de referencia.
De forma predeterminada, el tamaño de la ventana de retrospectiva para los datos de producción es la frecuencia de supervisión. Todos los datos recopilados en el período de supervisión antes de que se ejecute el trabajo de supervisión se incluyan en la ventana de búsqueda. Puede usar la propiedad
production_data.data_window.lookback_window_size
para ajustar la ventana de datos graduales de los datos de producción.De forma predeterminada, la ventana de retrospectiva de los datos de referencia es el conjunto de datos completo. Puede usar la propiedad
reference_data.data_window.lookback_window_size
para ajustar el tamaño de la ventana de retrospectiva de referencia.
Para especificar una ventana de datos fija para los datos de referencia, use las propiedades reference_data.data_window.window_start_date
y reference_data.data_window.window_end_date
.
Personalizar el desplazamiento de la ventana de retrospectiva
Tiene la flexibilidad de seleccionar un desplazamiento de ventana de retrospectiva para la ventana de datos para los datos de producción y los datos de referencia. Puede usar el desplazamiento para tener un control granular sobre los datos que usa el monitor. El desplazamiento solo se aplica a las ventanas de datos graduales.
De forma predeterminada, el desplazamiento de los datos de producción es de
P0D
o cero días. Puede modificar este desplazamiento con la propiedadproduction_data.data_window.lookback_window_offset
.De forma predeterminada, el desplazamiento de los datos de referencia es dos veces el
production_data.data_window.lookback_window_size
. Esta configuración garantiza que haya suficientes datos de referencia para obtener resultados de supervisión estadísticamente significativos. Puede modificar este desplazamiento con la propiedadreference_data.data_window.lookback_window_offset
.
Supervisión de señales y métricas
La supervisión del modelo de Azure Machine Learning admite las siguientes señales y métricas de supervisión.
Importante
Los elementos marcados (versión preliminar) en este artículo se encuentran actualmente en versión preliminar pública. Se ofrece la versión preliminar sin Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
Señal de supervisión | Descripción | Métricas | Tareas del modelo o formato de datos admitido | Datos de producción | Datos de referencia |
---|---|---|---|---|---|
Desfase de datos | Realiza un seguimiento de los cambios en la distribución de los datos de entrada de un modelo comparando la distribución con los datos de entrenamiento del modelo o los datos de producción recientes. | Jensen-Shannon distancia, índice de estabilidad de la población, distancia de Wasserstein normalizada, prueba de dos muestras de Kolmogorov-Smirnov, prueba de Chi-Squared de Pearson | Clasificación (datos tabulares), Regresión (datos tabulares) | Datos de producción: entradas del modelo | Datos recientes de producción o datos de entrenamiento |
Desfase de predicción | Realiza un seguimiento de los cambios en la distribución de las salidas previstas de un modelo, comparando la distribución con los datos de validación, los datos de prueba etiquetados o los datos de producción recientes. | Jensen-Shannon distancia, índice de estabilidad de la población, distancia de Wasserstein normalizada, Chebyshev Distance, prueba de dos muestras de Kolmogorov-Smirnov, prueba de Chi-Squared de Pearson | Clasificación (datos tabulares), Regresión (datos tabulares) | Datos de producción: salidas del modelo | Datos de producción anteriores recientes o datos de validación |
Calidad de los datos | Realiza un seguimiento de la integridad de los datos de la entrada de un modelo comparándola con los datos de entrenamiento del modelo o los datos de producción recientes. Las comprobaciones de calidad de los datos incluyen la comprobación de valores NULL, la falta de coincidencia de tipos o los valores no enlazados. | Tasa de valores NULL, tasa de errores de tipo de datos, tasa de límites insuficientes | Clasificación (datos tabulares), Regresión (datos tabulares) | Datos de producción: entradas del modelo | Datos recientes de producción o datos de entrenamiento |
Desfase de atribución de características (versión preliminar) | En función de la contribución de las características a las predicciones, también conocidas como importancia de las características. El desfase de atribución de características realiza un seguimiento de la importancia de las características durante la producción comparándola con la importancia de las características durante el entrenamiento. | Ganancia acumulativa con descuento normalizado | Clasificación (datos tabulares), Regresión (datos tabulares) | Datos de producción: entradas y salidas del modelo | Datos de entrenamiento (obligatorios) |
Rendimiento del modelo: clasificación (versión preliminar) | Realiza un seguimiento del rendimiento objetivo de la salida de un modelo en producción comparándolo con los datos verídicos básicos recopilados. | Exactitud, precisión y recuperación | Clasificación (datos tabulares) | Datos de producción: salidas del modelo | Datos verídicos básicos (obligatorios) |
Rendimiento del modelo: regresión (versión preliminar) | Realiza un seguimiento del rendimiento objetivo de la salida de un modelo en producción comparándolo con los datos verídicos básicos recopilados. | Error absoluto medio (MAE), error cuadrático medio (MSE), raíz del error cuadrático medio (RMSE) | Regresión (datos tabulares) | Datos de producción: salidas del modelo | Datos verídicos básicos (obligatorios) |
Inteligencia artificial generativa: seguridad y calidad de generación (versión preliminar) | Evalúa la seguridad y la calidad de las aplicaciones de IA generativa mediante métricas asistidas por GPT. | Base, relevancia, fluidez, similitud, coherencia | Preguntas y respuestas | Plantilla de solicitud, estado de finalización, contexto y anotación | N/D |
Métricas de calidad de los datos
La señal de supervisión de calidad de datos realiza un seguimiento de la integridad de los datos de entrada de un modelo mediante el cálculo de las siguientes tres métricas:
- Tasa de valor null
- Tasa de error de tipo de datos
- Tasa fuera de los límites
La supervisión del modelo de Azure Machine Learning admite una precisión de hasta 0,00001 para los cálculos de la tasa de valor null, la tasa de error de tipo de datos y la tasa fuera de los límites.
Tasa de valor null
La tasa de valor null es la tasa de valores null en la entrada del modelo para cada característica. Por ejemplo, si la ventana de datos de producción de supervisión contiene 100 filas y el valor de la característica de temperature
es null para 10 de esas filas, la tasa de valor null para temperature
es del 10 %.
Azure Machine Learning admite el cálculo de la tasa de valores null para todos los tipos de datos de características.
Tasa de error de tipo de datos
Durante cada ejecución de supervisión, la supervisión del modelo de Azure Machine Learning infiere el tipo de datos para cada característica de los datos de referencia. La tasa de error de tipo de datos es la tasa de diferencias de tipo de datos entre la ventana de datos de producción actual y los datos de referencia.
Por ejemplo, si se deduce que el tipo de datos de la característica temperature
es IntegerType
a partir de los datos de referencia, pero en la ventana de datos de producción 10 de cada 100 valores de temperature
no son IntegerType
sino cadenas, el porcentaje de error de tipo de datos de temperature
es del 10 %.
Azure Machine Learning admite el cálculo de la tasa de error de tipo de datos para los siguientes tipos de datos disponibles en PySpark: ShortType
, BooleanType
, BinaryType
, DoubleType
, TimestampType
, StringType
, IntegerType
, FloatType
, ByteType
, LongType
y DateType
. Si el tipo de datos de una característica no está en esta lista, la supervisión de modelos de Azure Machine Learning se sigue ejecutando, pero no calcula la tasa de errores del tipo de datos para esa característica.
Tasa fuera de los límites
Durante cada ejecución de supervisión, la supervisión del modelo de Azure Machine Learning determina el conjunto o intervalo aceptable para cada característica de los datos de referencia. La tasa fuera de los límites es la tasa de valores de cada característica que se encuentra fuera del intervalo adecuado o establecido por los datos de referencia.
- Para las características numéricas, el intervalo adecuado es el intervalo numérico entre los valores mínimo y máximo del conjunto de datos de referencia, como
[0, 100]
. - Para las características de categorías, como
color
, el intervalo adecuado es un conjunto de todos los valores incluidos en el conjunto de datos de referencia, como[red, yellow, green]
.
Por ejemplo, si tiene una característica numérica temperature
en la que todos los valores del conjunto de datos de referencia se encuentran dentro del intervalo [37, 77]
, pero 10 de los 100 valores temperature
en la ventana de datos de producción se encuentran fuera del intervalo [37, 77]
, la tasa de límites fuera de límites para temperature
es del 10 %.
Azure Machine Learning admite el cálculo de la tasa fuera de los límites para los siguientes tipos de datos que están disponibles en PySpark: StringType
, IntegerType
, DoubleType
, ByteType
, LongType
y FloatType
. Si el tipo de datos de una característica no está en esta lista, la supervisión de modelos de Azure Machine Learning todavía se ejecuta, pero no calcula la tasa de límites insuficientes para esa característica.
Integración de supervisión de modelo con Azure Event Grid
Puede usar eventos generados por ejecuciones de supervisión de modelos de Azure Machine Learning para configurar aplicaciones, procesos o flujos de trabajo de integración continua/entrega continua (CI/CD) basados en eventos con Azure Event Grid. Cuando el monitor del modelo detecta el desfase, los problemas de calidad de los datos o la degradación del rendimiento del modelo, puede realizar un seguimiento de estos eventos con Event Grid y tomar medidas mediante programación.
Por ejemplo, si la precisión del modelo de clasificación en producción desciende por debajo de un determinado umbral, puede usar Event Grid para iniciar un trabajo de reentrenamiento que use los datos verídicos básicos recopilados. Para obtener información sobre cómo integrar Azure Machine Learning con Event Grid, consulte Supervisión del rendimiento de los modelos implementados en producción.