Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pre-check wadah model
Bagian ini menunjukkan cara memeriksa terlebih dahulu input dan output wadah model untuk kompatibilitas sebelum mengonfigurasi titik akhir. Pen SageMaker jelasan Clarify adalah model agnostik, tetapi memiliki persyaratan untuk input dan output wadah model.
catatan
Anda dapat meningkatkan efisiensi dengan mengonfigurasi wadah Anda untuk mendukung permintaan batch, yang mendukung dua atau lebih catatan dalam satu permintaan. Misalnya, satu catatan adalah satu baris data CSV, atau satu baris data Garis JSON. SageMaker Clarify akan mencoba mengirim sejumlah kecil catatan ke wadah model terlebih dahulu sebelum kembali ke permintaan catatan tunggal.
Masukan wadah model
- CSV
-
Wadah model mendukung input dalam CSV dengan tipe MIME:
text/csv. Tabel berikut menunjukkan contoh input yang didukung SageMaker Clarify.Masukan wadah model (representasi string) Komentar '1,2,3,4'
Catatan tunggal yang menggunakan empat fitur numerik.
'1,2,3,4\ n 5,6,7,8'
Dua catatan, dipisahkan oleh jeda baris '\ n'.
“Ini adalah produk yang bagus” ,5'
Catatan tunggal yang berisi fitur teks dan fitur numerik.
'"Ini adalah produk yang bagus” ,5\ n “Pengalaman belanja yang buruk” ,1'
Dua catatan.
- JSON Lines
-
SageMaker AI juga mendukung input dalam format padat JSON Lines dengan tipe MIME:
application/jsonlines, seperti yang ditunjukkan pada tabel berikut.Masukan wadah model Komentar '{"data”: {"fitur”: [1,2,3,4]}}'
Catatan tunggal; daftar fitur dapat diekstraksi oleh ekspresi JMESPath.
data.features'{"data”: {"fitur”: [1,2,3,4]}}\n{"data”: {"fitur”: [5,6,7,8]}}'
Dua catatan.
'{"features”: ["Ini adalah produk yang bagus” ,5]}'
Catatan tunggal; daftar fitur dapat diekstraksi oleh ekspresi JMESPath.
features'{"features”: ["Ini adalah produk yang bagus” ,5]}\n{"features”: ["Pengalaman belanja yang buruk” ,1]}'
Dua catatan.
Model keluaran kontainer
Output wadah model Anda juga harus dalam format padat CSV, atau JSON Lines. Selain itu wadah model harus menyertakan probabilitas catatan input, yang digunakan Clarify SageMaker untuk menghitung atribusi fitur.
Contoh data berikut adalah untuk output wadah model dalam format CSV.
- Probability only
-
Untuk masalah regresi dan klasifikasi biner, wadah model mengeluarkan nilai probabilitas tunggal (skor) dari label yang diprediksi. Probabilitas ini dapat diekstraksi menggunakan indeks kolom 0. Untuk masalah multi-kelas, wadah model mengeluarkan daftar probabilitas (skor). Untuk masalah multi-kelas, jika tidak ada indeks yang disediakan, semua nilai diekstraksi.
Masukan wadah model Model output wadah (representasi string) Catatan tunggal
'0,6'
Dua catatan (hasil dalam satu baris)
'0,6,0,3'
Dua catatan (menghasilkan dua baris)
'0.6\ n 0.3'
Catatan tunggal model multi-kelas (tiga kelas)
'0,1,0,6,0,3'
Dua catatan model multi-kelas (tiga kelas)
'0.1,0.6,0.3\ n 0.2,0.5,0.3'
- Predicted label and probabilities
-
Wadah model mengeluarkan label yang diprediksi diikuti oleh probabilitasnya dalam format CSV. Probabilitas dapat diekstraksi menggunakan indeks
1.Masukan wadah model Model keluaran kontainer Catatan tunggal
'1,0,6'
Dua catatan
'1,0.6\ n 0,0.3'
- Predicted labels header and probabilities
-
Kontainer model multi-kelas yang dilatih oleh Autopilot dapat dikonfigurasi untuk menampilkan represent asi string dari daftar label dan probabilitas yang diprediksi dalam format CSV. Dalam contoh berikut, probabilitas dapat diekstraksi dengan indeks
1. Header label dapat diekstraksi dengan indeks1, dan header label dapat diekstraksi menggunakan indeks.0Masukan wadah model Model keluaran kontainer Catatan tunggal
'"[\ 'kucing\',\ 'dog\ ',\ 'ikan\']”, "[0.1,0.6,0.3]" '
Dua catatan
'"[\ 'cat\',\ 'dog\ ',\ 'ikan\']”, "[0.1,0.6,0.3]”\n“[\ 'kucing\ ',\ 'dog\',\ 'ikan\ ']”, "[0.2,0.5,0.3]"'
Contoh data berikut adalah untuk output wadah model dalam format Garis JSON.
- Probability only
-
Dalam contoh ini, wadah model mengeluarkan probabilitas yang dapat diekstraksi dengan
JMESPathekspresi scoredalam format Garis JSON.Masukan wadah model Model keluaran kontainer Catatan tunggal
'{"skor” :0.6}'
Dua catatan
'{"skor” :0.6}\n{"skor” :0.3}'
- Predicted label and probabilities
-
Dalam contoh ini, wadah model multi-kelas mengeluarkan daftar header label bersama dengan daftar probabilitas dalam format Garis JSON. Probabilitas dapat diekstraksi dengan
JMESPathekspresiprobability, dan header label dapat diekstraksi denganJMESPathekspresi.predicted labelsMasukan wadah model Model keluaran kontainer Catatan tunggal
'{"predicted_labels”: ["cat”, "dog”, "ikan "], "probabilitas”: [0.1,0.6,0.3]}'
Dua catatan
'{"predicted_labels”: ["cat”, "dog”, "fish "], "probabilities”: [0.1,0.6,0.3]}\n{"predicted_labels”: ["kucing”, "dog”, "ikan "], "probabilitas”: [0.2,0.5,0.3]}'
- Predicted labels header and probabilities
-
Dalam contoh ini, wadah model multi-kelas mengeluarkan daftar header label dan probabilitas dalam format Garis JSON. Probabilitas dapat diekstraksi dengan
JMESPathekspresiprobability, dan header label dapat diekstraksi denganJMESPathekspresi.predicted labelsMasukan wadah model Model keluaran kontainer Catatan tunggal
'{"predicted_labels”: ["cat”, "dog”, "ikan "], "probabilitas”: [0.1,0.6,0.3]}'
Dua catatan
'{"predicted_labels”: ["cat”, "dog”, "fish "], "probabilities”: [0.1,0.6,0.3]}\n{"predicted_labels”: ["kucing”, "dog”, "ikan "], "probabilitas”: [0.2,0.5,0.3]}'
Validasi kontainer model
Sebaiknya gunakan model Anda ke titik akhir inferensi real-time SageMaker AI, dan mengirim permintaan ke titik akhir. Periksa permintaan (input wadah model) dan respons (output wadah model) secara manual untuk memastikan bahwa keduanya sesuai dengan persyaratan di bagian Model Container Input dan bagian Model Container Output. Jika wadah model Anda mendukung permintaan batch, Anda dapat memulai dengan permintaan rekaman tunggal, lalu mencoba dua atau lebih catatan.
Perintah berikut menunjukkan cara meminta respons menggunakan AWS CLI. Ini AWS CLI
sudah diinstal sebelumnya di SageMaker Studio Classic, dan instance SageMaker Notebook. Jika Anda perlu menginstal AWS CLI, ikuti panduan instalasi ini
aws sagemaker-runtime invoke-endpoint \ --endpoint-name $ENDPOINT_NAME \ --content-type $CONTENT_TYPE \ --accept $ACCEPT_TYPE \ --body $REQUEST_DATA \ $CLI_BINARY_FORMAT \ /dev/stderr 1>/dev/null
Parameter didefinisikan, sebagai berikut:
-
$ENDPOINT NAME: Nama titik akhir. -
$CONTENT_TYPE: Jenis MIME dari permintaan (input wadah model). -
$ACCEPT_TYPE: Jenis MIME dari respons (output wadah model). -
$REQUEST_DATA: String payload yang diminta. -
$CLI_BINARY_FORMAT: Format parameter antarmuka baris perintah (CLI). Untuk AWS CLI v1, parameter ini harus tetap kosong. Untuk v2, parameter ini harus diatur ke--cli-binary-format raw-in-base64-out.
catatan
AWS CLI v2 meneruskan parameter biner sebagai string yang dikodekan base64 default.
Contoh berikut menggunakan AWS CLI v1:
- Request and response in CSV format
-
-
Permintaan terdiri dari satu catatan dan responsnya adalah nilai probabilitasnya.
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-xgboost-model \ --content-type text/csv \ --accept text/csv \ --body '1,2,3,4' \ /dev/stderr 1>/dev/nullOutput:
0.6 -
Permintaan terdiri dari dua catatan, dan respons mencakup probabilitasnya, dan model memisahkan probabilitas dengan koma. Ek
$'content'spresi dalam--bodymemberitahu perintah untuk menafsirkan\nkonten sebagai jeda baris.aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-sagemaker-xgboost-model \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/nullOutput:
0.6,0.3 -
Permintaan terdiri dari dua catatan, respons mencakup probabilitasnya, dan model memisahkan probabilitas dengan jeda baris.
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-1 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/nullOutput:
0.60.3 -
Permintaan terdiri dari satu catatan, dan responsnya adalah nilai probabilitas (model multi-kelas, tiga kelas).
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-1 \ --content-type text/csv \ --accept text/csv \ --body '1,2,3,4' \ /dev/stderr 1>/dev/nullOutput:
0.1,0.6,0.3 -
Permintaan terdiri dari dua catatan, dan respons mencakup nilai probabilitasnya (model multi-kelas, tiga kelas).
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-1 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/nullOutput:
0.1,0.6,0.30.2,0.5,0.3 -
Permintaan terdiri dari dua catatan, dan responsnya mencakup label dan probabilitas yang diprediksi.
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-2 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/nullOutput:
1,0.60,0.3 -
Permintaan terdiri dari dua catatan dan tanggapan termasuk header label dan probabilitas.
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-3 \ --content-type text/csv \ --accept text/csv \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/nullOutput:
"['cat','dog','fish']","[0.1,0.6,0.3]""['cat','dog','fish']","[0.2,0.5,0.3]"
-
- Request and response in JSON Lines format
-
-
Permintaan terdiri dari satu catatan dan responsnya adalah nilai probabilitasnya.
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-jsonlines \ --content-type application/jsonlines \ --accept application/jsonlines \ --body '{"features":["This is a good product",5]}' \ /dev/stderr 1>/dev/nullOutput:
{"score":0.6} -
Permintaan berisi dua catatan, dan responsnya mencakup label dan probabilitas yang diprediksi.
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-jsonlines-2 \ --content-type application/jsonlines \ --accept application/jsonlines \ --body $'{"features":[1,2,3,4]}\n{"features":[5,6,7,8]}' \ /dev/stderr 1>/dev/nullOutput:
{"predicted_label":1,"probability":0.6}{"predicted_label":0,"probability":0.3} -
Permintaan berisi dua catatan dan respons termasuk header label dan probabilitas.
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-jsonlines-3 \ --content-type application/jsonlines \ --accept application/jsonlines \ --body $'{"data":{"features":[1,2,3,4]}}\n{"data":{"features":[5,6,7,8]}}' \ /dev/stderr 1>/dev/nullOutput:
{"predicted_labels":["cat","dog","fish"],"probabilities":[0.1,0.6,0.3]}{"predicted_labels":["cat","dog","fish"],"probabilities":[0.2,0.5,0.3]}
-
- Request and response in different formats
-
-
Permintaan dalam format CSV dan responsnya dalam format JSON Lines:
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-csv-in-jsonlines-out \ --content-type text/csv \ --accept application/jsonlines \ --body $'1,2,3,4\n5,6,7,8' \ /dev/stderr 1>/dev/nullOutput:
{"probability":0.6}{"probability":0.3} -
Permintaan dalam format JSON Lines dan responsnya dalam format CSV:
aws sagemaker-runtime invoke-endpoint \ --endpoint-name test-endpoint-jsonlines-in-csv-out \ --content-type application/jsonlines \ --accept text/csv \ --body $'{"features":[1,2,3,4]}\n{"features":[5,6,7,8]}' \ /dev/stderr 1>/dev/nullOutput:
0.60.3
-
Setelah validasi selesai, hapus titik akhir pengujian.