Log di previsione online

Per i modelli tabulari AutoML, i modelli di immagine AutoML e i modelli con addestramento personalizzato, puoi abilitare o disabilitare i log di previsione durante il deployment del modello o la creazione degli endpoint. Questa pagina illustra i diversi tipi di log di previsione disponibili e come abilitarli o disabilitarli.

Tipi di log di previsione

Esistono diversi tipi di log di previsione che puoi utilizzare per ottenere informazioni dai nodi di previsione:

  • Logging dei container, che registra i flussi stdout e stderr dai nodi di previsione a Cloud Logging. Questi log sono necessari per il debug.

    • Nell'endpoint di servizio v1, il logging dei container è abilitato per impostazione predefinita. Puoi disabilitarla quando esegui il deployment di un modello. Puoi anche disabilitare o abilitare il logging quando mutate il modello di cui è stato eseguito il deployment.

    • Nell'endpoint di servizio v1beta1, il logging dei container è disabilitato per impostazione predefinita. Puoi abilitarla quando esegui il deployment di un modello. Puoi anche disabilitare o abilitare il logging quando mutate il modello di cui è stato eseguito il deployment.

  • Accedi al logging, che registra informazioni come timestamp e latenza per ogni richiesta a Cloud Logging.

    Su entrambi gli endpoint di servizio v1 e v1beta1, il logging degli accessi è disabilitato per impostazione predefinita. Puoi abilitare il logging degli accessi quando esegui il deployment di un modello in un endpoint.

  • Logging di richieste-risposte, che registra un campione di richieste e risposte di previsione online a una tabella BigQuery.

    Puoi abilitare il logging delle richieste e delle risposte creando o applicando patch all'endpoint di previsione.

Puoi abilitare o disabilitare ogni tipo di log in modo indipendente.

Impostazioni del log delle previsioni

Puoi abilitare o disabilitare i log di previsione online quando crei un endpoint, esegui il deployment di un modello nell'endpoint o modifichi un modello di cui è stato eseguito il deployment.

Per aggiornare le impostazioni per i log di accesso, devi annullare il deployment del modello e poi rieseguire il deployment con le nuove impostazioni. Puoi aggiornare le impostazioni per i log dei container senza eseguire nuovamente il deployment del modello.

La previsione online con un'elevata frequenza di query al secondo (QPS) può produrre un numero considerevole di log, che sono soggetti ai prezzi di Cloud Logging. Per stimare i prezzi dei log di previsione online, consulta Stima delle fatture per il logging. Per ridurre questo costo, puoi disabilitare il logging delle previsioni.

Abilita e disabilita i log di previsione

I seguenti esempi evidenziano dove modificare le impostazioni di log predefinite:

Console

Quando esegui il deployment di un modello su un endpoint o crei un nuovo endpoint nella console Google Cloud, puoi specificare i tipi di log di previsione da abilitare nel passaggio Logging. Seleziona le caselle di controllo per attivare Access logging o Container Logging oppure deseleziona le caselle di controllo per disabilitare questi log.

Utilizza l'API REST per aggiornare le impostazioni per i log dei container.

Utilizza l'API REST per abilitare il logging di richiesta-risposta. La console Google Cloud e gcloud CLI non supportano la configurazione del logging delle richieste e risposte.

Per saperne di più su come eseguire il deployment dei modelli, consulta Eseguire il deployment di un modello utilizzando la console Google Cloud.

gcloud

Per modificare il comportamento predefinito per il quale i log sono abilitati nei modelli di cui è stato eseguito il deployment, aggiungi flag al comando gcloud:

Endpoint di servizio v1

Esegui 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

Endpoint di servizio v1beta1

Esegui 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

Utilizza l'API REST per aggiornare le impostazioni per i log dei container.

Utilizza l'API REST per abilitare il logging di richiesta-risposta. La console Google Cloud e gcloud CLI non supportano la configurazione del logging delle richieste e risposte.

Per saperne di più su come eseguire il deployment dei modelli, consulta Eseguire il deployment di un modello utilizzando l'API Vertex AI.

REST

Per modificare il comportamento predefinito per il quale i log sono abilitati nei modelli di cui è stato eseguito il deployment, imposta i campi pertinenti su True:

Endpoint di servizio v1

Per disabilitare il logging del container, imposta il campo disableContainerLogging su True quando chiami projects.locations.endpoints.deployModel o projects.locations.endpoints.mutateDeployedModel.

Per abilitare il logging degli accessi, imposta enableAccessLogging su True quando esegui il deployment del modello con projects.locations.endpoints.deployModel.

Endpoint di servizio v1beta1

Per attivare il logging del container, imposta il campo enableContainerLogging su True quando chiami projects.locations.endpoints.deployModel o projects.locations.endpoints.mutateDeployedModel.

Per abilitare il logging degli accessi, imposta enableAccessLogging su True quando esegui il deployment del modello con projects.locations.endpoints.deployModel.

Per saperne di più su come eseguire il deployment dei modelli, consulta Eseguire il deployment di un modello utilizzando l'API Vertex AI.

Logging di richieste-risposte

Puoi abilitare il logging delle richieste e delle risposte solo quando invii una creazione di un endpoint usando projects.locations.endpoints.create o applichi una patch a un endpoint esistente utilizzando projects.locations.endpoints.patch.

Il logging delle richieste e delle risposte viene eseguito a livello di endpoint, quindi vengono registrate le richieste inviate a qualsiasi modello di cui è stato eseguito il deployment nello stesso endpoint.

Quando crei o applichi la patch a un endpoint, compila il campo predictRequestResponseLoggingConfig della risorsa endpoint con le seguenti voci:

  • enabled: imposta su True per abilitare il logging delle richieste e delle risposte.

  • samplingPercentage: un numero compreso tra 0 e 1 che definisce la frazione delle richieste da registrare. Ad esempio, imposta questo valore su 1 per registrare tutte le richieste o su 0.1 per registrare il 10% delle richieste.

  • BigQueryDestination: la tabella BigQuery da utilizzare per il logging. Se specifichi solo il nome di un progetto, viene creato un nuovo set di dati con il nome logging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID, in cui ENDPOINT_DISPLAY_NAME segue le regole di denominazione BigQuery. Se non specifichi un nome di tabella, viene creata una nuova tabella con il nome request_response_logging.

    Lo schema per la tabella BigQuery dovrebbe essere simile al seguente:

    Nome campoTipoModalità
    endpointSTRINGNULLABLE
    deployed_model_idSTRINGNULLABLE
    logging_timeTIMESTAMPNULLABLE
    request_idNUMERICNULLABLE
    request_payloadSTRINGREPEATED
    response_payloadSTRINGREPEATED

Di seguito è riportato un esempio di configurazione:

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

Logging richiesta-risposta e monitoraggio dei modelli v1

Il logging di richiesta-risposta e Model Monitoring v1 utilizzano la stessa tabella BigQuery nel backend per registrare le richieste in entrata. Per evitare modifiche impreviste a questa tabella BigQuery, quando si utilizzano entrambe le funzionalità contemporaneamente vengono applicate le seguenti limitazioni:

  • Se per un endpoint è abilitato il monitoraggio dei modelli, non puoi abilitare il logging di richiesta-risposta per lo stesso endpoint.

  • Se abiliti il logging richiesta-risposta e poi il monitoraggio dei modelli sullo stesso endpoint, non potrai modificare la configurazione del logging richiesta-risposta.

Passaggi successivi