Log di previsione online

Per i modelli tabulari AutoML, i modelli di immagini AutoML e i modelli addestrati personalizzati, puoi attivare o disattivare i log di previsione durante il deployment dei modelli o la creazione di endpoint. In questa pagina vengono descritti i diversi tipi di log di previsione disponibili e come attivarli o disattivarli.

Tipi di log di previsione

Esistono due tipi di log di previsione che puoi utilizzare per recuperare informazioni dai nodi di previsione:

  • Logging di container, che registra i flussi stdout e stderr dai tuoi nodi di previsione a Cloud Logging. Questi log sono essenziali e 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 in un endpoint.

    • Nell'endpoint del servizio v1beta1, il logging dei container è disabilitato per impostazione predefinita. Puoi abilitare il logging dei container quando esegui il deployment di un modello in un endpoint.

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

    Su entrambi gli endpoint del 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.

  • Log delle richieste, che registra un campione di richieste e risposte di previsione online relative a una tabella BigQuery.

    Puoi abilitare il logging delle richieste di risposta creando o applicando una 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 o esegui il deployment di un modello nell'endpoint.

Per aggiornare le impostazioni predefinite per i log dei container o i log degli accessi, devi annullare il deployment del modello, quindi eseguire nuovamente il deployment del modello con le nuove impostazioni.

La previsione online a una velocità di query al secondo (QPS) può produrre un numero sostanziale di log, che sono soggetti ai prezzi di Cloud Logging. Per una stima dei prezzi per i log di previsione online, consulta Stima delle fatture per il logging. Per ridurre questo costo, puoi disattivare il logging delle previsioni.

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 in un endpoint o crei un nuovo endpoint in Cloud Console, puoi specificare i tipi di log di previsione da attivare nel passaggio Logging. Seleziona le caselle di controllo per abilitare Logging di accesso o Logging dei container oppure deseleziona le caselle di controllo per disattivarli.

Usa l'API REST per abilitare il logging della richiesta-risposta. Cloud Console e l'interfaccia a riga di comando gcloud non supportano la configurazione dei log di richiesta-risposta.

Per maggiore contesto su come eseguire il deployment dei modelli, leggi Eseguire il deployment di un modello utilizzando Cloud Console.

gcloud

Per modificare il comportamento predefinito per cui sono abilitati i log nei modelli di cui è stato eseguito il deployment, aggiungi flag al tuo 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

Usa l'API REST per abilitare il logging della richiesta-risposta. Cloud Console e l'interfaccia a riga di comando gcloud non supportano la configurazione dei log di richiesta-risposta.

Per maggiore contesto su come eseguire il deployment dei modelli, leggi Eseguire il deployment di un modello utilizzando l'API Vertex AI.

REST &CMD LINE

Per modificare il comportamento predefinito per cui sono abilitati i log nei modelli sottoposti a deployment, imposta i campi pertinenti su True:

Endpoint di servizio v1

Per disabilitare il logging dei container, imposta il campo disableContainerLogging su True quando esegui il deployment del modello con projects.locations.endpoints.deployModel.

Per attivare il accesso agli accessi, imposta enableAccessLogging su True quando esegui il deployment del modello con projects.locations.endpoints.deployModel.

Endpoint di servizio v1beta1

Per abilitare il logging dei container, imposta il campo enableContainerLogging su True quando esegui il deployment del modello con projects.locations.endpoints.deployModel.

Per attivare il accesso agli accessi, imposta enableAccessLogging su True quando esegui il deployment del modello con projects.locations.endpoints.deployModel.

Per maggiore contesto su come eseguire il deployment dei modelli, leggi Eseguire il deployment di un modello utilizzando l'API Vertex AI.

Log di richiesta-risposta

Puoi abilitare il logging delle risposte alle richieste solo quando invii un endpoint utilizzando projects.locations.endpoints.create o esegui l'applicazione di patch a un endpoint esistente usando projects.locations.endpoints.patch.

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

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

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

  • 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 per la tabella, ne viene creata una nuova con il nome request_response_logging.

    Lo schema della tabella BigQuery dovrebbe essere simile al seguente:

    Nome campoTipoModalità
    endpointSTRINGAAMMETTE VALORI NULL
    deployed_model_idSTRINGAAMMETTE VALORI NULL
    logging_timeTIMESTAMPAMMETTE VALORI NULL
    request_idNUMERICOAMMETTE VALORI NULL
    request_payloadSTRINGARIPETUTA
    response_payloadSTRINGARIPETUTA

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 delle richieste e risposta e monitoraggio dei modelli

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

  • Se a un endpoint è abilitato Monitoring del modello, non puoi abilitare il logging delle richieste-risposta per lo stesso endpoint.

  • Se attivi il logging delle richieste e delle risposte e il modello di monitoraggio sullo stesso endpoint, non potrai modificare la configurazione del logging delle richieste-risposta.

Passaggi successivi