Tentang inferensi model AI/ML di GKE


Halaman ini menjelaskan konsep utama, manfaat, dan langkah-langkah untuk menjalankan workload inferensi model AI/ML generatif di Google Kubernetes Engine (GKE), menggunakan kemampuan AI Generatif GKE.

Penayangan inferensi sangat penting dalam men-deploy model AI generatif Anda ke aplikasi dunia nyata. GKE menyediakan platform yang andal dan skalabel untuk mengelola workload dalam container Anda, sehingga menjadikannya pilihan yang menarik untuk menayangkan model Anda dalam pengembangan atau produksi. Dengan GKE, Anda dapat menggunakan kemampuan Kubernetes untuk orkestrasi, penskalaan, dan ketersediaan tinggi guna men-deploy dan mengelola layanan inferensi secara efisien.

Menyadari permintaan spesifik inferensi AI/ML, Google Cloud telah memperkenalkan kemampuan AI Generatif GKE—serangkaian fitur yang dirancang khusus untuk meningkatkan dan mengoptimalkan penayangan inferensi di GKE. Untuk mengetahui informasi selengkapnya tentang fitur tertentu, lihat Kemampuan AI Generatif GKE.

Mulai menggunakan inferensi model AI/ML di GKE

Anda dapat mulai menjelajahi inferensi model AI/ML di GKE dalam hitungan menit. Anda dapat menggunakan paket gratis GKE, yang memungkinkan Anda mulai menggunakan Kubernetes tanpa menimbulkan biaya untuk pengelolaan cluster.

  1. Buka halaman AI/ML GKE di Google Cloud konsol

  2. Coba langkah-langkah Deploy Model untuk men-deploy model dan server model dalam container.
  3. Baca Merencanakan inferensi, yang berisi panduan dan referensi untuk merencanakan dan menjalankan workload inferensi Anda di GKE.

Terminologi

Halaman ini menggunakan terminologi berikut yang terkait dengan inferensi di GKE:

  • Inferensi: proses menjalankan model AI generatif, seperti model bahasa besar atau model difusi, dalam cluster GKE untuk membuat teks, embedding, atau output lain dari data input. Inferensi model di GKE memanfaatkan akselerator untuk menangani komputasi kompleks secara efisien untuk pemrosesan batch atau real-time.
  • Model: model AI generatif yang telah mempelajari pola dari data dan digunakan untuk inferensi. Model bervariasi dalam ukuran dan arsitektur, mulai dari model khusus domain yang lebih kecil hingga jaringan neural berparameter multi-miliar yang dioptimalkan untuk beragam tugas bahasa.
  • Server model: layanan dalam penampung yang bertanggung jawab untuk menerima permintaan inferensi dan menampilkan inferensi. Layanan ini dapat berupa aplikasi Python, atau solusi yang lebih andal seperti vLLM, JetStream, TensorFlow Serving, atau Triton Inference Server. Server model menangani pemuatan model ke dalam memori, dan menjalankan komputasi pada akselerator untuk menampilkan inferensi secara efisien.
  • Akselerator: hardware khusus, seperti Unit Pemrosesan Grafis (GPU) dari NVIDIA dan Tensor Processing Unit (TPU) dari Google, yang dapat dipasang ke node GKE untuk mempercepat komputasi, terutama untuk tugas pelatihan dan inferensi.

Manfaat GKE untuk inferensi

Penayangan inferensi di GKE memberikan beberapa manfaat:

  • Performa harga yang efisien: dapatkan nilai dan kecepatan untuk kebutuhan penayangan inferensi Anda. GKE memungkinkan Anda memilih dari berbagai akselerator berperforma tinggi (GPU dan TPU), sehingga Anda hanya membayar performa yang Anda butuhkan.
  • Deployment yang lebih cepat: percepat waktu pemasaran Anda dengan praktik terbaik, kualifikasi, dan praktik terbaik yang disesuaikan yang disediakan oleh kemampuan AI Generatif GKE.
  • Performa yang dapat diskalakan: menskalakan performa dengan pemantauan bawaan menggunakan GKE Inference Gateway, Horizontal Pod Autoscaling (HPA), dan metrik kustom. Anda dapat menjalankan berbagai model terlatih atau kustom, dari 8 miliar parameter hingga 671 miliar parameter.
  • Portabilitas penuh: nikmati manfaat portabilitas penuh dengan standar terbuka. Google berkontribusi pada Kubernetes API utama, termasuk Gateway dan LeaderWorkerSet, dan semua API dapat digunakan dengan distribusi Kubernetes.
  • Dukungan ekosistem: bangun di ekosistem GKE yang andal yang mendukung alat seperti Kueue untuk antrean dan pengelolaan resource tingkat lanjut, dan Ray untuk komputasi terdistribusi, guna memfasilitasi pelatihan dan inferensi model yang skalabel dan efisien.

Cara kerja inferensi di GKE

Bagian ini menjelaskan, secara umum, langkah-langkah untuk menggunakan GKE dalam penayangan inferensi:

  1. Mengemas model Anda ke dalam container: men-deploy model dengan mengemas server model ke dalam container (seperti vLLM), dan memuat bobot model dari Cloud Storage atau repositori seperti Hugging Face. Saat Anda menggunakan Panduan Memulai Inferensi GKE, image yang di-container akan dikelola secara otomatis dalam manifes untuk Anda.

  2. Buat cluster GKE: buat cluster GKE untuk menghosting deployment Anda. Pilih Autopilot untuk pengalaman yang dikelola atau Standard untuk penyesuaian. Konfigurasi ukuran cluster, jenis node, dan akselerator. Untuk konfigurasi yang dioptimalkan, gunakan Mulai Cepat Inferensi.

  3. Deploy model Anda sebagai Deployment Kubernetes: buat Deployment Kubernetes untuk mengelola layanan inferensi Anda. Deployment adalah objek Kubernetes API yang memungkinkan Anda menjalankan beberapa replika Pod yang didistribusikan di antara node dalam cluster. Tentukan image Docker, replika, dan setelan. Kubernetes menarik image dan menjalankan container Anda di node cluster GKE. Konfigurasi Pod dengan server model dan model Anda, termasuk adaptor LoRA jika diperlukan.

  4. Ekspos layanan inferensi Anda: buat layanan inferensi Anda dapat diakses dengan membuat Layanan Kubernetes untuk menyediakan endpoint jaringan untuk Deployment Anda. Gunakan Inference Gateway untuk load balancing dan perutean cerdas yang secara khusus disesuaikan untuk workload inferensi AI generatif.

  5. Menangani permintaan inferensi: mengirim data dari klien aplikasi Anda ke endpoint Layanan Anda, dalam format yang diharapkan (JSON, gRPC). Jika Anda menggunakan load balancer, load balancer akan mendistribusikan permintaan ke replika model. Server model memproses permintaan, menjalankan model, dan menampilkan inferensi.

  6. Menskalakan dan memantau deployment inferensi Anda: menskalakan inferensi dengan HPA untuk menyesuaikan replika secara otomatis berdasarkan CPU atau latensi. Gunakan Mulai Cepat Inferensi untuk mendapatkan rekomendasi penskalaan yang dibuat secara otomatis. Untuk melacak performa, gunakan Cloud Monitoring dan Cloud Logging dengan kemampuan pengamatan bawaan, termasuk dasbor untuk server model populer seperti vLLM.

Untuk contoh mendetail yang menggunakan model, server model, dan akselerator tertentu, lihat Contoh inferensi.

Kemampuan AI Generatif GKE

Anda dapat menggunakan kemampuan ini bersama-sama atau satu per satu untuk mengatasi tantangan utama dalam menayangkan model AI generatif dan meningkatkan pemanfaatan resource dalam lingkungan GKE Anda, tanpa biaya tambahan.

Nama Deskripsi Manfaat
Mulai Cepat Inferensi GKE (Pratinjau)

Tentukan kebutuhan bisnis Anda dan dapatkan praktik terbaik yang disesuaikan untuk kombinasi akselerator, konfigurasi penskalaan, dan server model yang paling sesuai dengan kebutuhan Anda. Anda dapat mengakses layanan ini dengan gcloud CLI.

Untuk mengetahui informasi selengkapnya, lihat Menjalankan inferensi praktik terbaik dengan resep Panduan Memulai Inferensi GKE.

  • Menghemat waktu dengan mengotomatiskan langkah-langkah awal dalam memilih dan mengonfigurasi infrastruktur Anda.
  • Memungkinkan Anda mempertahankan kontrol penuh atas penyiapan Kubernetes untuk penyesuaian lebih lanjut.
GKE Inference Gateway (Pratinjau)

Dapatkan pemilihan rute berdasarkan metrik, seperti penggunaan cache KV, untuk latensi yang lebih baik.

Untuk mengetahui informasi selengkapnya, lihat Tentang GKE Inference Gateway

  • Bagikan model yang di-fine-tune yang menggunakan file LoRA, dengan pemilihan endpoint berbasis afinitas untuk efisiensi biaya.
  • Mencapai ketersediaan tinggi dengan mengakses kapasitas GPU dan TPU secara dinamis di seluruh region.
  • Tingkatkan keamanan model Anda dengan kebijakan add-on Model Armor.
Akselerator pemuatan bobot model

Akses data di Cloud Storage dengan cepat menggunakan Cloud Storage FUSE dengan download paralel dan caching.

Untuk beban kerja inferensi yang memerlukan performa scale out yang konsisten, Google Cloud Hyperdisk ML adalah disk yang terhubung ke jaringan yang dapat dilampirkan ke hingga 2.500 Pod.

  • Mengoptimalkan waktu mulai inferensi dengan meminimalkan latensi model pemuatan bobot di GKE.
  • Untuk deployment dengan penskalaan node terbatas, pertimbangkan untuk menggunakan Cloud Storage FUSE guna memasang bobot model.
  • Untuk skenario berskala besar yang memerlukan akses latensi rendah dan konsisten ke bobot model besar, Google Cloud Hyperdisk ML menawarkan solusi block storage khusus.

Merencanakan inferensi

Bagian ini mencakup beberapa pertimbangan utama yang harus Anda perhatikan untuk workload inferensi di GKE.

Efisiensi biaya

Menayangkan model AI generatif besar bisa mahal karena penggunaan akselerator, jadi Anda harus berfokus pada pemanfaatan resource yang efisien. Memilih jenis mesin dan akselerator yang tepat sangat penting untuk memastikan Anda mencocokkan memori akselerator dengan ukuran model dan tingkat kuantisasi. Misalnya, instance G2 dengan GPU NVIDIA L4 bisa hemat biaya untuk model yang lebih kecil, sedangkan instance A3 lebih cocok untuk model yang lebih besar.

Ikuti tips dan rekomendasi berikut untuk memaksimalkan efisiensi biaya:

Performa

Untuk mengoptimalkan performa inferensi di GKE, fokus pada metrik tolok ukur berikut:

Indikator tolok ukur Metrik (satuan) Deskripsi
Latensi Waktu ke Token Pertama (TTFT) (md) Waktu yang diperlukan untuk membuat token pertama untuk permintaan.
Waktu yang Dinormalisasi Per Token Output (NTPOT) (md) Latensi permintaan yang dinormalisasi berdasarkan jumlah token output, diukur sebagai request_latency / total_output_tokens.
Waktu Per Token Output (TPOT) (md) Waktu yang diperlukan untuk menghasilkan satu token output, diukur sebagai (request_latency - time_to_first_token) / (total_output_tokens - 1).
Latensi antar-token (ITL) (md) Mengukur latensi antara dua pembuatan token output. Tidak seperti TPOT, yang mengukur latensi di seluruh permintaan, ITL mengukur waktu untuk menghasilkan setiap token output. Setiap pengukuran kemudian digabungkan untuk menghasilkan nilai rata-rata, median, dan persentil seperti p90.
Latensi permintaan (md) Waktu end-to-end untuk menyelesaikan permintaan.
Throughput Permintaan per detik Jumlah total permintaan yang Anda layani per detik. Perhatikan bahwa metrik ini mungkin bukan cara yang andal untuk mengukur throughput LLM karena dapat sangat bervariasi untuk panjang konteks yang berbeda.
Token output per detik Metrik umum yang diukur sebagai total_output_tokens_generated_by_server / elapsed_time_in_seconds.
Token input per detik Diukur sebagai total_input_tokens_generated_by_server / elapsed_time_in_seconds.
Token per detik Diukur sebagai total_tokens_generated_by_server / elapsed_time_in_seconds. Metrik ini menghitung token input dan output, sehingga membantu Anda membandingkan beban kerja dengan waktu pengisian awal yang tinggi versus waktu decoding yang tinggi.

Pertimbangkan tips dan rekomendasi tambahan berikut untuk performa:

  • Untuk mendapatkan akselerator yang direkomendasikan berdasarkan kebutuhan performa Anda, gunakan Mulai Cepat Inferensi.
  • Untuk meningkatkan performa, gunakan teknik pengoptimalan server model seperti batching dan PagedAttention, yang ada dalam panduan praktik terbaik kami. Selain itu, prioritaskan pengelolaan memori yang efisien dan komputasi atensi untuk latensi antar-token yang rendah secara konsisten.
  • Gunakan metrik standar di seluruh server model (seperti Hugging Face TGI, vLLM, atau NVIDIA Triton) untuk meningkatkan penskalaan otomatis dan penyeimbangan beban, yang dapat membantu Anda mencapai throughput yang lebih tinggi pada latensi yang Anda pilih. GKE menyediakan pemantauan aplikasi otomatis untuk beberapa server model.
  • Gunakan fitur infrastruktur jaringan GKE seperti Inference Gateway untuk meminimalkan latensi.
  • Gunakan Cloud Storage FUSE dengan download dan caching paralel, atau Hyperdisk ML untuk mempercepat pemuatan bobot model dari penyimpanan persisten.

  • Untuk pelatihan atau inferensi berskala besar, gunakan Pathways. Pathways menyederhanakan komputasi machine learning berskala besar dengan memungkinkan satu klien JAX untuk mengatur workload di beberapa slice TPU besar. Untuk mengetahui informasi selengkapnya, lihat Jalur.

Ketersediaan

Memastikan ketersediaan resource (CPU, GPU, dan TPU) sangat penting untuk mempertahankan performa, ketersediaan, dan efisiensi biaya workload inferensi Anda. Beban kerja inferensi sering kali menunjukkan pola traffic yang tidak terduga dan bergejolak, yang dapat menantang kapasitas hardware. GKE mengatasi tantangan ini dengan fitur seperti berikut:

  • Opsi konsumsi resource: pilih dari opsi seperti reservasi untuk kapasitas yang terjamin, penskalaan yang hemat biaya, Dynamic Workload Scheduler, dan Spot VM untuk pengoptimalan biaya dan akses on-demand untuk ketersediaan langsung.
  • Penyesuaian ukuran resource: misalnya, Google Cloud menawarkan VM A3 Tinggi yang lebih kecil dengan GPU NVIDIA H100 (1g, 2g, atau 4g) untuk penskalaan inferensi AI generatif yang hemat biaya yang mendukung VM Spot.
  • Kelas komputasi untuk akselerator: Anda dapat menggunakan kelas komputasi kustom untuk kontrol yang lebih terperinci, guna mencegah penyediaan berlebih dan memaksimalkan ketersediaan resource dengan opsi penggantian otomatis.

Upgrade node

GKE mengotomatiskan sebagian besar proses upgrade, tetapi Anda perlu mempertimbangkan strategi upgrade, terutama untuk kompatibilitas dan pengujian. Untuk upgrade manual, Anda dapat memilih antara upgrade lonjakan atau blue-green berdasarkan toleransi beban kerja inferensi Anda terhadap gangguan. Upgrade lonjakan dilakukan dengan cepat, tetapi dapat memengaruhi layanan untuk sementara. Upgrade blue-green menawarkan periode nonaktif yang hampir nol, yang sangat penting untuk inferensi real-time. Untuk mempelajari lebih lanjut, lihat Strategi upgrade node.

GPU dan TPU tidak mendukung migrasi langsung, sehingga pemeliharaan memerlukan mulai ulang Pod. Gunakan notifikasi GKE untuk bersiap menghadapi gangguan. Sebaiknya gunakan Anggaran Gangguan Pod (PDB) untuk memastikan jumlah minimum Pod tetap tersedia. Pastikan Pod Anda dapat menangani penghentian dengan baik. Slice TPU dapat terganggu oleh peristiwa host tunggal, jadi rencanakan redundansi. Untuk mengetahui praktik terbaik lainnya, lihat Mengelola gangguan node GKE untuk GPU dan TPU.

Coba contoh inferensi

Temukan contoh deployment GKE untuk model AI generatif, akselerator, dan server model. Jika Anda baru memulai, sebaiknya pelajari tutorial Menyajikan model terbuka Gemma menggunakan GPU di GKE dengan vLLM.

Atau, telusuri tutorial berdasarkan kata kunci:

Akselerator Server Model Tutorial
GPU vLLM Menayangkan LLM seperti DeepSeek-R1 671B atau Llama 3.1 405B di GKE
GPU vLLM Menyajikan model Llama menggunakan GPU di GKE dengan vLLM
GPU vLLM Menyajikan model terbuka Gemma menggunakan GPU di GKE dengan vLLM
GPU vLLM Menyajikan LLM dengan GKE Inference Gateway
GPU NVIDIA Triton Menyajikan model dengan satu GPU di GKE
GPU Ray Serve Menyajikan LLM di GPU L4 dengan Ray
GPU TGI Menyajikan LLM dengan beberapa GPU di GKE
GPU NVIDIA Triton Menyajikan model terbuka Gemma menggunakan GPU di GKE dengan Triton dan TensorRT-LLM
GPU Hugging Face TGI Menyajikan model terbuka Gemma menggunakan GPU di GKE dengan Hugging Face TGI
GPU TensorFlow Serving Menyajikan model dengan satu GPU di GKE
TPU vLLM Menyajikan LLM menggunakan TPU Trillium di GKE dengan vLLM
TPU vLLM Menyajikan LLM menggunakan TPU di GKE dengan KubeRay
TPU JetStream Menyajikan LLM menggunakan TPU di GKE dengan JetStream dan PyTorch
TPU JetStream Menyajikan Gemma menggunakan TPU di GKE dengan JetStream
TPU MaxDiffusion Menyajikan Stable Diffusion XL (SDXL) menggunakan TPU di GKE dengan MaxDiffusion
TPU TPU Optimal Menyajikan model open source menggunakan TPU di GKE dengan Optimum TPU

Langkah berikutnya