Jadwalkan pekerjaan pemantauan kualitas model - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Jadwalkan pekerjaan pemantauan kualitas model

Setelah Anda membuat baseline Anda, Anda dapat memanggil create_monitoring_schedule() metode instance ModelQualityMonitor kelas Anda untuk menjadwalkan monitor kualitas model per jam. Bagian berikut menunjukkan cara membuat monitor kualitas model untuk model yang diterapkan ke titik akhir real-time serta untuk pekerjaan transformasi batch.

penting

Anda dapat menentukan input transformasi batch atau input titik akhir, tetapi tidak keduanya, saat Anda membuat jadwal pemantauan.

Tidak seperti pemantauan kualitas data, Anda perlu menyediakan label Ground Truth jika Anda ingin memantau kualitas model. Namun, label Ground Truth bisa ditunda. Untuk mengatasinya, tentukan offset saat Anda membuat jadwal pemantauan.

Offset monitor model

Pekerjaan kualitas model meliputi StartTimeOffset danEndTimeOffset, yang merupakan bidang ModelQualityJobInput parameter create_model_quality_job_definition metode yang berfungsi sebagai berikut:

  • StartTimeOffset- Jika ditentukan, pekerjaan kurangi waktu ini dari waktu mulai.

  • EndTimeOffset- Jika ditentukan, pekerjaan kurangi waktu ini dari waktu akhir.

Format offset adalah, misalnya, -PT7H, di mana 7H adalah 7 jam. Anda dapat menggunakan -PT #H atau -P #D, di mana H = jam, D = hari, dan m = menit, dan # adalah nomornya. Selain itu, offset harus dalam format durasi ISO8601.

Misalnya, jika Ground Truth Anda mulai masuk setelah 1 hari, tetapi tidak selesai selama seminggu, atur StartTimeOffset ke -P8D dan EndTimeOffset ke-P1D. Kemudian, jika Anda menjadwalkan pekerjaan untuk dijalankan2020-01-09T13:00, itu menganalisis data dari antara 2020-01-01T13:00 dan2020-01-08T13:00.

penting

Irama jadwal harus sedemikian rupa sehingga satu eksekusi selesai sebelum eksekusi berikutnya dimulai, yang memungkinkan pekerjaan penggabungan Ground Truth dan pekerjaan pemantauan dari eksekusi selesai. Runtime maksimum eksekusi dibagi antara dua pekerjaan, jadi untuk pekerjaan pemantauan kualitas model per jam, nilai yang MaxRuntimeInSeconds ditentukan sebagai bagian dari StoppingCondition harus tidak lebih dari 1800.

Pemantauan kualitas model untuk model yang digunakan ke titik akhir waktu nyata

Untuk menjadwalkan monitor kualitas model untuk titik akhir real-time, teruskan EndpointInput instance Anda ke endpoint_input argumen ModelQualityMonitor instance Anda, seperti yang ditunjukkan dalam contoh kode berikut:

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", ) )

Pemantauan kualitas model untuk pekerjaan transformasi batch

Untuk menjadwalkan monitor kualitas model untuk pekerjaan transformasi batch, teruskan BatchTransformInput instance Anda ke batch_transform_input argumen ModelQualityMonitor instance Anda, seperti yang ditunjukkan dalam contoh kode berikut:

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, )