在线预测日志记录

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

对于 AutoML 表格模型、AutoML 图片模型和自定义训练模型,您可以在模型部署端点创建期间启用或停用预测日志。本页面介绍了不同类型的可用预测日志,以及如何启用或停用这些日志。

预测日志的类型

您可以使用多种类型的预测日志从预测节点获取信息:

  • 容器日志记录,用于将来自预测节点的 stdoutstderr 信息流记录到 Cloud Logging 中。这些日志对于调试来说至关重要且必需。

    • v1 服务端点上,容器日志记录默认处于启用状态。您可以在将模型部署到端点时将其停用。

    • v1beta1 服务端点上,容器日志记录默认处于停用状态。您可以在将模型部署到端点时启用容器日志记录。

  • 访问日志记录,用于将每个请求的时间戳和延迟时间等信息记录到 Cloud Logging 中。

    v1v1beta1 服务端点上,访问日志记录默认处于停用状态。您可以在将模型部署到端点时启用访问日志记录。

  • 请求-响应日志记录,用于将在线预测请求和响应的样本记录到 BigQuery 表中。

    您可以通过创建或修补预测端点来启用请求-响应日志记录。

您可以单独启用或停用各种类型的日志。

预测日志设置

您可以在创建端点或将模型部署到端点时启用或停用在线预测日志。

要更新容器日志或访问日志的默认设置,您必须取消部署模型,然后使用新设置重新部署模型。

以较高的每秒查询次数 (QPS) 进行的在线预测可能会生成大量日志,而这些日志要按照 Cloud Logging 价格计费。如需估算在线预测日志的价格,请参阅估算日志记录的帐单。如需降低此费用,您可以停用预测日志记录。

启用和停用预测日志

以下示例重点说明了修改默认日志设置的位置:

控制台

在 Google Cloud 控制台中将模型部署到端点或创建新端点时,您可以在日志记录步骤中指定要启用的预测日志的类型。选中相应复选框可启用访问日志记录 (Access logging) 或容器日志记录 (Container logging),清除相应复选框可停用这些日志。

使用 REST API 启用请求-响应日志记录。Google Cloud 控制台和 gcloud CLI 不支持请求-响应日志记录配置。

如需了解有关如何部署模型的更多上下文信息,请参阅使用 Google Cloud 控制台部署模型

gcloud CLI

如需更改在已部署模型中针对其启用日志的默认行为,请在 gcloud 命令中添加标志:

v1 服务端点

运行 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

v1beta1 服务端点

运行 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

使用 REST API 启用请求-响应日志记录。Google Cloud 控制台和 gcloud CLI 不支持请求-响应日志记录配置。

如需详细了解如何部署模型,请参阅使用 Vertex AI API 部署模型

REST

如需更改在已部署模型中针对其启用日志的默认行为,请将相关字段设置为 True

v1 服务端点

如需停用容器日志记录,请在使用 projects.locations.endpoints.deployModel 部署模型时将 disableContainerLogging 字段设置为 True

如需启用访问日志记录,请在使用 projects.locations.endpoints.deployModel 部署模型时,将 enableAccessLogging 设置为 True

v1beta1 服务端点

如需启用容器日志记录,请在使用 projects.locations.endpoints.deployModel 部署模型时将 enableContainerLogging 字段设为 True

如需启用访问日志记录,请在使用 projects.locations.endpoints.deployModel 部署模型时,将 enableAccessLogging 设置为 True

如需详细了解如何部署模型,请参阅使用 Vertex AI API 部署模型

请求-响应日志记录

只有在使用 projects.locations.endpoints.create 创建端点或使用 projects.locations.endpoints.patch 修补现有端点时才能启用请求-响应日志记录。

请求-响应日志记录是在端点级别完成的,因此系统会记录发送到同一端点下所有已部署模型的请求。

创建或修补端点时,请使用以下条目填写端点资源predictRequestResponseLoggingConfig 字段:

  • enabled:设置为 True 以启用请求-响应日志记录。

  • samplingPercentage:此标志表示介于 0 和 1 之间的一个数字,用于定义要记录的请求的比例。例如,将此值设置为 1 以便记录所有请求,或设置为 0.1 以便记录 10% 的请求。

  • BigQueryDestination:用于日志记录的 BigQuery 表。如果仅指定项目名称,则系统会创建名为 logging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID 的新数据集,其中 ENDPOINT_DISPLAY_NAME 遵循 BigQuery 命名规则。如果您未指定表名称,则系统会创建名为 request_response_logging 的新表。

    BigQuery 表的架构应如下所示:

    字段名称类型模式
    endpointSTRING可以为空
    deployed_model_idSTRING可以为空
    logging_time时间戳可以为空
    request_idNUMERIC可以为空
    request_payloadSTRING重复
    response_payloadSTRING重复

下面是一个示例配置:

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

请求-响应日志记录和模型监控

请求-响应日志记录和模型监控在后端使用相同的 BigQuery 表来记录传入请求。为防止此 BigQuery 表发生意外更改,请在同时使用这两种功能时实施以下限制:

  • 如果某一端点启用了模型监控,则无法为该同一端点启用请求-响应日志记录。

  • 如果在同一端点上同时启用了请求-响应日志记录和模型监控,则将无法更改请求-响应日志记录配置。

后续步骤