Introducción al modelo de Monitoring de Vertex AI

En esta página, se proporciona una descripción general de Vertex AI Model Monitoring.

Descripción general de Monitoring

Vertex AI Model Monitoring te permite ejecutar trabajos de supervisión según sea necesario o con un programa regular para hacer un seguimiento de la calidad de tus modelos tabulares. Si configuraste alertas, Vertex AI Model Monitoring te informará cuando las métricas superen un umbral especificado.

Por ejemplo, supongamos que tienes un modelo que predice el valor del ciclo de vida del cliente. A medida que cambian los hábitos de los clientes, también cambian los factores que predicen su gasto. En consecuencia, es posible que los atributos y los valores de los atributos que usaste para entrenar tu modelo antes no sean relevantes para hacer predicciones en la actualidad. Esta desviación en los datos se conoce como deriva.

Vertex AI Model Monitoring puede hacer un seguimiento de las desviaciones y enviarte alertas cuando superen un umbral especificado. Luego, puedes volver a evaluar o entrenar el modelo para asegurarte de que se comporte como se espera.

Por ejemplo, Vertex AI Model Monitoring puede proporcionar visualizaciones como las de la siguiente imagen, que superpone dos gráficos de dos conjuntos de datos. Esta visualización te permite comparar y ver rápidamente las desviaciones entre los dos conjuntos de datos.

Un ejemplo de una distribución numérica de un conjunto de datos de referencia y de destino

Versiones de Vertex AI Model Monitoring

Vertex AI Model Monitoring ofrece dos versiones: v2 y v1.

Model Monitoring v2 se encuentra en versión preliminar y es la oferta más reciente que asocia todas las tareas de supervisión con una versión de modelo. En cambio, Model Monitoring v1 está disponible de forma general y se configura en los extremos de Vertex AI.

Si necesitas asistencia a nivel de producción y deseas supervisar un modelo que se implementó en un extremo de Vertex AI, usa la versión 1 de Model Monitoring. Para todos los demás casos de uso, usa Model Monitoring v2, que proporciona todas las funciones de Model Monitoring v1 y mucho más. Para obtener más información, consulta la descripción general de cada versión:

Para los usuarios existentes de Model Monitoring v1, se mantiene como está. No es necesario que realices la migración a Model Monitoring v2. Si deseas migrar, puedes usar ambas versiones de forma simultánea hasta que hayas migrado por completo a la versión 2 de Model Monitoring para evitar brechas de supervisión durante la transición.

Descripción general de Model Monitoring v2

Model Monitoring v2 te permite hacer un seguimiento de las métricas a lo largo del tiempo después de configurar un supervisor de modelos y ejecutar trabajos de supervisión. Puedes ejecutar trabajos de supervisión on demand o configurar ejecuciones programadas. Cuando usas ejecuciones programadas, la supervisión de modelos ejecuta trabajos de supervisión automáticamente según un programa que definas.

Objetivos de supervisión

Las métricas y los umbrales que supervisas se asignan a objetivos de supervisión. Para cada versión del modelo, puedes especificar uno o más objetivos de supervisión. En la siguiente tabla, se detalla cada objetivo:

Objetivo Descripción Tipo de datos del atributo Métricas admitidas
Desvío de datos de atributos de entrada

Mide la distribución de los valores de atributos de entrada en comparación con una distribución de datos de referencia.

Categóricos: booleano, cadena, categóricos
  • L-Infinity
  • Divergencia de Jensen-Shannon
Numérico: Número de punto flotante, número entero Divergencia de Jensen-Shannon
Desvío de datos de predicciones del resultado

Mide la distribución de datos de las predicciones del modelo en comparación con una distribución de datos de referencia.

Categóricos: booleano, cadena, categóricos
  • L-Infinity
  • Divergencia de Jensen-Shannon
Numérico: Número de punto flotante, número entero Divergencia de Jensen-Shannon
Atribución de atributos

Mide el cambio en la contribución de los atributos a la predicción de un modelo en comparación con un modelo de referencia. Por ejemplo, puedes hacer un seguimiento si un atributo muy importante pierde importancia de forma repentina.

Todos los tipos de datos Valor de SHAP (explicaciones aditivas de Shapley)

Desvío de atributos de entrada y predicciones de salida

Después de implementar un modelo en producción, los datos de entrada pueden desviarse de los datos que se usaron para entrenar el modelo, o la distribución de los datos de atributos en producción podría cambiar de manera significativa con el tiempo. Model Monitoring v2 puede supervisar los cambios en la distribución de los datos de producción en comparación con los datos de entrenamiento o hacer un seguimiento de la evolución de la distribución de los datos de producción a lo largo del tiempo.

Del mismo modo, en el caso de los datos de predicción, Model Monitoring v2 puede supervisar los cambios en la distribución de los resultados previstos en comparación con la distribución de los datos de entrenamiento o de producción a lo largo del tiempo.

Atribución de atributos

Las atribuciones de atributos indican cuánto contribuyó cada atributo del modelo a las predicciones para cada instancia determinada. Las puntuaciones de atribución son proporcionales a la contribución del atributo a la predicción de un modelo. Por lo general, se firman, lo que indica si un atributo ayuda a aumentar o reducir la predicción. Las atribuciones en todos los atributos deben sumar la puntuación de predicción del modelo.

Mediante la supervisión de atribuciones de atributos, la supervisión de modelos v2 realiza un seguimiento de los cambios en las contribuciones de una función a las predicciones de un modelo a lo largo del tiempo. Un cambio en la puntuación de atribución de un atributo clave a menudo indica que el atributo cambió de una manera que puede afectar la exactitud de las predicciones del modelo.

Para obtener más información sobre las atribuciones y las métricas de atributos, consulta Explicacionesbasadas en atributos y Método de Shapley muestreado.

Cómo configurar Model Monitoring v2

Primero, debes registrar tus modelos en Vertex AI Model Registry. Si publicas modelos fuera de Vertex AI, no necesitas subir el artefacto del modelo. Luego, creas un supervisor de modelos, que asocias con una versión del modelo, y defines el esquema del modelo. Para algunos modelos, como los de AutoML, el esquema se te proporciona.

En el monitor de modelos, puedes especificar configuraciones predeterminadas, como objetivos de supervisión, un conjunto de datos de entrenamiento, la ubicación de salida de la supervisión y la configuración de notificaciones. Para obtener más información, consulta Configura la supervisión de modelos.

Después de crear un supervisor de modelos, puedes ejecutar un trabajo de supervisión a pedido o programar trabajos regulares para la supervisión continua. Cuando ejecutas un trabajo, la supervisión de modelos usa la configuración predeterminada establecida en el supervisor de modelos, a menos que proporciones una configuración de supervisión diferente. Por ejemplo, si proporcionas diferentes objetivos de supervisión o un conjunto de datos de comparación diferente, Model Monitoring usa las configuraciones del trabajo en lugar de la configuración predeterminada del monitor de modelos. Para obtener más información, consulta Cómo ejecutar un trabajo de supervisión.

Precios

No se te cobrará por Model Monitoring v2 durante la versión preliminar. Se te seguirá cobran los servicios de otros servicios, como Cloud Storage, BigQuery, las predicciones por lotes de Vertex AI, Explainable AI de Vertex y Cloud Logging.

Instructivos para uso de notebooks

En los siguientes instructivos, se muestra cómo usar el SDK de Vertex AI para Python para configurar la versión 2 de Model Monitoring para tu modelo.

Model Monitoring v2: Trabajo de predicción por lotes de modelos personalizados

Model Monitoring v2: Predicción en línea de modelos personalizados

Model Monitoring v2: Modelos fuera de Vertex AI

Descripción general de Model Monitoring v1

Para ayudarte a mantener el rendimiento de un modelo, Model Monitoring v1 supervisa los datos de entrada de predicción del modelo para detectar el sesgo y el desvío de atributos:

  • El sesgo entre el entrenamiento y la entrega se produce cuando la distribución de datos de atributos en la producción difiere de la distribución de datos de atributos que se usó para entrenar el modelo. Si los datos de entrenamiento originales están disponibles, puedes habilitar la detección de sesgos a fin de supervisar tus modelos para el sesgo de entrenamiento y entrega.

  • El desvío de predicción ocurre cuando la distribución de datos de atributos en la producción cambia de manera significativa con el tiempo. Si los datos de entrenamiento originales no están disponibles, puedes habilitar la detección de desvío para supervisar las entradas de datos en busca de cambios con el tiempo.

Puedes habilitar la detección de sesgo y de desvío.

Model Monitoring v1 admite la detección de sesgo y desvío de atributos categóricos y numéricos:

  • Los atributos categóricos son datos limitados por la cantidad de valores posibles, comúnmente agrupados por propiedades cualitativas. Por ejemplo, las categorías como tipo de producto, país o tipo de cliente.

  • Los atributos numéricos son datos que pueden corresponder a cualquier valor numérico. Por ejemplo, peso y altura.

Una vez que el sesgo o desvío del atributo de un modelo excede el umbral de alertas que estableciste, Model Monitoring v1 te envía una alerta por correo electrónico. También puedes ver las distribuciones para cada atributo con el paso del tiempo para evaluar si necesitas volver a entrenar el modelo.

Calcula el desvío

Para detectar el desvío de la v1, Vertex AI Model Monitoring usa TensorFlow Data Validation (TFDV) para calcular las distribuciones y las puntuaciones de distancia.

  1. Calcula la distribución estadística del modelo de referencia:

    • Para la detección de sesgo, el modelo de referencia es la distribución estadística de los valores del atributo en los datos de entrenamiento.

    • Para la detección de desvíos, el modelo de referencia es la distribución estadística de los valores del atributo que se vieron en producción en el pasado.

    Las distribuciones de atributos categóricos y numéricos se calculan de la siguiente manera:

    • Para los atributos categóricos, la distribución calculada es el número o porcentaje de instancias de cada valor posible del atributo.

    • Para los atributos numéricos, Model Monitoring de Vertex AI divide el rango de valores posibles del atributo en intervalos iguales y calcula la cantidad o el porcentaje de valores del atributo que se encuentran en cada intervalo.

    El modelo de referencia se calcula cuando creas un trabajo de Vertex AI Model Monitoring y solo se vuelve a calcular si actualizas el conjunto de datos de entrenamiento para el trabajo.

  2. Calcula la distribución estadística de los valores de atributos más recientes vistos en producción.

  3. Calcula la puntuación de distancia para comparar la distribución de los valores más recientes del atributo en producción con la distribución del modelo de referencia:

  4. Cuando la puntuación de distancia entre dos distribuciones estadísticas supera el umbral que especificaste, la supervisión de modelos de Vertex AI identifica la anomalía como sesgo o desvío.

En el siguiente ejemplo, se muestra el sesgo o desvío entre el modelo de referencia y las distribuciones más recientes de un atributo categórico:

Distribución de modelo de referencia

Un ejemplo de distribución de atributos de un conjunto de datos de modelo de referencia

Distribución más reciente

Un ejemplo de distribución de atributos del conjunto de datos más reciente.

En el siguiente ejemplo, se muestra un sesgo o un desvío entre el modelo de referencia y las distribuciones más recientes de un atributo numérico:

Distribución de modelo de referencia

Un ejemplo de distribución de atributos de un conjunto de datos de modelo de referencia

Distribución más reciente

Un ejemplo de distribución de atributos del conjunto de datos más reciente.

Consideraciones para usar Model Monitoring

  • Para fines de rentabilidad, puedes configurar una tasa de muestreo de solicitudes de predicción a fin de supervisar un subconjunto de las entradas de producción en un modelo.

  • Puedes establecer una frecuencia con la que se supervisarán las entradas registradas recientemente de un modelo implementado para detectar sesgos o desvíos. La frecuencia de supervisión determina el período, o el tamaño del período de supervisión, de los datos registrados que se analizan en cada ejecución de supervisión.

  • Puedes especificar umbrales de alertas para cada función que desees supervisar. Se registra una alerta cuando la distancia estadística entre la distribución de los atributos de entrada y el modelo de referencia correspondiente supera el umbral especificado. De forma predeterminada, se supervisa cada atributo categórico y numérico, con valores de umbral de 0.3.

  • Un extremo de predicción en línea puede alojar varios modelos. Cuando habilitas la detección de sesgo o desvío en un extremo, se comparten los siguientes parámetros de configuración en todos los modelos alojados en ese extremo:

    • Tipo de detección
    • Frecuencia de supervisión
    • Fracción de las solicitudes de entrada supervisadas

    En los otros parámetros de configuración, puedes establecer valores diferentes para cada modelo.

¿Qué sigue?