Halaman ini menjelaskan cara menggunakan Panduan Mulai Cepat GKE Inference untuk menyederhanakan deployment workload inferensi AI/ML di Google Kubernetes Engine (GKE). Panduan Memulai Inferensia adalah utilitas yang memungkinkan Anda menentukan persyaratan bisnis inferensi dan mendapatkan konfigurasi Kubernetes yang dioptimalkan berdasarkan praktik terbaik dan benchmark Google untuk model, server model, akselerator (GPU, TPU), dan penskalaan. Hal ini membantu Anda menghindari proses yang memakan waktu untuk menyesuaikan dan menguji konfigurasi secara manual.
Halaman ini ditujukan untuk engineer Machine Learning (ML), admin dan operator Platform, serta untuk spesialis Data dan AI yang ingin memahami cara mengelola dan mengoptimalkan GKE secara efisien untuk inferensi AI/ML. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud , lihat Peran dan tugas pengguna GKE Enterprise umum.
Untuk mempelajari lebih lanjut konsep dan terminologi penayangan model, serta cara kemampuan GKE Gen AI dapat meningkatkan dan mendukung performa penayangan model Anda, lihat Tentang inferensi model di GKE.
Sebelum membaca halaman ini, pastikan Anda sudah memahami Kubernetes, GKE, dan penayangan model.
Menggunakan Panduan Memulai Inferensia
Langkah-langkah tingkat tinggi untuk menggunakan Inference Quickstart adalah sebagai berikut. Klik link untuk mengetahui petunjuk mendetail.
- Melihat praktik terbaik yang disesuaikan: menggunakan Google Cloud CLI di terminal,
mulailah dengan memberikan input seperti model terbuka
pilihan Anda (misalnya, Llama, Gemma, atau Mistral).
- Anda dapat menentukan target latensi aplikasi, yang menunjukkan apakah aplikasi tersebut sensitif terhadap latensi (seperti chatbot) atau sensitif terhadap throughput (seperti analisis batch).
- Berdasarkan persyaratan Anda, Inference Quickstart menyediakan pilihan akselerator, metrik performa, dan manifes Kubernetes, yang memberi Anda kontrol penuh untuk deployment atau modifikasi lebih lanjut. Manifes yang dihasilkan mereferensikan image server model publik, sehingga Anda tidak perlu membuat image ini sendiri.
- Men-deploy manifes: menggunakan perintah
kubectl apply
, deploy manifes yang direkomendasikan dari command line. Sebelum men-deploy, Anda harus memastikan bahwa Anda memiliki kuota akselerator yang memadai untuk GPU atau TPU yang dipilih dalam project Google Cloud . - Memantau performa: gunakan Cloud Monitoring untuk memantau metrik yang digunakan GKE untuk memantau performa beban kerja. Anda dapat melihat dasbor khusus server model, dan menyesuaikan deployment sesuai kebutuhan.
Manfaat
Panduan Memulai Inferen membantu Anda menghemat waktu dan resource dengan menyediakan konfigurasi yang dioptimalkan. Pengoptimalan ini meningkatkan performa dan mengurangi biaya infrastruktur, dengan cara berikut:
- Anda akan menerima praktik terbaik yang disesuaikan secara mendetail untuk menetapkan akselerator (GPU dan TPU), server model, dan konfigurasi penskalaan. GKE secara rutin mengupdate alat ini dengan perbaikan, image, dan benchmark performa terbaru.
- Anda dapat menentukan persyaratan latensi dan throughput beban kerja dari antarmuka command line, dan mendapatkan praktik terbaik yang disesuaikan secara mendetail sebagai manifes deployment Kubernetes.
Kasus penggunaan
Panduan Memulai Inferensia cocok untuk skenario seperti berikut:
- Menemukan arsitektur inferensi GKE yang optimal: jika Anda bertransisi dari lingkungan lain, seperti di lokasi atau penyedia cloud lain, dan ingin arsitektur inferensi yang direkomendasikan terbaru di GKE untuk kebutuhan performa spesifik Anda.
- Mempercepat deployment inferensi AI/ML: jika Anda adalah pengguna Kubernetes berpengalaman dan ingin mulai men-deploy beban kerja inferensi AI dengan cepat, Panduan Memulai Inferensi membantu Anda menemukan dan menerapkan deployment praktik terbaik di GKE, dengan konfigurasi YAML mendetail berdasarkan praktik terbaik.
- Menjelajahi TPU untuk performa yang lebih baik: jika sudah menggunakan Kubernetes di GKE dengan GPU, Anda dapat menggunakan Inference Quickstart untuk mempelajari manfaat penggunaan TPU yang berpotensi menghasilkan performa yang lebih baik.
Cara kerjanya
Inference Quickstart memberikan praktik terbaik yang disesuaikan berdasarkan benchmark internal Google yang komprehensif performa satu replika untuk kombinasi model, server model, dan topologi akselerator. Benchmark ini membuat grafik latensi versus throughput, termasuk ukuran antrean dan metrik cache KV, yang memetakan kurva performa untuk setiap kombinasi.
Cara praktik terbaik yang disesuaikan dibuat
Kami mengukur latensi dalam Waktu Normal per Token Output (NTPOT) dalam milidetik dan throughput dalam token output per detik, dengan memaksimalkan akselerator. Untuk mempelajari metrik performa ini lebih lanjut, lihat Tentang inferensi model di GKE.
Contoh profil latensi berikut mengilustrasikan titik infleksi saat throughput mencapai dataran tinggi (hijau), titik pasca-infleksi saat latensi memburuk (merah), dan zona ideal (biru) untuk throughput optimal pada target latensi. Panduan Mulai Cepat Inferensia menyediakan data performa dan konfigurasi untuk zona ideal ini.
Berdasarkan persyaratan latensi aplikasi inferensi, Inference Quickstart mengidentifikasi kombinasi yang sesuai dan menentukan titik operasi yang optimal pada kurva throughput latensi. Titik ini menetapkan nilai minimum Horizontal Pod Autoscaler (HPA), dengan buffer untuk memperhitungkan latensi penskalaan. Batas keseluruhan juga menginformasikan jumlah replika awal yang diperlukan, meskipun HPA secara dinamis menyesuaikan jumlah ini berdasarkan beban kerja.
Tolok ukur
Konfigurasi dan data performa yang diberikan didasarkan pada benchmark yang menggunakan set data ShareGPT untuk mengirim traffic dengan distribusi input dan output berikut.
Token Input | Token Output | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Mnt | Median | Rata-rata | P90 | P99 | Maks | Mnt | Median | Rata-rata | P90 | P99 | Maks |
4 | 108 | 226 | 635 | 887 | 1024 | 1 | 132 | 195 | 488 | 778 | 1024 |
Untuk menjalankan benchmark sendiri, ikuti petunjuk di AI-Hypercomputer/inference-benchmark. Kami menyediakan berbagai opsi yang dapat Anda gunakan selama benchmark untuk menyimulasikan pola beban yang mewakili beban kerja Anda.
Sebelum memulai
Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:
- Aktifkan Google Kubernetes Engine API. Aktifkan Google Kubernetes Engine API
- Jika ingin menggunakan Google Cloud CLI untuk tugas ini,
instal lalu
lakukan inisialisasi
gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan
gcloud components update
.
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud .
Pastikan penagihan diaktifkan untuk Google Cloud project Anda.
Pastikan Anda memiliki kapasitas akselerator yang memadai untuk project Anda:
- Jika Anda menggunakan GPU: Periksa halaman Kuota.
- Jika Anda menggunakan TPU: Lihat Memastikan kuota untuk TPU dan resource GKE lainnya.
Buat token akses Hugging Face dan Secret Kubernetes yang sesuai, jika Anda belum memilikinya. Untuk membuat Secret Kubernetes yang berisi token Hugging Face, jalankan perintah berikut:
kubectl create secret generic hf-secret \ --from-literal=hf_api_token=HUGGING_FACE_TOKEN \ --namespace=NAMESPACE
Ganti nilai berikut:
- HUGGING_FACE_TOKEN: token Hugging Face yang Anda buat sebelumnya.
- NAMESPACE: namespace Kubernetes tempat Anda ingin men-deploy server model.
Beberapa model mungkin juga mengharuskan Anda menyetujui dan menandatangani perjanjian lisensi izin mereka.
Jika menggunakan gcloud CLI untuk menjalankan Panduan Memulai Inferensia, Anda juga perlu menjalankan perintah tambahan berikut:
Aktifkan API
gkerecommender.googleapis.com
:gcloud services enable gkerecommender.googleapis.com
Aktifkan autentikasi perintah (langkah ini diperlukan untuk menetapkan project penagihan dan kuota yang digunakan untuk panggilan API):
gcloud auth application-default login
Batasan
Perhatikan batasan berikut sebelum Anda mulai menggunakan Panduan Memulai Inferensi:
- Panduan Memulai Inferensia tidak menyediakan profil untuk semua model yang didukung oleh server model tertentu.
Mendapatkan konfigurasi yang dioptimalkan untuk inferensi model
Gunakan perintah gcloud alpha container ai recommender
untuk menjelajahi dan
melihat kombinasi model, server model, versi server model, dan
accelerator yang dioptimalkan:
Model
Untuk menjelajahi dan memilih model, gunakan opsi models
.
gcloud alpha container ai recommender models list
Outputnya terlihat mirip dengan yang berikut ini:
Supported models:
- deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
- google/gemma-2-27b-it
- google/gemma-2-2b-it
- meta-llama/Llama-3.2-1B-Instruct
- meta-llama/Llama-3.3-70B-Instruct
- meta-llama/Meta-Llama-3-8B
- mistralai/Mixtral-8x22B-Instruct-v0.1
- mistralai/Mixtral-8x7B-Instruct-v0.1
Server model
Untuk menjelajahi server model yang direkomendasikan untuk model yang Anda minati, gunakan opsi model-servers
. Contoh:
gcloud alpha container ai recommender model-servers list \
--model=meta-llama/Meta-Llama-3-8B
Outputnya terlihat mirip dengan yang berikut ini:
Supported model servers:
- vllm
Versi server
Secara opsional, untuk menjelajahi versi server model yang didukung yang Anda minati,
gunakan opsi model-server-versions
. Jika Anda melewati langkah ini,
Panduan Memulai Inferen akan ditetapkan secara default ke versi terbaru.
Contoh:
gcloud alpha container ai recommender model-server-versions list \
--model=meta-llama/Meta-Llama-3-8B \
--model-server=vllm
Outputnya terlihat mirip dengan yang berikut ini:
Supported model server versions:
- e92694b6fe264a85371317295bca6643508034ef
- v0.7.2
Akselerator
Untuk menjelajahi akselerator yang direkomendasikan untuk kombinasi model dan server
model yang Anda minati, gunakan opsi accelerators
.
Contoh:
gcloud alpha container ai recommender accelerators list \
--model=deepseek-ai/DeepSeek-R1-Distill-Qwen-7B \
--model-server-version=v0.7.2
Outputnya terlihat mirip dengan yang berikut ini:
Supported accelerators:
accelerator | model | model server | model server version | accelerator count | output tokens per second | ntpot ms
---------------------|-----------------------------------------|--------------|------------------------------------------|-------------------|--------------------------|---------
nvidia-tesla-a100 | deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | vllm | v0.7.2 | 1 | 3357 | 72
nvidia-h100-80gb | deepseek-ai/DeepSeek-R1-Distill-Qwen-7B | vllm | v0.7.2 | 1 | 6934 | 30
For more details on each accelerator, use --format=yaml
Output akan menampilkan daftar jenis akselerator, dan metrik berikut:
- Throughput, dalam token output per detik
- Waktu normalisasi per token output (NTPOT), dalam milidetik
Nilai ini mewakili performa yang diamati pada titik saat throughput berhenti meningkat dan latensi mulai meningkat secara drastis (yaitu, titik infleksi atau saturasi) untuk profil tertentu dengan jenis akselerator ini. Untuk mempelajari metrik performa ini lebih lanjut, lihat Tentang inferensi model di GKE.
Untuk opsi tambahan, lihat dokumentasi Google Cloud CLI.
Setelah memilih model, server model, versi server model, dan akselerator, Anda dapat melanjutkan untuk membuat manifes deployment.
Membuat dan men-deploy konfigurasi yang direkomendasikan
Bagian ini menjelaskan cara membuat dan men-deploy rekomendasi konfigurasi menggunakan gcloud CLI.
Buat manifes: Di terminal, gunakan opsi
manifests
untuk membuat manifes Deployment, Service, dan PodMonitoring:gcloud alpha container ai recommender manifests create
Gunakan parameter
--model
,--model-server
,--model-server-version
, dan--accelerator
untuk menyesuaikan manifes Anda.Secara opsional, Anda dapat menetapkan parameter berikut:
--target-ntpot-milliseconds
: Tetapkan parameter ini untuk menentukan nilai minimum HPA Anda. Parameter ini memungkinkan Anda menentukan nilai minimum penskalaan untuk mempertahankan latensi P50 NTPOT (Normalized Time Per Output Token), yang diukur pada kuartil ke-50, di bawah nilai yang ditentukan. Pilih nilai di atas latensi minimum akselerator Anda. HPA akan dikonfigurasi untuk throughput maksimum jika Anda menentukan NTPOT di atas latensi maksimum akselerator. Berikut contohnya:gcloud alpha container ai recommender manifests create \ --model=google/gemma-2-27b-it \ --model-server=vllm \ --model-server-version=v0.7.2 \ --accelerator-type=nvidia-l4 \ --target-ntpot-milliseconds=200
--output
: Nilai yang valid mencakupmanifest
,comments
, danall
. Secara default, nilai ini ditetapkan keall
. Anda dapat memilih untuk hanya menampilkan manifes untuk men-deploy beban kerja, atau Anda dapat memilih untuk hanya menampilkan komentar jika ingin melihat petunjuk untuk mengaktifkan fitur.--output-path
: Jika ditentukan, output akan disimpan ke jalur yang disediakan, bukan dicetak ke terminal sehingga Anda dapat mengedit output sebelum men-deploy-nya. Misalnya, Anda dapat menggunakannya dengan opsi--output=manifest
jika ingin menyimpan manifes dalam file YAML. Berikut contohnya:gcloud alpha container ai recommender manifests create \ --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B \ --model-server vllm \ --accelerator-type=nvidia-tesla-a100 \ --output=manifest \ --output-path /tmp/manifests.yaml
Untuk opsi tambahan, lihat dokumentasi Google Cloud CLI.
Siapkan infrastruktur Anda: pastikan infrastruktur Anda disiapkan dengan benar untuk deployment, pemantauan, dan penskalaan model dengan mengikuti langkah-langkah ini.
Deploy manifes: jalankan perintah
kubectl apply
dan teruskan file YAML untuk manifes Anda. Contoh:kubectl apply -f ./manifests.yaml
Menyediakan infrastruktur
Ikuti langkah-langkah berikut untuk memastikan infrastruktur Anda disiapkan dengan benar untuk deployment, pemantauan, dan penskalaan model:
Buat cluster: Anda dapat menayangkan model di cluster GKE Autopilot atau Standard. Sebaiknya gunakan cluster Autopilot untuk pengalaman Kubernetes yang dikelola sepenuhnya. Untuk memilih mode operasi GKE yang paling sesuai untuk workload Anda, lihat Memilih mode operasi GKE.
Jika Anda tidak memiliki cluster, ikuti langkah-langkah berikut:
Autopilot
Ikuti petunjuk ini untuk membuat cluster Autopilot. GKE menangani penyediaan node dengan kapasitas GPU atau TPU berdasarkan manifes deployment, jika Anda memiliki kuota yang diperlukan dalam project.
Standar
- Buat cluster zona atau regional.
Buat node pool dengan akselerator yang sesuai. Ikuti langkah-langkah berikut berdasarkan jenis akselerator yang Anda pilih:
- GPU: Pertama, periksa halaman Kuota di Konsol Google Cloud untuk memastikan Anda memiliki kapasitas GPU yang memadai. Kemudian, ikuti petunjuk di bagian Membuat node pool GPU.
- TPU: Pertama, pastikan Anda memiliki TPU yang memadai dengan mengikuti petunjuk di Memastikan kuota untuk TPU dan resource GKE lainnya. Kemudian, lanjutkan ke Membuat node pool TPU.
(Opsional, tetapi direkomendasikan) Mengaktifkan fitur observabilitas: Di bagian komentar manifes yang dihasilkan, perintah tambahan disediakan untuk mengaktifkan fitur observabilitas yang disarankan. Mengaktifkan fitur ini akan memberikan lebih banyak insight untuk membantu Anda memantau performa dan status beban kerja serta infrastruktur yang mendasarinya.
Berikut adalah contoh perintah untuk mengaktifkan fitur visibilitas:
gcloud beta container clusters update $CLUSTER_NAME --project=$PROJECT_ID --location=$LOCATION \ --enable-managed-prometheus \ --logging=SYSTEM,WORKLOAD \ --monitoring=SYSTEM,DEPLOYMENT,HPA,POD,DCGM \ --auto-monitoring-scope=ALL
Untuk mengetahui informasi selengkapnya, lihat Memantau workload inferensi
(Khusus HPA) Men-deploy adaptor metrik: Adaptor metrik, seperti Adaptor Stackdriver Metrik Kustom, diperlukan jika resource HPA dibuat dalam manifes deployment. Adaptor metrik memungkinkan HPA mengakses metrik server model yang menggunakan kube external metrics API. Untuk men-deploy adaptor, lihat dokumentasi adaptor di GitHub.
Menguji endpoint deployment
Layanan yang di-deploy ditampilkan di endpoint berikut:
http://model-model_server-service:port/
Uji layanan Anda. Di terminal terpisah, siapkan penerusan port dengan menjalankan perintah berikut:
kubectl port-forward service/model-model_server-service 8000:8000
Untuk contoh cara mem-build dan mengirim permintaan ke endpoint, lihat dokumentasi vLLM.
Memantau workload inferensi
Untuk memantau workload inferensi yang di-deploy, buka Metrics Explorer di konsol Google Cloud.
Mengaktifkan pemantauan otomatis
GKE menyertakan fitur pemantauan otomatis yang merupakan bagian dari fitur observabilitas yang lebih luas. Fitur ini memindai cluster untuk menemukan workload yang berjalan di server model yang didukung dan men-deploy resource PodMonitoring yang memungkinkan metrik workload ini terlihat di Cloud Monitoring. Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan dan mengonfigurasi pemantauan otomatis, lihat Mengonfigurasi pemantauan aplikasi otomatis untuk workload.
Setelah mengaktifkan fitur ini, GKE akan menginstal dasbor bawaan untuk memantau aplikasi untuk beban kerja yang didukung.
Pemecahan masalah
- Jika Anda menetapkan latensi terlalu rendah, Panduan Memulai Inferen mungkin tidak menghasilkan rekomendasi. Untuk memperbaiki masalah ini, pilih target latensi antara latensi minimum dan maksimum yang diamati untuk akselerator yang Anda pilih.
- Panduan Memulai Inferensia ada secara terpisah dari komponen GKE, sehingga versi cluster Anda tidak relevan secara langsung untuk menggunakan layanan. Namun, sebaiknya gunakan cluster baru atau yang terbaru untuk menghindari perbedaan performa.
- Jika Anda mendapatkan error
PERMISSION_DENIED
untuk perintahgkerecommender.googleapis.com
yang menyatakan bahwa project kuota tidak ada dengan ADC, Anda harus menetapkannya secara manual. Jalankangcloud config set billing/quota_project PROJECT_ID
untuk memperbaikinya.
Langkah berikutnya
- Kunjungi portal orkestrasi AI/ML di GKE untuk menjelajahi panduan, tutorial, dan kasus penggunaan resmi kami untuk menjalankan workload AI/ML di GKE.
- Untuk informasi selengkapnya tentang pengoptimalan penayangan model, lihat Praktik terbaik untuk mengoptimalkan inferensi model bahasa besar dengan GPU. Panduan ini membahas praktik terbaik untuk penayangan LLM dengan GPU di GKE, seperti kuantisasi, paralelisme tensor, dan pengelolaan memori.
- Untuk informasi selengkapnya tentang praktik terbaik untuk penskalaan otomatis, lihat panduan berikut:
- Pelajari contoh, praktik terbaik, dan alat tambahan di repositori GitHub ai-on-gke.