Utilizzare il logging delle previsioni online

Per i modelli tabulari AutoML, i modelli di immagini AutoML e i modelli con addestramento personalizzato, puoi attivare o disattivare i log di previsione durante il deployment del modello o la creazione dell'endpoint. Questa pagina illustra i diversi tipi di log di previsione disponibili e come attivarli o disattivarli.

Tipi di log di previsione

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

  • Logging dei container, che registra gli stream stdout e stderr dai tuoi node di previsione in Cloud Logging. Questi log sono necessari per il debug.

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

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

  • Access logging, che registra informazioni come timestamp e latenza per ogni richiesta in Cloud Logging.

    Sia negli endpoint dei servizi v1 sia in quelli di v1beta1, il logging degli accessi è disattivato per impostazione predefinita. Puoi attivare il logging degli accessi quando esegui il deployment di un modello in un endpoint.

  • Registrazione delle richieste e delle risposte, che registra un campione di richieste e risposte di previsione online in una tabella BigQuery.

    Puoi attivare la registrazione delle richieste e delle risposte creando o applicando una patch all'endpoint di previsione.

Puoi attivare o disattivare ciascun tipo di log in modo indipendente.

Impostazioni del log di previsione

Puoi attivare o disattivare i log di previsione online quando crei un endpoint, esegui il deployment di un modello nell'endpoint o esegui la mutazione di un modello di cui è stato eseguito il deployment.

Per aggiornare le impostazioni per i log di accesso, devi eseguire il ritiro del modello e poi ridistribuirlo con le nuove impostazioni. Puoi aggiornare le impostazioni per i log del contenitore senza eseguire nuovamente il deployment del modello.

La previsione online a un tasso elevato di query al secondo (QPS) può produrre un numero considerevole di log, soggetti ai prezzi di Cloud Logging. Per stimare i prezzi dei log di previsione online, consulta la sezione Stima delle fatture per i log. Per ridurre questo costo, puoi disattivare la registrazione delle previsioni.

Attivare e disattivare i log di previsione

Gli esempi riportati di seguito mostrano dove modificare le impostazioni di log predefinite:

Console

Quando esegui il deployment di un modello in un endpoint o ne crei uno nuovo nella console Google Cloud, puoi specificare i tipi di log di previsione da attivare nel passaggio Logging. Seleziona le caselle di controllo per attivare il logging degli accessi o il logging dei contenitori oppure deselezionale per disattivare questi log.

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

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

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

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

Per maggiori informazioni su come eseguire il deployment dei modelli, consulta Eseguire il deployment di un modello mediante 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:

Endpoint di servizio v1

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

Per attivare il logging degli accessi, imposta enableAccessLogging su True durante il deployment del modello con projects.locations.endpoints.deployModel.

Endpoint di servizio v1beta1

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

Per attivare il logging degli accessi, imposta enableAccessLogging su True durante il deployment del modello con projects.locations.endpoints.deployModel.

Per ulteriori informazioni su come eseguire il deployment dei modelli, consulta Eseguire il deployment di un modello mediante l'API Vertex AI.

Log di richiesta/risposta

Puoi attivare il logging delle richieste e delle risposte solo quando invii un messaggio create an endpoint (Crea un endpoint) utilizzando projects.locations.endpoints.create o esegui la patch di un endpoint esistente utilizzando projects.locations.endpoints.patch.

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

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

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

  • samplingPercentage: un numero compreso tra 0 e 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 la registrazione. Se specifichi solo il nome di un progetto, viene creato un nuovo set di dati con il nome logging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID, dove ENDPOINT_DISPLAY_NAME segue le regole di denominazione di BigQuery. Se non specifichi un nome tabella, viene creata una nuova tabella con il nome request_response_logging.

    Lo schema della tabella BigQuery dovrebbe avere il seguente aspetto:

    Nome campoTipoModalità
    endpointSTRINGNULLABLE
    deployed_model_idSTRINGNULLABLE
    logging_timeTIMESTAMPNULLABLE
    request_idNUMERICNULLABLE
    request_payloadSTRINGREPEATED
    response_payloadSTRINGREPEATED

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

Monitoraggio dei modelli e logging delle richieste e delle risposte versione 1

Il logging delle richieste e delle risposte e il monitoraggio dei modelli 1.0 utilizzano la stessa tabella BigQuery sul backend per registrare le richieste in arrivo. Per evitare modifiche impreviste a questa tabella BigQuery, quando utilizzi entrambe le funzionalità contemporaneamente vengono applicati i seguenti limiti:

  • Se per un endpoint è abilitato il monitoraggio dei modelli, non puoi attivare il logging delle richieste e delle risposte per lo stesso endpoint.

  • Se attivi il logging delle richieste e delle risposte e poi il monitoraggio dei modelli nello stesso endpoint, non potrai modificare la configurazione del logging delle richieste e delle risposte.

Passaggi successivi