Erstellen Sie eine Bias-Drift-Baseline - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie eine Bias-Drift-Baseline

Nachdem Sie Ihre Anwendung für die Erfassung von Echtzeit- oder Batch-Transformationsinferenzdaten konfiguriert haben, besteht die erste Aufgabe zur Überwachung von Verzerrungen darin, eine Basislinie zu erstellen. Dazu gehören die Konfiguration der Dateneingaben, die sensitiven Gruppen, die Art und Weise, wie die Vorhersagen erfasst werden, sowie das Modell und seine Messwerte für Verzerrungen nach der Schulung. Dann müssen Sie den Baselining-Auftrag starten.

Der Model Bias Monitor kann die Verzerrungen von ML-Modellen regelmäßig erkennen. Ähnlich wie bei den anderen Überwachungstypen besteht das Standardverfahren bei der Erstellung eines Modell-Bias-Monitors darin, zunächst einen Basiswert zu erstellen und dann einen Überwachungsplan zu erstellen.

model_bias_monitor = ModelBiasMonitor( role=role, sagemaker_session=sagemaker_session, max_runtime_in_seconds=1800, )

DataConfig speichert Informationen über den zu analysierenden Datensatz (z. B. die Datensatzdatei), sein Format (d. h. CSV- oder JSON-Zeilen), Header (falls vorhanden) und Bezeichnung.

model_bias_baselining_job_result_uri = f"{baseline_results_uri}/model_bias" model_bias_data_config = DataConfig( s3_data_input_path=validation_dataset, s3_output_path=model_bias_baselining_job_result_uri, label=label_header, headers=all_headers, dataset_type=dataset_type, )

BiasConfig ist die Konfiguration der sensiblen Gruppen im Datensatz. In der Regel wird die Verzerrung gemessen, indem eine Metrik berechnet und diese gruppenübergreifend verglichen wird. Die interessierende Gruppe wird als Facette bezeichnet. Bei Verzerrungen nach der Schulung sollten Sie auch das positive Etikett berücksichtigen.

model_bias_config = BiasConfig( label_values_or_threshold=[1], facet_name="Account Length", facet_values_or_threshold=[100], )

ModelPredictedLabelConfig gibt an, wie eine vorhergesagte Beschriftung aus der Modellausgabe extrahiert wird. In diesem Beispiel wurde der Grenzwert von 0,8 gewählt, da davon ausgegangen wurde, dass Kunden häufig wechseln werden. Für kompliziertere Ausgaben gibt es einige weitere Optionen, z. B. steht „Beschriftung“ für den Index, den Namen oder den JMESPfad, um die vorhergesagte Beschriftung in der Payload der Endpoint Response zu finden.

model_predicted_label_config = ModelPredictedLabelConfig( probability_threshold=0.8, )

ModelConfig ist die Konfiguration, die sich auf das Modell bezieht, das für die Inferenz verwendet werden soll. Um Messwerte für Verzerrungen nach dem Training berechnen zu können, müssen bei der Berechnung Rückschlüsse auf den angegebenen Modellnamen gezogen werden. Um dies zu erreichen, verwendet der Verarbeitungsjob das Modell, um einen kurzlebigen Endpunkt (auch Schattenendpunkt genannt) zu erstellen. Der Verarbeitungsauftrag löscht den Schattenendpunkt, nachdem die Berechnungen abgeschlossen sind. Diese Konfiguration wird auch vom Explainability Monitor verwendet.

model_config = ModelConfig( model_name=model_name, instance_count=endpoint_instance_count, instance_type=endpoint_instance_type, content_type=dataset_type, accept_type=dataset_type, )

Jetzt können Sie den Baselining-Auftrag starten.

model_bias_monitor.suggest_baseline( model_config=model_config, data_config=model_bias_data_config, bias_config=model_bias_config, model_predicted_label_config=model_predicted_label_config, ) print(f"ModelBiasMonitor baselining job: {model_bias_monitor.latest_baselining_job_name}")

Der geplante Monitor übernimmt automatisch den Namen des Baselining-Aufträge und wartet darauf, bevor die Überwachung beginnt.