Vertex AI Model Monitoring für Batchvorhersagen

Auf dieser Seite wird beschrieben, wie Sie Anfragen zu Batchvorhersagejobs konfigurieren, um eine einmalige Model Monitoring-Analyse einzubeziehen. Für Batchvorhersagen unterstützt Model Monitoring die Erkennung von Featureabweichungen für kategoriale und numerische Eingabefeatures.

Wenn Sie einen Batchvorhersagejob mit einer Model Monitoring-Abweichungsanalyse erstellen möchten, müssen Sie in der Anfrage sowohl die Eingabedaten der Batchvorhersage als auch die ursprünglichen Trainingsdaten für das Modell einfügen. Sie können die Model Monitoring-Analyse nur beim Erstellen neuer Batchvorhersagejobs hinzufügen.

Weitere Informationen zu Abweichungen finden Sie unter Einführung in Model Monitoring.

Eine Anleitung zum Einrichten von Model Monitoring für Onlinevorhersagen (Echtzeit) finden Sie unter Model Monitoring verwenden.

Vorbereitung

Führen Sie die folgenden Schritte aus, um Model Monitoring mit Batchvorhersagen zu verwenden:

  1. Sie haben in Vertex AI Model Registry ein verfügbares Modell vom Typ tabellarisches AutoML oder tabellarisches benutzerdefiniertes Training.

  2. Laden Sie Ihre Trainingsdaten in Cloud Storage oder BigQuery hoch und rufen Sie den URI-Link zu den Daten ab.

    • Für Modelle, die mit AutoML trainiert wurden, können Sie stattdessen die Dataset-ID für Ihr Trainings-Dataset verwenden.
  3. Model Monitoring vergleicht die Trainingsdaten mit der Ausgabe der Batchvorhersage. Verwenden Sie unterstützte Dateiformate für die Trainingsdaten und die Ausgabe der Batchvorhersage:

    Modelltyp Trainingsdaten Ausgabe der Batchvorhersage
    Benutzerdefiniert trainiert CSV, JSONL, BigQuery, TfRecord(tf.train.Beispiel) JSONL
    AutoML Tabular CSV, JSONL, BigQuery, TfRecord(tf.train.Beispiel) CSV, JSONL, BigQuery, TfRecord(Protobuf.Value)
  4. Optional: Für benutzerdefiniert trainierte Modelle laden Sie das Schema für Ihr Modell in Cloud Storage hoch. Für das Modell-Monitoring muss das Schema die Basisverteilung zur Abweichungserkennung berechnen.

Eine Batchvorhersage anfordern

Sie können die folgenden Methoden verwenden, um Model Monitoring-Konfigurationen zu Batchvorhersagejobs hinzuzufügen.

Console

Folgen Sie der Anleitung, um eine Batchvorhersageanfrage mit aktiviertem Modellmonitoring zu machen:

REST API

Folgen Sie der Anleitung, um mit der REST API eine Batchvorhersageanfrage zu stellen:

Fügen Sie beim Erstellen der Batchvorhersageanfrage dem JSON-Text der Anfrage die folgende Modellmonitoringkonfiguration hinzu:

"modelMonitoringConfig": {
 "alertConfig": {
   "emailAlertConfig": {
     "userEmails": "EMAIL_ADDRESS"
   },
  "notificationChannels": [NOTIFICATION_CHANNELS]
 },
 "objectiveConfigs": [
   {
     "trainingDataset": {
       "dataFormat": "csv",
       "gcsSource": {
         "uris": [
           "TRAINING_DATASET"
         ]
       }
     },
     "trainingPredictionSkewDetectionConfig": {
       "skewThresholds": {
         "FEATURE_1": {
           "value": VALUE_1
         },
         "FEATURE_2": {
           "value": VALUE_2
         }
       }
     }
   }
 ]
}

Dabei gilt:

  • EMAIL_ADDRESS ist die E-Mail-Adresse, an die Sie Benachrichtigungen von Model Monitoring erhalten möchten. Beispiel: example@example.com.

  • NOTIFICATION_CHANNELS: Eine Liste der Cloud Monitoring-Benachrichtigungskanäle, in denen Sie Benachrichtigungen von Model Monitoring erhalten möchten. Verwenden Sie die Ressourcennamen für die Benachrichtigungskanäle, die Sie durch Auflisten der Benachrichtigungskanäle in Ihrem Projekt abrufen können. Beispiel: "projects/my-project/notificationChannels/1355376463305411567", "projects/my-project/notificationChannels/1355376463305411568"

  • TRAINING_DATASET ist der Link zum in Cloud Storage gespeicherten Trainings-Dataset.

    • Für die Verwendung eines Links zu einem BigQuery-Trainings-Dataset ersetzen Sie das Feld gcsSource durch Folgendes:
    "bigquerySource": {
        {
          "inputUri": "TRAINING_DATASET"
        }
     }
    
    • Wenn Sie einen Link zu einem AutoML-Modell verwenden möchten, ersetzen Sie das Feld gcsSource durch Folgendes:
    "dataset": "TRAINING_DATASET"
  • FEATURE_1:VALUE_1 und FEATURE_2:VALUE_2 sind die Schwellenwerte für Benachrichtigungen für jedes Feature, das Sie überwachen möchten. Wenn Sie beispielsweise Age=0.4 angeben, protokolliert Model Monitoring eine Benachrichtigung, wenn die statistische Entfernung zwischen den Eingabe- und Referenzverteilungen für das Feature Age 0,4 überschreitet. Standardmäßig wird jedes kategoriale und numerische Feature mit Grenzwerten von 0,3 überwacht.

Weitere Informationen zu Model Monitoring-Konfigurationen finden Sie in der Referenz zu Monitoring-Jobs.

Python

Im Beispielnotebook können Sie einen Batchvorhersagejob mit Modellmonitoring für ein benutzerdefiniertes Tabellenmodell ausführen.

Model Monitoring benachrichtigt Sie automatisch per E-Mail über Jobaktualisierungen und Benachrichtigungen.

Auf Abweichungsmesswerte zugreifen

Sie können die folgenden Methoden verwenden, um auf Abweichungsmesswerte für Batchvorhersagejobs zuzugreifen:

Console (Histogramm)

Verwenden Sie die Google Cloud Console, um die Histogramme der Featureverteilung für jedes überwachte Feature aufzurufen und zu ermitteln, welche Änderungen zu einer Abweichung geführt haben:

  1. Zur Seite Batchvorhersagen:

    Zu "Batchvorhersagen"

  2. Klicken Sie auf der Seite Batchvorhersagen auf den Batchvorhersagejob, den Sie analysieren möchten.

  3. Klicken Sie auf den Tab Model Monitoring-Benachrichtigungen, um eine Liste der Eingabefeatures des Modells sowie entsprechende Informationen wie den Schwellenwert für Benachrichtigungen für jedes Feature aufzurufen.

  4. Klicken Sie auf den Namen eines Elements, um es zu analysieren. Auf einer Seite werden die Histogramme für die Featureverteilung für dieses Feature angezeigt.

    Durch die Visualisierung der Datenverteilung als Histogramme können Sie sich schnell auf die Änderungen an den Daten konzentrieren. Anschließend können Sie die Pipeline zur Featuregenerierung anpassen oder das Modell neu trainieren.

    Grafik: Histogramme mit einer beispielhaften Eingabedatenverteilung und einer Verteilung der Trainingsdaten für die Abweichungserkennung

Console (JSON-Datei)

Verwenden Sie die Google Cloud Console, um auf die Messwerte im JSON-Format zuzugreifen:

  1. Zur Seite Batchvorhersagen:

    Zu "Batchvorhersagen"

  2. Klicken Sie auf den Namen des Monitoringjobs für die Batchvorhersage.

  3. Klicken Sie auf den Tab Monitoring-Attribute.

  4. Klicken Sie auf den Link Monitoring-Ausgabeverzeichnis, der Sie zu einem Cloud Storage-Bucket weiterleitet.

  5. Klicken Sie auf den Ordner metrics/.

  6. Klicken Sie auf den Ordner skew/.

  7. Klicken Sie auf die Datei feature_skew.json, um die Seite Objektdetails aufzurufen.

  8. Öffnen Sie die JSON-Datei mit einer der folgenden Optionen:

  • Klicken Sie auf Herunterladen und öffnen Sie die Datei in Ihrem lokalen Texteditor.

  • Verwenden Sie den Dateipfad gsutil URI, um gsutil cat GSUTIL_URI in Cloud Shell oder Ihrem lokalen Terminal auszuführen.

Die Datei feature_skew.json enthält ein Wörterbuch, in dem der Schlüssel der Featurename und der Wert die Featureabweichung ist. Beispiele:

{
  "cnt_ad_reward": 0.670936,
  "cnt_challenge_a_friend": 0.737924,
  "cnt_completed_5_levels": 0.549467,
  "month": 0.293332,
  "operating_system": 0.05758,
  "user_pseudo_id": 0.1
}

Python

Im Beispielnotebook finden Sie Zugriff auf Abweichungsmesswerte für ein benutzerdefiniertes tabellarisches Modell, nachdem ein Batchvorhersagejob mit Model Monitoring ausgeführt wurde.

Fehler beim Monitoring von Batchvorhersagen beheben

Wenn Ihr Monitoring-Job für die Batchvorhersage fehlschlägt, finden Sie Debugging-Logs in der Google Cloud Console:

  1. Zur Seite Batchvorhersagen.

    Zu "Batchvorhersagen"

  2. Klicken Sie auf den Namen des fehlgeschlagenen Monitoringjobs für die Batchvorhersage.

  3. Klicken Sie auf den Tab Monitoring-Attribute.

  4. Klicken Sie auf den Link Monitoring-Ausgabeverzeichnis, der Sie zu einem Cloud Storage-Bucket weiterleitet.

  5. Klicken Sie auf den Ordner logs/.

  6. Klicken Sie auf eine der .INFO-Dateien. Dadurch gelangen Sie zur Seite Objektdetails.

  7. Öffnen Sie die Logdatei mit einer der folgenden Optionen:

    • Klicken Sie auf Herunterladen und öffnen Sie die Datei in Ihrem lokalen Texteditor.

    • Verwenden Sie den Dateipfad gsutil URI, um gsutil cat GSUTIL_URI in Cloud Shell oder Ihrem lokalen Terminal auszuführen.

Notebook-Anleitungen

In diesen End-to-End-Anleitungen erfahren Sie, wie Sie mit Vertex AI Model Monitoring Visualisierungen und Statistiken für Modelle abrufen.

AutoML

Benutzerdefiniert

XGBoost-Modelle

Explainable AI Feature-Attributionen

Batchvorhersage

Tabellarische Modelle einrichten

Nächste Schritte