Log di previsione online

Per i modelli tabulari AutoML, i modelli di immagine AutoML e i modelli addestrati personalizzati, puoi abilitare o disabilitare i log di previsione durante il deployment dei modelli o la creazione di endpoint. In questa pagina vengono illustrati i diversi tipi di log di previsione disponibili e viene spiegato come abilitare o disabilitare questi log.

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.

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

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

  • Logging degli accessi, che registra informazioni come timestamp e latenza per ogni richiesta inviata 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 e risposte, che registra un campione di richieste di previsione online e risposte a una tabella BigQuery.

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

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

Impostazioni del log di previsione

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 dei log degli accessi, devi annullare il deployment del modello ed eseguire nuovamente il deployment del modello con le nuove impostazioni. Puoi aggiornare le impostazioni dei 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, soggetti ai prezzi di Cloud Logging. Per stimare i prezzi per i log di previsione online, consulta Stima delle fatture per il logging. Per ridurre questi costi, puoi disabilitare il logging di previsione.

Abilita e disabilita i log di previsione

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

Console

Quando esegui il deployment di un modello su un endpoint o crei un nuovo endpoint nella console Google Cloud, puoi specificare quali tipi di log di previsione attivare nel passaggio Logging. Seleziona le caselle di controllo per attivare Logging degli accessi o Logging dei container oppure deselezionale per disabilitare questi log.

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

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

Per ulteriori informazioni 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 cui i log sono abilitati nei modelli di cui è stato eseguito il deployment, aggiungi flag al comando gcloud:

v1 endpoint di servizio

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

v1beta1 endpoint di servizio

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 dei log dei container.

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

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 cui i log sono abilitati nei modelli di cui è stato eseguito il deployment, imposta i campi pertinenti su True:

v1 endpoint di servizio

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.

v1beta1 endpoint di servizio

Per abilitare 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 e risposte

Puoi attivare il logging delle richieste e delle risposte solo quando crei un endpoint usando projects.locations.endpoints.create o applichi la patch a un endpoint esistente usando projects.locations.endpoints.patch.

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

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

  • enabled: impostato come True per attivare il logging richiesta-risposta.

  • samplingPercentage: un numero compreso tra 0 o 1 che definisce la frazione di 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_payloadSTRINGRIPETUTO
    response_payloadSTRINGRIPETUTO

Di seguito è riportata una configurazione di esempio:

{
   "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

Il logging delle richieste e le risposte e il monitoraggio dei modelli utilizzano la stessa tabella BigQuery nel backend per registrare le richieste in entrata. Per evitare modifiche impreviste a questa tabella BigQuery, vengono applicate le seguenti limitazioni quando si utilizzano entrambe le funzionalità contemporaneamente:

  • Se per un endpoint è abilitato il monitoraggio dei modelli, non puoi abilitare il logging 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