Registro de predicciones en línea

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Para los modelos tabulares de AutoML, los modelos de imágenes de AutoML y los modelos entrenados personalizados, puedes habilitar o inhabilitar los registros de predicción duranteimplementación del modelo o lacreación de extremos. En esta página, se explican los diferentes tipos de registros de predicción disponibles y cómo habilitarlos o inhabilitarlos.

Tipos de registros de predicción

Existen dos tipos de registros de predicción que puedes usar para obtener información de los nodos de predicción y son los siguientes:

  • Registro de contenedores, que registra las transmisiones stdout y stderr de los nodos de predicción en Cloud Logging. Estos registros son esenciales y necesarios para la depuración.

    • En el extremo del servicio v1, el registro de contenedores está habilitado de forma predeterminada. Puedes inhabilitarlo cuando implementes un modelo en un extremo.

    • En el extremo del servicio v1beta1, el registro de contenedores está inhabilitado de forma predeterminada. Puedes habilitar el registro de contenedores cuando implementas un modelo en un extremo.

  • Registro de acceso, que registra información como la marca de tiempo y la latencia de las solicitudes a Cloud Logging.

    En los extremos del servicio v1 y v1beta1, el registro de acceso está inhabilitado de forma predeterminada. Puedes habilitar el registro de acceso cuando implementas un modelo en un extremo.

  • Registro de solicitud-respuesta, que registra una muestra de solicitudes de predicción en línea y respuestas a una tabla de BigQuery.

    Para habilitar el registro de solicitudes y respuestas, crea o aplica parches al extremo de predicción.

Puedes habilitar o inhabilitar cada tipo de registro de forma independiente.

Configuración del registro de predicciones

Puedes habilitar o inhabilitar los registros de predicción en línea cuando crees un extremo o implementes un modelo en él.

Para actualizar la configuración predeterminada de los registros del contenedor o de acceso, debes anular la implementación de tu modelo y, luego, volver a implementar el modelo con tu nueva configuración.

La predicción en línea a una tasa alta de consultas por segundo (QPS) puede generar una cantidad considerable de registros, que están sujetos a los precios de Cloud Logging. Si quieres calcular los precios de tus registros de predicción en línea, consulta Calcula tus facturas para el registro. Para reducir este costo, puedes inhabilitar el registro de predicción.

Inhabilita y habilita registros de predicción

En los siguientes ejemplos, se destaca dónde modificar la configuración de registro predeterminada:

Console

Cuando implementas un modelo en un extremo o creas un extremo nuevo en la consola de Google Cloud, puedes especificar qué tipos de registros de predicción habilitar en el paso de Logging. Selecciona las casillas de verificación para habilitar Registro de acceso o Registro de contenedores, o desmarca las casillas de verificación a fin de inhabilitar estos registros.

Usa la API de REST para habilitar el registro de solicitudes y respuestas. La consola de Google Cloud y la CLI de gcloud no admiten la configuración de registro de solicitudes y respuestas.

Para ver más contexto sobre cómo implementar modelos, consulta Implementa un modelo con la consola de Google Cloud.

gcloud CLI

A fin de cambiar el comportamiento predeterminado para el que se habilitan los registros en los modelos implementados, agrega marcas al comando gcloud:

Extremo de servicio v1

Ejecuta gcloud ai endpoints deploy-model:

gcloud ai endpoints deploy-model ENDPOINT_ID\
  --region=LOCATION \
  --model=MODEL_ID \
  --display-name=DEPLOYED_MODEL_NAME \
  --machine-type=MACHINE_TYPE \
  --accelerator=count=2,type=nvidia-tesla-t4 \
  --disable-container-logging \
  --enable-access-logging

Extremo de servicio v1beta1

Ejecuta gcloud beta ai endpoints deploy-model:

gcloud beta ai endpoints deploy-model ENDPOINT_ID\
  --region=LOCATION \
  --model=MODEL_ID \
  --display-name=DEPLOYED_MODEL_NAME \
  --machine-type=MACHINE_TYPE \
  --accelerator=count=2,type=nvidia-tesla-t4 \
  --enable-access-logging \
  --enable-container-logging

Usa la API de REST para habilitar el registro de solicitudes y respuestas. La consola de Google Cloud y la CLI de gcloud no admiten la configuración de registro de solicitudes y respuestas.

Para ver más contexto sobre cómo implementar modelos, consulta Implementa un modelo con la API de Vertex AI.

REST

Para cambiar el comportamiento predeterminado de los registros que se habilitan en los modelos implementados, configura los campos relevantes como True:

Extremo de servicio v1

Para inhabilitar el registro de contenedores, establece el campo disableContainerLogging en True cuando implementes tu modelo con projects.locations.endpoints.deployModel.

Para habilitar el registro de acceso, configura enableAccessLogging en True cuando implementes tu modelo con projects.locations.endpoints.deployModel.

Extremo de servicio v1beta1

Para habilitar el registro de contenedores, establece el campo enableContainerLogging en True cuando implementes tu modelo con projects.locations.endpoints.deployModel.

Para habilitar el registro de acceso, configura enableAccessLogging en True cuando implementes tu modelo con projects.locations.endpoints.deployModel.

Para ver más contexto sobre cómo implementar modelos, consulta Implementa un modelo con la API de Vertex AI.

Registro de solicitud-respuesta

Solo puedes habilitar el registro de solicitudes y respuestas cuando envías crear un extremo mediante projects.locations.endpoints.create o aplicas un parche a un extremo existente mediante projects.locations.endpoints.patch.

El registro de solicitudes y respuestas se realiza a nivel de extremo, por lo que se registran las solicitudes enviadas a cualquier modelo implementado en el mismo extremo.

Cuando crees o parches un extremo, propaga el campo predictRequestResponseLoggingConfig del recurso de extremo con las siguientes entradas:

  • enabled: establecido como True para habilitar el registro de solicitudes y respuestas.

  • samplingPercentage: un número entre 0 o 1 que defina la fracción de solicitudes para registrar. Por ejemplo, establece este valor en 1 para registrar todas las solicitudes o en 0.1 a fin de registrar el 10% de las solicitudes.

  • BigQueryDestination: Es la tabla de BigQuery que se usará para el registro. Si solo especificas un nombre de proyecto, se crea un conjunto de datos nuevo con el nombre logging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID, en el que ENDPOINT_DISPLAY_NAME sigue las reglas de nombres de BigQuery. Si no especificas un nombre de tabla, se crea una tabla nueva con el nombre request_response_logging.

    El esquema para la tabla de BigQuery debería verse de la siguiente manera:

    Nombre del campoTypeMode
    endpointSTRINGNULLABLE
    deployed_model_idSTRINGNULLABLE
    logging_timeTIMESTAMPNULLABLE
    request_idNUMERICNULLABLE
    request_payloadSTRINGREPEATED
    response_payloadSTRINGREPEATED

A continuación, se muestra una configuración de ejemplo:

{
   "predict_request_response_logging_config": {
     "enabled": true,
     "sampling_rate": 0.5,
     "bigquery_destination": {
       "output_uri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
     }
}

Registro de solicitudes y respuestas, y Model Monitoring

El registro de solicitudes y respuestas y Model Monitoring usan la misma tabla de BigQuery en el backend para registrar las solicitudes entrantes. Para evitar cambios inesperados en esta tabla de BigQuery, se aplican las siguientes limitaciones cuando se usan ambas funciones al mismo tiempo:

  • Si un extremo tiene habilitado Model Monitoring, no puedes habilitar el registro de solicitudes y respuestas para el mismo extremo.

  • Si habilitas el registro de solicitudes y respuestas y, luego, Model Monitoring en el mismo extremo, no podrás cambiar la configuración del registro de solicitudes y respuestas.

¿Qué sigue?