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 dapat 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 2 2B ke endpoint yang didukung TPU dengan 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:
- Siapkan project Google Cloud dan aktifkan Agent Platform API
- Di mesin lokal Anda:
- Menginstal, melakukan inisialisasi, dan mengautentikasi dengan Google Cloud CLI
- Menginstal SDK untuk bahasa Anda
Menyiapkan project Google Cloud
Siapkan Google Cloud project 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 akan 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 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.
aiplatformLibrary klien 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 2 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 mengetahui informasi selengkapnya tentang melatih model menggunakan TPU, lihat Pelatihan Cloud TPU v5e.
Dalam tutorial ini, Anda akan men-deploy model terbuka Gemma 2 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 2 2B memiliki ukuran parameter yang lebih kecil sehingga persyaratan resource lebih rendah dan fleksibilitas deployment lebih tinggi.
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 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 Dasar.
Untuk Region, terima nilai default atau pilih wilayah dari daftar. Catat regionnya. 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: "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 heading 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_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
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 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 Tindakan, lalu klik Batalkan deployment model dari 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.Di 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 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_IDJika 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 Google Cloud project 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 berikutnya
- Pelajari lebih lanjut model terbuka Gemma.
- Baca Persyaratan Penggunaan Gemma.
- Pelajari lebih lanjut model terbuka.
- Pelajari cara men-deploy model yang 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.