Untuk menyesuaikan cara Vertex AI menyajikan prediksi online dari
model yang dilatih khusus, Anda dapat menentukan container kustom, bukan container bawaan saat membuat Model
resource. Saat Anda menggunakan container kustom, Vertex AI akan menjalankan container Docker pilihan Anda pada setiap node prediksi.
Anda dapat menggunakan container kustom karena salah satu alasan berikut:
- untuk menyajikan prediksi dari model ML yang dilatih menggunakan framework yang tidak tersedia sebagai container bawaan
- 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 Model
yang menggunakan container kustom. Bagian ini tidak memberikan petunjuk terperinci tentang mendesain dan membuat image container Docker.
Menyiapkan image container
Untuk membuat 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.
Pelajari cara mengirim image container ke Artifact Registry.
Membuat Model
Untuk membuat Model
yang menggunakan container kustom, lakukan salah satu hal berikut:
Bagian berikut menunjukkan cara mengonfigurasi kolom API yang terkait dengan container kustom saat Anda membuat Model
dengan salah satu cara berikut.
Kolom API terkait container
Saat Anda membuat Model
, pastikan untuk mengonfigurasi kolom containerSpec
dengan detail container kustom Anda, bukan dengan container bawaan
Anda harus menentukan pesan ModelContainerSpec
di kolom Model.containerSpec
. Dalam pesan ini, Anda dapat menentukan subkolom berikut:
imageUri
(diperlukan)URI Artifact Registry image container Anda.
Jika menggunakan perintah
gcloud ai models upload
, Anda dapat menggunakan flag--container-image-uri
untuk menentukan kolom ini.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 untukModelContainerSpec
.Jika menggunakan perintah
gcloud ai models upload
, Anda dapat menggunakan flag--container-command
untuk menentukan kolom ini.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 untukModelContainerSpec
.Jika menggunakan perintah
gcloud ai models upload
, Anda dapat menggunakan flag--container-args
untuk menentukan kolom ini.ports
(opsional)Sebuah array port; Vertex AI 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.Jika menggunakan perintah
gcloud ai models upload
, Anda dapat menggunakan flag--container-ports
untuk menentukan kolom ini.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 untukModelContainerSpec
.Jika menggunakan perintah
gcloud ai models upload
, Anda dapat menggunakan flag--container-env-vars
untuk menentukan kolom ini.healthRoute
(opsional)Jalur di server HTTP container tempat Anda ingin Vertex AI mengirim health check.
Jika tidak menentukan kolom ini, saat Anda men-deploy
Model
sebagaiDeployedModel
ke resourceEndpoint
, defaultnya adalah/v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL
, dengan ENDPOINT diganti dengan segmen terakhir dari kolomname
Endpoint
(mengikutiendpoints/
) dan DEPLOYED_MODEL diganti dengan kolomDeployedModel
id
.Jika menggunakan perintah
gcloud ai models upload
, Anda dapat menggunakan flag--container-health-route
untuk menentukan kolom ini.predictRoute
(opsional)Jalur di server HTTP container tempat Anda ingin Vertex AI meneruskan permintaan prediksi.
Jika tidak menentukan kolom ini, saat Anda men-deploy
Model
sebagaiDeployedModel
ke resourceEndpoint
, defaultnya adalah/v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict
, dengan ENDPOINT diganti dengan segmen terakhir dari kolomname
Endpoint
(mengikutiendpoints/
) dan DEPLOYED_MODEL diganti dengan kolomDeployedModel
id
.Jika menggunakan perintah
gcloud ai models upload
, Anda dapat menggunakan flag--container-predict-route
untuk menentukan kolom ini.sharedMemorySizeMb
(opsional)Jumlah memori VM yang akan dicadangkan dalam volume memori bersama untuk model dalam megabyte.
Memori bersama adalah mekanisme komunikasi antarproses (IPC) yang memungkinkan beberapa proses mengakses dan memanipulasi blok memori umum. Jumlah memori bersama yang diperlukan, jika ada, adalah detail implementasi dari container dan model Anda. Lihat dokumentasi server model untuk mendapatkan panduan.
Jika menggunakan perintah
gcloud ai models upload
, Anda dapat menggunakan flag--container-shared-memory-size-mb
untuk menentukan kolom ini.startupProbe
(opsional)Spesifikasi untuk pemeriksaan yang memeriksa apakah aplikasi container telah dimulai.
Jika menggunakan perintah
gcloud ai models upload
, Anda dapat menggunakan flag--container-startup-probe-exec, --container-startup-probe-period-seconds, --container-startup-probe-timeout-seconds
untuk menentukan kolom ini.healthProbe
(opsional)Spesifikasi untuk pemeriksaan yang memeriksa apakah container siap menerima traffic.
Jika menggunakan perintah
gcloud ai models upload
, Anda dapat menggunakan flag--container-health-probe-exec, --container-health-probe-period-seconds, --container-health-probe-timeout-seconds
untuk menentukan kolom ini.
Selain variabel yang Anda tetapkan di kolom Model.containerSpec.env
, Vertex AI juga menetapkan beberapa variabel lainnya berdasarkan
konfigurasi Anda. Pelajari lebih lanjut cara menggunakan variabel lingkungan ini di kolom ini dan di perintah titik entri container.
Contoh impor model
Contoh berikut menunjukkan cara menentukan kolom API terkait container saat Anda mengimpor model.
gcloud
Contoh berikut menggunakan perintah
gcloud ai models upload
:
gcloud ai models upload \
--region=LOCATION \
--display-name=MODEL_NAME \
--container-image-uri=IMAGE_URI \
--container-command=COMMAND \
--container-args=ARGS \
--container-ports=PORTS \
--container-env-vars=ENV \
--container-health-route=HEALTH_ROUTE \
--container-predict-route=PREDICT_ROUTE \
--container-shared-memory-size-mb=SHARED_MEMORY_SIZE \
--container-startup-probe-exec=STARTUP_PROBE_EXEC \
--container-startup-probe-period-seconds=STARTUP_PROBE_PERIOD \
--container-startup-probe-timeout-seconds=STARTUP_PROBE_TIMEOUT \
--container-health-probe-exec=HEALTH_PROBE_EXEC \
--container-health-probe-period-seconds=HEALTH_PROBE_PERIOD \
--container-health-probe-timeout-seconds=HEALTH_PROBE_TIMEOUT \
--artifact-uri=PATH_TO_MODEL_ARTIFACT_DIRECTORY
Flag --container-image-uri
diperlukan; semua flag lain yang dimulai
dengan --container-
bersifat opsional. Untuk mempelajari nilai kolom ini, lihat bagian sebelumnya dalam panduan ini.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Java Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Node.js Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Python API.
Untuk mengetahui konteks selengkapnya, baca Panduan impor model.
Mengirim permintaan prediksi
Untuk mengirim permintaan prediksi online ke Model
, ikuti petunjuk di bagian Mendapatkan prediksi dari model kustom yang terlatih: proses ini berfungsi sama terlepas dari apakah Anda menggunakan model container.
Baca tentang memprediksi persyaratan permintaan dan respons untuk container kustom.
Langkah selanjutnya
- Untuk mempelajari semua hal yang perlu dipertimbangkan saat Anda mendesain container kustom untuk digunakan dengan Vertex AI, baca Persyaratan container kustom.