Dalam tutorial ini, Anda menggunakan Model Garden untuk men-deploy model terbuka Gemma 2B ke endpoint Vertex AI yang didukung TPU. Anda harus men-deploy model ke endpoint sebelum model tersebut dapat digunakan untuk menayangkan prediksi online. Men-deploy model akan mengaitkan resource fisik dengan model tersebut, sehingga dapat menyajikan prediksi online dengan latensi rendah.
Setelah men-deploy model Gemma 2B, Anda akan melakukan inferensi pada model
terlatih menggunakan PredictionServiceClient
untuk mendapatkan prediksi
online. Prediksi online adalah permintaan sinkron yang dibuat ke
model yang di-deploy ke endpoint.
Tujuan
Tutorial ini menunjukkan cara melakukan tugas-tugas berikut:
- Men-deploy model terbuka Gemma 2B ke endpoint yang didukung TPU dengan menggunakan Model Garden
- Menggunakan
PredictionServiceClient
untuk mendapatkan prediksi online
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloud yang dapat ditagih berikut:
-
A
ct5lp-hightpu-1t
machine type with one TPU_V5 accelerator - Vertex AI prediction and explanation
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.
Sebelum memulai
Tutorial ini mengharuskan Anda untuk:
- Menyiapkan project Google Cloud dan mengaktifkan Vertex AI API
- Di komputer lokal Anda:
- Menginstal, melakukan inisialisasi, dan mengautentikasi dengan Google Cloud CLI
- Menginstal SDK untuk bahasa Anda
Menyiapkan project Google Cloud
Siapkan project Google Cloud dan aktifkan Vertex AI API.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Menyiapkan Google Cloud CLI
Di komputer lokal, siapkan Google Cloud CLI.
-
Instal dan lakukan inisialisasiGoogle Cloud CLI.
-
Jika sebelumnya Anda telah menginstal gcloud CLI, pastikan komponen
gcloud
Anda diupdate dengan menjalankan perintah ini.gcloud components update
-
Untuk melakukan autentikasi dengan gcloud CLI, buat file Kredensial Default Aplikasi (ADC) lokal dengan menjalankan perintah ini. Alur web yang diluncurkan oleh perintah ini digunakan untuk memberikan kredensial pengguna Anda.
gcloud auth application-default login
Untuk mengetahui informasi selengkapnya, lihat konfigurasi autentikasi gcloud CLI dan konfigurasi ADC.
Menyiapkan SDK untuk bahasa pemrograman Anda
Untuk menyiapkan lingkungan yang digunakan dalam tutorial ini, Anda harus menginstal Vertex AI SDK untuk bahasa Anda dan library Protocol Buffers. Contoh kode menggunakan fungsi dari library Buffering Protokol untuk mengonversi kamus input ke format JSON yang diharapkan oleh API.
Di komputer lokal, klik salah satu tab berikut untuk menginstal SDK untuk bahasa pemrograman Anda.
Python
Di komputer lokal, klik salah satu tab berikut untuk menginstal SDK untuk bahasa pemrograman Anda.
Instal dan update Vertex AI SDK untuk Python dengan menjalankan perintah ini.
pip3 install --upgrade "google-cloud-aiplatform>=1.64"
Instal library Protocol Buffers untuk Python dengan menjalankan perintah ini.
pip3 install --upgrade "profobuf>=5.28"
Node.js
Instal atau update aiplatform
SDK untuk Node.js dengan menjalankan perintah
berikut.
npm install @google-cloud/aiplatform
Java
Untuk menambahkan google-cloud-aiplatform
sebagai dependensi, tambahkan kode yang sesuai untuk
lingkungan Anda.
Maven dengan BOM
Tambahkan HTML berikut ke pom.xml
Anda:
<dependencyManagement> <dependencies> <dependency> <artifactId>libraries-bom</artifactId> <groupId>com.google.cloud</groupId> <scope>import</scope> <type>pom</type> <version>26.34.0</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-aiplatform</artifactId> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> </dependencies>
Maven tanpa BOM
Tambahkan kode berikut ke
pom.xml
Anda:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-aiplatform</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> <version>5.28</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.11.0</version> </dependency>
Gradle tanpa BOM
Tambahkan kode berikut ke build.gradle
Anda:
implementation 'com.google.cloud:google-cloud-aiplatform:1.1.0'
Go
Instal paket Go ini dengan menjalankan perintah berikut.
- Library klien
aiplatform
Go - Dukungan Go untuk Buffering Protokol
- Ekstensi Google API untuk Go (gax-go)
go get cloud.google.com/go/aiplatform go get google.golang.org/protobuf go get github.com/googleapis/gax-go/v2
Men-deploy Gemma menggunakan Model Garden
Anda men-deploy model Gemma 2B ke jenis mesin Compute Engine ct5lp-hightpu-1t
yang dioptimalkan untuk pelatihan skala kecil hingga sedang. Mesin ini
memiliki satu akselerator TPU v5e. Untuk informasi selengkapnya tentang pelatihan model
menggunakan TPU, lihat Pelatihan Cloud TPU v5e.
Dalam tutorial ini, Anda akan men-deploy model terbuka Gemma 2B yang disesuaikan dengan
instruksi menggunakan kartu model di Model Garden. Versi model
tertentu adalah gemma2-2b-it
— -it
adalah singkatan dari instruction-tuned.
Model Gemma 2B memiliki ukuran parameter yang lebih rendah, yang berarti persyaratan resource yang lebih rendah dan fleksibilitas deployment yang lebih besar.
Di Konsol Google Cloud, buka halaman Model Garden.
Klik kartu model Gemma 2.
Klik Deploy untuk membuka panel Deploy model.
Di panel Deploy model, tentukan detail ini.
Untuk Lingkungan deployment, klik Vertex AI.
Di bagian Deploy model:
Untuk Resource ID, pilih
gemma-2b-it
.Untuk Model name dan Endpoint name, terima nilai default. Contoh:
- Nama model:
gemma2-2b-it-1234567891234
- Nama endpoint:
gemma2-2b-it-mg-one-click-deploy
Catat nama endpoint. Anda memerlukannya untuk menemukan ID endpoint yang digunakan dalam contoh kode.
- Nama model:
Di bagian Setelan deployment:
Terima opsi default untuk setelan Dasar.
Untuk Region, terima nilai default atau pilih wilayah dari daftar. Catat region-nya. Anda akan memerlukannya untuk contoh kode.
Untuk Spesifikasi mesin, pilih instance yang didukung TPU:
ct5lp-hightpu-1t (1 TPU_V5_LITEPOD; ct5lp-hightpu-1t)
.
Klik Deploy. Setelah deployment selesai, terima email yang berisi detail tentang endpoint baru Anda. Anda juga dapat melihat detail endpoint dengan mengklik Online prediction > Endpoints dan memilih region.
Inferensi Gemma 2B dengan PredictionServiceClient
Setelah men-deploy Gemma 2B, Anda menggunakan PredictionServiceClient
untuk
mendapatkan prediksi online untuk perintah: "Kenapa langit berwarna biru?"
Parameter kode
Contoh kode PredictionServiceClient
mengharuskan Anda memperbarui hal berikut.
PROJECT_ID
: Untuk menemukan project ID Anda, ikuti langkah-langkah berikut.Buka halaman Selamat Datang di konsol Google Cloud.
Dari pemilih project di bagian atas halaman, pilih project Anda.
Nama project, nomor project, dan project ID muncul setelah judul Selamat Datang.
ENDPOINT_REGION
: Ini adalah region tempat Anda men-deploy endpoint.ENDPOINT_ID
: Untuk menemukan ID endpoint, lihat di konsol atau jalankan perintahgcloud ai endpoints list
. Anda memerlukan nama dan region endpoint dari panel Deploy model.Konsol
Anda dapat melihat detail endpoint dengan mengklik Online prediction > Endpoints dan memilih region Anda. Perhatikan angka yang muncul di kolom
ID
.gcloud
Anda dapat melihat detail endpoint dengan menjalankan perintah
gcloud ai endpoints list
.gcloud ai endpoints list \ --region=ENDPOINT_REGION \ --filter=display_name=ENDPOINT_NAME
Outputnya akan terlihat seperti ini.
Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
Kode contoh
Dalam kode contoh untuk bahasa Anda, perbarui PROJECT_ID
,
ENDPOINT_REGION
, dan ENDPOINT_ID
. Kemudian, jalankan kode Anda.
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, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Go di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Go Vertex AI.
Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Pembersihan
Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.
Menghapus project
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Menghapus resource satu per satu
Jika Anda mempertahankan project, hapus resource yang digunakan dalam tutorial ini:
- Membatalkan deployment model dan menghapus endpoint
- Menghapus model dari Model Registry
Membatalkan deployment model dan menghapus endpoint
Gunakan salah satu metode berikut untuk membatalkan deployment model dan menghapus endpoint.
Konsol
Di konsol Google Cloud, klik Online prediction, lalu klik Endpoints.
Di menu drop-down Region, pilih region tempat Anda men-deploy endpoint.
Klik nama endpoint untuk membuka halaman detail. Contoh:
gemma2-2b-it-mg-one-click-deploy
Di baris untuk model
Gemma 2 (Version 1)
, klik Actions, lalu klik Undeploy model from endpoint.Pada dialog Batalkan deployment model dari endpoint, klik Batalkan deployment.
Klik tombol Back untuk kembali ke halaman Endpoints.
Di akhir baris
gemma2-2b-it-mg-one-click-deploy
, klik Tindakan, lalu pilih Hapus endpoint.Pada perintah konfirmasi, klik Konfirmasi.
gcloud
Untuk membatalkan deployment model dan menghapus endpoint menggunakan Google Cloud CLI, ikuti langkah-langkah berikut.
Dalam perintah ini, ganti:
- PROJECT_ID dengan nama project Anda
- LOCATION_ID dengan region tempat Anda men-deploy model dan endpoint
- ENDPOINT_ID dengan ID endpoint
- DEPLOYED_MODEL_NAME dengan nama tampilan model
- DEPLOYED_MODEL_ID dengan ID model
Dapatkan ID endpoint dengan menjalankan perintah
gcloud ai endpoints list
. Perintah ini mencantumkan ID endpoint untuk semua endpoint dalam project Anda. Catat ID endpoint yang digunakan dalam tutorial ini.gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_ID
Outputnya akan terlihat seperti ini. Dalam output, ID disebut
ENDPOINT_ID
.Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
Dapatkan ID model dengan menjalankan perintah
gcloud ai models describe
. Catat ID model yang Anda deploy dalam tutorial ini.gcloud ai models describe DEPLOYED_MODEL_NAME \ --project=PROJECT_ID \ --region=LOCATION_ID
Output singkat akan terlihat seperti ini. Dalam output, ID disebut
deployedModelId
.Using endpoint [https://us-central1-aiplatform.googleapis.com/] artifactUri: [URI removed] baseModelSource: modelGardenSource: publicModelName: publishers/google/models/gemma2 ... deployedModels: - deployedModelId: '1234567891234567891' endpoint: projects/12345678912/locations/us-central1/endpoints/12345678912345 displayName: gemma2-2b-it-12345678912345 etag: [ETag removed] modelSourceInfo: sourceType: MODEL_GARDEN name: projects/123456789123/locations/us-central1/models/gemma2-2b-it-12345678912345 ...
Batalkan deployment model dari endpoint. Anda memerlukan ID endpoint dan ID model dari perintah sebelumnya.
gcloud ai endpoints undeploy-model ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID \ --deployed-model-id=DEPLOYED_MODEL_ID
Perintah ini tidak menghasilkan output.
Jalankan perintah
gcloud ai endpoints delete
untuk menghapus endpoint.gcloud ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID
Jika diminta, ketik
y
untuk mengonfirmasi. Perintah ini tidak menghasilkan output.
Menghapus model
Konsol
Buka halaman Model Registry dari bagian Vertex AI di konsol Google Cloud.
Di menu drop-down Region, pilih region tempat Anda men-deploy model.
Di akhir baris
gemma2-2b-it-1234567891234
, klik Tindakan.Pilih Hapus model.
Saat Anda menghapus model, semua versi dan evaluasi model terkait akan dihapus dari project Google Cloud Anda.
Pada perintah konfirmasi, klik Hapus.
gcloud
Untuk menghapus model menggunakan Google Cloud CLI, berikan nama tampilan dan region model ke perintah gcloud ai models delete
.
gcloud ai models delete DEPLOYED_MODEL_NAME \
--project=PROJECT_ID \
--region=LOCATION_ID
Ganti DEPLOYED_MODEL_NAME dengan nama tampilan model. Ganti PROJECT_ID dengan nama project Anda. Ganti LOCATION_ID dengan region tempat Anda men-deploy model.
Langkah selanjutnya
- Pelajari model terbuka Gemma lebih lanjut.
- Baca Persyaratan Penggunaan Gemma.
- Pelajari model terbuka lebih lanjut.
- Pelajari cara men-deploy model yang disesuaikan.
- Pelajari cara men-deploy Gemma 2 ke Google Kubernetes Engine menggunakan HuggingFace Textgen Inference (TGI).
- Pelajari
PredictionServiceClient
lebih lanjut dalam bahasa pilihan Anda: Python, Node.js, Java, atau Go.