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.
Planen Sie Jobs zur Überwachung der Modellqualität
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. Außerdem sollte der Offset das Format ISO8601
Wenn Ihre Ground Truth zum Beispiel nach einem Tag eintrifft, aber erst nach einer Woche fertig ist, setzen Sie 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 StoppingCondition
nicht 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, )