Tutorial ini menunjukkan cara men-deploy dan menyajikan model bahasa gpt-oss-120b menggunakan framework vLLM.
Anda men-deploy model ini di cluster autopilot Google Kubernetes Engine (GKE) dan menggunakan satu virtual machine (VM) A4 yang memiliki 8 GPU B200.
Tutorial ini ditujukan untuk engineer machine learning (ML), administrator dan operator platform, serta spesialis data dan AI yang tertarik menggunakan kemampuan orkestrasi container Kubernetes untuk menangani workload inferensi.
Tujuan
- Akses
gpt-oss-120bmenggunakan Hugging Face. - Menyiapkan lingkungan Anda.
- Membuat cluster GKE dalam mode Autopilot.
- Buat secret Kubernetes untuk kredensial Hugging Face.
- Membuat bucket Cloud Storage.
- Download model ke bucket Cloud Storage Anda.
- Men-deploy container vLLM ke cluster GKE Anda.
- Berinteraksi dengan model bahasa gpt-oss menggunakan curl.
- Jalankan pembersihan.
Biaya
Tutorial ini menggunakan komponen Google Cloudyang dapat ditagih, termasuk:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan Kalkulator Harga.
Sebelum memulai
- 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.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih project Google Cloud .
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat project Google Cloud :
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Pastikan penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan API yang diperlukan, jika belum diaktifkan:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud services enable container.googleapis.com
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Buat atau pilih project Google Cloud .
Peran yang diperlukan untuk memilih atau membuat project
- Memilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project apa pun yang perannya telah diberikan kepada Anda.
-
Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator
(
roles/resourcemanager.projectCreator), yang berisi izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat project Google Cloud :
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama project Google Cloud Anda.
-
Pastikan penagihan diaktifkan untuk project Google Cloud Anda.
Aktifkan API yang diperlukan, jika belum diaktifkan:
Peran yang diperlukan untuk mengaktifkan API
Untuk mengaktifkan API, Anda memerlukan izin
serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Service Usage Admin (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.gcloud services enable container.googleapis.com
-
Berikan peran ke akun pengguna Anda. Jalankan perintah berikut satu kali untuk setiap peran IAM berikut:
roles/container.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Ganti kode berikut:
PROJECT_ID: Project ID Anda.USER_IDENTIFIER: ID untuk akun pengguna Anda. Misalnya,myemail@example.com.ROLE: Peran IAM yang Anda berikan ke akun pengguna Anda.
- Login atau buat akun Hugging Face.
Mengakses gpt-oss menggunakan Hugging Face
Untuk menggunakan Hugging Face guna mengakses gpt-oss, lakukan hal berikut:
- Login ke Hugging Face dan pelajari model gpt-oss.
- Buat token akses
readHugging Face. - Salin dan simpan nilai token
read access. Anda akan menggunakannya nanti dalam tutorial ini.
Menyiapkan lingkungan Anda
Untuk menyiapkan lingkungan Anda, tetapkan variabel lingkungan default:
Ganti kode berikut:
YOUR_PROJECT_ID: ID project Google Cloud tempat Anda ingin membuat cluster GKE.YOUR_RESERVATION_NAME: URL pemesanan yang ingin Anda gunakan untuk membuat cluster GKE. Berdasarkan project tempat pemesanan berada, tentukan salah satu nilai berikut:Pemesanan ada di project Anda:
RESERVATION_NAMEPemesanan ada di project lain, dan project Anda dapat menggunakan pemesanan:
projects/RESERVATION_PROJECT_ID/reservations/RESERVATION_NAME
YOUR_REGION: region tempat Anda ingin membuat cluster GKE. Anda hanya dapat membuat cluster di region tempat pemesanan Anda berada.YOUR_CLUSTER_NAME: nama cluster GKE yang akan dibuat.YOUR_GCS_BUCKET: nama bucket Cloud Storage tempat Anda mendownload model.YOUR_HF_TOKEN: token akses Hugging Face yang Anda buat di bagian sebelumnya.YOUR_NETWORK_NAME: jaringan yang digunakan cluster GKE. Tentukan salah satu nilai berikut:Jika Anda membuat jaringan kustom, tentukan nama jaringan Anda.
Jika tidak, tentukan
default.
YOUR_SUBNETWORK_NAME: subnetwork yang digunakan cluster GKE. Tentukan salah satu nilai berikut:Jika Anda membuat subnetwork kustom, tentukan nama subnetwork Anda. Anda hanya dapat menentukan subnetwork yang ada di region yang sama dengan pemesanan.
Jika tidak, tentukan
default.
Membuat cluster GKE dalam mode Autopilot
Untuk membuat cluster GKE dalam mode Autopilot, jalankan perintah berikut:
Mungkin perlu waktu beberapa saat untuk membuat cluster GKE. Untuk memastikan bahwa Google Cloud telah selesai membuat cluster, buka cluster Kubernetes di konsol Google Cloud .
Membuat secret Kubernetes untuk kredensial Hugging Face
Untuk membuat secret Kubernetes untuk kredensial Hugging Face, lakukan hal berikut:
Konfigurasi
kubectluntuk berkomunikasi dengan cluster GKE Anda:Buat secret Kubernetes untuk menyimpan token Hugging Face Anda:
Membuat bucket Cloud Storage
Jika Anda menggunakan bucket Cloud Storage yang ada, pastikan hal berikut benar:
- Bucket Cloud Storage Anda berada di region yang sama dengan cluster GKE Anda.
- Akun layanan Anda memiliki izin
writeyang diperlukan di bucket.
Untuk menyimpan model Anda di bucket Cloud Storage baru, selesaikan langkah-langkah berikut:
Jalankan perintah berikut untuk membuat bucket:
Berikan izin
writedi bucket Cloud Storage ke akun layanan default.
Mendownload model ke bucket Cloud Storage Anda
Untuk mendownload model ke bucket Cloud Storage, selesaikan langkah-langkah berikut:
Buat file
gpt-download-job.yaml:Untuk melakukan inisialisasi tugas download, terapkan manifes
gpt-download-job.yaml.Resource tugas mendownload bobot model
gpt-oss-120bdari Hugging Face ke bucket Cloud Storage Anda. Proses download memerlukan waktu sekitar 30 menit. Setelah download selesai, lanjutkan ke bagian berikutnya untuk meluncurkan deployment model.Untuk melihat status penyelesaian, jalankan perintah berikut:
Flag
--timeoutmenentukan berapa lama perintah memantau tugas sebelum waktu tunggu habis.Untuk menghapus tugas, jalankan perintah berikut:
Men-deploy container vLLM ke cluster GKE Anda
Setelah mendownload model ke bucket Cloud Storage, deploy container vLLM ke cluster GKE Anda:
Buat file
vllm-gpt-oss-120b.yamldengan deployment vLLM yang Anda pilih:Terapkan file
vllm-gpt-oss-120b.yamlke cluster GKE Anda:Untuk melihat status penyelesaian, jalankan perintah berikut:
Flag--timeoutmemungkinkan perintah memantau deployment selama jangka waktu yang ditentukan.
Berinteraksi dengan model gpt-oss menggunakan curl
Untuk memverifikasi model gpt-oss yang Anda deploy, lakukan hal berikut:
Siapkan penerusan port ke model
gpt-oss:Buka jendela terminal baru. Kemudian, Anda dapat melakukan chat dengan model Anda menggunakan
curl:Output yang Anda lihat mirip dengan berikut ini:
{ "id": "chatcmpl-2235c39759c040daae23ce2addc40c0a", "object": "chat.completion", "created": 1756831629, "model": "openai/gpt-oss-120b", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "A sleek vessel gliding on water, its cloth sails billowing like captured wind.", "refusal": null, "annotations": null, "audio": null, "function_call": null, "tool_calls": [], "reasoning_content": "User asks: \"Describe a sailboat in one short sentence?\" We need to produce a short sentence description. Should comply with policy. It's fine. Provide a short sentence." }, "logprobs": null, "finish_reason": "stop", "stop_reason": null } ], "service_tier": null, "system_fingerprint": null, "usage": { "prompt_tokens": 80, "total_tokens": 142, "completion_tokens": 62, "prompt_tokens_details": null }, "prompt_logprobs": null, "kv_transfer_params": null }
Mengamati performa model
Untuk mengamati performa model, Anda dapat menggunakan integrasi dasbor vLLM di Cloud Monitoring. Dasbor ini membantu Anda melihat metrik performa penting untuk model Anda, seperti throughput token, latensi jaringan, dan tingkat error. Untuk mengetahui informasinya, lihat vLLM dalam dokumentasi Monitoring.
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 resource
Setelah menyelesaikan tutorial, hapus resource yang tidak diperlukan lagi.
Untuk menghapus deployment dan layanan yang ditentukan dalam file
vllm-gpt-oss-120b.yamldan secret Kubernetes dari cluster GKE, jalankan perintah berikut:Untuk menghapus bucket Cloud Storage, jalankan perintah berikut:
Untuk menghapus cluster GKE, lakukan hal berikut:
Menghapus project Anda
Menghapus project Google Cloud :
gcloud projects delete PROJECT_ID