Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon SageMaker Model Monitor memberi Anda kemampuan untuk memantau data yang dikumpulkan dari titik akhir waktu nyata Anda. Anda dapat memantau data Anda pada jadwal berulang, atau Anda dapat memantaunya satu kali, segera. Anda dapat membuat jadwal pemantauan dengan CreateMonitoringSchedule
API.
Dengan jadwal pemantauan, SageMaker AI dapat mulai memproses pekerjaan untuk menganalisis data yang dikumpulkan selama periode tertentu. Dalam pekerjaan pemrosesan, SageMaker AI membandingkan kumpulan data untuk analisis saat ini dengan statistik dasar dan kendala yang Anda berikan. Kemudian, SageMaker AI menghasilkan laporan pelanggaran. Selain itu, CloudWatch metrik dipancarkan untuk setiap fitur yang dianalisis.
SageMaker AI menyediakan wadah bawaan untuk melakukan analisis pada kumpulan data tabel. Atau, Anda dapat memilih untuk membawa wadah Anda sendiri seperti yang diuraikan dalam Support untuk Kontainer Anda Sendiri Dengan Monitor SageMaker Model Amazon topik.
Anda dapat membuat jadwal pemantauan model untuk titik akhir real-time atau pekerjaan transformasi batch Anda. Gunakan sumber daya dasar (kendala dan statistik) untuk membandingkan dengan lalu lintas real-time atau input pekerjaan batch.
contoh tugas dasar
Dalam contoh berikut, kumpulan data pelatihan yang digunakan untuk melatih model diunggah ke Amazon S3. Jika Anda sudah memilikinya di Amazon S3, Anda dapat mengarahkannya secara langsung.
# copy over the training dataset to Amazon S3 (if you already have it in Amazon S3, you could reuse it)
baseline_prefix = prefix + '/baselining'
baseline_data_prefix = baseline_prefix + '/data'
baseline_results_prefix = baseline_prefix + '/results'
baseline_data_uri = 's3://{}/{}'.format(bucket,baseline_data_prefix)
baseline_results_uri = 's3://{}/{}'.format(bucket, baseline_results_prefix)
print('Baseline data uri: {}'.format(baseline_data_uri))
print('Baseline results uri: {}'.format(baseline_results_uri))
training_data_file = open("test_data/training-dataset-with-header.csv", 'rb')
s3_key = os.path.join(baseline_prefix, 'data', 'training-dataset-with-header.csv')
boto3.Session().resource('s3').Bucket(bucket).Object(s3_key).upload_fileobj(training_data_file)
contoh jadwal untuk analisis berulang
Jika Anda menjadwalkan monitor model untuk titik akhir real-time, gunakan batasan dasar dan statistik untuk membandingkan dengan lalu lintas waktu nyata. Cuplikan kode berikut menunjukkan format umum yang Anda gunakan untuk menjadwalkan monitor model untuk titik akhir real-time. Contoh ini menjadwalkan monitor model untuk berjalan setiap jam.
from sagemaker.model_monitor import CronExpressionGenerator
from time import gmtime, strftime
mon_schedule_name = 'my-model-monitor-schedule-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime())
my_default_monitor.create_monitoring_schedule(
monitor_schedule_name=mon_schedule_name,
endpoint_input=EndpointInput(
endpoint_name=endpoint_name,
destination="/opt/ml/processing/input/endpoint"
),
post_analytics_processor_script=s3_code_postprocessor_uri,
output_s3_uri=s3_report_path,
statistics=my_default_monitor.baseline_statistics(),
constraints=my_default_monitor.suggested_constraints(),
schedule_cron_expression=CronExpressionGenerator.hourly(),
enable_cloudwatch_metrics=True,
)
contoh jadwal untuk analisis satu kali
Anda juga dapat menjadwalkan analisis untuk dijalankan sekali tanpa berulang dengan meneruskan argumen seperti berikut ke create_monitoring_schedule
metode:
schedule_cron_expression=CronExpressionGenerator.now(),
data_analysis_start_time="-PT1H",
data_analysis_end_time="-PT0H",
Dalam argumen ini, schedule_cron_expression
parameter menjadwalkan analisis untuk dijalankan sekali, segera, dengan nilainyaCronExpressionGenerator.now()
. Untuk jadwal apa pun dengan pengaturan ini, data_analysis_end_time
parameter data_analysis_start_time
dan diperlukan. Parameter ini mengatur waktu mulai dan waktu akhir jendela analisis. Tentukan waktu ini sebagai offset yang relatif terhadap waktu saat ini, dan gunakan format durasi ISO 8601. Dalam contoh ini, waktu -PT1H
dan -PT0H
tentukan jendela antara satu jam di masa lalu dan waktu saat ini. Dengan jadwal ini, analisis hanya mengevaluasi data yang dikumpulkan selama jendela yang ditentukan.
contoh jadwal untuk pekerjaan transformasi batch
Cuplikan kode berikut menunjukkan format umum yang Anda gunakan untuk menjadwalkan monitor model untuk pekerjaan transformasi batch.
from sagemaker.model_monitor import (
CronExpressionGenerator,
BatchTransformInput,
MonitoringDatasetFormat,
)
from time import gmtime, strftime
mon_schedule_name = 'my-model-monitor-schedule-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime())
my_default_monitor.create_monitoring_schedule(
monitor_schedule_name=mon_schedule_name,
batch_transform_input=BatchTransformInput(
destination="opt/ml/processing/input",
data_captured_destination_s3_uri=s3_capture_upload_path,
dataset_format=MonitoringDatasetFormat.csv(header=False),
),
post_analytics_processor_script=s3_code_postprocessor_uri,
output_s3_uri=s3_report_path,
statistics=my_default_monitor.baseline_statistics(),
constraints=my_default_monitor.suggested_constraints(),
schedule_cron_expression=CronExpressionGenerator.hourly(),
enable_cloudwatch_metrics=True,
)
desc_schedule_result = my_default_monitor.describe_schedule()
print('Schedule status: {}'.format(desc_schedule_result['MonitoringScheduleStatus']))