Modellmonitoring – Übersicht
In diesem Dokument wird beschrieben, wie BigQuery ML das Monitoring von ML-Modellen (Machine Learning) durch die Bewertung und den Vergleich der Daten unterstützt, die ein Modell verwendet. Dazu gehört der Vergleich der Bereitstellungsdaten eines Modells mit seinen Trainingsdaten und der Vergleich neuer Bereitstellungsdaten mit zuvor verwendeten Bereitstellungsdaten.
Das Verständnis der von Ihren Modellen verwendeten Daten ist ein wichtiger Aspekt des maschinellen Lernens, da diese Daten die Modellleistung beeinflussen. Es ist besonders wichtig, Abweichungen zwischen Ihren Trainings- und Bereitstellungsdaten zu verstehen, um sicherzustellen, dass Ihre Modelle im Laufe der Zeit genau bleiben. Ein Modell funktioniert am besten mit Bereitstellungsdaten, die den Trainingsdaten ähneln. Wenn die Bereitstellungsdaten von den Daten abweichen, die zum Trainieren des Modells verwendet wurden, kann sich die Leistung des Modells verschlechtern, auch wenn sich das Modell selbst nicht geändert hat.
BigQuery ML bietet Funktionen, mit denen Sie Ihre Trainings und Bereitstellungsdaten auf Datenverzerrung und Datendrift analysieren können:
- Eine Datenverzerrung tritt auf, wenn die Verteilung von Featurewerten für Trainingsdaten erheblich von den Bereitstellungsdaten in der Produktion abweicht. Trainingsstatistiken für das Modell werden während des Modelltrainings gespeichert. Daher sind die ursprünglichen Trainingsdaten nicht erforderlich, um die Abweichungserkennung zu verwenden.
- Ein Daten-Drift tritt auf, wenn sich die Verteilung der Featuredaten in der Produktion im Laufe der Zeit erheblich verändert Die Drifterkennung wird für aufeinanderfolgende Datenbereiche unterstützt, z. B. zwischen verschiedenen Tagen mit Bereitstellungsdaten. So können Sie benachrichtigt werden, wenn sich die Bereitstellungsdaten im Laufe der Zeit ändern, bevor die Datensätze zu stark voneinander abweichen, um das Modell neu zu trainieren.
Verwenden Sie die folgenden Funktionen, um Modelle in BigQuery ML zu überwachen:
ML.DESCRIBE_DATA: Berechnen Sie deskriptive Statistiken für eine Reihe von Trainings- oder Bereitstellungsdaten.ML.VALIDATE_DATA_SKEW: Berechnen Sie die Statistiken für eine Reihe von Bereitstellungsdaten und vergleichen Sie sie dann mit den Trainingsdatenstatistiken, die beim Trainieren eines BigQuery ML-Modells berechnet wurden, um ungewöhnliche Unterschiede zwischen den beiden Datensätzen zu identifizieren. Statistiken werden nur für Featurespalten in den Bereitstellungsdaten berechnet, die mit Featurespalten in den Trainingsdaten übereinstimmen, um eine bessere Leistung zu erzielen und Kosten zu senken.ML.VALIDATE_DATA_DRIFT: Berechnen und vergleichen Sie die Statistiken für zwei Sätze von Bereitstellungsdaten, um ungewöhnliche Unterschiede zwischen den beiden Datensätzen zu identifizieren.ML.TFDV_DESCRIBE: Berechnen Sie detaillierte deskriptive Statistiken für eine Reihe von Trainings- oder Bereitstellungsdaten. Diese Funktion bietet dasselbe Verhalten wie die TensorFlowtfdv.generate_statistics_from_csvAPI.ML.TFDV_VALIDATE: Vergleichen Sie die Statistiken für Trainings- und Bereitstellungsdaten oder zwei Sätze von Bereitstellungsdatenstatistiken, um ungewöhnliche Unterschiede zwischen den beiden Datensätzen zu identifizieren. Diese Funktion bietet dasselbe Verhalten wie die TensorFlowvalidate_statisticsAPI.
Monitoring-Anwendungsfälle
In diesem Abschnitt wird beschrieben, wie Sie die BigQuery ML-Modellmonitoringfunktionen in gängigen Monitoring-Anwendungsfällen verwenden.
Grundlegendes Monitoring von Datenverzerrungen
Dieser Anwendungsfall ist geeignet, wenn Sie ein Modell schnell entwickeln und auf Datenverzerrung überwachen möchten und keine detaillierten Statistiken zur Datenverzerrung benötigen, die in eine vorhandene Monitoringlösung integriert werden können.
Typische Schritte für diesen Anwendungsfall:
- Führen Sie die Funktion
ML.DESCRIBE_DATAfür Ihre Trainings- und Bereitstellungsdaten aus, um sicherzustellen, dass beide Datensätze angemessen miteinander verglichen werden und innerhalb der erwarteten Parameter liegen. - Erstellen Sie ein BigQuery ML-Modell und trainieren Sie es mit den Trainingsdaten.
- Führen Sie die Funktion
ML.VALIDATE_DATA_SKEWaus, um die Statistiken der Bereitstellungsdaten mit den Statistiken der Trainingsdaten zu vergleichen, die während der Modellerstellung berechnet wurden. So können Sie feststellen, ob eine Datenverzerrung vorliegt. - Wenn es eine Datenverzerrung gibt, untersuchen Sie die Ursache, passen Sie die Trainingsdaten entsprechend an und trainieren Sie dann das Modell neu.
Grundlegendes Monitoring von Datendrifts
Dieser Anwendungsfall ist geeignet, wenn Sie ein Modell schnell entwickeln und auf Datendrift überwachen möchten und keine detaillierten Driftstatistiken benötigen, die in eine vorhandene Monitoringlösung integriert werden können.
Typische Schritte für diesen Anwendungsfall:
- Führen Sie die Funktion
ML.DESCRIBE_DATAfür Ihre Trainings- und Bereitstellungsdaten aus, um sicherzustellen, dass beide Datensätze angemessen miteinander verglichen werden und innerhalb der erwarteten Parameter liegen. - Erstellen Sie ein BigQuery ML-Modell und trainieren Sie es mit den Trainingsdaten.
- Führen Sie die Funktion
ML.VALIDATE_DATA_DRIFTaus, um die Statistiken für zwei verschiedene Bereitstellungs-Datasets zu vergleichen und festzustellen, ob Datendrifts auftreten. Sie können beispielsweise die aktuellen Bereitstellungsdaten mit historischen Bereitstellungsdaten aus einem Tabellen-Snapshot oder mit den Features vergleichen, die zu einem bestimmten Zeitpunkt bereitgestellt werden, die Sie mit der FunktionML.FEATURES_AT_TIMEabrufen können. - Wenn es Datendrifts gibt, untersuchen Sie die Ursache, passen Sie die Trainingsdaten entsprechend an und trainieren Sie dann das Modell neu.
Erweitertes Monitoring von Datenverzerrungen oder -drifts
Dieser Anwendungsfall ist geeignet, wenn Sie detaillierte Abweichungs- oder Driftstatistiken benötigen, die in eine vorhandene Monitoringlösung integriert werden können oder für andere Zwecke verwendet werden sollen.
Typische Schritte für diesen Anwendungsfall:
- Führen Sie die
ML.TFDV_DESCRIBEFunktion in für Ihre Monitoringlösung geeigneten Intervallen für Ihre Trainings- und Bereitstellungsdaten aus und speichern Sie die Abfrageergebnisse. Mit diesem Schritt können Sie zukünftige Bereitstellungsdaten mit Trainings- und Bereitstellungsdaten aus der Vergangenheit vergleichen. Führen Sie die Funktion
ML.TFDV_VALIDATEfür Ihre Trainings- und Bereitstellungsdatenstatistiken oder für zwei Sätze von Bereitstellungsdatenstatistiken aus, um eine Datenverzerrung bzw. ein Feature-Drift zu bewerten. Die Trainings- und Bereitstellungsdaten müssen als TensorFlowDatasetFeatureStatisticsListProtokollpuffer im JSON-Format bereitgestellt werden. Sie können einen Protokollzwischenspeicher im richtigen Format generieren, indem Sie die FunktionML.TFDV_DESCRIBEausführen, oder Sie können ihn außerhalb von BigQuery laden. Im folgenden Beispiel wird gezeigt, wie Sie die Featureabweichung bewerten:DECLARE stats1 JSON; DECLARE stats2 JSON; SET stats1 = ( SELECT * FROM ML.TFDV_DESCRIBE(TABLE `myproject.mydataset.training`) ); SET stats2 = ( SELECT * FROM ML.TFDV_DESCRIBE(TABLE `myproject.mydataset.serving`) ); SELECT ML.TFDV_VALIDATE(stats1, stats2, 'SKEW'); INSERT `myproject.mydataset.serve_stats` (t, dataset_feature_statistics_list) SELECT CURRENT_TIMESTAMP() AS t, stats1;
Bei Datenverzerrung oder -drifts untersuchen Sie die Ursache, passen die Trainingsdaten entsprechend an und trainieren dann das Modell neu.
Monitoring-Visualisierung
Einige Monitoringfunktionen bieten eine Integration mit dem Modellmonitoring der Gemini Enterprise Agent Platform, sodass Sie Diagramme und Grafiken verwenden können, um die Ausgabe der Modellmonitoringfunktion zu analysieren.
Die Verwendung von Agent Platform-Visualisierungen bietet folgende Vorteile:
- Interaktive Visualisierungen: Untersuchen Sie Datenverteilungen, Abweichungs- und Driftmesswerte mithilfe von Diagrammen und Grafiken in der Agent Platform Konsole.
- Historische Analyse: Verfolgen Sie die Ergebnisse des Modellmonitorings im Zeitverlauf mithilfe von Agent Platform-Visualisierungen. So können Sie Trends und Muster bei Datenänderungen erkennen, um Modelle proaktiv zu aktualisieren und zu verwalten.
- Zentrale Verwaltung: Verwalten Sie das Monitoring für alle BigQuery ML und Agent Platform-Modelle im einheitlichen Agent Platform Dashboard.
Sie können die Visualisierung der Ausgabe der Funktion ML.VALIDATE_DATA_DRIFT mit dem Argument MODEL dieser Funktion aktivieren. Sie können die Visualisierung der Ausgabe der Funktion ML.VALIDATE_DATA_SKEW mit dem Argument enable_visualization_link dieser Funktion aktivieren.
Sie können die Monitoring-Visualisierung nur mit Modellen verwenden, die
registriert bei
der Agent Platform sind. Sie können ein vorhandenes Modell mit der
ALTER MODEL Anweisung registrieren.
Monitoring automatisieren
Sie können das Monitoring automatisieren, indem Sie eine geplante Abfrage verwenden, um die Monitoringfunktion auszuführen, die Ausgabe zu bewerten und das Modell neu zu trainieren, wenn Anomalien erkannt werden. Sie müssen E-Mail-Benachrichtigungen aktivieren, wenn Sie die geplante Abfrage einrichten .
Ein Beispiel für die Automatisierung der ML.VALIDATE_DATA_SKEW
Funktion finden Sie unter
Abweichungserkennung automatisieren.
Nächste Schritte
Weitere Informationen zu unterstützten SQL-Anweisungen und -Funktionen für ML-Modelle, siehe End-to-End-Nutzerpfad für ML-Modelle.