En esta página, se describe cómo configurar las solicitudes de trabajo de predicción por lotes para incluir el análisis único de Model Monitoring. En las predicciones por lotes, Model Monitoring admite la detección de sesgo de atributos para atributos de entrada numéricos y categóricos.
Para crear un trabajo de predicción por lotes con el análisis de sesgo de Model Monitoring, debes incluir tus datos de entrada de predicción por lotes y los datos de entrenamiento originales para tu modelo en la solicitud. Solo puedes agregar el análisis de Model Monitoring cuando creas trabajos de predicción por lotes nuevos.
Para obtener más información sobre el sesgo, consulta Introducción a Model Monitoring.
Si deseas obtener instrucciones para configurar Model Monitoring para predicciones en línea (en tiempo real), consulta Usa Model Monitoring.
Requisitos previos
Para usar Model Monitoring con predicciones por lotes, completa los siguientes pasos:
Tener un modelo disponible en Vertex AI Model Registry que sea de tipo AutoML tabular o de tipo entrenamiento personalizado tabular.
Sube tus datos de entrenamiento a Cloud Storage o BigQuery y obtén el vínculo del URI a los datos.
- Para los modelos entrenados con AutoML, puedes usar el ID del conjunto de datos para tu conjunto de datos de entrenamiento.
Model Monitoring compara los datos de entrenamiento con el resultado de la predicción por lotes. Asegúrate de usar formatos de archivo compatibles para los datos de entrenamiento y el resultado de la predicción por lotes:
Tipo de modelo Datos de entrenamiento Salida de la predicción por lotes Entrenamiento personalizado CSV, JSONL, BigQuery, TfRecord(tf.train.Example) JSONL Tabular de AutoML CSV, JSONL, BigQuery, TfRecord(tf.train.Example) CSV, JSONL, BigQuery, TfRecord(Protobuf.Value) Para los modelos con entrenamiento personalizado, sube el esquema de tu modelo a Cloud Storage (opcional). Model Monitoring requiere el esquema a fin de calcular la distribución de referencia para la detección de sesgos.
Solicitar una predicción por lotes
Puedes usar estos métodos para agregar configuraciones de Model Monitoring a trabajos de predicción por lotes:
Console
Sigue las instrucciones para realizar una solicitud de predicción por lotes con Supervisión de modelos habilitado:
API de REST
Sigue las instrucciones para realizar una solicitud de predicción por lotes con la API de REST:
Cuando crees la solicitud de predicción por lotes, agrega la siguiente configuración de Supervisión de modelos al cuerpo JSON de la solicitud:
"modelMonitoringConfig": { "alertConfig": { "emailAlertConfig": { "userEmails": "EMAIL_ADDRESS" }, "notificationChannels": [NOTIFICATION_CHANNELS] }, "objectiveConfigs": [ { "trainingDataset": { "dataFormat": "csv", "gcsSource": { "uris": [ "TRAINING_DATASET" ] } }, "trainingPredictionSkewDetectionConfig": { "skewThresholds": { "FEATURE_1": { "value": VALUE_1 }, "FEATURE_2": { "value": VALUE_2 } } } } ] }
Donde:
EMAIL_ADDRESS: es la dirección de correo electrónico en la que deseas recibir alertas de Model Monitoring. Por ejemplo,
example@example.com
.NOTIFICATION_CHANNELS: Una lista de canales de notificaciones de Cloud Monitoring en los que deseas recibir alertas de Model Monitoring. Usa los nombres de los recursos para los canales de notificaciones, que puedes recuperar si enumeras los canales de notificaciones en tu proyecto. Por ejemplo,
"projects/my-project/notificationChannels/1355376463305411567", "projects/my-project/notificationChannels/1355376463305411568"
.TRAINING_DATASET es el vínculo al conjunto de datos de entrenamiento almacenado en Cloud Storage.
- Para usar un vínculo a un conjunto de datos de entrenamiento de BigQuery, reemplaza el
campo
gcsSource
por lo siguiente:
"bigquerySource": { { "inputUri": "TRAINING_DATASET" } }
- Para usar un vínculo a un modelo de AutoML, reemplaza el campo
gcsSource
por lo siguiente:
"dataset": "TRAINING_DATASET"
- Para usar un vínculo a un conjunto de datos de entrenamiento de BigQuery, reemplaza el
campo
FEATURE_1:VALUE_1 y FEATURE_2:VALUE_2 es el umbral de alertas de cada función que deseas supervisar. Por ejemplo, si especificas
Age=0.4
, Model Monitoring registra una alerta cuando la distancia estadística entre las distribuciones de entrada y modelo de referencia para el atributoAge
excede 0.4. De forma predeterminada, se supervisa cada atributo categórico y numérico, con valores de umbral de 0.3.
Para obtener más información sobre las opciones de configuración de Model Monitoring, consulta la referencia de trabajos de Monitoring.
Python
Consulta el notebook de ejemplo a fin de ejecutar un trabajo de predicción por lotes con Supervisión de modelos para un modelo tabular personalizado.
Supervisión de modelos te notifica automáticamente las actualizaciones y alertas de trabajos por correo electrónico.
Accede a métricas de sesgo
Puedes usar los siguientes métodos para acceder a las métricas de sesgo para trabajos de predicción por lotes:
Consola (Histograma)
Usa la consola de Google Cloud para ver los histogramas de distribución de atributos de cada atributo supervisado y descubrir qué cambios generaron un sesgo con el tiempo:
Ve a la página Predicciones por lotes.
En la página Predicciones por lotes, haz clic en el trabajo de predicción por lotes que quieras analizar.
Haz clic en la pestaña Alertas de Model Monitoring para ver una lista de los atributos de entrada del modelo, junto con la información pertinente, como el límite de las alertas de cada atributo.
Para analizar un atributo, haz clic en su nombre. En una página, se muestran los histogramas de distribución de atributos para ese atributo.
La visualización de la distribución de datos como histogramas te permite enfocarte con rapidez en los cambios que ocurrieron en los datos. Después, puedes decidir ajustar la canalización de generación de atributos o volver a entrenar el modelo.
Consola (archivo JSON)
Usa la consola de Google Cloud para acceder a las métricas en formato JSON:
Ve a la página Predicciones por lotes.
Haz clic en el nombre del trabajo de supervisión de la predicción por lotes.
Haz clic en la pestaña Propiedades de Monitoring.
Haz clic en el vínculo Directorio de salida de Monitoring, que te dirige a un bucket de Cloud Storage.
Haz clic en la carpeta
metrics/
.Haz clic en la carpeta
skew/
.Haz clic en el archivo
feature_skew.json
, que te dirige a la página Detalles del objeto.Abre el archivo JSON con una de las siguientes opciones:
Haz clic en Descargar y abre el archivo en tu editor de texto local.
Usa la ruta URI de gsutil para ejecutar
gcloud storage cat gsutil_URI
en tu Cloud Shell o tu terminal local.
El archivo feature_skew.json
incluye un diccionario en el que la clave es el nombre del atributo y el valor es el sesgo del atributo. Por ejemplo:
{ "cnt_ad_reward": 0.670936, "cnt_challenge_a_friend": 0.737924, "cnt_completed_5_levels": 0.549467, "month": 0.293332, "operating_system": 0.05758, "user_pseudo_id": 0.1 }
Python
Consulta el notebook de ejemplo para acceder a las métricas de sesgo de un modelo tabular personalizado después de ejecutar un trabajo de predicción por lotes con Model Monitoring.
Depura fallas de supervisión de la predicción por lotes
Si tu trabajo de supervisión de predicción por lotes falla, puedes encontrar registros de depuración en la consola de Google Cloud:
Ve a la página Predicciones por lotes
Haz clic en el nombre del trabajo de supervisión de la predicción por lotes con errores.
Haz clic en la pestaña Propiedades de Monitoring.
Haz clic en el vínculo Directorio de salida de Monitoring, que te dirige a un bucket de Cloud Storage.
Haz clic en la carpeta
logs/
.Haz clic en cualquiera de los archivos
.INFO
, que te llevará a la página Detalles del objeto.Abre el archivo de registros con cualquiera de las opciones:
Haz clic en Descargar y abre el archivo en tu editor de texto local.
Usa la ruta URI de gsutil para ejecutar
gcloud storage cat gsutil_URI
en tu Cloud Shell o tu terminal local.
Instructivos para uso de notebooks
Obtén más información sobre cómo usar Vertex AI Model Monitoring para obtener visualizaciones y estadísticas de los modelos con estos instructivos de extremo a extremo.
AutoML
- Vertex AI Model Monitoring para modelos tabulares de AutoML
- Vertex AI Model Monitoring para la predicción por lotes en modelos de imagen de AutoML
- Vertex AI Model Monitoring para la predicción en línea en modelos de imagen de AutoML
Personalizado
- Vertex AI Model Monitoring para modelos tabulares personalizados
- Vertex AI Model Monitoring para modelos tabulares personalizados con el contenedor de TensorFlow Serving
Modelos de XGBoost
Atribuciones de atributos de Vertex Explainable AI
Predicción por lotes
Configuración para modelos tabulares
¿Qué sigue?
- Aprende a usar Model Monitoring.
- Obtén información sobre cómo Model Monitoring calcula el sesgo entre el entrenamiento y la entrega, y el desvío de predicción.