对于 AutoML 表格模型、AutoML 图片模型和自定义训练模型,您可以在模型部署或端点创建期间启用或停用预测日志。本页面介绍了不同类型的可用预测日志,以及如何启用或停用这些日志。
预测日志的类型
您可以使用多种类型的预测日志从预测节点获取信息:
容器日志记录,用于将来自预测节点的
stdout
和stderr
信息流记录到 Cloud Logging 中。调试需要这些日志。访问日志记录,用于将每个请求的时间戳和延迟时间等信息记录到 Cloud Logging 中。
在
v1
和v1beta1
服务端点上,访问日志记录默认处于停用状态。您可以在将模型部署到端点时启用访问日志记录。请求-响应日志记录,用于将在线预测请求和响应的样本记录到 BigQuery 表中。
您可以通过创建或修补预测端点来启用请求-响应日志记录。
您可以单独启用或停用各种类型的日志。
预测日志设置
您可以在创建端点、将模型部署到端点或变更已部署的模型时启用或停用在线预测日志。
如需更新访问日志的设置,您必须取消部署模型,然后使用新设置重新部署模型。您可以更新容器日志的设置,而无需重新部署模型。
以较高的每秒查询次数 (QPS) 进行的在线预测可能会生成大量日志,而这些日志要按照 Cloud Logging 价格计费。如需估算在线预测日志的价格,请参阅估算日志记录的账单。如需降低此费用,您可以停用预测日志记录。
启用和停用预测日志
以下示例重点说明了修改默认日志设置的位置:
控制台
在 Google Cloud 控制台中将模型部署到端点或创建新端点时,您可以在日志记录步骤中指定要启用的预测日志的类型。选中相应复选框可启用访问日志记录 (Access logging) 或容器日志记录 (Container logging),清除相应复选框可停用这些日志。
使用 REST API 更新容器日志的设置。
使用 REST API 启用请求-响应日志记录。Google Cloud 控制台和 gcloud CLI 不支持请求-响应日志记录配置。
如需了解有关如何部署模型的更多上下文信息,请参阅使用 Google Cloud 控制台部署模型。
gcloud
如需更改在已部署模型中针对其启用日志的默认行为,请在 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 更新容器日志的设置。
使用 REST API 启用请求-响应日志记录。Google Cloud 控制台和 gcloud CLI 不支持请求-响应日志记录配置。
如需详细了解如何部署模型,请参阅使用 Vertex AI API 部署模型。
REST
如需更改在已部署模型中针对其启用日志的默认行为,请将相关字段设置为 True
:
v1
服务端点
如需停用容器日志记录,请在调用 projects.locations.endpoints.deployModel
或 projects.locations.endpoints.mutateDeployedModel
时将 disableContainerLogging
字段设置为 True
。
如需启用访问日志记录,请在使用 projects.locations.endpoints.deployModel
部署模型时,将 enableAccessLogging
设置为 True
。
v1beta1
服务端点
如需启用容器日志记录,请在调用 projects.locations.endpoints.deployModel
或 projects.locations.endpoints.mutateDeployedModel
时将 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 表的架构应如下所示:
字段名称 类型 模式 endpoint
STRING 可以为空 deployed_model_id
STRING 可以为空 logging_time
TIMESTAMP 可以为空 request_id
NUMERIC 可以为空 request_payload
STRING REPEATED response_payload
STRING REPEATED
下面是一个示例配置:
{ "predict_request_response_logging_config": { "enabled": true, "sampling_rate": 0.5, "bigquery_destination": { "output_uri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME" } } }
请求-响应日志记录和 Model Monitoring v1
请求-响应日志记录和 Model Monitoring v1 在后端使用相同的 BigQuery 表来记录传入的请求。为防止此 BigQuery 表发生意外更改,请在同时使用这两种功能时实施以下限制:
如果端点启用了模型监控,则不能对同一端点启用请求-响应日志记录。
如果在同一端点上同时启用了请求-响应日志记录和模型监控,则将无法更改请求-响应日志记录配置。