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 dem Training. 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, )

DataConfigspeichert Informationen über den zu analysierenden Datensatz (z. B. die Datensatzdatei), sein Format (d. h. JSON Linien), Überschriften (falls vorhanden) und seine Bezeichnung. CSV

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 dem Training 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 ein paar weitere Optionen, z. B. steht „Label“ für den Index, den Namen oder für die Suche JMESPath nach dem vorhergesagten Label in der Nutzlast der Endpoint Response.

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.