Aufträge zur Überwachung der Modellqualität planen - 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.

Aufträge zur Überwachung der Modellqualität planen

Nachdem Sie Ihre Baseline erstellt haben, können Sie die create_monitoring_schedule() Methode Ihrer ModelQualityMonitor Klasse-Instance aufrufen, um eine stündliche Überwachung der Modellqualität zu planen. In den folgenden Abschnitten erfahren Sie, wie Sie einen Modellqualitätsmonitor für ein Modell erstellen, das auf einem Echtzeit-Endpunkt bereitgestellt wird, sowie für einen Batch-Transformationsauftrag.

Wichtig

Sie können bei der Erstellung Ihres Überwachungsplans entweder eine Batch-Transformationseingabe oder eine Endpunkteingabe angeben, jedoch nicht beides.

Im Gegensatz zur Überwachung der Datenqualität müssen Sie Ground-Truth-Labels angeben, wenn Sie die Modellqualität überwachen möchten. Ground Truth Labels könnten sich jedoch verzögern. Um dieses Problem zu beheben, geben Sie bei der Erstellung Ihres Überwachungsplans Offsets an.

Modellieren Sie Monitor-Offsets

Zu den Aufträgen mit Modellqualität gehören StartTimeOffset und EndTimeOffset. Dabei handelt es sich um Felder des ModelQualityJobInput Parameters der create_model_quality_job_definition Methode, die wie folgt funktionieren:

  • StartTimeOffset - Ist dies festgelegt, ziehen Überwachungsaufgaben diese Zeit von der Startzeit ab.

  • EndTimeOffset - Ist dies festgelegt, ziehen Überwachungsaufgaben diese Zeit von der Endzeit ab.

Das Format der Offsets ist beispielsweise -PT7H, wobei 7H für 7 Stunden steht. Sie können -PT #H oder -P #D verwenden, wobei H=Stunden, D=Tage und M=Minuten und # die Zahl ist. Darüber hinaus sollte der Offset im ISO 8601 für die Dauerformatangegeben werden.

Wenn deine Ground Truth zum Beispiel nach einem Tag eintrifft, aber erst nach einer Woche fertig ist, setze StartTimeOffset auf -P8D und EndTimeOffset auf -P1D. Wenn Sie einen Auftrag für 2020-01-09T13:00 die Ausführung zu einem bestimmten Zeitpunkt planen, werden die Daten zwischen 2020-01-01T13:00 und 2020-01-08T13:00 analysiert.

Wichtig

Der Zeitplan sollte so gewählt werden, dass eine Ausführung abgeschlossen ist, bevor die nächste Ausführung beginnt, sodass der Ground Truth Merge-Auftrag und der Monitoring-Auftrag von der Ausführung an abgeschlossen werden können. Die maximale Laufzeit einer Ausführung wird zwischen den beiden Aufträgen aufgeteilt, so dass bei einem stündlichen Modellqualitätsüberwachungsauftrag der Wert des angegebenen MaxRuntimeInSeconds als Teil von StoppingConditionnicht mehr als 1800 betragen sollte.

Überwachung der Modellqualität für Modelle, die auf Echtzeit-Endpunkten bereitgestellt werden

Um eine Überwachung der Modellqualität für einen Echtzeit-Endpunkt zu planen, übergeben Sie Ihre EndpointInput Instance an das endpoint_input Argument Ihrer ModelQualityMonitor Instance, wie im folgenden Codebeispiel gezeigt:

from sagemaker.model_monitor import CronExpressionGenerator model_quality_model_monitor = ModelQualityMonitor( role=sagemaker.get_execution_role(), ... ) schedule = model_quality_model_monitor.create_monitoring_schedule( monitor_schedule_name=schedule_name, post_analytics_processor_script=s3_code_postprocessor_uri, output_s3_uri=s3_report_path, schedule_cron_expression=CronExpressionGenerator.hourly(), statistics=model_quality_model_monitor.baseline_statistics(), constraints=model_quality_model_monitor.suggested_constraints(), schedule_cron_expression=CronExpressionGenerator.hourly(), enable_cloudwatch_metrics=True, endpoint_input=EndpointInput( endpoint_name=endpoint_name, destination="/opt/ml/processing/input/endpoint", start_time_offset="-PT2D", end_time_offset="-PT1D", ) )

Überwachung der Modellqualität für Batch-Transformationsaufträge

Um eine Überwachung der Modellqualität für einen Batch-Transformationsauftrag zu planen, übergeben Sie Ihre BatchTransformInput Instance an das batch_transform_input Argument Ihrer ModelQualityMonitor Instance, wie im folgenden Codebeispiel gezeigt:

from sagemaker.model_monitor import CronExpressionGenerator model_quality_model_monitor = ModelQualityMonitor( role=sagemaker.get_execution_role(), ... ) schedule = model_quality_model_monitor.create_monitoring_schedule( monitor_schedule_name=mon_schedule_name, batch_transform_input=BatchTransformInput( data_captured_destination_s3_uri=s3_capture_upload_path, destination="/opt/ml/processing/input", dataset_format=MonitoringDatasetFormat.csv(header=False), # the column index of the output representing the inference probablity probability_attribute="0", # the threshold to classify the inference probablity to class 0 or 1 in # binary classification problem probability_threshold_attribute=0.5, # look back 6 hour for transform job outputs. start_time_offset="-PT6H", end_time_offset="-PT0H" ), ground_truth_input=gt_s3_uri, output_s3_uri=s3_report_path, problem_type="BinaryClassification", constraints = constraints_path, schedule_cron_expression=CronExpressionGenerator.hourly(), enable_cloudwatch_metrics=True, )