Halaman ini menjelaskan cara menggunakan Panduan memulai Inferensi GKE untuk menyederhanakan deployment workload inferensi AI/ML di Google Kubernetes Engine (GKE). Panduan Memulai Inferensi adalah utilitas yang memungkinkan Anda menentukan persyaratan bisnis inferensi dan mendapatkan konfigurasi Kubernetes yang dioptimalkan berdasarkan praktik terbaik dan tolok ukur Google untuk model, server model, akselerator (GPU, TPU), dan penskalaan. Hal ini membantu Anda menghindari proses penyesuaian dan pengujian konfigurasi secara manual yang memakan waktu.
Halaman ini ditujukan untuk engineer Machine learning (ML), Admin dan operator platform, serta 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, lihat Peran dan tugas pengguna umum GKE Enterprise. Google Cloud
Untuk mempelajari lebih lanjut konsep dan terminologi penayangan model, serta cara kemampuan AI Generatif GKE dapat meningkatkan dan mendukung performa penayangan model Anda, lihat Tentang inferensi model di GKE.
Sebelum membaca halaman ini, pastikan Anda memahami Kubernetes, GKE, dan penyajian model.
Menggunakan Panduan Memulai Inferensi
Langkah-langkah tingkat tinggi untuk menggunakan Mulai Cepat Inferensi adalah sebagai berikut. Klik link untuk melihat petunjuk mendetail.
- Melihat praktik terbaik yang disesuaikan: menggunakan halaman AI/ML GKE di konsol Google Cloud , atau 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, Mulai Cepat Inferensi menyediakan pilihan akselerator, metrik performa, dan manifes Kubernetes, yang memberi Anda kontrol penuh untuk deployment atau modifikasi lebih lanjut. Manifes yang dibuat mereferensikan image server model publik, sehingga Anda tidak perlu membuat image ini sendiri.
- Deploy manifes: menggunakan konsol Google Cloud , atau menggunakan
perintah
kubectl apply
, deploy manifes yang direkomendasikan. Sebelum men-deploy, Anda harus memastikan bahwa Anda memiliki kuota akselerator yang cukup untuk GPU atau TPU yang dipilih di project Anda. Google Cloud - Pantau performa: gunakan Cloud Monitoring untuk memantau metrik performa beban kerja yang disediakan oleh GKE. Anda dapat melihat dasbor server model dan menyesuaikan deployment sesuai kebutuhan.
Manfaat
Panduan Memulai Inferensi membantu Anda menghemat waktu dan sumber daya dengan memberikan konfigurasi yang dioptimalkan. Pengoptimalan ini meningkatkan performa dan mengurangi biaya infrastruktur dengan cara berikut:
- Anda akan menerima praktik terbaik mendetail yang disesuaikan untuk menyetel konfigurasi akselerator (GPU dan TPU), server model, dan penskalaan. GKE secara rutin mengupdate alat ini dengan perbaikan, image, dan tolok ukur performa terbaru.
- Anda dapat menentukan persyaratan latensi dan throughput beban kerja menggunakan Google Cloud UI konsol atau antarmuka command line, dan mendapatkan praktik terbaik yang disesuaikan dan mendetail sebagai manifes deployment Kubernetes.
Kasus penggunaan
Panduan Memulai Inferensi cocok untuk skenario seperti berikut:
- Temukan arsitektur inferensi GKE yang optimal: jika Anda beralih dari lingkungan lain, seperti lokal atau penyedia cloud lain, dan menginginkan arsitektur inferensi yang direkomendasikan dan paling baru di GKE untuk kebutuhan performa spesifik Anda.
- Mempercepat deployment inferensi AI/ML: jika Anda adalah pengguna Kubernetes yang berpengalaman dan ingin segera mulai men-deploy beban kerja inferensi AI, Panduan memulai cepat Inferensi akan membantu Anda menemukan dan menerapkan deployment praktik terbaik di GKE, dengan konfigurasi YAML mendetail berdasarkan praktik terbaik.
- Jelajahi TPU untuk meningkatkan performa: jika Anda sudah menggunakan Kubernetes di GKE dengan GPU, Anda dapat menggunakan Panduan Memulai Inferensi untuk mempelajari manfaat penggunaan TPU untuk berpotensi mencapai performa yang lebih baik.
Cara kerjanya
Panduan Memulai Inferensi memberikan praktik terbaik yang disesuaikan berdasarkan tolok ukur internal Google yang komprehensif tentang performa satu replika untuk kombinasi model, server model, dan topologi akselerator. Grafik tolok ukur ini memetakan latensi versus throughput, termasuk metrik ukuran antrean dan cache KV, yang memetakan kurva performa untuk setiap kombinasi.
Cara praktik terbaik yang disesuaikan dibuat
Kami mengukur latensi dalam Normalized Time per Output Token (NTPOT) dalam milidetik dan throughput dalam token output per detik, dengan membebani akselerator. Untuk mempelajari lebih lanjut metrik performa ini, lihat Tentang inferensi model di GKE.
Profil latensi contoh berikut mengilustrasikan titik infleksi saat throughput mencapai titik stabil (hijau), titik pasca-infleksi saat latensi memburuk (merah), dan zona ideal (biru) untuk throughput optimal pada target latensi. Panduan Memulai Inferensi menyediakan data performa dan konfigurasi untuk zona ideal ini.
Berdasarkan persyaratan latensi aplikasi inferensi, Mulai Cepat Inferensi mengidentifikasi kombinasi yang sesuai dan menentukan titik operasi yang optimal pada kurva latensi-throughput. Titik ini menetapkan batas Horizontal Pod Autoscaler (HPA), dengan buffer untuk memperhitungkan latensi penskalaan. Nilai minimum keseluruhan juga menginformasikan jumlah awal replika yang diperlukan, meskipun HPA menyesuaikan jumlah ini secara dinamis berdasarkan workload.
Tolok ukur
Konfigurasi dan data performa yang diberikan didasarkan pada tolok ukur 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 |
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 cukup 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 juga mungkin mengharuskan Anda menyetujui dan menandatangani perjanjian lisensi izin mereka.
Bersiap menggunakan antarmuka pengguna AI/ML GKE
Jika menggunakan konsol Google Cloud , Anda juga perlu membuat cluster Autopilot, jika belum dibuat di project Anda. Ikuti petunjuk di Membuat cluster Autopilot.
Bersiap menggunakan antarmuka command line
Jika Anda menggunakan gcloud CLI untuk menjalankan Panduan Memulai Inferensi, Anda juga perlu menjalankan perintah tambahan berikut:
Aktifkan API
gkerecommender.googleapis.com
:gcloud services enable gkerecommender.googleapis.com
Tetapkan project kuota penagihan yang Anda gunakan untuk panggilan API:
gcloud config set billing/quota_project PROJECT_ID
Pastikan versi gcloud CLI Anda minimal 526.0.0. Jika tidak, jalankan perintah berikut:
gcloud components update
Batasan
Perhatikan batasan berikut sebelum Anda mulai menggunakan Panduan Memulai Inferensi:
- Deployment model konsolGoogle Cloud hanya mendukung deployment ke cluster Autopilot.
- Panduan Memulai Inferensi tidak menyediakan profil untuk semua model yang didukung oleh server model tertentu.
Melihat konfigurasi yang dioptimalkan untuk inferensi model
Bagian ini menjelaskan cara membuat dan melihat rekomendasi konfigurasi dengan menggunakan konsol Google Cloud atau command line.
Konsol
- Klik Deploy Models.
Pilih model yang ingin Anda lihat. Model yang didukung oleh Panduan Memulai Inferensi ditampilkan dengan tag Dioptimalkan.
- Jika Anda memilih model dasar, halaman model akan terbuka. Klik Deploy. Anda masih dapat mengubah konfigurasi sebelum deployment sebenarnya.
- Anda akan diminta untuk membuat cluster Autopilot, jika belum ada di project Anda. Ikuti petunjuk di Membuat cluster Autopilot. Setelah membuat cluster, kembali ke halaman AI/ML GKE di konsol Google Cloud untuk memilih model.
Halaman deployment model akan diisi otomatis dengan model yang Anda pilih, serta server model dan akselerator yang direkomendasikan. Anda juga dapat mengonfigurasi setelan seperti latensi maksimum.
Untuk melihat manifes dengan konfigurasi yang direkomendasikan, klik View YAML.
gcloud
Gunakan perintah gcloud alpha container ai profiles
untuk menjelajahi dan
melihat kombinasi model, server model, versi server model, dan
akselerator yang dioptimalkan:
Model
Untuk menjelajahi dan memilih model, gunakan opsi models
.
gcloud alpha container ai profiles models list
Server model
Untuk menjelajahi server model yang direkomendasikan untuk model yang Anda minati, gunakan opsi model-servers
. Contoh:
gcloud alpha container ai profiles 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 dan Anda minati, gunakan opsi model-server-versions
. Jika Anda melewati langkah ini,
Panduan Memulai Inferensi akan menggunakan versi terbaru secara default.
Contoh:
gcloud alpha container ai profiles 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 profiles 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 menampilkan daftar jenis akselerator, dan metrik ini:
- Throughput, dalam token output per detik
- Waktu yang dinormalisasi per token output (NTPOT), dalam milidetik
Nilai ini mewakili performa yang diamati pada titik saat throughput berhenti meningkat dan latensi mulai meningkat secara signifikan (yaitu, titik infleksi atau saturasi) untuk profil tertentu dengan jenis akselerator ini. Untuk mempelajari lebih lanjut metrik performa ini, 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.
Men-deploy konfigurasi yang direkomendasikan
Bagian ini menjelaskan cara membuat dan men-deploy rekomendasi konfigurasi menggunakan konsol Google Cloud atau command line.
Konsol
- Klik Deploy Models.
Pilih model yang ingin Anda deploy. Model yang didukung oleh Panduan Memulai Inferensi ditampilkan dengan tag Dioptimalkan.
- Jika Anda memilih model dasar, halaman model akan terbuka. Klik Deploy. Anda masih dapat mengubah konfigurasi sebelum deployment sebenarnya.
- Anda akan diminta untuk membuat cluster Autopilot, jika belum ada di project Anda. Ikuti petunjuk di Membuat cluster Autopilot. Setelah membuat cluster, kembali ke halaman AI/ML GKE di konsol Google Cloud untuk memilih model.
Halaman deployment model akan diisi otomatis dengan model yang Anda pilih, serta server model dan akselerator yang direkomendasikan. Anda juga dapat mengonfigurasi setelan seperti latensi maksimum.
(Opsional) Untuk melihat manifes dengan konfigurasi yang direkomendasikan, klik Lihat YAML.
Untuk men-deploy manifes dengan konfigurasi yang direkomendasikan, klik Deploy. Mungkin perlu waktu beberapa menit hingga operasi deployment selesai.
Untuk melihat deployment Anda, buka halaman Kubernetes Engine > Workloads.
gcloud
Buat manifes: di terminal, gunakan opsi
manifests
untuk membuat manifes Deployment, Service, dan PodMonitoring:gcloud alpha container ai profiles manifests create
Gunakan parameter
--model
,--model-server
, dan--accelerator-type
yang diperlukan untuk menyesuaikan manifes Anda.Secara opsional, Anda dapat menetapkan parameter berikut:
--target-ntpot-milliseconds
: Tetapkan parameter ini untuk menentukan nilai minimum HPA. Parameter ini memungkinkan Anda menentukan nilai minimum penskalaan untuk menjaga latensi P50 Normalized Time Per Output Token (NTPOT), yang diukur pada kuartil kelima puluh, di bawah nilai yang ditentukan. Pilih nilai di atas latensi minimum akselerator Anda. HPA dikonfigurasi untuk throughput maksimum jika Anda menentukan nilai NTPOT di atas latensi maksimum akselerator. Contoh:gcloud alpha container ai profiles 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
--model-server-version
: Versi server model. Jika tidak ditentukan, defaultnya adalah versi terbaru.--namespace
: Namespace tempat men-deploy manifes. Namespace default adalah 'default'.--output
: Nilai yang valid mencakupmanifest
,comments
, danall
. Secara default, parameter ini disetel 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 diberikan, bukan dicetak ke terminal sehingga Anda dapat mengedit output sebelum men-deploy-nya. Misalnya, Anda dapat menggunakan opsi ini dengan--output=manifest
jika ingin menyimpan manifes dalam file YAML. Contoh:gcloud alpha container ai profiles 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.
Sediakan infrastruktur Anda: pastikan infrastruktur Anda disiapkan dengan benar untuk deployment, pemantauan, dan penskalaan model dengan mengikuti langkah-langkah penyediaan ini.
Deploy manifes: jalankan perintah
kubectl apply
dan teruskan file YAML untuk manifes Anda. Contoh:kubectl apply -f ./manifests.yaml
Menyediakan infrastruktur Anda
Ikuti langkah-langkah berikut untuk memastikan infrastruktur Anda disiapkan dengan benar untuk deployment, pemantauan, dan penskalaan model:
Membuat cluster: Anda dapat menayangkan model di cluster GKE Autopilot atau Standard. Sebaiknya gunakan cluster Autopilot untuk mendapatkan pengalaman Kubernetes yang terkelola sepenuhnya. Untuk memilih mode operasi GKE yang paling sesuai untuk workload Anda, lihat Memilih mode operasi GKE.
Jika Anda tidak memiliki cluster yang ada, ikuti langkah-langkah berikut:
Autopilot
Ikuti petunjuk berikut untuk membuat cluster Autopilot. GKE menangani penyediaan node dengan kapasitas GPU atau TPU berdasarkan manifes deployment, jika Anda memiliki kuota yang diperlukan di project Anda.
Standar
- Buat cluster zonal 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 Membuat node pool GPU.
- TPU: Pertama, pastikan Anda memiliki TPU yang cukup dengan mengikuti petunjuk di Memastikan kuota untuk TPU dan resource GKE lainnya. Kemudian, lanjutkan ke Membuat node pool TPU.
(Opsional, tetapi direkomendasikan) Aktifkan fitur pengamatan: Di bagian komentar manifes yang dihasilkan, perintah tambahan diberikan untuk mengaktifkan fitur pengamatan 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 kemampuan pengamatan:
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 Anda.
(Khusus HPA) Deploy adaptor metrik: Adaptor metrik, seperti Custom Metrics Stackdriver Adapter, 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 adapter, lihat dokumentasi adapter di GitHub.
Menguji endpoint deployment Anda
Jika Anda men-deploy manifes menggunakan command line, layanan yang di-deploy akan diekspos 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 membuat dan mengirim permintaan ke endpoint Anda, lihat dokumentasi vLLM.
Memantau workload inferensi Anda
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 kemampuan observasi yang lebih luas. Fitur ini memindai cluster untuk menemukan beban kerja yang berjalan di server model yang didukung dan men-deploy resource PodMonitoring yang memungkinkan metrik beban kerja 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 yang telah dibuat sebelumnya untuk memantau aplikasi untuk beban kerja yang didukung.
Jika Anda men-deploy dari halaman AI/ML GKE di konsol Google Cloud ,
resource PodMonitoring dan HPA akan otomatis dibuat untuk Anda menggunakan konfigurasi
targetNtpot
.
Pemecahan masalah
- Jika Anda menetapkan latensi terlalu rendah, Panduan Memulai Inferensi 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 Inferensi ada secara terpisah dari komponen GKE, sehingga versi cluster Anda tidak secara langsung relevan untuk menggunakan layanan ini. Namun, sebaiknya gunakan cluster baru atau yang sudah diupdate untuk menghindari perbedaan performa.
- Jika Anda mendapatkan error
PERMISSION_DENIED
untuk perintahgkerecommender.googleapis.com
yang menyatakan bahwa project kuota tidak ada, Anda harus menyetelnya secara manual. Jalankangcloud config set billing/quota_project PROJECT_ID
untuk memperbaikinya.
Langkah berikutnya
- Buka portal orkestrasi AI/ML di GKE untuk mempelajari panduan, tutorial, dan kasus penggunaan resmi kami untuk menjalankan workload AI/ML di GKE.
- Untuk mengetahui informasi selengkapnya tentang pengoptimalan penyajian model, lihat Praktik terbaik untuk mengoptimalkan inferensi model bahasa besar dengan GPU. Dokumen ini mencakup praktik terbaik untuk penayangan LLM dengan GPU di GKE, seperti kuantisasi, paralelisme tensor, dan pengelolaan memori.
- Untuk mengetahui informasi selengkapnya tentang praktik terbaik untuk penskalaan otomatis, lihat panduan berikut:
- Jelajahi contoh eksperimental untuk memanfaatkan GKE dalam mempercepat inisiatif AI/ML Anda di GKE AI Labs.