Geração de registros de previsão on-line

Para modelos tabulares do AutoML, modelos de imagem do AutoML e modelos treinados personalizados, é possível ativar ou desativar os registros de previsão durante a implantação do modelo ou a criação de endpoints{/3. Nesta página, explicamos os diferentes tipos de registros de previsão disponíveis e como ativar ou desativar esses registros.

Tipos de registros de previsão

Há vários tipos de registros de previsão que é possível usar para receber informações dos nós de previsão:

  • Geração de registros do contêiner, que registra os streams de stdout e stderr dos nós de previsão no Cloud Logging. Esses registros são necessários para a depuração.

    • No endpoint do serviço v1, a geração de registros de contêiner é ativada por padrão. É possível desativá-lo ao implantar um modelo. Também é possível desativar ou ativar a geração de registros ao mutate o modelo implantado.

    • No endpoint do serviço v1beta1, a geração de registros de contêiner é ativada por padrão. É possível ativá-lo ao implantar um modelo. Também é possível desativar ou ativar a geração de registros ao mutate.

  • Geração de registros de acesso, que registra informações como carimbo de data/hora e latência para cada solicitação ao Cloud Logging.

    Nos endpoints do serviço v1 e v1beta1, o registro de acesso está desativado por padrão. Ative a geração de registros de acesso ao implantar um modelo em um endpoint.

  • Geração de registros de solicitação-resposta, que registra uma amostra das solicitações e respostas de previsão on-line para uma tabela do BigQuery.

    É possível ativar a geração de registros de solicitação-resposta criando ou corrigindo o endpoint de previsão.

É possível ativar ou desativar cada tipo de registro de forma independente.

Configurações do registro de previsão

É possível ativar ou desativar os registros de previsão on-line ao criar um endpoint, implantar um modelo no endpoint ou modificar um modelo implantado.

Para atualizar as configurações dos registros de acesso, remova a implantação do modelo e reimplante o modelo com as novas configurações. É possível atualizar as configurações dos registros de contêiner sem reimplantar o modelo.

A previsão on-line com uma alta taxa de consultas por segundo (QPS, na sigla em inglês) pode produzir um número significativo de registros, que estão sujeitos aos preços do Cloud Logging. Para estimar o preço dos registros de previsão on-line, consulte Como estimar suas faturas. Para reduzir esse custo, desative a geração de registros de previsão.

Ativar e desativar registros de previsão

Os exemplos a seguir destacam onde modificar as configurações de registro padrão:

Console

Ao implantar um modelo em um endpoint ou criar um novo endpoint no console do Google Cloud, é possível especificar quais tipos de registros de previsão serão ativados na etapa Logging. Marque as caixas de seleção para ativar Registro de acesso ou Registro de contêiner ou desmarque as caixas para desativar esses registros.

Use a API REST para atualizar as configurações dos registros do contêiner.

Use a API REST para ativar a geração de registros de solicitação-resposta. O console do Google Cloud e a CLI gcloud não são compatíveis com a configuração de geração de registros de solicitação-resposta.

Para mais contexto sobre como implantar modelos, leia implantar um modelo usando o console do Google Cloud.

gcloud

Para alterar o comportamento padrão dos registros que são ativados nos modelos implantados, adicione flags ao comando gcloud:

v1 endpoint de serviço

Execute 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 endpoint de serviço

Execute 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 configurações dos registros do contêiner.

Use a API REST para ativar a geração de registros de solicitação-resposta. O console do Google Cloud e a CLI gcloud não são compatíveis com a configuração de geração de registros de solicitação-resposta.

Para mais contexto sobre como implantar modelos, leia implantar um modelo usando a API do Vertex AI.

REST

Para alterar o comportamento padrão dos registros que são ativados nos modelos implantados, defina os campos relevantes como True:

v1 endpoint de serviço

Para desativar a geração de registros de contêiner, defina o campo disableContainerLogging como True ao chamar projects.locations.endpoints.deployModel ou projects.locations.endpoints.mutateDeployedModel.

Para ativar a geração de registros de acesso, defina enableAccessLogging como True ao implantar seu modelo com projects.locations.endpoints.deployModel.

v1beta1 endpoint de serviço

Para ativar a geração de registros de contêiner, defina o campo enableContainerLogging como True ao chamar projects.locations.endpoints.deployModel ou projects.locations.endpoints.mutateDeployedModel.

Para ativar a geração de registros de acesso, defina enableAccessLogging como True ao implantar seu modelo com projects.locations.endpoints.deployModel.

Para mais contexto sobre como implantar modelos, leia implantar um modelo usando a API do Vertex AI.

Geração de registros de solicitação/resposta

Só é possível ativar a geração de registros de solicitação/resposta ao enviar um endpoint usando projects.locations.endpoints.create ou corrigir um endpoint existente usando projects.locations.endpoints.patch.

A geração de registros de solicitação-resposta é feita no nível do endpoint, então as solicitações enviadas a todos os modelos implantados no mesmo endpoint são registradas.

Ao criar ou corrigir um endpoint, preencha o campo predictRequestResponseLoggingConfig do recurso de endpoint com as seguintes entradas:

  • enabled: definido como True para ativar a geração de registros de solicitação-resposta.

  • samplingPercentage: um número entre 0 ou 1 que define a fração de solicitações a serem registradas. Por exemplo, defina esse valor como 1 para registrar todas as solicitações ou como 0.1 para registrar 10% das solicitações.

  • BigQueryDestination: a tabela do BigQuery a ser usada para geração de registros. Se você especificar apenas um nome de projeto, um novo conjunto de dados será criado com o nome logging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID, em que ENDPOINT_DISPLAY_NAME segue as regras de nomenclatura do BigQuery de dados. Se você não especificar um nome de tabela, será criada uma nova tabela com o nome request_response_logging.

    O esquema da tabela do BigQuery será semelhante a este:

    Nome do campoTipoModo
    endpointSTRINGNULLABLE
    deployed_model_idSTRINGNULLABLE
    logging_timeTIMESTAMPNULLABLE
    request_idNUMERICNULLABLE
    request_payloadSTRINGREPEATED
    response_payloadSTRINGREPEATED

Veja a seguir 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"
     }
   }
}

Geração de registros de solicitação-resposta e monitoramento de modelos v1

A geração de registros de solicitação-resposta e o monitoramento de modelos v1 usam a mesma tabela do BigQuery no back-end para registrar as solicitações recebidas. Para evitar alterações inesperadas na tabela do BigQuery, as seguintes limitações são aplicadas ao usar os dois recursos ao mesmo tempo:

  • Se um endpoint tiver o Monitoramento de modelos ativado, não será possível ativar a geração de registros de solicitação/resposta para o mesmo endpoint.

  • Se você ativar a geração de registros de solicitação-resposta e, em seguida, o monitoramento de modelos no mesmo endpoint, não será possível alterar a configuração da geração de registros de solicitação-resposta.

A seguir