Logging von Onlinevorhersagen

Für AutoML Tabellenmodelle, AutoML-Bildmodelle und benutzerdefinierte trainierte Modelle können Sie Vorhersagelogs während der Modellbereitstellung oder der Endpunkterstellung aktivieren oder deaktivieren. Auf dieser Seite werden die verschiedenen Arten von Vorhersagelogs erläutert und es wird beschrieben, wie diese Logs aktiviert oder deaktiviert werden.

Arten von Vorhersagelogs

Es gibt zwei Arten von Vorhersagelogs, mit denen Sie Informationen von Vorhersageknoten abrufen können:

  • Container-Logging, das die Streams stdout und stderr von Ihren Vorhersageknoten in Cloud Logging protokolliert. Diese Logs sind wichtig und für die Fehlerbehebung erforderlich.

    • Auf dem Dienstendpunkt v1 ist das Container-Logging standardmäßig aktiviert. Sie können es deaktivieren, wenn Sie ein Modell auf einem Endpunkt bereitstellen.

    • Auf dem Dienstendpunkt v1beta1 ist das Container-Logging standardmäßig deaktiviert. Sie können das Container-Logging aktivieren, wenn Sie ein Modell auf einem Endpunkt bereitstellen.

  • Zugriffs-Logging, das Informationen wie Zeitstempel und Latenz für jede Anfrage an Cloud Logging protokolliert.

    Auf den Dienstendpunkten v1 und v1beta1 ist das Zugriffs-Logging standardmäßig deaktiviert. Sie können das Zugriffs-Logging aktivieren, wenn Sie ein Modell auf einem Endpunkt bereitstellen.

  • Anfrage-/Antwort-Logging: Protokolliert eine Stichprobe von Onlinevorhersageanfragen und -antworten in einer BigQuery-Tabelle.

    Sie können das Anfrage-/Antwort-Logging aktivieren. Dazu erstellen Sie den Vorhersageendpunkt oder patchen ihn.

Sie können jeden Logtyp einzeln aktivieren oder deaktivieren.

Einstellungen für das Vorhersagelog

Sie können Logs für Onlinevorhersagen aktivieren oder deaktivieren, wenn Sie einen Endpunkt erstellen oder ein Modell auf dem Endpunkt bereitstellen.

Wenn Sie die Standardeinstellungen für Containerlogs oder Zugriffslogs aktualisieren möchten, müssen Sie die Bereitstellung des Modells aufheben und dann mit den neuen Einstellungen noch einmal bereitstellen.

Onlinevorhersagen mit einer hohen Abfragerate pro Sekunde (queries per second, QPS) können zu einer erheblichen Anzahl von Logs führen, für die Cloud Logging-Preise gelten. Informationen zum Schätzen der Preise für Ihre Onlinevorhersage-Logs finden Sie unter Rechnungen schätzen für Logging. Um diese Kosten zu reduzieren, können Sie das Vorhersage-Logging deaktivieren.

Vorhersagelogs aktivieren und deaktivieren

Die folgenden Beispiele zeigen, wo die Standardprotokolleinstellungen geändert werden können:

Console

Wenn Sie ein Modell auf einem Endpunkt bereitstellen oder einen neuen Endpunkt in der Console erstellen, können Sie im Schritt Logging angeben, welche Arten von Vorhersagelogs aktiviert werden sollen. Klicken Sie die Kästchen für das Zugriffs-Logging oder das Container-Logging an oder entfernen Sie die Häkchen, um diese Logs zu deaktivieren.

Verwenden Sie die REST API, um das Anfrage-/Antwort-Logging zu aktivieren. Die Console und die gcloud CLI unterstützen keine Anfrage-Antwort-Logging-Konfiguration.

Weitere Informationen zum Bereitstellen von Modellen finden Sie unter Modell mit der Console bereitstellen.

gcloud

Wenn Sie das Standardverhalten ändern möchten, für das Logs in bereitgestellten Modellen aktiviert sind, fügen Sie Ihrem gcloud-Befehl Flags hinzu:

v1-Dienstendpunkt

Führen Sie gcloud ai endpoints deploy-model aus:

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-Dienstendpunkt

Führen Sie gcloud beta ai endpoints deploy-model aus:

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

Verwenden Sie die REST API, um das Anfrage-/Antwort-Logging zu aktivieren. Die Console und die gcloud CLI unterstützen keine Anfrage-Antwort-Logging-Konfiguration.

Weitere Informationen zum Bereitstellen von Modellen finden Sie unter Modell mit der Vertex AI API bereitstellen.

REST UND BEFEHLSZEILE

Wenn Sie das Standardverhalten für die Logs in bereitgestellten Modellen ändern möchten, legen Sie die relevanten Felder auf True fest:

v1-Dienstendpunkt

Setzen Sie zum Deaktivieren des Container-Loggings das Feld disableContainerLogging auf True, wenn Sie das Modell mit projects.locations.endpoints.deployModel bereitstellen.

Zur Aktivierung des Zugriffs-Loggings legen Sie enableAccessLogging auf True fest, wenn Sie Ihr Modell mit projects.locations.endpoints.deployModel bereitstellen.

v1beta1-Dienstendpunkt

Setzen Sie zum Aktivieren des Container-Loggings das Feld enableContainerLogging auf True, wenn Sie das Modell mit projects.locations.endpoints.deployModel bereitstellen.

Zur Aktivierung des Zugriffs-Loggings legen Sie enableAccessLogging auf True fest, wenn Sie Ihr Modell mit projects.locations.endpoints.deployModel bereitstellen.

Weitere Informationen zum Bereitstellen von Modellen finden Sie unter Modell mit der Vertex AI API bereitstellen.

Anfrage-/Antwort-Logging

Sie können das Anfrage-/Antwort-Logging nur aktivieren, wenn Sie mit projects.locations.endpoints.create einen Endpunkt erstellen oder mit projects.locations.endpoints.patch einen vorhandenen Endpunkt patchen.

Das Anfrage-/Antwort-Logging erfolgt auf Endpunktebene, sodass Anfragen, die an alle bereitgestellten Modelle unter demselben Endpunkt gesendet werden, protokolliert werden.

Wenn Sie einen Endpunkt erstellen oder patchen, füllen Sie das Feld predictRequestResponseLoggingConfig der Endpunktressource mit den folgenden Einträgen aus:

  • enabled: Wird als True festgelegt, um das Anfrage-/Antwort-Logging zu aktivieren.

  • samplingPercentage: Eine Zahl zwischen 0 oder 1, die den Anteil der zu protokollierenden Anfragen definiert. Legen Sie dafür beispielsweise den Wert 1 fest, um alle Anfragen zu protokollieren, oder den Wert 0.1, um 10 % der Anfragen zu protokollieren.

  • BigQueryDestination: Die BigQuery-Tabelle, die für das Logging verwendet werden soll. Wenn Sie nur einen Projektnamen angeben, wird ein neues Dataset mit dem Namen logging_ENDPOINT_DISPLAY_NAME_ENDPOINT_ID erstellt, wobei ENDPOINT_DISPLAY_NAME den BigQuery-Benennungsregeln folgt. Wenn Sie keinen Tabellennamen angeben, wird eine neue Tabelle mit dem Namen request_response_logging erstellt.

    Das Schema für die BigQuery-Tabelle sollte so aussehen:

    FeldnameTypModus
    endpointSTRINGNULLABLE
    deployed_model_idSTRINGNULLABLE
    logging_timeTIMESTAMPNULLABLE
    request_idNUMERICNULLABLE
    request_payloadSTRINGREPEATED
    response_payloadSTRINGREPEATED

Hier sehen Sie eine Beispielkonfiguration:

{
   "predict_request_response_logging_config": {
     "enabled": true,
     "sampling_rate": 0.5,
     "bigquery_destination": {
       "output_uri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
     }
}

Anfrage-/Antwort-Logging und Modellmonitoring

Anfrage-/Antwort-Logging und Modellüberwachung verwenden dieselbe BigQuery-Tabelle im Back-End, um eingehende Anfragen zu protokollieren. Um unerwartete Änderungen an dieser BigQuery-Tabelle zu verhindern, werden die folgenden Einschränkungen erzwungen, wenn beide Features gleichzeitig verwendet werden:

  • Wenn für einen Endpunkt die Modellüberwachung aktiviert ist, können Sie das Anfrage-/Antwort-Logging nicht für denselben Endpunkt aktivieren.

  • Wenn Sie das Anfrage-/Antwort-Logging und dann das Modell-Monitoring auf demselben Endpunkt aktivieren, können Sie die Konfiguration des Anfrage-/Antwort-Loggings nicht ändern.

Nächste Schritte