Log di previsione online

Per i modelli tabulari AutoML, i modelli di immagini AutoML e i modelli addestrati personalizzati, puoi abilitare o disabilitare i log di previsione durante il deployment dei modelli o la creazione degli endpoint. In questa pagina vengono descritti 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 del 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 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 su un endpoint.

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

    Puoi abilitare il logging della richiesta-risposta creando o applicando patch all'endpoint di previsione.

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

Impostazioni 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 di accesso, devi annullare il deployment del modello, quindi eseguirlo nuovamente con le nuove impostazioni. Puoi aggiornare le impostazioni dei log dei container senza eseguire nuovamente il deployment del modello.

La previsione online a un'elevata frequenza di query al secondo (QPS) può produrre un numero significativo di log, soggetti ai prezzi di Cloud Logging. Per stimare i prezzi dei 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 illustrano dove modificare le impostazioni predefinite del log:

Console

Quando esegui il deployment di un modello in 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 abilitare Logging degli accessi o Logging dei container 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 richiesta-risposta. La console Google Cloud e gcloud CLI non supportano la configurazione del logging di richiesta e risposta.

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 cui sono abilitati i log 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 per i log dei container.

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

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

REST

Per modificare il comportamento predefinito per cui sono abilitati i log 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 Deployment di un modello utilizzando l'API Vertex AI.

Logging richiesta-risposta

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

Il logging delle richieste e delle risposte avviene 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 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 di 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à
    endpointSTRINGAAMMETTE VALORI NULL
    deployed_model_idSTRINGAAMMETTE VALORI NULL
    logging_timeTIMESTAMPAMMETTE VALORI NULL
    request_idNUMERICAMMETTE VALORI NULL
    request_payloadSTRINGARIPETUTO
    response_payloadSTRINGARIPETUTO

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 del modello

Il logging richiesta-risposta e il monitoraggio dei modelli utilizzano la stessa tabella BigQuery sul 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