Tutorial ini menunjukkan cara men-deploy dan menyajikan model mixture of experts multimodal Gemma 4 26B (google/gemma-4-26B-A4B-it) di Google Kubernetes Engine (GKE) menggunakan akselerator Cloud TPU v6e (Trillium) multi-host dan vLLM TorchTPU.
Karena workload mencakup beberapa host TPU dalam topologi 2x4, Anda menggunakan
LeaderWorkerSet API Kubernetes dan Ray untuk mengoordinasikan inferensi tensor-paralel
terdistribusi di delapan chip TPU.
Tujuan
- Siapkan cluster GKE dan node pool TPU v6e multi-host.
- Deploy server vLLM multi-host dengan LeaderWorkerSet.
- Mengirim permintaan inferensi multimodal dan teks.
- Menjalankan workload benchmark inferensi.
- Jalankan pembersihan.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponenGoogle Cloudyang dapat ditagih berikut:
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
Anda memerlukan token akses Hugging Face untuk menggunakan tutorial ini. Anda dapat mendaftar untuk mendapatkan akun gratis di Hugging Face. Setelah Anda memiliki akun, buat token akses:
- Di halaman Welcome to Hugging Face, klik avatar akun Anda, lalu pilih Token akses.
- Di halaman Token akses, klik Create new token.
- Pilih jenis token Read dan masukkan nama untuk token Anda.
- Token akses Anda akan ditampilkan. Simpan token di tempat yang aman.
- Instal dan lakukan inisialisasi
Google Cloud CLI, dan instal
kubectl. Jika Anda menggunakan Cloud Shell, kedua alat tersebut sudah diinstal sebelumnya.
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan tutorial ini, minta administrator untuk memberi Anda peran IAM berikut di project Anda:
- Kubernetes Engine Admin (
roles/container.admin) - Compute Admin (
roles/compute.admin) - Service Account User (
roles/iam.serviceAccountUser)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Menyiapkan variabel lingkungan Anda
Siapkan variabel lingkungan Anda:
Ganti kode berikut:
YOUR_PROJECT_ID: ID project Google Cloud Anda.YOUR_RESERVATION_NAME: nama pemesanan Anda.YOUR_REGION: region tempat Anda ingin men-deploy cluster GKE.YOUR_ZONE: zona tempat Anda ingin men-deploy node pool TPU v6e.YOUR_CLUSTER_NAME: nama cluster GKE Anda.YOUR_HF_TOKEN: token akses Hugging Face Anda.YOUR_VLLM_TPU_IMAGE: image TPU vLLM yang akan digunakan. Untuk image publik, lihat repositori vLLM TorchTPU.
Membuat cluster GKE
Untuk membuat cluster GKE dan memasang node pool TPU v6e multi-host, selesaikan langkah-langkah berikut:
Buat cluster GKE regional yang menggunakan node
e2-standard-4untuk node pool default, dan node pool TPU v6e dengan dua nodect6e-standard-4tyang disusun dalam topologi2x4(total delapan chip TPU). Jenis mesin GKE default (e2-medium) tidak menyediakan resource CPU yang cukup untuk pengontrol LeaderWorkerSet, sehingga tutorial ini menentukane2-standard-4:Alih-alih menggunakan pemesanan tertentu, Anda juga dapat membuat node pool menggunakan kapasitas Spot atau VM Flex-start dengan meneruskan flag berikut:
- Spot VM: ganti flag
--reservation-affinitydan--reservationdengan--spotuntuk menggunakan kapasitas Spot. Instance yang menggunakan kapasitas Spot mungkin memerlukan waktu untuk dibuat setelah node pool dibuat, dan mungkin di-preempt selama workload berjalan. Jika Pod Anda memerlukan waktu untuk dibuat, atau workload berhenti di tengah-tengah proses, hal ini bisa menjadi penyebabnya. - Flex-start VM: Teruskan
--flex-startuntuk menyediakan node pool menggunakan opsi konsumsi Flex-start. Untuk mengetahui informasi selengkapnya, lihat Menjalankan workload batch kecil dengan TPU dan VM Flex-start.
- Spot VM: ganti flag
Konfigurasi kredensial
kubectluntuk berkomunikasi dengan cluster Anda:
Mengonfigurasi kredensial dan menginstal LeaderWorkerSet
Untuk menyiapkan cluster Anda untuk deployment multi-host, selesaikan langkah-langkah berikut:
Ekspor token Hugging Face Anda dan buat Secret Kubernetes bernama
hf-secret:Instal CustomResourceDefinition dan pengontrol LeaderWorkerSet di cluster Anda:
Men-deploy server vLLM multi-host
Manifes workload (gemma4-26b-multihost-v6e-2x4.yaml) menentukan dua resource:
- Resource LeaderWorkerSet (
vllm-tpu-gemma4-26b) dengansize: 2(satu Pod leader dan satu Pod worker) yang dijadwalkan di dua nodect6e-standard-4tdalam slice TPU2x4. Setiap Pod menjalankan InitContainer yang mengambil bobot modelgoogle/gemma-4-26B-A4B-itdari Hugging Face ke dalam volume dalam memori sebelum memulai Ray dan server API OpenAI vLLM dengan flag--tensor-parallel-size=8,--kv-cache-dtype=fp8,--max-model-len=5248, dan--max-num-seqs=128. - Service ClusterIP (
vllm-service) yang mengekspos port8000di Pod leader.
Untuk men-deploy dan memantau workload, selesaikan langkah-langkah berikut:
Ambil manifes LeaderWorkerSet dari GitHub:
Atau, buat file bernama
gemma4-26b-multihost-v6e-2x4.yamldengan konten berikut:Terapkan manifes LeaderWorkerSet:
Pantau status dan log Pod pemimpin hingga startup aplikasi selesai:
Startup layanan awal memerlukan waktu sekitar 9 menit saat Pod mengambil bobot model terlebih dahulu, membentuk cluster Ray dua node di delapan chip TPU, dan mengompilasi model. Tunggu hingga log melaporkan
Application startup completesebelum mengirim traffic.Di sesi terminal kedua, teruskan port lokal
8000kevllm-service:Biarkan penerusan port berjalan di sesi terminal ini.
Mengirim permintaan inferensi
Kembali ke sesi terminal pertama Anda dan uji model yang di-deploy dengan permintaan penyelesaian chat teks dan multimodal:
Kirim permintaan penyelesaian chat teks ke endpoint
/v1/chat/completions:Kirim permintaan multimodal yang berisi URL gambar dan perintah teks:
Menjalankan workload benchmark
Untuk melakukan benchmark pada model yang di-deploy, jalankan perintah berikut:
Pembersihan
Agar tidak menimbulkan biaya berkelanjutan tambahan pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus workload Kubernetes, TPU node pool, dan cluster GKE:
Hapus deployment server vLLM dan secret Hugging Face:
Hapus node pool TPU v6e dan cluster GKE:
Kembali ke sesi terminal kedua Anda dan hentikan penerusan port.
Langkah berikutnya
- Pelajari vLLM TorchTPU lebih lanjut.
- Pelajari Cloud TPU lebih lanjut.