Dalam panduan ini, Anda akan men-deploy dan menyajikan LLM menggunakan node GPU host tunggal di GKE dengan framework penayangan vLLM. Panduan ini memberikan petunjuk dan konfigurasi untuk men-deploy model terbuka berikut:
Panduan ini ditujukan untuk engineer Machine Learning (ML) serta spesialis Data dan AI yang tertarik untuk mempelajari kemampuan orkestrasi container Kubernetes dalam menyajikan model terbuka untuk inferensi. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang dirujuk dalam konten Google Cloud , lihat Peran dan tugas pengguna GKE umum.
Sebelum memulai
- 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required APIs.
-
Make sure that you have the following role or roles on the project: roles/artifactregistry.admin, roles/browser, roles/compute.networkAdmin, roles/container.clusterAdmin, roles/iam.serviceAccountAdmin, roles/resourcemanager.projectIamAdmin, and roles/serviceusage.serviceUsageAdmin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Buka IAM - Pilih project.
- Klik Grant access.
-
Di kolom New principals, masukkan ID pengguna Anda. Biasanya berupa alamat email untuk Akun Google.
- Di daftar Select a role, pilih peran.
- Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
- Klik Simpan.
- Buat akun Hugging Face.
- Pastikan project Anda memiliki kuota GPU yang memadai. Untuk mengetahui informasi selengkapnya, lihat Kuota alokasi.
- Klik Profil Anda > Setelan > Token Akses.
- Pilih New Token.
- Tentukan Nama pilihan Anda dan Peran minimal Baca.
- Pilih Generate a token.
- Salin token yang dihasilkan ke papan klip Anda.
Di Cloud Shell, clone repositori berikut:
git clone https://github.com/GoogleCloudPlatform/accelerated-platforms --branch hf-model-tutorial && \ cd accelerated-platforms && \ export ACP_REPO_DIR="$(pwd)"
Tetapkan variabel lingkungan Anda:
export TF_VAR_platform_default_project_id=PROJECT_ID export HF_TOKEN_READ=HF_TOKEN
Ganti nilai berikut:
PROJECT_ID
: Google Cloud project ID Anda.HF_TOKEN
: token Hugging Face yang Anda buat sebelumnya.
Panduan ini memerlukan Terraform versi 1.8.0 atau yang lebih baru. Cloud Shell telah menginstal Terraform v1.5.7 secara default.
Untuk mengupdate versi Terraform di Cloud Shell, Anda dapat menjalankan skrip berikut. Skrip ini menginstal alat
terraform-switcher
dan membuat perubahan pada lingkungan shell Anda."${ACP_REPO_DIR}/tools/bin/install_terraform.sh" source ~/.bashrc
Jalankan skrip deployment berikut. Skrip deployment mengaktifkan API yang diperlukan dan menyediakan infrastruktur yang diperlukan untuk panduan ini. Google Cloud Hal ini mencakup jaringan VPC baru, cluster GKE dengan node pribadi, dan resource pendukung lainnya. Skrip dapat memerlukan waktu beberapa menit untuk menyelesaikan prosesnya.
Anda dapat menyajikan model menggunakan GPU di cluster GKE Autopilot atau Standard. Cluster Autopilot memberikan pengalaman Kubernetes yang terkelola sepenuhnya. Untuk mengetahui informasi selengkapnya tentang memilih mode operasi GKE yang paling sesuai untuk workload Anda, lihat Tentang mode operasi GKE.
Autopilot
"${ACP_REPO_DIR}/platforms/gke/base/tutorials/hf-gpu-model/deploy-ap.sh"
Standar
"${ACP_REPO_DIR}/platforms/gke/base/tutorials/hf-gpu-model/deploy-standard.sh"
Setelah skrip ini selesai, Anda akan memiliki cluster GKE yang siap untuk beban kerja inferensi.
Jalankan perintah berikut untuk menetapkan variabel lingkungan dari konfigurasi bersama:
source "${ACP_REPO_DIR}/platforms/gke/base/use-cases/inference-ref-arch/terraform/_shared_config/scripts/set_environment_variables.sh"
Skrip deployment membuat secret di Secret Manager untuk menyimpan token Hugging Face Anda. Anda harus menambahkan token secara manual ke secret ini sebelum men-deploy cluster. Di Cloud Shell, jalankan perintah ini untuk menambahkan token ke Secret Manager.
echo ${HF_TOKEN_READ} | gcloud secrets versions add ${huggingface_hub_access_token_read_secret_manager_secret_name} \ --data-file=- \ --project=${huggingface_secret_manager_project_id}
Tetapkan variabel lingkungan untuk model yang ingin Anda deploy:
Gemma 3 27B-it
export ACCELERATOR_TYPE="h100" export HF_MODEL_ID="google/gemma-3-27b-it"
Llama 4 Scout 17B-16E-Instruct
export ACCELERATOR_TYPE="h100" export HF_MODEL_ID="meta-llama/llama-4-scout-17b-16e-instruct"
Qwen3 32B
export ACCELERATOR_TYPE="h100" export HF_MODEL_ID="qwen/qwen3-32b"
gpt-oss 20B
export ACCELERATOR_TYPE="h100" export HF_MODEL_ID="openai/gpt-oss-20b"
Untuk konfigurasi tambahan, termasuk varian model dan jenis GPU lainnya, lihat manifes yang tersedia di repositori GitHub
accelerated-platforms
.Dapatkan variabel lingkungan dari deployment Anda. Variabel lingkungan ini berisi detail konfigurasi yang diperlukan dari infrastruktur yang Anda sediakan.
source "${ACP_REPO_DIR}/platforms/gke/base/use-cases/inference-ref-arch/terraform/_shared_config/scripts/set_environment_variables.sh"
Jalankan skrip berikut untuk mengonfigurasi Job Kubernetes yang mendownload model ke Cloud Storage:
"${ACP_REPO_DIR}/platforms/gke/base/use-cases/inference-ref-arch/kubernetes-manifests/model-download/configure_huggingface.sh"
Deploy Tugas download model:
kubectl apply --kustomize "${ACP_REPO_DIR}/platforms/gke/base/use-cases/inference-ref-arch/kubernetes-manifests/model-download/huggingface"
Tunggu hingga download selesai. Pantau status Tugas dan saat
COMPLETIONS
adalah1/1
, tekanCtrl+C
untuk keluar.watch --color --interval 5 --no-title "kubectl --namespace=${huggingface_hub_downloader_kubernetes_namespace_name} get job/${HF_MODEL_ID_HASH}-hf-model-to-gcs
Deploy workload inferensi ke cluster GKE Anda.
"${ACP_REPO_DIR}/platforms/gke/base/use-cases/inference-ref-arch/kubernetes-manifests/online-inference-gpu/configure_deployment.sh" kubectl apply --kustomize "${ACP_REPO_DIR}/platforms/gke/base/use-cases/inference-ref-arch/kubernetes-manifests/online-inference-gpu/vllm/${ACCELERATOR_TYPE}-${HF_MODEL_NAME}"
Tunggu hingga Pod server inferensi siap. Saat kolom
READY
adalah1/1
, tekanCtrl+C
untuk keluar.watch --color --interval 5 --no-title "kubectl --namespace=${ira_online_gpu_kubernetes_namespace_name} get deployment/vllm-${ACCELERATOR_TYPE}-${HF_MODEL_NAME}"
Jalankan skrip berikut untuk menyiapkan penerusan port dan mengirim contoh permintaan ke model. Contoh ini menggunakan format payload untuk model Gemma 3 27b-it.
kubectl --namespace=${ira_online_gpu_kubernetes_namespace_name} port-forward service/vllm-${ACCELERATOR_TYPE}-${HF_MODEL_NAME} 8000:8000 >/dev/null & PF_PID=$! curl http://127.0.0.1:8000/v1/chat/completions \ --data '{ "model": "/gcs/'${HF_MODEL_ID}'", "messages": [ { "role": "user", "content": "What is GKE?" } ] }' \ --header "Content-Type: application/json" \ --request POST \ --show-error \ --silent | jq kill -9 ${PF_PID}
Anda akan melihat respons JSON dari model yang menjawab pertanyaan.
Hapus workload inferensi:
kubectl delete --ignore-not-found --kustomize "${ACP_REPO_DIR}/platforms/gke/base/use-cases/inference-ref-arch/kubernetes-manifests/online-inference-gpu/vllm/${ACCELERATOR_TYPE}-${HF_MODEL_NAME}"
Hapus cluster GKE dasar:
Autopilot
"${ACP_REPO_DIR}/platforms/gke/base/tutorials/hf-gpu-model/teardown-ap.sh"
Standar
"${ACP_REPO_DIR}/platforms/gke/base/tutorials/hf-gpu-model/teardown-standard.sh"
- Pelajari lebih lanjut inferensi model AI/ML di GKE.
- Analisis performa dan biaya inferensi model dengan alat Panduan Memulai Inferensi GKE.
- Pelajari pola dan kasus penggunaan lainnya di GitHub yang dibangun berdasarkan arsitektur ini.
Mendapatkan akses ke model
Untuk mengakses model melalui Hugging Face, Anda memerlukan token Hugging Face.
Ikuti langkah-langkah berikut untuk membuat token baru jika Anda belum memilikinya:
Menyediakan lingkungan inferensi GKE
Di bagian ini, Anda akan men-deploy infrastruktur yang diperlukan untuk menayangkan model.
Meluncurkan Cloud Shell
Panduan ini menggunakan Cloud Shell untuk menjalankan perintah. Cloud Shell telah diinstal sebelumnya dengan alat yang diperlukan, termasuk
gcloud
,kubectl
, dangit
.Di Google Cloud konsol, mulai instance Cloud Shell:
Tindakan ini akan meluncurkan sesi di panel bawah konsol Google Cloud .
Men-deploy arsitektur dasar
Untuk menyediakan cluster GKE dan resource yang diperlukan untuk mengakses model dari Hugging Face, ikuti langkah-langkah berikut:
Men-deploy model terbuka
Sekarang Anda siap mendownload dan men-deploy model.
Menguji deployment Anda
Pembersihan
Untuk menghindari timbulnya tagihan, hapus semua resource yang Anda buat.
Langkah berikutnya
-