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 SHAP-Baseline für Modelle in der Produktion
Anmerkung
Amazon SageMaker Model Monitor steht Neukunden nicht mehr zur Verfügung. Bestehende Kunden können den Service weiterhin wie gewohnt nutzen. AWS investiert weiterhin in Sicherheits- und Verfügbarkeitsverbesserungen für Model Monitor, wir planen jedoch nicht, neue Funktionen einzuführen. Weitere Informationen finden Sie unter Änderung der Verfügbarkeit von Amazon SageMaker Model Monitor.
Die Erklärungen sind in der Regel kontrastiv, d. h. sie berücksichtigen Abweichungen von einer Ausgangsbasis. Informationen zu Ausgangswerten für die Erklärbarkeit finden Sie unter SHAP-Baselines zur Erläuterbarkeit.
SageMaker Clarify bietet nicht nur Erklärungen für Instances, sondern unterstützt auch globale Erklärungen für ML-Modelle, die Ihnen helfen, das Verhalten eines Modells als Ganzes in Bezug auf seine Funktionen zu verstehen. SageMaker Clarify generiert eine globale Erklärung eines ML-Modells, indem es die Shapley-Werte über mehrere Instanzen hinweg aggregiert. SageMaker Clarify unterstützt die folgenden verschiedenen Aggregationsmethoden, mit denen Sie Basislinien definieren können:
-
mean_abs– Mittelwert der absoluten SHAP-Werte für alle Instances. -
median– Median der SHAP-Werte für alle Instances. -
mean_sq– Mittelwert der quadrierten SHAP-Werte für alle Instances.
Nachdem Sie Ihre Anwendung für die Erfassung von Echtzeit- oder Batch-Transformationsinferenzdaten konfiguriert haben, besteht die erste Aufgabe zur Überwachung von Abweichungen bei der Featureszuweisung darin, eine Ausgangsbasis für den Vergleich 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 Schulen. Dann müssen Sie den Baselining-Auftrag starten. Der Model Explainability Monitor kann die Vorhersagen eines eingesetzten Modells erklären, das Rückschlüsse zieht, und erkennt regelmäßig Abweichungen bei der Merkmalszuweisung.
model_explainability_monitor = ModelExplainabilityMonitor( role=role, sagemaker_session=sagemaker_session, max_runtime_in_seconds=1800, )
In diesem Beispiel teilt sich der JobAuftrag für die Baselining-Erklärung den Testdatensatz mit dem Bias-Baselining-Auftrag, verwendet also denselben DataConfig, und der einzige Unterschied ist der Auftrag-Output-URI.
model_explainability_baselining_job_result_uri = f"{baseline_results_uri}/model_explainability" model_explainability_data_config = DataConfig( s3_data_input_path=validation_dataset, s3_output_path=model_explainability_baselining_job_result_uri, label=label_header, headers=all_headers, dataset_type=dataset_type, )
Derzeit bietet der SageMaker Clarify Explainer eine skalierbare und effiziente Implementierung von SHAP, sodass die Erklärbarkeitskonfiguration ShapConfig ist, einschließlich der folgenden:
-
baseline– Eine Liste von Zeilen (mindestens eine) oder S3-Objekt-URI, die als Basisdatensatz im Kernel-SHAP-Algorithmus verwendet werden sollen. Das Format sollte mit dem Datensatzformat identisch sein. Jede Zeile sollte nur das Feature enthalten und die Bezeichnung weglassen. columns/values column/values -
num_samples– Anzahl der Samples, die im Kernel-SHAP-Algorithmus verwendet werden sollen. Diese Zahl bestimmt die Größe des generierten synthetischen Datensatzes zur Berechnung der SHAP-Werte. -
agg_method – Aggregationsmethode für globale SHAP-Werte. Die folgenden Werte sind gültig:
-
mean_abs– Mittelwert der absoluten SHAP-Werte für alle Instances. -
median– Median der SHAP-Werte für alle Instances. -
mean_sq– Mittelwert der quadrierten SHAP-Werte für alle Instances.
-
-
use_logit– Indikator dafür, ob die Logit-Funktion auf die Modellvorhersagen angewendet werden soll. Der Standardwert istFalse. Istuse_logitTrue, werden die SHAP-Werte in logarithmischen Odds-Einheiten ausgedrückt. -
save_local_shap_values(bool) – Indikator dafür, ob die lokalen SHAP-Werte am Ausgabespeicherort gespeichert werden sollen. Der Standardwert istFalse.
# Here use the mean value of test dataset as SHAP baseline test_dataframe = pd.read_csv(test_dataset, header=None) shap_baseline = [list(test_dataframe.mean())] shap_config = SHAPConfig( baseline=shap_baseline, num_samples=100, agg_method="mean_abs", save_local_shap_values=False, )
Startet einen Baselining-Auftrag. Dasselbe model_config ist erforderlich, da für den Auftrag mit dem Baselining der Erklärbarkeit ein Schattenendpunkt erstellt werden muss, um Vorhersagen für den generierten synthetischen Datensatz zu erhalten.
model_explainability_monitor.suggest_baseline( data_config=model_explainability_data_config, model_config=model_config, explainability_config=shap_config, ) print(f"ModelExplainabilityMonitor baselining job: {model_explainability_monitor.latest_baselining_job_name}")