Dalam tutorial ini, Anda akan menggunakan Model Garden untuk men-deploy model terbuka Gemma 2 2B ke endpoint Gemini Enterprise Agent Platform yang didukung TPU. Anda harus men-deploy model ke endpoint sebelum model tersebut dapat digunakan untuk menyajikan 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 2 2B, Anda akan menginferensikan 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 2 2B ke endpoint yang didukung TPU menggunakan Model Garden
- Menggunakan
PredictionServiceClientuntuk mendapatkan prediksi online
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:
-
A
ct5lp-hightpu-1tmachine type with one TPU_V5 accelerator - Gemini Enterprise Agent Platform 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, baca bagian Pembersihan.
Sebelum memulai
Tutorial ini mengharuskan Anda untuk:
- Menyiapkan project Google Cloud dan mengaktifkan Agent Platform 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 Anda dan aktifkan Agent Platform API.
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Menyiapkan Google Cloud CLI
Di komputer lokal Anda, siapkan Google Cloud CLI.
-
Instal dan lakukan inisialisasiGoogle Cloud CLI.
-
Jika sebelumnya Anda telah menginstal gcloud CLI, pastikan komponen
gcloudAnda 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 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 Gemini Enterprise Agent Platform SDK untuk bahasa Anda dan library Protocol Buffers. Contoh kode menggunakan fungsi dari library Protocol Buffers untuk mengonversi kamus input ke format JSON yang diharapkan oleh API.
Di komputer lokal Anda, klik salah satu tab berikut untuk menginstal SDK untuk bahasa pemrograman Anda.
Python
Di komputer lokal Anda, klik salah satu tab berikut untuk menginstal SDK untuk bahasa pemrograman Anda.
Instal dan update Agent Platform 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 "protobuf>=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:
<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:
<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:
implementation 'com.google.cloud:google-cloud-aiplatform:1.1.0'Go
Instal paket Go ini dengan menjalankan perintah berikut.
- Library klien Go
aiplatform - Dukungan Go untuk Protocol Buffers
- 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 2 2B ke jenis mesin Compute Engine ct5lp-hightpu-1t yang dioptimalkan untuk pelatihan skala kecil hingga menengah. Mesin ini memiliki satu akselerator TPU v5e. Untuk mengetahui informasi selengkapnya tentang cara melatih model menggunakan TPU, lihat Pelatihan Cloud TPU v5e.
Dalam tutorial ini, Anda akan men-deploy model terbuka Gemma 2 2B yang telah di-tuning untuk mengikuti instruksi menggunakan kartu model di Model Garden. Versi model spesifiknya adalah gemma2-2b-it — -it adalah singkatan dari instruction-tuned.
Model Gemma 2 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 berikut.
Untuk Deployment environment, klik Agent Platform.
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 akan memerlukannya untuk menemukan ID endpoint yang digunakan dalam contoh kode.
- Nama model:
Di bagian Deployment settings:
Terima opsi default untuk setelan Basic.
Untuk Region, terima nilai default atau pilih region dari daftar. Catat region-nya. Anda akan memerlukannya untuk contoh kode.
Untuk Machine spec, pilih instance yang didukung TPU:
ct5lp-hightpu-1t (1 TPU_V5_LITEPOD; ct5lp-hightpu-1t).
Klik Deploy. Setelah deployment selesai, Anda akan menerima email yang berisi detail tentang endpoint baru Anda. Anda juga dapat melihat detail endpoint dengan mengklik Online prediction > Endpoints dan memilih region Anda.
Inferensi Gemma 2 2B dengan PredictionServiceClient
Setelah men-deploy Gemma 2 2B, Anda menggunakan PredictionServiceClient untuk
mendapatkan prediksi online untuk perintah: "Why is the sky blue?"
Parameter kode
Contoh kode PredictionServiceClient mengharuskan Anda memperbarui hal berikut.
PROJECT_ID: Untuk menemukan project ID Anda, ikuti langkah-langkah berikut.Buka halaman Welcome di konsol Google Cloud .
Dari pemilih project di bagian atas halaman, pilih project Anda.
Nama project, nomor project, dan project ID akan muncul setelah judul Welcome.
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_NAMEOutputnya 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
Guna mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python.
Node.js
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di Panduan memulai Agent Platform menggunakan library klien.
Untuk melakukan autentikasi ke Agent Platform, 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 Agent Platform menggunakan library klien.
Untuk melakukan autentikasi ke Agent Platform, 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 Agent Platform menggunakan library klien.
Untuk melakukan autentikasi ke Agent Platform, 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
- Di konsol Google Cloud , buka halaman Manage resources.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus 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-deployDi 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 Actions, lalu pilih Delete endpoint.Pada dialog konfirmasi, klik Confirm.
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 di project Anda. Catat ID endpoint yang digunakan dalam tutorial ini.gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_IDOutputnya 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-deployDapatkan 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_IDOutput yang disingkat 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 akan 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_IDPerintah ini tidak menghasilkan output.
Jalankan perintah
gcloud ai endpoints deleteuntuk menghapus endpoint.gcloud ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_IDSaat diminta, ketik
yuntuk mengonfirmasi. Perintah ini tidak menghasilkan output.
Menghapus model
Konsol
Buka halaman Model Registry dari bagian Agent Platform 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.
Di dialog konfirmasi, klik Delete.
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 berikutnya
- Pelajari lebih lanjut model terbuka Gemma.
- Baca Persyaratan Penggunaan Gemma.
- Pelajari lebih lanjut model terbuka.
- Pelajari cara men-deploy model yang telah disesuaikan.
- Pelajari cara men-deploy Gemma 2 ke Google Kubernetes Engine menggunakan HuggingFace Textgen Inference (TGI).
- Pelajari lebih lanjut
PredictionServiceClientdalam bahasa pilihan Anda: Python, Node.js, Java, atau Go.