

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

# Bias drift untuk model dalam produksi
<a name="clarify-model-monitor-bias-drift"></a>

Pemantauan bias Amazon SageMaker Clarify membantu ilmuwan data dan insinyur ML memantau prediksi bias secara teratur. Saat model dipantau, pelanggan dapat melihat laporan dan grafik yang dapat diekspor yang merinci bias di SageMaker Studio dan mengonfigurasi peringatan di Amazon CloudWatch untuk menerima pemberitahuan jika bias di luar ambang batas tertentu terdeteksi. Bias dapat diperkenalkan atau diperburuk dalam model ML yang diterapkan ketika data pelatihan berbeda dari data yang dilihat model selama penerapan (yaitu, data langsung). Jenis perubahan dalam distribusi data langsung ini mungkin bersifat sementara (misalnya, karena beberapa peristiwa dunia nyata yang berumur pendek) atau permanen. Dalam kedua kasus, mungkin penting untuk mendeteksi perubahan ini. Misalnya, output model untuk memprediksi harga rumah dapat menjadi bias jika tingkat hipotek yang digunakan untuk melatih model berbeda dari tingkat hipotek dunia nyata saat ini. Dengan kemampuan deteksi bias di Model Monitor, ketika SageMaker AI mendeteksi bias di luar ambang batas tertentu, AI secara otomatis menghasilkan metrik yang dapat Anda lihat di SageMaker Studio dan melalui peringatan Amazon CloudWatch. 

Secara umum, mengukur bias hanya selama train-and-deploy fase mungkin tidak cukup. Ada kemungkinan bahwa setelah model digunakan, distribusi data yang dilihat oleh model yang diterapkan (yaitu, data langsung) berbeda dari distribusi data dalam kumpulan data pelatihan. Perubahan ini mungkin menimbulkan bias dalam model dari waktu ke waktu. Perubahan dalam distribusi data langsung mungkin bersifat sementara (misalnya, karena beberapa perilaku berumur pendek seperti musim liburan) atau permanen. Dalam kedua kasus, mungkin penting untuk mendeteksi perubahan ini dan mengambil langkah-langkah untuk mengurangi bias bila perlu.

Untuk mendeteksi perubahan ini, SageMaker Clarify menyediakan fungsionalitas untuk memantau metrik bias model yang diterapkan secara terus menerus dan meningkatkan peringatan otomatis jika metrik melebihi ambang batas. Misalnya, perhatikan metrik bias DPPL. Tentukan rentang nilai yang diizinkan A= (amin​, amax​), misalnya interval (-0.1, 0.1), yang harus dimiliki DPPL selama penerapan. Setiap penyimpangan dari kisaran ini harus meningkatkan peringatan *bias yang terdeteksi*. Dengan SageMaker Clarify, Anda dapat melakukan pemeriksaan ini secara berkala.

Misalnya, Anda dapat mengatur frekuensi cek menjadi 2 hari. Ini berarti SageMaker Clarify menghitung metrik DPPL pada data yang dikumpulkan selama jendela 2 hari. Dalam contoh ini, D win adalah data yang diproses model selama jendela 2 hari terakhir. Peringatan dikeluarkan jika nilai DPPL b yang win​ dihitung pada D win​ berada di luar rentang yang diizinkan A. Pendekatan ini untuk memeriksa apakah b win berada di luar A bisa agak bising. D win​ mungkin terdiri dari sangat sedikit sampel dan mungkin tidak mewakili distribusi data langsung. Ukuran sampel yang kecil berarti bahwa nilai bias b yang win​ dihitung di atas D win​ mungkin bukan perkiraan yang sangat kuat. Faktanya, nilai b yang sangat tinggi (atau rendah) win dapat diamati murni karena kebetulan. Untuk memastikan bahwa kesimpulan yang diambil dari data D win yang diamati signifikan secara statistik, SageMaker Clarify menggunakan interval kepercayaan. Secara khusus, ia menggunakan metode Interval Bootstrap Normal untuk membangun interval C= (cmin, cmax) sedemikian rupa sehingga SageMaker Clarify yakin bahwa nilai bias sebenarnya yang dihitung melalui data langsung lengkap terkandung dalam C dengan probabilitas tinggi. Sekarang, jika interval kepercayaan C tumpang tindih dengan rentang A yang diizinkan, SageMaker Clarify menafsirkannya sebagai “kemungkinan nilai metrik bias dari distribusi data langsung berada dalam kisaran yang diizinkan”. Jika C dan A terputus-putus, SageMaker Clarify yakin bahwa metrik bias tidak terletak pada A dan menimbulkan peringatan.

## Model Monitor Contoh Notebook
<a name="clarify-model-monitor-sample-notebooks-bias-drift"></a>

Amazon SageMaker Clarify menyediakan contoh buku catatan berikut yang menunjukkan cara menangkap data inferensi untuk titik akhir real-time, membuat garis dasar untuk memantau bias yang berkembang, dan memeriksa hasilnya: 
+ [Memantau penyimpangan bias dan penyimpangan atribusi fitur Amazon SageMaker ](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker_model_monitor/fairness_and_explainability/SageMaker-Model-Monitor-Fairness-and-Explainability.html) Clarify — Gunakan Monitor Model SageMaker Amazon untuk memantau penyimpangan bias dan fitur penyimpangan atribusi dari waktu ke waktu.

Notebook ini telah diverifikasi untuk berjalan di Amazon SageMaker Studio saja. Jika Anda memerlukan petunjuk tentang cara membuka buku catatan di Amazon SageMaker Studio, lihat[Membuat atau Membuka Notebook Amazon SageMaker Studio Classic](notebooks-create-open.md). Jika Anda diminta untuk memilih kernel, pilih **Python 3 (Ilmu Data)**. Topik berikut berisi sorotan dari dua langkah terakhir, dan berisi contoh kode dari contoh buku catatan. 

**Topics**
+ [Model Monitor Contoh Notebook](#clarify-model-monitor-sample-notebooks-bias-drift)
+ [Buat Bias Drift Baseline](clarify-model-monitor-bias-drift-baseline.md)
+ [Pelanggaran Bias Drift](clarify-model-monitor-bias-drift-violations.md)
+ [Parameter untuk Memantau Bias Drift](clarify-config-json-monitor-bias-parameters.md)
+ [Jadwal Pekerjaan Bias Drift Monitoring](clarify-model-monitor-bias-drift-schedule.md)
+ [Periksa Laporan untuk Data Bias Drift](clarify-model-monitor-bias-drift-report.md)
+ [CloudWatch Metrik untuk Analisis Bias Drift](clarify-model-monitor-bias-drift-cw.md)

# Buat Bias Drift Baseline
<a name="clarify-model-monitor-bias-drift-baseline"></a>

Setelah Anda mengonfigurasi aplikasi untuk menangkap data inferensi transformasi real-time atau batch, tugas pertama untuk memantau penyimpangan bias adalah membuat baseline. Ini melibatkan konfigurasi input data, grup mana yang sensitif, bagaimana prediksi ditangkap, dan model serta metrik bias pasca-pelatihannya. Maka Anda perlu memulai pekerjaan baselining.

Monitor bias model dapat mendeteksi penyimpangan bias model ML secara teratur. Mirip dengan jenis pemantauan lainnya, prosedur standar untuk membuat monitor bias model adalah baselining pertama dan kemudian menetapkan jadwal pemantauan.

```
model_bias_monitor = ModelBiasMonitor(
    role=role,
    sagemaker_session=sagemaker_session,
    max_runtime_in_seconds=1800,
)
```

`DataConfig`menyimpan informasi tentang dataset yang akan dianalisis (misalnya, file dataset), formatnya (yaitu, CSV atau JSON Lines), header (jika ada) dan label.

```
model_bias_baselining_job_result_uri = f"{baseline_results_uri}/model_bias"
model_bias_data_config = DataConfig(
    s3_data_input_path=validation_dataset,
    s3_output_path=model_bias_baselining_job_result_uri,
    label=label_header,
    headers=all_headers,
    dataset_type=dataset_type,
)
```

`BiasConfig`adalah konfigurasi grup sensitif dalam kumpulan data. Biasanya, bias diukur dengan menghitung metrik dan membandingkannya di seluruh kelompok. Kelompok yang diminati disebut *facet.* Untuk bias pasca-pelatihan, Anda juga harus mempertimbangkan label positif.

```
model_bias_config = BiasConfig(
    label_values_or_threshold=[1],
    facet_name="Account Length",
    facet_values_or_threshold=[100],
)
```

`ModelPredictedLabelConfig`menentukan cara mengekstrak label yang diprediksi dari output model. Dalam contoh ini, cutoff 0.8 telah dipilih untuk mengantisipasi bahwa pelanggan akan sering berbalik. Untuk output yang lebih rumit, ada beberapa opsi lagi, seperti “label” adalah indeks, nama, atau JMESPath untuk menemukan label yang diprediksi di payload respons titik akhir.

```
model_predicted_label_config = ModelPredictedLabelConfig(
    probability_threshold=0.8,
)
```

`ModelConfig`adalah konfigurasi yang terkait dengan model yang akan digunakan untuk inferensi. Untuk menghitung metrik bias pasca-pelatihan, perhitungan perlu mendapatkan kesimpulan untuk nama model yang diberikan. *Untuk mencapai ini, pekerjaan pemrosesan menggunakan model untuk membuat titik akhir singkat (juga dikenal sebagai titik akhir bayangan).* Pekerjaan pemrosesan menghapus titik akhir bayangan setelah perhitungan selesai. Konfigurasi ini juga digunakan oleh monitor penjelasan.

```
model_config = ModelConfig(
    model_name=model_name,
    instance_count=endpoint_instance_count,
    instance_type=endpoint_instance_type,
    content_type=dataset_type,
    accept_type=dataset_type,
)
```

Sekarang Anda dapat memulai pekerjaan baselining.

```
model_bias_monitor.suggest_baseline(
    model_config=model_config,
    data_config=model_bias_data_config,
    bias_config=model_bias_config,
    model_predicted_label_config=model_predicted_label_config,
)
print(f"ModelBiasMonitor baselining job: {model_bias_monitor.latest_baselining_job_name}")
```

Monitor terjadwal secara otomatis mengambil nama pekerjaan dasar dan menunggunya sebelum pemantauan dimulai.

# Pelanggaran Bias Drift
<a name="clarify-model-monitor-bias-drift-violations"></a>

Pekerjaan penyimpangan bias mengevaluasi kendala dasar yang disediakan oleh konfigurasi [dasar terhadap hasil analisis](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelBiasJobDefinition.html#sagemaker-CreateModelBiasJobDefinition-request-ModelBiasBaselineConfig) arus. `MonitoringExecution` Jika pelanggaran terdeteksi, pekerjaan mencantumkannya ke file *constraint\$1violations.json* di lokasi keluaran eksekusi, dan menandai status eksekusi sebagai. [Menafsirkan hasil](model-monitor-interpreting-results.md)

Berikut adalah skema file pelanggaran penyimpangan bias.
+ `facet`— Nama aspek, disediakan oleh aspek `name_or_index` konfigurasi analisis pekerjaan pemantauan. 
+ `facet_value`— Nilai aspek, yang disediakan oleh aspek `value_or_threshold` konfigurasi analisis pekerjaan pemantauan.
+ `metric_name`— Nama pendek dari metrik bias. Misalnya, “CI” untuk ketidakseimbangan kelas. Lihat [Metrik Bias Pra-pelatihan](clarify-measure-data-bias.md) nama pendek dari masing-masing metrik bias pra-pelatihan dan [Data Pasca-pelatihan dan Metrik Bias Model](clarify-measure-post-training-bias.md) untuk nama pendek dari masing-masing metrik bias pasca-pelatihan.
+ `constraint_check_type`Jenis pelanggaran yang dipantau. Saat ini hanya mendukung `bias_drift_check`.
+ `description`— Pesan deskriptif untuk menjelaskan pelanggaran.

```
{
    "version": "1.0",
    "violations": [{
        "facet": "string",
        "facet_value": "string",
        "metric_name": "string",
        "constraint_check_type": "string",
        "description": "string"
    }]
}
```

Metrik bias digunakan untuk mengukur tingkat kesetaraan dalam suatu distribusi. Nilai mendekati nol menunjukkan bahwa distribusi lebih seimbang. Jika nilai metrik bias dalam file hasil analisis pekerjaan (analysis.json) lebih buruk daripada nilai yang sesuai dalam file batasan dasar, pelanggaran dicatat. Sebagai contoh, jika batasan dasar untuk metrik bias DPPL adalah`0.2`, dan hasil analisisnya`0.1`, tidak ada pelanggaran yang dicatat karena lebih dekat dengan daripada. `0.1` `0` `0.2` Namun, jika hasil analisisnya`-0.3`, pelanggaran dicatat karena `0` lebih jauh dari batasan dasar. `0.2`

```
{
    "version": "1.0",
    "violations": [{
        "facet": "Age",
        "facet_value": "40",
        "metric_name": "CI",
        "constraint_check_type": "bias_drift_check",
        "description": "Value 0.0751544567666083 does not meet the constraint requirement"
    }, {
        "facet": "Age",
        "facet_value": "40",
        "metric_name": "DPPL",
        "constraint_check_type": "bias_drift_check",
        "description": "Value -0.0791244970125596 does not meet the constraint requirement"
    }]
}
```

# Parameter untuk Memantau Bias Drift
<a name="clarify-config-json-monitor-bias-parameters"></a>

Amazon SageMaker Clarify bias monitoring menggunakan kembali subset parameter yang digunakan dalam konfigurasi analisis. [File Konfigurasi Analisis](clarify-processing-job-configure-analysis.md) Setelah menjelaskan parameter konfigurasi, topik ini memberikan contoh file JSON. File-file ini digunakan untuk mengonfigurasi kumpulan data CSV dan JSON Lines untuk memantau penyimpangan bias saat model pembelajaran mesin sedang diproduksi.

Parameter berikut harus disediakan dalam file JSON. Jalur ke file JSON ini harus disediakan dalam `ConfigUri` parameter [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelBiasAppSpecification](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelBiasAppSpecification)API.
+ `"version"`— (Opsional) Versi skema dari file konfigurasi. Jika tidak disediakan, versi terbaru yang didukung digunakan.
+ `"headers"`— (Opsional) Daftar nama kolom dalam dataset. Jika `dataset_type` `"label"` adalah `"application/jsonlines"` dan ditentukan, maka header terakhir menjadi header kolom label. 
+ `"label"`— (Opsional) Atribut target untuk model yang akan digunakan untuk *metrik bias*. Ditentukan baik sebagai nama kolom, atau indeks (jika format dataset adalah CSV), atau sebagai JMESPath (jika format dataset adalah JSON Lines).
+ `"label_values_or_threshold"`— (Opsional) Daftar nilai label atau ambang batas. Menunjukkan hasil positif yang digunakan untuk metrik bias.
+ `"facet"`— (Opsional) Daftar fitur yang merupakan atribut sensitif, disebut sebagai aspek. Segi digunakan untuk *metrik bias* dalam bentuk pasangan, dan meliputi yang berikut:
  + `"name_or_index"`— Nama atau indeks kolom facet.
  + `"value_or_threshold"`— (Opsional) Daftar nilai atau ambang batas yang dapat diambil oleh kolom facet. Menunjukkan kelompok sensitif, seperti kelompok yang digunakan untuk mengukur bias terhadap. Jika tidak disediakan, metrik bias dihitung sebagai satu grup untuk setiap nilai unik (bukan semua nilai). Jika kolom faset adalah numerik, nilai ambang ini diterapkan sebagai batas bawah untuk memilih grup sensitif.
+ `"group_variable"`— (Opsional) Nama kolom atau indeks untuk menunjukkan variabel grup yang akan digunakan untuk *metrik bias* Disparitas *Demografis Bersyarat*.

Parameter lain harus disediakan di `EndpointInput` (untuk titik akhir waktu nyata) atau `BatchTransformInput` (untuk pekerjaan transformasi batch) dari [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelBiasJobInput](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelBiasJobInput)API.
+ `FeaturesAttribute`- Parameter ini diperlukan jika format data input titik akhir. `"application/jsonlines"` Ini JMESPath digunakan untuk menemukan kolom fitur jika format dataset adalah JSON Lines.
+ `InferenceAttribute`— Indeks atau JMESPath lokasi dalam keluaran model untuk atribut target yang akan digunakan untuk dipantau bias menggunakan metrik bias. Jika tidak disediakan dalam `accept_type` kasus CSV, maka diasumsikan bahwa output model adalah nilai numerik tunggal yang sesuai dengan skor atau probabilitas.
+ `ProbabilityAttribute`— Indeks atau JMESPath lokasi dalam output model untuk probabilitas. Jika keluaran model adalah JSON Lines dengan daftar label dan probabilitas, misalnya, maka label yang sesuai dengan probabilitas maksimum dipilih untuk perhitungan bias.
+ `ProbabilityThresholdAttribute`— (Opsional) Nilai float untuk menunjukkan ambang batas untuk memilih label biner, dalam kasus klasifikasi biner. Nilai defaultnya adalah 0,5.

## Contoh File Konfigurasi JSON untuk Kumpulan Data Garis CSV dan JSON
<a name="clarify-config-json-monitor-bias-parameters-examples"></a>

Berikut adalah contoh file JSON yang digunakan untuk mengonfigurasi kumpulan data CSV dan JSON Lines untuk memantaunya untuk penyimpangan bias.

**Topics**
+ [Kumpulan Data CSV](#clarify-config-json-monitor-bias-parameters-example-csv)
+ [Kumpulan Data JSON Lines](#clarify-config-json-monitor-bias-parameters-example-jsonlines)

### Kumpulan Data CSV
<a name="clarify-config-json-monitor-bias-parameters-example-csv"></a>

Pertimbangkan kumpulan data yang memiliki empat kolom fitur dan satu kolom label, di mana fitur pertama dan labelnya adalah biner, seperti pada contoh berikut.

```
0, 0.5814568701544718, 0.6651538910132964, 0.3138080342665499, 0
1, 0.6711642728531724, 0.7466687034026017, 0.1215477472819713, 1
0, 0.0453256543003371, 0.6377430803264152, 0.3558625219713576, 1
1, 0.4785191813363956, 0.0265841045263860, 0.0376935084990697, 1
```

Asumsikan bahwa keluaran model memiliki dua kolom, di mana yang pertama adalah label yang diprediksi dan yang kedua adalah probabilitas, seperti pada contoh berikut.

```
1, 0.5385257417814224
```

Kemudian file konfigurasi JSON berikut menunjukkan contoh bagaimana kumpulan data CSV ini dapat dikonfigurasi.

```
{
    "headers": [
        "feature_0",
        "feature_1",
        "feature_2",
        "feature_3",
        "target"
    ],
    "label": "target",
    "label_values_or_threshold": [1],
    "facet": [{
        "name_or_index": "feature_1",
        "value_or_threshold": [1]
    }]
}
```

Label yang diprediksi dipilih oleh `"InferenceAttribute"` parameter. Penomoran berbasis nol digunakan, jadi 0 menunjukkan kolom pertama dari output model,

```
"EndpointInput": {
    ...
    "InferenceAttribute": 0
    ...
}
```

Atau, Anda dapat menggunakan parameter yang berbeda untuk mengubah nilai probabilitas menjadi label prediksi biner. Penomoran berbasis nol digunakan: 1 menunjukkan kolom kedua; `ProbabilityThresholdAttribute` nilai 0,6 menunjukkan bahwa probabilitas lebih besar dari 0,6 memprediksi label biner sebagai 1.

```
"EndpointInput": {
    ...
    "ProbabilityAttribute": 1,
    "ProbabilityThresholdAttribute": 0.6
    ...
}
```

### Kumpulan Data JSON Lines
<a name="clarify-config-json-monitor-bias-parameters-example-jsonlines"></a>

Pertimbangkan kumpulan data yang memiliki empat kolom fitur dan satu kolom label, di mana fitur pertama dan labelnya adalah biner, seperti pada contoh berikut.

```
{"features":[0, 0.5814568701544718, 0.6651538910132964, 0.3138080342665499], "label":0}
{"features":[1, 0.6711642728531724, 0.7466687034026017, 0.1215477472819713], "label":1}
{"features":[0, 0.0453256543003371, 0.6377430803264152, 0.3558625219713576], "label":1}
{"features":[1, 0.4785191813363956, 0.0265841045263860, 0.0376935084990697], "label":1}
```

Asumsikan bahwa output model memiliki dua kolom, di mana yang pertama adalah label yang diprediksi dan yang kedua adalah probabilitas.

```
{"predicted_label":1, "probability":0.5385257417814224}
```

File konfigurasi JSON berikut menunjukkan contoh bagaimana dataset JSON Lines ini dapat dikonfigurasi.

```
{
    "headers": [
        "feature_0",
        "feature_1",
        "feature_2",
        "feature_3",
        "target"
    ],
    "label": "label",
    "label_values_or_threshold": [1],
    "facet": [{
        "name_or_index": "feature_1",
        "value_or_threshold": [1]
    }]
}
```

Kemudian, nilai `"features"` parameter di `EndpointInput` (untuk titik akhir waktu nyata) atau `BatchTransformInput` (untuk pekerjaan transformasi batch) digunakan untuk menemukan fitur dalam kumpulan data, dan nilai `"predicted_label"` parameter memilih label yang diprediksi dari keluaran model. 

```
"EndpointInput": {
    ...
    "FeaturesAttribute": "features",
    "InferenceAttribute": "predicted_label"
    ...
}
```

Atau, Anda dapat mengonversi nilai probabilitas menjadi label biner yang diprediksi menggunakan nilai `ProbabilityThresholdAttribute` parameter. Nilai 0,6, misalnya, menunjukkan bahwa probabilitas lebih besar dari 0,6 memprediksi label biner sebagai 1.

```
"EndpointInput": {
    ...
    "FeaturesAttribute": "features",
    "ProbabilityAttribute": "probability",
    "ProbabilityThresholdAttribute": 0.6
    ...
}
```

# Jadwal Pekerjaan Bias Drift Monitoring
<a name="clarify-model-monitor-bias-drift-schedule"></a>

Setelah Anda membuat baseline Anda, Anda dapat memanggil `create_monitoring_schedule()` metode instance `ModelBiasModelMonitor` kelas Anda untuk menjadwalkan monitor drift bias per jam. Bagian berikut menunjukkan kepada Anda cara membuat monitor penyimpangan bias untuk model yang diterapkan ke titik akhir waktu nyata 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. Untuk detail tentang cara membuat offset waktu, lihat[Offset monitor model](model-monitor-model-quality-schedule.md#model-monitor-model-quality-schedule-offsets). 

Jika Anda telah mengirimkan pekerjaan baselining, monitor secara otomatis mengambil konfigurasi analisis dari pekerjaan baselining. Jika Anda melewati langkah dasar atau kumpulan data pengambilan memiliki sifat yang berbeda dari kumpulan data pelatihan, Anda harus memberikan konfigurasi analisis.

## Pemantauan penyimpangan bias untuk model yang digunakan ke titik akhir waktu nyata
<a name="model-monitor-bias-quality-rt"></a>

Untuk menjadwalkan monitor penyimpangan bias untuk titik akhir waktu nyata, teruskan `EndpointInput` instance Anda ke `endpoint_input` argumen `ModelBiasModelMonitor` instance Anda, seperti yang ditunjukkan dalam contoh kode berikut:

```
from sagemaker.model_monitor import CronExpressionGenerator
            
model_bias_monitor = ModelBiasModelMonitor(
    role=sagemaker.get_execution_role(),
    ...
)

model_bias_analysis_config = None
if not model_bias_monitor.latest_baselining_job:
    model_bias_analysis_config = BiasAnalysisConfig(
        model_bias_config,
        headers=all_headers,
        label=label_header,
    )

model_bias_monitor.create_monitoring_schedule(
    monitor_schedule_name=schedule_name,
    post_analytics_processor_script=s3_code_postprocessor_uri,
    output_s3_uri=s3_report_path,
    statistics=model_bias_monitor.baseline_statistics(),
    constraints=model_bias_monitor.suggested_constraints(),
    schedule_cron_expression=CronExpressionGenerator.hourly(),
    enable_cloudwatch_metrics=True,
    analysis_config=model_bias_analysis_config,
    endpoint_input=EndpointInput(
        endpoint_name=endpoint_name,
        destination="/opt/ml/processing/input/endpoint",
        start_time_offset="-PT1H",
        end_time_offset="-PT0H",
        probability_threshold_attribute=0.8,
    ),
)
```

## Pemantauan penyimpangan bias untuk pekerjaan transformasi batch
<a name="model-monitor-bias-quality-bt"></a>

Untuk menjadwalkan monitor penyimpangan bias untuk pekerjaan transformasi batch, teruskan `BatchTransformInput` instance Anda ke `batch_transform_input` argumen `ModelBiasModelMonitor` instance Anda, seperti yang ditunjukkan dalam contoh kode berikut:

```
from sagemaker.model_monitor import CronExpressionGenerator
                
model_bias_monitor = ModelBiasModelMonitor(
    role=sagemaker.get_execution_role(),
    ...
)

model_bias_analysis_config = None
if not model_bias_monitor.latest_baselining_job:
    model_bias_analysis_config = BiasAnalysisConfig(
        model_bias_config,
        headers=all_headers,
        label=label_header,
    )
    
schedule = model_bias_monitor.create_monitoring_schedule(
   monitor_schedule_name=schedule_name,
   post_analytics_processor_script=s3_code_postprocessor_uri,
   output_s3_uri=s3_report_path,
   statistics=model_bias_monitor.baseline_statistics(),
   constraints=model_bias_monitor.suggested_constraints(),
   schedule_cron_expression=CronExpressionGenerator.hourly(),
   enable_cloudwatch_metrics=True,
   analysis_config=model_bias_analysis_config,
   batch_transform_input=BatchTransformInput(
        destination="opt/ml/processing/input",
        data_captured_destination_s3_uri=s3_capture_path,
        start_time_offset="-PT1H",
        end_time_offset="-PT0H",
        probability_threshold_attribute=0.8
   ),
)
```

# Periksa Laporan untuk Data Bias Drift
<a name="clarify-model-monitor-bias-drift-report"></a>

Jika Anda tidak dapat memeriksa hasil pemantauan dalam laporan yang dihasilkan di SageMaker Studio, Anda dapat mencetaknya sebagai berikut:

```
schedule_desc = model_bias_monitor.describe_schedule()
execution_summary = schedule_desc.get("LastMonitoringExecutionSummary")
if execution_summary and execution_summary["MonitoringExecutionStatus"] in ["Completed", "CompletedWithViolations"]:
    last_model_bias_monitor_execution = model_bias_monitor.list_executions()[-1]
    last_model_bias_monitor_execution_report_uri = last_model_bias_monitor_execution.output.destination
    print(f'Report URI: {last_model_bias_monitor_execution_report_uri}')
    last_model_bias_monitor_execution_report_files = sorted(S3Downloader.list(last_model_bias_monitor_execution_report_uri))
    print("Found Report Files:")
    print("\n ".join(last_model_bias_monitor_execution_report_files))
else:
    last_model_bias_monitor_execution = None
    print("====STOP==== \n No completed executions to inspect further. Please wait till an execution completes or investigate previously reported failures.")
```

 Jika ada pelanggaran dibandingkan dengan baseline, mereka tercantum di sini:

```
if last_model_bias_monitor_execution:
    model_bias_violations = last_model_bias_monitor_execution.constraint_violations()
    if model_bias_violations:
        print(model_bias_violations.body_dict)
```

Jika model Anda diterapkan ke titik akhir real-time, Anda dapat melihat visualisasi di SageMaker AI Studio dari hasil analisis dan CloudWatch metrik dengan memilih tab **Titik Akhir, lalu mengklik dua kali titik akhir**.

# CloudWatch Metrik untuk Analisis Bias Drift
<a name="clarify-model-monitor-bias-drift-cw"></a>

Panduan ini menunjukkan CloudWatch metrik dan propertinya yang dapat Anda gunakan untuk analisis penyimpangan bias di SageMaker Clarify. Pekerjaan pemantauan penyimpangan bias menghitung metrik bias [pra-pelatihan dan metrik bias pasca-pelatihan](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-measure-data-bias.html)[, dan mempublikasikannya ke namespace](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-measure-post-training-bias.html) berikut: CloudWatch 
+ Untuk titik akhir waktu nyata: `aws/sagemaker/Endpoints/bias-metrics`
+ Untuk pekerjaan transformasi batch: `aws/sagemaker/ModelMonitoring/bias-metrics` 

Nama CloudWatch metrik menambahkan nama pendek metrik ke`bias_metric`.

Misalnya, `bias_metric_CI` adalah metrik bias untuk ketidakseimbangan kelas (CI).

**catatan**  
`+/- infinity`diterbitkan sebagai nomor floating point`+/- 2.348543e108`, dan kesalahan termasuk nilai nol tidak dipublikasikan.

Setiap metrik memiliki sifat sebagai berikut:
+ `Endpoint`: Nama titik akhir yang dipantau, jika berlaku.
+ `MonitoringSchedule`Nama jadwal untuk pekerjaan pemantauan. 
+ `BiasStage`: Nama tahap pekerjaan pemantauan penyimpangan bias. Pilih salah satu `Pre-training` atau`Post-Training`.
+ `Label`: Nama fitur target, disediakan oleh konfigurasi analisis pekerjaan pemantauan`label`.
+ `LabelValue`: Nilai fitur target, disediakan oleh konfigurasi analisis pekerjaan pemantauan`label_values_or_threshold`.
+ `Facet`: Nama aspek, disediakan oleh aspek `name_of_index` konfigurasi analisis pekerjaan pemantauan.
+ `FacetValue`: Nilai aspek, disediakan oleh aspek `nvalue_or_threshold` konfigurasi analisis pekerjaan pemantauan.

Untuk menghentikan pekerjaan pemantauan dari penerbitan metrik, atur `publish_cloudwatch_metrics` ke `Disabled` dalam `Environment` peta definisi [pekerjaan bias model](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelBiasJobDefinition.html).