Para modelos tabulares do AutoML, modelos de imagens do AutoML e modelos com treino personalizado, pode ativar ou desativar os registos de inferência durante a implementação do modelo ou a criação do ponto final. Esta página explica os diferentes tipos de registos de inferência disponíveis e como ativar ou desativar estes registos.
Tipos de registos de inferência
Existem vários tipos de registos de inferência que pode usar para obter informações dos seus nós de inferência:
O registo de contentores, que regista as streams
stdout
estderr
dos seus nós de inferência no Cloud Logging. Estes registos são necessários para a depuração.No ponto final do serviço
v1
, o registo do contentor está ativado por predefinição. Pode desativá-lo quando implementar um modelo. Também pode desativar ou ativar o registo quando altera o modelo implementado.No ponto final do serviço
v1beta1
, o registo do contentor está desativado por predefinição. Pode ativá-lo quando implementar um modelo. Também pode desativar ou ativar o registo quando altera o modelo implementado.
Registo de acesso, que regista informações como a data/hora e a latência de cada pedido ao Cloud Logging.
Nos pontos finais de serviço
v1
ev1beta1
, o registo de acesso está desativado por predefinição. Pode ativar o registo de acesso quando implementa um modelo num ponto final.Registo de pedidos-respostas, que regista uma amostra de pedidos e respostas de inferência online numa tabela do BigQuery.
Pode ativar o registo de pedido-resposta criando ou corrigindo o ponto final de inferência.
Pode ativar ou desativar cada tipo de registo de forma independente.
Definições do registo de inferências
Pode ativar ou desativar os registos de inferência online quando cria um ponto final, implementa um modelo no ponto final ou altera um modelo implementado.
Para atualizar as definições dos registos de acesso, tem de anular a implementação do modelo e, em seguida, voltar a implementá-lo com as novas definições. Pode atualizar as definições dos registos de contentores sem voltar a implementar o modelo.
A inferência online a uma taxa elevada de consultas por segundo (CPS) pode gerar um número substancial de registos, que estão sujeitos aos preços do Cloud Logging. Para estimar os preços dos registos de inferência online, consulte o artigo Estimativa das suas faturas para registos. Para reduzir este custo, pode desativar o registo de inferências.
Ative e desative os registos de inferência
Os exemplos seguintes realçam onde modificar as predefinições das definições de registo:
Consola
Quando implementa um modelo num ponto final ou cria um novo ponto final na Google Cloud consola, pode especificar os tipos de registos de inferência a ativar no passo Registo. Selecione as caixas de verificação para ativar o Registo de acesso ou o Registo de contentores, ou desmarque as caixas de verificação para desativar estes registos.
Use a API REST para atualizar as definições dos registos de contentores.
Use a API REST para ativar o registo de pedidos e respostas. A consola e a CLI gcloud não suportam a configuração do registo de pedidos e respostas.Google Cloud
Para ver mais contexto sobre como implementar modelos, leia o artigo Implemente um modelo através da Google Cloud consola.
gcloud
Para alterar o comportamento predefinido dos registos ativados nos modelos implementados, adicione flags ao comando gcloud
:
Ponto final do serviço v1
Corrida 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
Ponto final do serviço v1beta1
Corrida 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
Use a API REST para atualizar as definições dos registos de contentores.
Use a API REST para ativar o registo de pedidos e respostas. A consola e a CLI gcloud não suportam a configuração do registo de pedidos e respostas.Google Cloud
Para ver mais contexto sobre como implementar modelos, leia o artigo Implemente um modelo com a API Vertex AI.
REST
Para alterar o comportamento predefinido dos registos ativados nos modelos implementados, defina os campos relevantes como True
:
Ponto final do serviço v1
Para desativar o registo do contentor, defina o campo disableContainerLogging
como
True
quando chamar projects.locations.endpoints.deployModel
ou projects.locations.endpoints.mutateDeployedModel
.
Para ativar o registo de acesso, defina enableAccessLogging
como True
quando implementar o seu modelo com
projects.locations.endpoints.deployModel
.
Ponto final do serviço v1beta1
Para ativar o registo do contentor, defina o campo enableContainerLogging
como
True
quando chamar projects.locations.endpoints.deployModel
ou projects.locations.endpoints.mutateDeployedModel
.
Para ativar o registo de acesso, defina enableAccessLogging
como True
quando implementar o seu modelo com
projects.locations.endpoints.deployModel
.
Para ver mais contexto sobre como implementar modelos, leia o artigo Implemente um modelo com a API Vertex AI.
Registo de pedidos e respostas
Só pode ativar o registo de pedidos/respostas quando cria um
ponto final com projects.locations.endpoints.create
ou aplica um patch a um
ponto final existente com projects.locations.endpoints.patch
.
O registo de pedidos-respostas é feito ao nível do ponto final, pelo que os pedidos enviados a quaisquer modelos implementados no mesmo ponto final são registados.
Quando cria ou corrige um ponto final, preencha o campo predictRequestResponseLoggingConfig
do recurso Endpoint com as seguintes entradas:
enabled
: definido comoTrue
para ativar o registo de pedidos/respostas.samplingPercentage
: um número entre 0 ou 1 que define a fração de pedidos a registar. Por exemplo, defina este valor como1
para registar todos os pedidos ou como0.1
para registar 10% dos pedidos.BigQueryDestination
: a tabela do BigQuery a usar para registo. Se especificar apenas um nome de projeto, é criado um novo conjunto de dados com o nomelogging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID
, em queENDPOINT_DISPLAY_NAME
segue as regras de nomenclatura do BigQuery. Se não especificar um nome da tabela, é criada uma nova tabela com o nomerequest_response_logging
.O esquema da tabela do BigQuery deve ter o seguinte aspeto:
Nome do campo Tipo Modo endpoint
STRING NULLABLE deployed_model_id
STRING NULLABLE logging_time
TIMESTAMP NULLABLE request_id
NUMERIC NULLABLE request_payload
STRING REPETIDO response_payload
STRING REPETIDO
Segue-se um exemplo de configuração:
{ "predict_request_response_logging_config": { "enabled": true, "sampling_rate": 0.5, "bigquery_destination": { "output_uri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME" } } }
Registo de pedidos-respostas de inferência para pontos finais dedicados e pontos finais do Private Service Connect
Para pontos finais dedicados e pontos finais do Private Service Connect, pode usar o registo de pedidos e respostas para registar pedidos e payloads de respostas com menos de 10 MB (os payloads maiores são ignorados automaticamente) para modelos do TensorFlow, PyTorch, sklearn e XGBoost.
O registo de pedidos/respostas só está disponível para os métodos
predict
e rawPredict
.
Para ativar o registo de pedidos/respostas, preencha o campo predictRequestResponseLoggingConfig
do recurso Endpoint com as seguintes entradas:
enabled
: definido comoTrue
para ativar o registo de pedidos/respostas.samplingRate
: a fração de pedidos e respostas a registar. Definido para um número superior a 0 e inferior ou igual a 1. Por exemplo, defina este valor como1
para registar todos os pedidos ou como0.1
para registar 10% dos pedidos.BigQueryDestination
: a localização do BigQuery para o conteúdo de saída, como um URI para um projeto ou uma tabela.
Segue-se um exemplo de configuração para criar um ponto final dedicado com o registo de pedido-resposta ativado:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer `gcloud auth print-access-token`" https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints \
-d '{displayName: "ENDPOINT_NAME", \
dedicatedEndpointEnabled: true, \
predictRequestResponseLoggingConfig: { \
enabled: true, \
samplingRate: 1.0, \
bigqueryDestination: { \
outputUri:"bq://PROJECT_ID" \
} \
} \
}'
Substitua o seguinte:
- LOCATION_ID: a região onde está a usar o Vertex AI.
- PROJECT_NUMBER: o número do projeto do seu Google Cloud projeto.
- ENDPOINT_NAME: o nome a apresentar do ponto final.
- PROJECT_ID: o ID do projeto do seu projeto Google Cloud .
Segue-se um exemplo de configuração para criar um ponto final do Private Service Connect com o registo de pedidos e respostas ativado:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer `gcloud auth print-access-token`" https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints \
-d '{displayName: "ENDPOINT_NAME", \
privateServiceConnectConfig: { \
enablePrivateServiceConnect: true, \
projectAllowlist: ["ALLOWED_PROJECTS"] \
}, \
predictRequestResponseLoggingConfig: { \
enabled: true, \
samplingRate: 1.0, \
bigqueryDestination: { \
outputUri:"bq://PROJECT_ID" \
} \
} \
}'
Substitua o seguinte:
ALLOWED_PROJECTS
: uma lista separada por vírgulas de Google Cloud IDs de projetos, cada um entre aspas. Por exemplo,["PROJECTID1", "PROJECTID2"]
. Se um projeto não estiver incluído nesta lista, não vai poder enviar pedidos de inferência para o endpoint do Vertex AI a partir dele. Certifique-se de que inclui VERTEX_AI_PROJECT_ID nesta lista para poder chamar o ponto final a partir do mesmo projeto em que se encontra.
Registo de pedidos e respostas e monitorização de modelos v1
O registo de pedidos-respostas e a monitorização de modelos v1 usam a mesma tabela do BigQuery no back-end para registar os pedidos recebidos. Para evitar alterações inesperadas a esta tabela do BigQuery, as seguintes limitações são aplicadas quando usa ambas as funcionalidades em simultâneo:
Se um ponto final tiver a monitorização de modelos ativada, não pode ativar o registo de pedidos-respostas para o mesmo ponto final.
Se ativar o registo de pedidos-respostas e, em seguida, a monitorização de modelos no mesmo ponto final, não vai poder alterar a configuração do registo de pedidos-respostas.
O que se segue?
- Estimativa de preços para o registo de inferências online.
- Implemente um modelo usando a Google Cloud consola ou usando a API Vertex AI.
- Saiba como criar uma tabela do BigQuery.