Log di previsione online

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Per i modelli tabulari AutoML, i modelli di immagini AutoML e i modelli con addestramento personalizzato, 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 indicato come attivarli o disattivarli.

Tipi di log di previsione

Esistono diversi 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 nodi di previsione a Cloud Logging. Questi log sono essenziali e necessari per il debug.

    • Sull'endpoint del servizio v1, il logging dei container è abilitato per impostazione predefinita. Puoi disabilitarlo quando esegui il deployment di un modello in un endpoint.

    • Nell'endpoint di 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.

  • Log di accesso, che registra informazioni come timestamp e latenza per ogni richiesta a Cloud Logging.

    Sugli endpoint dei servizi v1 e v1beta1, la registrazione degli accessi è disabilitata per impostazione predefinita. Puoi abilitare il logging degli accessi quando esegui il deployment di un modello in un endpoint.

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

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

Puoi abilitare o disabilitare 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 o esegui il deployment di un modello nell'endpoint.

Per aggiornare le impostazioni predefinite per i log dei container o i log di accesso, devi annullare il deployment del modello, quindi ripetere il deployment del modello con le nuove impostazioni.

La previsione online a un'elevata frequenza di query al secondo (QPS) può generare 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 della 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 in un endpoint o crei un nuovo endpoint in Google Cloud Console, puoi specificare i tipi di log di previsione da attivare nel passaggio Logging. Seleziona le caselle di controllo per abilitare Logging dell'accesso o Logging dei container oppure deseleziona le caselle di controllo per disabilitare questi log.

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

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

gcloud CLI

Per modificare il comportamento predefinito per cui sono abilitati i log nei modelli di cui è stato eseguito il deployment, aggiungi i 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 abilitare il logging della richiesta-risposta. Google Cloud Console e gcloud CLI non supportano la configurazione del logging delle richieste.

Per maggiori dettagli su come eseguire il deployment dei modelli, leggi Eseguire il 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:

Endpoint di servizio v1

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

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 dei container, imposta il campo enableContainerLogging su True quando esegui il deployment del modello con projects.locations.endpoints.deployModel.

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

Per maggiori dettagli 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 richieste di risposta solo quando invii un endpoint creato tramite projects.locations.endpoints.create o esegui l'applicazione di patch a un endpoint esistente utilizzando projects.locations.endpoints.patch.

Il logging delle richieste di risposta 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 endpoint con le seguenti voci:

  • enabled: impostato su True per abilitare il logging della 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 un nome di 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 BigQuery. Se non specifichi un nome 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à
    endpointSTRINGAMMETTE VALORI NULL
    deployed_model_idSTRINGAMMETTE VALORI NULL
    logging_timeTIMESTAMPAMMETTE VALORI NULL
    request_idNUMERICOAMMETTE VALORI NULL
    request_payloadSTRINGRIPETUTO
    response_payloadSTRINGRIPETUTO

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 monitoraggio dei modelli

Il logging delle richieste e il modello di monitoraggio 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 un endpoint ha il monitoraggio dei modelli abilitato, non puoi abilitare il logging della richiesta-risposta per lo stesso endpoint.

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

Passaggi successivi