Erstellen einer 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 einer Baseline

Die Basisberechnungen von Statistiken und Einschränkungen sind als Standard erforderlich, anhand dessen Datendrift und andere Datenqualitätsprobleme erkannt werden können. Model Monitor bietet einen integrierten Container, der die Möglichkeit bietet, die Einschränkungen automatisch für CSV die JSON Eingabe vorzuschlagen. Dieser sagemaker-model-monitor-analyzerContainer bietet Ihnen auch eine Reihe von Funktionen zur Modellüberwachung, darunter die Validierung von Einschränkungen anhand einer Baseline und die Ausgabe von CloudWatch Amazon-Metriken. Dieser Container basiert auf Spark Version 3.3.0 und wird mit Deequ Version 2.0.2 gebaut. Alle Spaltennamen in Ihrem Baseline-Datensatz müssen Spark-konform sein. Verwenden Sie für Spaltennamen nur Kleinbuchstaben und _ als einziges Sonderzeichen.

Der Trainingsdatensatz, mit dem Sie das Modell trainiert haben, ist in der Regel ein guter Baseline-Datensatz. Das Trainingsdatensatz-Datenschema und das Inferenz-Datensatz-Schema sollten genau übereinstimmen (Anzahl und Reihenfolge der Funktionen). Beachten Sie, dass die Vorhersage-/Ausgabespalte(n) als erste Spalte(n) im Trainingsdatensatz angenommen werden. Aus dem Trainingsdatensatz können Sie eine Reihe von Basiseinschränkungen vorschlagen und beschreibende Statistiken erstellen, um die Daten zu untersuchen. SageMaker Laden Sie in diesem Beispiel das Trainingsdatenset hoch, mit dem das in diesem Beispiel enthaltene vortrainierte Modell trainiert wurde. Wenn Sie den Trainingsdatensatz bereits in Amazon S3 gespeichert haben, können Sie direkt darauf verweisen.

Um eine Baseline aus einem Trainingsdatensatz zu erstellen

Wenn Sie Ihre Trainingsdaten bereit und in Amazon S3 gespeichert haben, starten Sie einen grundlegenden Verarbeitungsjob DefaultModelMonitor.suggest_baseline(..) mit Amazon SageMaker Python SDK. Hierbei wird ein Vorgefertigter Amazon SageMaker Model Monitor-Container verwendet, der Baseline-Statistiken generiert und Baseline-Einschränkungen für den Datensatz vorschlägt und sie an den angegebenen output_s3_uri-Speicherort schreibt.

from sagemaker.model_monitor import DefaultModelMonitor from sagemaker.model_monitor.dataset_format import DatasetFormat my_default_monitor = DefaultModelMonitor( role=role, instance_count=1, instance_type='ml.m5.xlarge', volume_size_in_gb=20, max_runtime_in_seconds=3600, ) my_default_monitor.suggest_baseline( baseline_dataset=baseline_data_uri+'/training-dataset-with-header.csv', dataset_format=DatasetFormat.csv(header=True), output_s3_uri=baseline_results_uri, wait=True )
Anmerkung

Wenn Sie die Merkmals-/Spaltennamen im Trainingsdatensatz als erste Zeile angeben und die header=True Option wie im vorherigen Codebeispiel festgelegt haben, SageMaker verwendet der Feature-Name in der Einschränkungs- und Statistikdatei.

Die Baseline-Statistiken für den Datensatz sind in der Datei statistics.json enthalten, und die vorgeschlagenen Baseline-Einschränkungen sind in der Datei constraints.json an dem Speicherort enthalten, den Sie mit output_s3_uri angeben.

Ausgabedateien für tabellarische Datensatzstatistiken und Beschränkungen

Dateiname Beschreibung
statistics.json

Für diese Datei wird erwartet, dass für jede Funktion im Datensatz, die analysiert wird, spaltenförmige Statistiken vorhanden sind. Weitere Informationen über das Schema für diese Datei finden Sie unter Schema für Statistiken (Datei statistics.json).

constraints.json

Von dieser Datei wird erwartet, dass die Beschränkungen für Funktionen beachtet werden. Weitere Informationen über das Schema für diese Datei finden Sie unter Schema für Einschränkungen (Datei constraints.json).

Amazon SageMaker Python SDK bietet die beschriebenen praktischen Funktionen zur Generierung der Basisstatistiken und Einschränkungen. Wenn Sie jedoch stattdessen einen Verarbeitungsauftrag direkt aufrufen möchten, müssen Sie die Environment Zuordnung wie im folgenden Beispiel gezeigt einstellen:

"Environment": { "dataset_format": "{\"csv\”: { \”header\”: true}", "dataset_source": "/opt/ml/processing/sm_input", "output_path": "/opt/ml/processing/sm_output", "publish_cloudwatch_metrics": "Disabled", }