Share via


Supervisión de modelo con Azure Machine Learning

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 usar la supervisión de modelos.

El caso de la supervisión de modelo

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 tiene como objetivo comprender el rendimiento desde perspectivas operativas y de ciencia de datos.

A diferencia de los sistemas de software tradicionales, el comportamiento de los sistemas de aprendizaje automático se rige no solo por las reglas especificadas en el código, sino también por el comportamiento del modelo aprendido de los datos. Por lo tanto, 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 o 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.

Limitaciones de la supervisión de modelos en Azure Machine Learning

La supervisión del modelo de Azure Machine Learning solo admite el uso de la autenticación basada en credenciales (por ejemplo, el token de 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.

Funcionamiento de la supervisión de modelos en 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 referencia pueden ser datos históricos de entrenamiento, datos de validación o datos verídicos básicos. Por otro lado, los datos de inferencia de producción hacen referencia a los datos de entrada y salida del modelo recopilados en producción.

Cada señal de supervisión tiene una o varias métricas. Los usuarios pueden establecer umbrales para estas métricas para recibir alertas a través de Azure Machine Learning o Azure Event Grid sobre anomalías de modelo o datos. Estas alertas pueden pedir a los usuarios que analicen o solucionen problemas de las señales de supervisión en Estudio de Azure Machine Learning para la mejora continua de la calidad del modelo.

En los pasos siguientes se describe un ejemplo del cálculo estadístico usado para adquirir una señal de supervisión integrada, como el desfase de datos, para un modelo que se encuentra en producción.

  • Para una característica de los datos de entrenamiento, calcule la distribución estadística de sus valores. Esta distribución es la distribución de línea base para la característica.
  • Calcule la distribución estadística de los valores más recientes de la característica que se ven en producción.
  • Compare la distribución de los valores más recientes de la característica en producción con la distribución de línea base realizando una prueba estadística o calculando una puntuación de distancia.
  • Cuando 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 de supervisión de modelo

Para habilitar y usar la supervisión de modelo en Azure Machine Learning:

  1. 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. Sin embargo, 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. A continuación, puede usar estos datos para la supervisión de modelos de Azure Machine Learning.
  2. Configurar 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.
  3. Vea y analice los resultados de la supervisión del modelo. Una vez configurada la supervisión del modelo, Azure Machine Learning programa un trabajo de supervisión para que se ejecute con la frecuencia 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. La supervisión de modelos proporciona señales de supervisión integradas para los datos tabulares. Estas señales de supervisión incluyen 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.
  • Configuración lista para usar de la supervisión de modelos con el punto de conexión en línea de Azure Machine Learning. Si implementa el modelo en producción en un punto de conexión en línea de Azure Machine Learning, Azure Machine Learning recopila automáticamente los datos de inferencia de producción y los usa para la supervisión continua.
  • Uso de varias señales de supervisión para obtener una visión amplia. Puede incluir fácilmente varias 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 ajustar un umbral de alerta.
  • Uso de datos de entrenamiento o datos de producción recientes y pasados como datos de referencia para la comparación. Para las señales de supervisión, Azure Machine Learning le permite establecer datos de referencia mediante datos de entrenamiento o datos de producción recientes y pasados.
  • Supervisión de las principales características N para el desfase de datos o 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.
  • Flexibilidad para definir la señal de supervisión. 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 si implementa modelos en puntos de conexión por lotes de Azure Machine Learning, puede recopilar datos de inferencia de producción para usarlos en Azure Machine Learning para la supervisión de modelos.

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, retrocediendo desde la fecha de la ejecución de supervisión.

El desplazamiento de la ventana de retrospectiva es la duración del tiempo (en formato ISO 8601) para desplazar el final de la ventana de datos desde la fecha de ejecución de la supervisión.

Por ejemplo, supongamos que el modelo está en producción y tiene un monitor establecido para ejecutarse el 31 de enero a las 3:15 p. m. UTC. Si establece un tamaño de ventana de retrospectiva de producción de P7D (siete días) para el monitor y un desplazamiento de ventana de retrospectiva de producción de P0D (cero días), el monitor usa datos del 24 de enero a las 3:15 p. m. UTC hasta el 31 de enero a las 3:15 p. m. UTC (la hora en que se ejecuta el monitor) en la ventana de datos.

Además, para los datos de referencia, si establece el desplazamiento de la ventana de retrospectiva en P7D (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, estableciendo el tamaño de la ventana de retrospectiva de datos de referencia en P24D (24 días), la ventana de datos de referencia incluye datos del 1 de enero a las 3:15 p. m. UTC hasta el 24 de enero a las 3:15 p. m. UTC. En la siguiente figura, se ilustra este ejemplo.

Diagrama que muestra el tamaño y el desplazamiento de la ventana de búsqueda para los datos de referencia y producción.

En algunos casos, es posible que le resulte útil establecer el desplazamiento de la ventana de retrospectiva para los datos de producción en un número superior a cero días. Por ejemplo, si el monitor está programado para ejecutarse semanalmente los lunes a las 3:15 p. m. 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 (cinco días) y un desplazamiento de ventana de retrospectiva de P2D (dos días). Entonces, la ventana de datos comienza el lunes anterior a las 3:15 p. m. UTC y finaliza el viernes a las 3:15 p. m. 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 figura siguiente, puede garantizar que las ventanas no se superpongan asegurándose de que el desplazamiento de la ventana de retrospectiva de datos de referencia (P10D o 10 días, en este ejemplo) es mayor o igual que la suma del tamaño de la ventana de retrospectiva de los datos de producción y su desplazamiento de la ventana de retrospectiva (total de siete días).

Diagrama en el que se muestran los datos de referencia no superpuestos y las ventanas de datos de producción.

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. Además, 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. Es decir, se analizarán todos los datos recopilados en el período de supervisión antes de ejecutar el trabajo de supervisión. 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, puede usar 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 P0D (cero días). Puede modificar este desplazamiento con la propiedad production_data.data_window.lookback_window_offset.

  • De forma predeterminada, el desplazamiento de los datos de referencia es el doble de 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 propiedad reference_data.data_window.lookback_window_offset.

Supervisión de señales y métricas

La supervisión de modelos de Azure Machine Learning admite la siguiente lista de 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 de modelo (formato de datos admitidos) Datos de producción Datos de referencia
Desfase de datos El 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 con los datos de producción anteriores 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 El 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 pasados 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 La 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 anteriores 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 errores fuera de límite 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) El desfase de atribución de características se basa en la contribución de las características a las predicciones (también se conoce como importancia de la característica). 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) El rendimiento del modelo 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) El rendimiento del modelo 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 para la señal de supervisión de calidad de 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 tres métricas:

  • Tasa de valor null
  • Tasa de error de tipo de datos
  • 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 una característica temperature específica 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 valor null para todos los tipos de datos de características.

Tasa de error de tipo de datos

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. 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. Por ejemplo, si se infiere que el tipo de datos de una 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 (tal vez sean cadenas), la tasa de error de tipo de datos para 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á incluido en esta lista, la supervisión de modelos de Azure Machine Learning todavía se ejecuta, pero no calculará la tasa de error de tipo de datos para esa característica específica.

Tasa fuera de los límites

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. 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.

  • Para una característica numérica, el intervalo adecuado es un intervalo numérico del valor mínimo en el conjunto de datos de referencia al valor máximo, como [0, 100].
  • Para una característica categórica, como color, el intervalo adecuado es un conjunto de todos los valores contenidos en el conjunto de datos de referencia, como [red, yellow, green].

Por ejemplo, si tiene una característica numérica temperature donde todos los valores se encuentran dentro del intervalo [37, 77] en el conjunto de datos de referencia, pero en la ventana de datos de producción, 10 de cada 100 valores para temperature se encuentran fuera del intervalo [37, 77], la tasa fuera de los límites para temperature es del 10 %.

  • Azure Machine Learning admite el cálculo de la tasa fuera de los límites para estos 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á incluido en esta lista, la supervisión de modelos de Azure Machine Learning todavía se ejecuta, pero no calculará la tasa fuera de los límites para esa característica específica.

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.

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. A continuación se muestra una lista de 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 de modelos. Los científicos de datos que tienen información sobre el modelo y sus casos de uso están en la mejor posición para recomendar señales y métricas de supervisión, y establecer los umbrales de alerta adecuados para cada métrica (para evitar fatiga de alerta).
  • Incluya varias señales de supervisión en la configuración de supervisión. Con varias señales de supervisión, obtiene una visión amplia y pormenorizada de la supervisión. Por ejemplo, puede combinar el desfase de datos y las señales de desfase de atribución de características para obtener una advertencia temprana sobre los problemas de rendimiento del modelo.
  • Use los datos de entrenamiento del modelo como datos de referencia. Para los datos de referencia que se usan como línea base de comparación, Azure Machine Learning permite usar los datos de producción anteriores recientes o los datos históricos (como datos de entrenamiento o datos de validación). Para una comparación significativa, se recomienda usar los datos de entrenamiento como línea base de comparación para el desfase de datos y la calidad de los datos. Para el desfase de predicción, use los datos de validación como línea base de comparación.
  • Especifique la frecuencia de supervisión en función de cómo aumentarán los datos de producción con el tiempo. Por ejemplo, si el modelo de producción tiene mucho tráfico diario y la acumulación de datos diaria es suficiente para supervisarlo, puede establecer la frecuencia de supervisión en diaria. De lo contrario, puede considerar 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 características principales importantes 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 principales características de N. 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 los datos verídicos básicos (también conocidos como reales) basados en las particularidades de la aplicación de aprendizaje automático, se recomienda usar la señal de rendimiento del modelo para comparar los datos verídicos básicos con la salida del modelo. Esta comparación proporciona una vista objetiva del rendimiento del modelo en producción.

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 CI/CD controlados por 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 Realización de la supervisión continua de modelos en Azure Machine Learning.