Untuk menyesuaikan cara AI Platform Prediction menyajikan prediksi online dari model machine learning (ML) yang dilatih, Anda dapat menentukan penampung kustom, bukan versi runtime saat membuat versi model. Saat Anda menggunakan container kustom, AI Platform Prediction menjalankan container Docker pilihan Anda pada setiap node prediksi, bukan menjalankan kode versi runtime standar untuk menampilkan 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. Bagian ini tidak memberikan petunjuk mendetail tentang mendesain dan membuat image container Docker. Untuk mempelajari contoh pembuatan image container dan penggunaannya dengan AI Platform Prediction, baca Memulai: Menyajikan prediksi PyTorch dengan container kustom.
Untuk menggunakan container kustom, Anda harus menggunakan endpoint regional dan jenis mesin Compute Engine (N1) untuk versi model Anda.
Menyiapkan gambar container
Untuk membuat versi model yang menggunakan penampung kustom, Anda harus menyediakan gambar container Docker sebagai dasar penampung 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 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 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 container disimpan. Untuk mempelajari lebih lanjut, baca persyaratan publikasi gambar 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 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 Anda 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 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
container. Untuk mempelajari lebih lanjut cara memformat kolom ini dan cara kolom ini berinteraksi dengancommand
, baca referensi API untukContainerSpec
.flag gcloud CLI:
--args
ports
(opsional)Array port; AI Platform Prediction mengirimkan pemeriksaan keaktifan, health check, dan permintaan prediksi ke container 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 dalam kolom Version.container.env
, AI Platform Prediction menetapkan beberapa variabel lain berdasarkan konfigurasi Anda.
Pelajari lebih lanjut cara menggunakan variabel lingkungan ini di kolom ini dan di perintah entrypoint 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 dari endpoint AI Platform Prediction 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 gambar 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 penampung tempat Anda ingin AI Platform Prediction mengirim health check.
Jika Anda tidak menentukan kolom ini, kolom ini akan ditetapkan secara default ke
/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 penampung tempat Anda ingin AI Platform Prediction meneruskan permintaan prediksi.
Jika Anda tidak menentukan kolom ini, kolom ini akan ditetapkan secara default ke
/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 dari endpoint AI Platform Prediction 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 gambar 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 atau tidak.
Namun, saat Anda menggunakan penampung kustom, isi setiap permintaan prediksi tidak perlu memenuhi persyaratan isi permintaan untuk versi model yang menggunakan versi runtime. Dengan demikian, sebaiknya desain penampung Anda untuk mengharapkan isi permintaan dengan format standar jika memungkinkan. Pelajari lebih lanjut cara memprediksi persyaratan permintaan dan respons untuk penampung kustom.
Langkah selanjutnya
Untuk mempelajari contoh pembuatan image container dan penggunaannya dengan AI Platform Prediction, baca Memulai: Menyajikan 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.