Untuk menyesuaikan cara AI Platform Prediction menayangkan prediksi online dari model machine learning (ML) terlatih, Anda dapat menentukan container kustom, bukan versi runtime saat membuat versi model. Saat Anda menggunakan container kustom, AI Platform Prediction akan menjalankan container Docker pilihan Anda di setiap node prediksi, bukan menjalankan kode versi runtime standar untuk menayangkan prediksi dari artefak model yang kompatibel.
Anda dapat menggunakan container kustom karena salah satu alasan berikut:
- untuk menyajikan prediksi dari model ML yang dilatih menggunakan framework selain TensorFlow, scikit-learn, atau XGBoost
- untuk melakukan pra-pemrosesan permintaan prediksi atau melakukan pascapemrosesan terhadap prediksi yang dihasilkan oleh model Anda
- untuk menjalankan server prediksi yang ditulis dalam bahasa pemrograman pilihan Anda
- untuk menginstal dependensi yang ingin Anda gunakan untuk menyesuaikan prediksi
Panduan ini menjelaskan cara membuat versi model yang menggunakan penampung kustom. Dokumen ini tidak memberikan petunjuk terperinci tentang cara mendesain dan membuat image container Docker. Untuk mempelajari contoh pembuatan image container dan menggunakannya dengan AI Platform Prediction, baca Memulai: Menayangkan prediksi PyTorch dengan container kustom.
Untuk menggunakan penampung kustom, Anda harus menggunakan endpoint regional dan jenis mesin Compute Engine (N1) untuk versi model Anda.
Menyiapkan image container
Untuk membuat versi model yang menggunakan container kustom, Anda harus menyediakan image container Docker sebagai dasar dari container tersebut. Image container ini harus memenuhi persyaratan yang dijelaskan dalam Persyaratan container kustom.
Jika berencana menggunakan image container yang sudah ada yang dibuat oleh pihak ketiga yang dipercayai, Anda mungkin dapat melewati salah satu atau kedua bagian berikut.
Membuat image container
Desain dan build image container Docker yang memenuhi persyaratan image container.
Untuk mempelajari dasar-dasar mendesain dan mem-build image container Docker, baca panduan memulai dokumentasi Docker
Mengirim container ke Artifact Registry
Kirim image container Anda ke repositori Artifact Registry yang memenuhi persyaratan publikasi image container.
Pelajari cara mengirim image container ke Artifact Registry.
Membuat model dan versi model
Tentukan beberapa opsi konfigurasi saat Anda membuat model untuk memastikan bahwa versi model apa pun yang nantinya Anda buat pada model kompatibel dengan penampung kustom Anda.
Kemudian, tentukan sebagian besar konfigurasi penampung saat Anda membuat versi model.
Membuat model
Untuk membuat model, ikuti petunjuk untuk membuat resource model. Anda harus membuat model di endpoint regional yang cocok dengan region repositori Artifact Registry tempat image penampung Anda disimpan. Untuk mempelajari lebih lanjut, baca persyaratan publikasi image container.
Membuat versi model
Saat Anda membuat versi model yang menggunakan penampung kustom, konfigurasikan kolom API khusus penampung berikut selain kolom lain yang Anda tentukan untuk versi model:
Version.container
Version.routes
(opsional)
Bagian berikut menjelaskan cara mengonfigurasi kolom ini.
Selain itu, perhatikan perbedaan khusus penampung berikut dalam cara Anda mengonfigurasi kolom API lainnya:
Version.machineType
: Anda harus menetapkan kolom ini ke jenis mesin Compute Engine (N1).Version.deploymentUri
: Kolom ini menjadi opsional. Pelajari cara penampung dapat mengakses artefak yang ditentukan oleh kolom ini.Version.runtimeVersion
,Version.framework
,Version.pythonVersion
,Version.predictionClass
, danVersion.packageUris
: Anda tidak boleh menentukan kolom ini.
Konfigurasi Version.container
Anda harus menentukan
pesan ContainerSpec
di
kolom Version.container
. Dalam pesan ini, Anda dapat menentukan subkolom berikut. Jika menggunakan perintah gcloud beta ai-platform versions create
untuk membuat versi model, Anda dapat menggunakan flag command line untuk menentukan setiap subkolom.
image
(diperlukan)URI Artifact Registry dari image container Anda.
Flag gcloud CLI:
--image
command
(opsional)Array yang dapat dieksekusi dan argumen untuk mengganti
ENTRYPOINT
container. Untuk mempelajari lebih lanjut cara memformat kolom ini dan cara interaksinya dengan kolomargs
, baca Referensi API untukContainerSpec
.Flag gcloud CLI:
--command
args
(opsional)Array yang dapat dieksekusi dan argumen untuk mengganti
CMD
penampung. Untuk mempelajari lebih lanjut cara memformat kolom ini dan cara kolom ini berinteraksi dengan kolomcommand
, baca referensi API untukContainerSpec
.Flag gcloud CLI:
--args
ports
(opsional)Array port; AI Platform Prediction mengirimkan pemeriksaan keaktifan, health check, dan permintaan prediksi ke penampung Anda pada port pertama yang tercantum, atau
8080
secara default. Menentukan port tambahan tidak akan berpengaruh.Flag gcloud CLI:
--ports
env
(opsional)Array variabel lingkungan yang dapat dirujuk oleh perintah entrypoint container, serta kolom
command
danargs
. Untuk mempelajari lebih lanjut cara kolom lain dapat mereferensikan variabel lingkungan ini, baca referensi API untukContainerSpec
.Flag gcloud CLI:
--env-vars
Selain variabel yang Anda tetapkan di kolom Version.container.env
,
AI Platform Prediction menetapkan beberapa variabel lainnya berdasarkan konfigurasi Anda.
Pelajari lebih lanjut cara menggunakan variabel lingkungan ini di kolom ini dan di perintah titik entri penampung.
Contoh berikut menunjukkan cara menentukan kolom ini saat Anda membuat versi model menggunakan Google Cloud CLI:
gcloud beta ai-platform versions create VERSION \
--region=REGION \
--model=MODEL \
--machine-type=n1-standard-4 \
--image=IMAGE_URI \
--command=executable,param1,param2 \
--args=param3,param4 \
--ports=8081 \
--env-vars \
VAR1='value 1' \
VAR2='value 2'
Ganti kode berikut:
- VERSION: nama versi model Anda
- REGION: region endpoint Prediksi AI Platform tempat Anda membuat model
- MODEL: nama model Anda
- IMAGE_URI: URI image container Anda di Artifact Registry, yang harus diawali dengan REGION (seperti yang dijelaskan dalam persyaratan publikasi image container)
Konfigurasi Version.routes
Anda dapat menentukan pesan
RouteMap
di kolom
Version.routes
. Dalam pesan ini, Anda dapat menentukan subkolom berikut. Jika menggunakan perintah gcloud beta ai-platform versions create
untuk membuat versi model, Anda dapat menggunakan flag command line untuk menentukan setiap subkolom.
health
(opsional)Jalur di server HTTP container tempat Anda ingin AI Platform Prediction mengirim health check.
Jika Anda tidak menentukan kolom ini, defaultnya adalah
/v1/models/MODEL/versions/VERSION
, dengan MODEL dan VERSION diganti dengan nama model dan versi model Anda.Flag gcloud CLI:
--health-route
predict
(opsional)Jalur di server HTTP container tempat Anda ingin AI Platform Prediction meneruskan permintaan prediksi.
Jika Anda tidak menentukan kolom ini, defaultnya adalah
/v1/models/MODEL/versions/VERSION:predict
, dengan MODEL dan VERSION diganti dengan nama model dan versi model Anda.Flag gcloud CLI:
--predict-route
Contoh berikut menunjukkan cara menentukan kolom ini saat Anda membuat versi model menggunakan gcloud CLI:
gcloud beta ai-platform versions create VERSION \
--region=REGION \
--model=MODEL \
--machine-type=n1-standard-4 \
--image=IMAGE_URI \
--command=executable,param1,param2 \
--args=param3,param4 \
--ports=8081 \
--env-vars \
VAR1='value 1' \
VAR2='value 2' \
--health-route=/health \
--predict-route=/predict
Ganti kode berikut:
- VERSION: nama versi model Anda
- REGION: region endpoint Prediksi AI Platform tempat Anda membuat model
- MODEL: nama model Anda
- IMAGE_URI: URI image container Anda di Artifact Registry, yang harus diawali dengan REGION (seperti yang dijelaskan dalam persyaratan publikasi image container)
Mengirim permintaan prediksi
Untuk mengirim permintaan prediksi online ke versi model Anda, ikuti panduan prediksi online: proses ini berfungsi sama terlepas dari apakah Anda menggunakan penampung kustom.
Namun, saat Anda menggunakan penampung kustom, isi setiap permintaan prediksi tidak perlu memenuhi persyaratan isi permintaan untuk versi model yang menggunakan versi runtime. Meskipun demikian, sebaiknya Anda mendesain penampung untuk mengharapkan isi permintaan dengan format standar jika memungkinkan. Pelajari lebih lanjut memprediksi persyaratan permintaan dan respons untuk penampung kustom.
Langkah selanjutnya
Untuk mempelajari contoh pembuatan image container dan menggunakannya dengan AI Platform Prediction, baca Memulai: Menayangkan prediksi PyTorch dengan container kustom.
Untuk mempelajari semua hal yang perlu dipertimbangkan saat Anda mendesain container kustom untuk digunakan dengan AI Platform Prediction, baca Persyaratan container kustom.
Untuk mempelajari cara mengubah izin penampung agar dapat mengakses layanan Google Cloud lainnya, baca Menggunakan akun layanan kustom.