Halaman ini menunjukkan cara mendapatkan prediksi dan penjelasan online (real-time) dari model regresi atau klasifikasi tabel menggunakan konsol Google Cloud atau Vertex AI API.
Prediksi online adalah permintaan sinkron, tidak seperti prediksi batch, yang merupakan permintaan asinkron. Gunakan prediksi online saat Anda membuat permintaan sebagai respons terhadap input aplikasi atau dalam situasi lain ketika Anda memerlukan inferensi yang tepat waktu.
Anda harus men-deploy model ke endpoint sebelum model tersebut dapat digunakan untuk prediksi online. Dengan men-deploy model, resource fisik dapat dikaitkan dengan model tersebut, sehingga dapat memberikan prediksi online dengan latensi rendah.
Topik yang dibahas meliputi:
- Men-deploy model ke endpoint
- Mendapatkan prediksi online menggunakan model yang di-deploy
Sebelum memulai
Agar bisa mendapatkan prediksi online, Anda harus melatih model terlebih dahulu.
Men-deploy model ke endpoint
Anda dapat men-deploy beberapa model ke satu endpoint, dan Anda dapat men-deploy satu model ke beberapa endpoint. Untuk mengetahui informasi selengkapnya tentang opsi dan kasus penggunaan untuk men-deploy model, lihat Tentang men-deploy model.
Gunakan salah satu metode berikut ini untuk men-deploy model:
Konsol Google Cloud
Di konsol Google Cloud, di bagian Vertex AI, buka halaman Model.
Klik nama model yang ingin di-deploy untuk membuka halaman detailnya.
Pilih tab Deploy & Uji.
Jika model Anda sudah di-deploy ke endpoint, model tersebut akan tercantum di bagian Deploy model Anda.
Klik Deploy ke endpoint.
Di halaman Tentukan endpoint Anda, konfigurasi sebagai berikut:
Anda dapat memilih untuk men-deploy model ke endpoint baru atau endpoint yang sudah ada.
- Untuk men-deploy model ke endpoint baru, pilih Buat endpoint baru, lalu berikan nama untuk endpoint baru tersebut.
- Untuk men-deploy model ke endpoint yang ada, pilih Tambah ke endpoint yang ada, lalu pilih endpoint dari menu drop-down.
- Anda dapat menambahkan beberapa model ke satu endpoint, dan Anda dapat menambahkan suatu model ke beberapa endpoint. Pelajari lebih lanjut.
Klik Lanjutkan.
Di halaman Pengaturan model, konfigurasikan sebagai berikut:
-
Jika Anda men-deploy model ke endpoint baru, terima nilai 100 untuk Pembagian traffic. Jika Anda men-deploy model ke endpoint yang sudah ada dan satu atau beberapa model telah di-deploy ke endpoint tersebut, Anda harus memperbarui persentase Pembagian traffic untuk model yang sedang di-deploy dan yang telah di-deploy sehingga persentasenya jika ditotal berjumlah 100%.
-
Masukkan Jumlah node komputasi minimum yang ingin Anda berikan untuk model Anda.
Jumlah minimum merupakan jumlah node yang selalu tersedia untuk model setiap saat. Anda akan dikenakan biaya untuk node yang digunakan, baik untuk menangani beban prediksi maupun untuk node (minimum) standby, meskipun tanpa traffic prediksi. Lihat halaman harga.
-
Pilih Jenis mesin.
Resource mesin yang lebih besar akan meningkatkan performa prediksi dan meningkatkan biaya.
-
Pelajari cara mengubah setelan default untuk logging prediksi.
-
Klik Lanjutkan
-
Di halaman Pemantauan model, klik Lanjutkan.
Di halaman Objektif pemantauan, konfigurasikan sebagai berikut:
- Masukkan lokasi data pelatihan Anda.
- Masukkan nama kolom target.
Klik Deploy untuk men-deploy model ke endpoint.
API
Saat men-deploy model menggunakan Vertex AI API, Anda harus menyelesaikan langkah-langkah berikut:
- Buat endpoint jika perlu.
- Dapatkan ID endpoint.
- Deploy model ke endpoint.
Membuat endpoint
Jika Anda men-deploy model ke endpoint yang sudah ada, Anda dapat melewati langkah ini.
gcloud
Contoh berikut menggunakan perintah gcloud ai endpoints create
:
gcloud ai endpoints create \
--region=LOCATION \
--display-name=ENDPOINT_NAME
Ganti kode berikut:
- LOCATION_ID: Region tempat Anda menggunakan Vertex AI.
ENDPOINT_NAME: Nama tampilan endpoint.
Alat Google Cloud CLI mungkin memerlukan waktu beberapa detik untuk membuat endpoint.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION_ID: Region Anda.
- PROJECT_ID: Project ID Anda.
- ENDPOINT_NAME: Nama tampilan endpoint.
Metode HTTP dan URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints
Meminta isi JSON:
{ "display_name": "ENDPOINT_NAME" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip seperti berikut:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata", "genericMetadata": { "createTime": "2020-11-05T17:45:42.812656Z", "updateTime": "2020-11-05T17:45:42.812656Z" } } }
"done": true
.
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.
Mengambil ID endpoint
Anda memerlukan ID endpoint untuk men-deploy model.
gcloud
Contoh berikut menggunakan perintah gcloud ai endpoints list
:
gcloud ai endpoints list \
--region=LOCATION \
--filter=display_name=ENDPOINT_NAME
Ganti kode berikut:
- LOCATION_ID: Region tempat Anda menggunakan Vertex AI.
ENDPOINT_NAME: Nama tampilan endpoint.
Perhatikan angka yang muncul di kolom
ENDPOINT_ID
. Gunakan ID ini dalam langkah berikut.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION_ID: Region tempat Anda menggunakan Vertex AI.
- PROJECT_ID: Project ID Anda.
- ENDPOINT_NAME: Nama tampilan endpoint.
Metode HTTP dan URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints?filter=display_name=ENDPOINT_NAME
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip seperti berikut:
{ "endpoints": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints/ENDPOINT_ID", "displayName": "ENDPOINT_NAME", "etag": "AMEw9yPz5pf4PwBHbRWOGh0PcAxUdjbdX2Jm3QO_amguy3DbZGP5Oi_YUKRywIE-BtLx", "createTime": "2020-04-17T18:31:11.585169Z", "updateTime": "2020-04-17T18:35:08.568959Z" } ] }
Men-deploy model
Pilih tab di bawah ini untuk bahasa atau lingkungan Anda:
gcloud
Contoh berikut menggunakan perintah gcloud ai endpoints deploy-model
.
Contoh berikut men-deploy Model
ke Endpoint
tanpa menggunakan GPU
untuk mempercepat inferensi prediksi dan tanpa membagi traffic antara beberapa
resource DeployedModel
:
Sebelum menggunakan data perintah mana pun di bawah ini, lakukan penggantian berikut:
- ENDPOINT_ID: ID untuk endpoint.
- LOCATION_ID: Region tempat Anda menggunakan Vertex AI.
- MODEL_ID: ID untuk model yang akan di-deploy.
-
DEPLOYED_MODEL_NAME: Nama untuk
DeployedModel
. Anda juga dapat menggunakan nama tampilanModel
untukDeployedModel
. -
MACHINE_TYPE: Opsional. Resource mesin yang digunakan untuk setiap node deployment ini. Setelan defaultnya adalah
n1-standard-2
. Pelajari jenis-jenis mesin lebih lanjut. -
MIN_REPLICA_COUNT: Jumlah minimum node untuk deployment ini.
Jumlah node dapat ditambah atau dikurangi sesuai kebutuhan oleh beban prediksi
hingga mencapai jumlah maksimum node, dan node tidak pernah kurang dari jumlah ini.
Nilai ini harus lebih besar dari atau sama dengan 1. Jika flag
--min-replica-count
dihapus, nilai defaultnya adalah 1. -
MAX_REPLICA_COUNT: Jumlah maksimum node untuk deployment ini.
Jumlah node dapat ditingkatkan atau diturunkan sesuai kebutuhan beban prediksi, hingga mencapai jumlah maksimum node dan tidak pernah kurang dari jumlah ini.
Jika Anda menghapus tanda
--max-replica-count
, jumlah maksimum node akan ditetapkan ke nilai--min-replica-count
.
Jalankan perintah gcloud ai endpoint deploy-model:
Linux, macOS, atau Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Membagi traffic
Flag --traffic-split=0=100
pada contoh sebelumnya mengirim 100% traffic prediksi yang diterima Endpoint
ke DeployedModel
baru, yang diwakili oleh ID sementara 0
. Jika Endpoint
sudah memiliki resource DeployedModel
lain, Anda dapat membagi traffic antara DeployedModel
baru dan yang lama.
Misalnya, untuk mengirim 20% traffic ke DeployedModel
baru dan 80% traffic ke yang lebih lama, jalankan perintah berikut.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- OLD_DEPLOYED_MODEL_ID: ID
DeployedModel
yang ada.
Jalankan perintah gcloud ai endpoint deploy-model:
Linux, macOS, atau Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST
Anda dapat menggunakan metode endpoints.predict untuk meminta prediksi online.
Deploy model.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- LOCATION_ID: Region tempat Anda menggunakan Vertex AI.
- PROJECT_ID: Project ID Anda.
- ENDPOINT_ID: ID untuk endpoint tersebut.
- MODEL_ID: ID untuk model yang akan di-deploy.
-
DEPLOYED_MODEL_NAME: Nama untuk
DeployedModel
. Anda juga dapat menggunakan nama tampilanModel
untukDeployedModel
. -
MACHINE_TYPE: Opsional. Resource mesin yang digunakan untuk setiap node deployment ini. Setelan defaultnya adalah
n1-standard-2
. Pelajari jenis-jenis mesin lebih lanjut. - ACCELERATOR_TYPE: Jenis akselerator yang akan dipasang ke mesin. Opsional jika ACCELERATOR_COUNT tidak ditentukan atau nol. Tidak direkomendasikan untuk model AutoML atau model yang dilatih secara khusus yang menggunakan image non-GPU. Pelajari lebih lanjut.
- ACCELERATOR_COUNT: Jumlah akselerator untuk setiap replika yang akan digunakan. Opsional. Harus nol atau tidak ditentukan untuk model AutoML atau model yang dilatih secara khusus yang menggunakan image non-GPU.
- MIN_REPLICA_COUNT: Jumlah minimum node untuk deployment ini. Jumlah node dapat ditambah atau dikurangi sesuai kebutuhan oleh beban prediksi hingga mencapai jumlah maksimum node, dan node tidak pernah kurang dari jumlah ini. Nilai ini harus lebih besar dari atau sama dengan 1.
- MAX_REPLICA_COUNT: Jumlah maksimum node untuk deployment ini. Jumlah node dapat ditingkatkan atau diturunkan sesuai kebutuhan beban prediksi, hingga mencapai jumlah maksimum node dan tidak pernah kurang dari jumlah ini.
- TRAFFIC_SPLIT_THIS_MODEL: Persentase traffic prediksi ke endpoint ini yang akan dirutekan ke model yang di-deploy dengan operasi ini. Setelan defaultnya adalah 100. Semua persentase traffic harus berjumlah 100. Pelajari pemisahan traffic lebih lanjut.
- DEPLOYED_MODEL_ID_N: Opsional. Jika model lain di-deploy ke endpoint ini, Anda harus memperbarui persentase pemisahan traffic agar semua persentase berjumlah 100.
- TRAFFIC_SPLIT_MODEL_N: Nilai persentase pemisahan traffic untuk kunci ID model yang di-deploy.
- PROJECT_NUMBER: Nomor project yang dibuat secara otomatis untuk project Anda
Metode HTTP dan URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel
Meminta isi JSON:
{ "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": "ACCELERATOR_COUNT" }, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
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.
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.
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.
Pelajari cara mengubah setelan default untuk logging prediksi.
Mendapatkan status operasi
Beberapa permintaan memulai operasi yang berjalan lama dan memerlukan waktu beberapa saat untuk diselesaikan. Permintaan ini menampilkan nama operasi, yang dapat Anda gunakan untuk melihat status operasi atau membatalkan operasi. Vertex AI menyediakan metode helper untuk melakukan panggilan terhadap operasi yang berjalan lama. Untuk mengetahui informasi selengkapnya, lihat Menangani operasi yang berjalan lama.
Mendapatkan prediksi online menggunakan model yang di-deploy
Untuk membuat prediksi online, kirim satu atau beberapa item pengujian ke model untuk dianalisis, dan model akan menampilkan hasil yang didasarkan pada objektif model Anda. Gunakan konsol Google Cloud atau Vertex AI API untuk meminta prediksi online.
Konsol Google Cloud
Di konsol Google Cloud, di bagian Vertex AI, buka halaman Model.
Dari daftar model, klik nama model yang akan diminta prediksinya.
Pilih tab Deploy & test.
Di bagian Uji model Anda, tambahkan item pengujian untuk meminta prediksi. Data prediksi baseline akan diisikan untuk Anda, atau Anda dapat memasukkan data prediksi milik Anda sendiri, lalu mengklik Prediksi.
Setelah prediksi selesai, Vertex AI akan menampilkan hasilnya di konsol.
API: Klasifikasi
gcloud
-
Buat file bernama
request.json
dengan konten berikut:{ "instances": [ { PREDICTION_DATA_ROW } ] }
Ganti kode berikut:
-
PREDICTION_DATA_ROW: Objek JSON dengan kunci sebagai nama fitur dan nilai sebagai nilai fitur yang sesuai. Misalnya, untuk set data dengan angka, array string, dan kategori, baris data akan terlihat seperti contoh permintaan berikut:
"length":3.6, "material":"cotton", "tag_array": ["abc","def"]
Nilai harus diberikan untuk setiap fitur yang disertakan dalam pelatihan. Format data yang digunakan untuk prediksi harus sesuai dengan format yang digunakan untuk pelatihan. Lihat Format data untuk prediksi untuk mengetahui detail selengkapnya.
-
-
Jalankan perintah berikut:
gcloud ai endpoints predict ENDPOINT_ID \ --region=LOCATION_ID \ --json-request=request.json
Ganti kode berikut:
- ENDPOINT_ID: ID untuk endpoint.
- LOCATION_ID: Region tempat Anda menggunakan Vertex AI.
REST
Anda dapat menggunakan metode endpoints.predict untuk meminta prediksi online.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
LOCATION_ID: Region tempat Endpoint berada. Contoh,
us-central1
. - PROJECT_ID: Project ID Anda.
- ENDPOINT_ID: ID untuk endpoint.
-
PREDICTION_DATA_ROW: Objek JSON dengan kunci sebagai nama fitur dan nilai sebagai nilai fitur yang sesuai. Misalnya, untuk set data dengan angka, array string, dan kategori, baris data akan terlihat seperti contoh permintaan berikut:
"length":3.6, "material":"cotton", "tag_array": ["abc","def"]
Nilai harus diberikan untuk setiap fitur yang disertakan dalam pelatihan. Format data yang digunakan untuk prediksi harus sesuai dengan format yang digunakan untuk pelatihan. Lihat Format data untuk prediksi untuk mengetahui detail selengkapnya.
- DEPLOYED_MODEL_ID: Output oleh metode
predict
. ID model yang digunakan untuk membuat prediksi.
Metode HTTP dan URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict
Isi JSON permintaan:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{ "predictions": [ { "scores": [ 0.96771615743637085, 0.032283786684274673 ], "classes": [ "0", "1" ] } ] "deployedModelId": "2429510197" }
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.
API: Regresi
gcloud
-
Buat file bernama `request.json` dengan konten berikut:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Ganti kode berikut:
-
PREDICTION_DATA_ROW: Objek JSON dengan kunci sebagai nama fitur dan nilai sebagai nilai fitur yang sesuai. Misalnya, untuk set data dengan angka, array angka, dan kategori, baris data akan terlihat seperti contoh permintaan berikut:
"age":3.6, "sq_ft":5392, "code": "90331"
Nilai harus diberikan untuk setiap fitur yang disertakan dalam pelatihan. Format data yang digunakan untuk prediksi harus sesuai dengan format yang digunakan untuk pelatihan. Lihat Format data untuk prediksi untuk mengetahui detail selengkapnya.
-
-
Jalankan perintah berikut:
gcloud ai endpoints predict ENDPOINT_ID \ --region=LOCATION_ID \ --json-request=request.json
Ganti kode berikut:
- ENDPOINT_ID: ID untuk endpoint.
- LOCATION_ID: Region tempat Anda menggunakan Vertex AI.
REST
Anda dapat menggunakan metode endpoints.predict untuk meminta prediksi online.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
-
LOCATION_ID: Region tempat Endpoint berada. Contoh,
us-central1
. - PROJECT_ID: Project ID Anda.
- ENDPOINT_ID: ID untuk endpoint.
-
PREDICTION_DATA_ROW: Objek JSON dengan kunci sebagai nama fitur dan nilai sebagai nilai fitur yang sesuai. Misalnya, untuk set data dengan angka, array angka, dan kategori, baris data akan terlihat seperti contoh permintaan berikut:
"age":3.6, "sq_ft":5392, "code": "90331"
Nilai harus diberikan untuk setiap fitur yang disertakan dalam pelatihan. Format data yang digunakan untuk prediksi harus sesuai dengan format yang digunakan untuk pelatihan. Lihat Format data untuk prediksi untuk mengetahui detail selengkapnya.
- DEPLOYED_MODEL_ID: Output oleh metode
predict
. ID model yang digunakan untuk membuat prediksi.
Metode HTTP dan URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict
Isi JSON permintaan:
{ "instances": [ { PREDICTION_DATA_ROW } ] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:predict" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{ "predictions": [ [ { "value": 65.14233 } ] ], "deployedModelId": "DEPLOYED_MODEL_ID" }
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.
Menafsirkan hasil prediksi
Klasifikasi
Model klasifikasi menampilkan skor keyakinan.
Skor keyakinan mencerminkan seberapa kuat model Anda mengaitkan setiap kelas atau label dengan item pengujian. Makin tinggi angkanya, makin tinggi keyakinan model bahwa label harus diterapkan ke item tersebut. Anda yang menentukan seberapa tinggi skor keyakinan agar dapat menerima hasil model.
Regresi
Model regresi menampilkan nilai prediksi.
Jika model Anda menggunakan inferensi probabilistik, kolom value
berisi
minimizer tujuan pengoptimalan. Misalnya, jika tujuan pengoptimalan
Anda adalah minimize-rmse
, kolom value
akan berisi nilai rata-rata.
Jika yang ditampilkan adalah minimize-mae
, kolom value
akan berisi nilai median.
Jika model Anda menggunakan inferensi probabilistik dengan kuantil, Vertex AI akan memberikan prediksi dan nilai kuantil selain memperkecil tujuan pengoptimalan. Nilai kuantil ditetapkan selama pelatihan model. Prediksi kuantil adalah nilai prediksi yang terkait dengan nilai kuantil.
TabNet memberikan penafsiran model yang melekat dengan memberi pengguna insight tentang fitur yang digunakannya untuk membantu membuat keputusannya. Algoritma ini menggunakan attention, yang mempelajari cara meningkatkan pengaruh beberapa fitur secara selektif sekaligus mengurangi pengaruh fitur lain melalui rata-rata tertimbang. Untuk keputusan tertentu, TabNet memutuskan secara bertahap berapa tingkat kepentingan yang perlu ditetapkan ke masing-masing fitur. Kemudian, alat ini menggabungkan setiap langkah untuk membuat prediksi akhir. Attention bersifat multiplikatif, dengan nilai yang lebih besar menunjukkan bahwa fitur tersebut memiliki peran yang lebih besar dalam prediksi, dan nilai nol berarti bahwa fitur tersebut tidak memiliki peran dalam pembuatan keputusan tersebut. Karena TabNet menggunakan beberapa langkah keputusan, attention yang ditetapkan pada fitur di semua langkah tersebut digabungkan secara linear setelah penskalaan yang sesuai. Kombinasi linear ini, yang diperoleh dari semua langkah keputusan TabNet, adalah total tingkat kepentingan fitur yang disediakan TabNet untuk Anda.
Contoh output untuk prediksi
Payload yang ditampilkan untuk prediksi online dengan nilai penting fitur dari model regresi terlihat mirip dengan contoh berikut.
{
"predictions":[
{
"value":0.3723912537097931,
"feature_importance":{
"MSSubClass":0.12,
"MSZoning":0.33,
"LotFrontage":0.27,
"LotArea":0.06,
...
}
}
]
}
Langkah selanjutnya
- Pelajari cara mengekspor model.
- Pelajari penetapan harga untuk prediksi online.