Parameter untuk Memantau Bias Drift - Amazon SageMaker

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

Parameter untuk Memantau Bias Drift

Amazon SageMaker Clarify bias monitoring menggunakan kembali subset parameter yang digunakan dalam konfigurasi analisis. File Konfigurasi Analisis Setelah menjelaskan parameter konfigurasi, topik ini memberikan contoh JSON file. File-file ini digunakan untuk mengonfigurasi CSV dan kumpulan data JSON Garis untuk memantaunya penyimpangan bias saat model pembelajaran mesin sedang diproduksi.

Parameter berikut harus disediakan dalam JSON file. Jalur ke JSON file ini harus disediakan dalam ConfigUri parameter file ModelBiasAppSpecificationAPI.

  • "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 kumpulan dataCSV), atau sebagai JMESPath (jika format kumpulan data adalah JSON Garis).

  • "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 ModelBiasJobInputAPI.

  • FeaturesAttribute- Parameter ini diperlukan jika format data input titik akhir. "application/jsonlines" Ini JMESPath digunakan untuk menemukan kolom fitur jika format dataset adalah JSON Garis.

  • InferenceAttribute— Indeks atau JMESPath lokasi dalam keluaran model untuk atribut target yang akan digunakan untuk dipantau bias menggunakan metrik bias. Jika tidak disediakan dalam CSV accept_type kasus ini, 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 Garis 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 default adalah 0,5.

Contoh File JSON Konfigurasi untuk CSV dan Kumpulan Data JSON Garis

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

CSVDataset

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 JSON konfigurasi berikut menunjukkan contoh bagaimana CSV dataset 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 ... }

JSONKumpulan Data Garis

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 JSON konfigurasi 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 ... }