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.
- Coba langkah-langkah Deploy Model untuk men-deploy model dan server model dalam container.
- 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:
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.
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.
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.
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.
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.
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. |
|
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 |
|
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. |
|
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:
- Gunakan Mulai Cepat Inferensi untuk mendapatkan akselerator yang direkomendasikan berdasarkan kebutuhan performa Anda.
- Gunakan teknik seperti kuantisasi dan pengelompokan permintaan untuk meningkatkan efisiensi penayangan. Untuk mempelajari lebih lanjut, lihat Praktik terbaik untuk mengoptimalkan inferensi model bahasa besar dengan GPU.
Gunakan penskalaan otomatis, yang menyesuaikan resource secara dinamis berdasarkan permintaan. Hal ini dapat menghemat biaya, terutama untuk workload yang berfluktuasi. Untuk mempelajari lebih lanjut, lihat panduan berikut:
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:
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 mempelajari lebih lanjut pengoptimalan penayangan 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.
- Jelajahi contoh eksperimental untuk memanfaatkan GKE dalam mempercepat inisiatif AI/ML Anda di GKE AI Labs.