Halaman ini menjelaskan konsep utama, manfaat, dan langkah-langkah untuk menjalankan workload inferensi model AI generatif di Google Kubernetes Engine (GKE), menggunakan kemampuan GKE Gen AI.
Penyertaan inferensi sangat penting dalam men-deploy model AI generatif Anda ke aplikasi di dunia nyata. GKE menyediakan platform yang andal dan skalabel untuk mengelola workload dalam container, sehingga menjadi 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.
Dengan mengenali 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.
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, penyematan, atau output lainnya 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 memiliki ukuran dan arsitektur yang bervariasi, mulai dari model khusus domain yang lebih kecil hingga jaringan neural parameter multimiliar yang besar yang dioptimalkan untuk berbagai tugas bahasa.
- Server model: layanan dalam penampung yang bertanggung jawab untuk menerima permintaan inferensi dan menampilkan prediksi. Layanan ini mungkin 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 di akselerator untuk menampilkan prediksi secara efisien.
- Akselerator: hardware khusus, seperti Graphics Processing Unit (GPU) dari NVIDIA dan Tensor Processing Unit (TPU) dari Google, yang dapat ditancapkan 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 yang andal (GPU dan TPU), sehingga Anda hanya membayar untuk performa yang Anda butuhkan.
- Deployment yang lebih cepat: percepat waktu peluncuran dengan praktik terbaik, kualifikasi, dan praktik terbaik yang disesuaikan yang disediakan oleh kemampuan AI Generatif GKE.
- Performa yang skalabel: menskalakan performa dengan pemantauan bawaan menggunakan GKE Inference Gateway, Horizontal Pod Autoscaling (HPA), dan metrik kustom. Anda dapat menjalankan berbagai model terlatih atau kustom, mulai dari 8 miliar parameter hingga 671 miliar parameter.
- Portabilitas penuh: dapatkan manfaat dari portabilitas penuh dengan standar terbuka. Google berkontribusi pada Kubernetes API utama, termasuk Gateway dan LeaderWorkerSet, dan semua API dapat ditransfer dengan distribusi Kubernetes.
- Dukungan ekosistem: build pada ekosistem GKE yang andal yang mendukung alat seperti Kueue untuk antrean dan pengelolaan resource lanjutan, serta 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 untuk penayangan inferensi:
Buat penampung model: deploy model dengan membuat penampung server model (seperti vLLM), dan memuat bobot model dari Cloud Storage atau repositori seperti Hugging Face. Saat Anda menggunakan Panduan Memulai GKE Inference, image dalam container akan otomatis dikelola di manifes untuk Anda.
Membuat cluster GKE: buat cluster GKE untuk menghosting deployment Anda. Pilih Autopilot untuk pengalaman terkelola atau Standar untuk penyesuaian. Konfigurasikan ukuran cluster, jenis node, dan akselerator. Untuk konfigurasi yang dioptimalkan, gunakan Panduan Mulai Inferensi.
Deploy model 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, replika, dan setelan Docker. Kubernetes mengambil image dan menjalankan container Anda di node cluster GKE. Konfigurasikan Pod dengan server dan model 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 disesuaikan secara khusus untuk workload inferensi AI generatif.
Menangani permintaan inferensi: mengirim data dalam dari klien aplikasi ke endpoint Layanan, 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 prediksi.
Menskalakan dan memantau deployment inferensi: menskalakan inferensi dengan HPA untuk menyesuaikan replika secara otomatis berdasarkan CPU atau latensi. Gunakan Panduan Cepat Inferensia untuk mendapatkan rekomendasi penskalaan yang dibuat secara otomatis. Untuk melacak performa, gunakan Cloud Monitoring dan Cloud Logging dengan observabilitas 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 secara bersamaan atau satu per satu untuk mengatasi tantangan utama dalam menyalurkan model AI generatif dan meningkatkan penggunaan resource dalam lingkungan GKE Anda, tanpa biaya tambahan.
Nama | Deskripsi | Manfaat |
---|---|---|
Panduan Mulai Cepat GKE Inference (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 informasi selengkapnya, lihat Menjalankan inferensi praktik terbaik dengan resep Panduan Memulai GKE Inference. |
|
GKE Inference Gateway (Pratinjau) | Dapatkan pemilihan rute berdasarkan metrik, seperti penggunaan cache KV, untuk latensi yang lebih baik. Untuk informasi selengkapnya, lihat Tentang GKE Inference Gateway |
|
Merencanakan inferensi
Bagian ini membahas beberapa pertimbangan utama yang harus Anda pertimbangkan untuk workload inferensi di GKE.
Efisiensi biaya
Menayangkan model AI generatif berukuran besar dapat mahal karena penggunaan accelerator, jadi Anda harus berfokus pada penggunaan 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 dapat 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 Inferensia 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, fokuslah pada metrik benchmark berikut:
Indikator tolok ukur | Metrik (satuan) | Deskripsi |
---|---|---|
Latensi | Waktu hingga Token Pertama (TTFT) (md) | Waktu yang diperlukan untuk membuat token pertama untuk permintaan. |
Waktu Normalisasi 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 membuat 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 membuat setiap token output. Pengukuran individual ini kemudian digabungkan untuk menghasilkan nilai rata-rata, median, dan persentil seperti p90. | |
Latensi permintaan (md) | Waktu menyeluruh untuk menyelesaikan permintaan. | |
Throughput | Permintaan per detik | Jumlah total permintaan yang Anda tayangkan 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 pra-pengisian yang tinggi versus waktu dekode yang tinggi. |
Untuk mencoba tolok ukur performa beban kerja Anda, ikuti petunjuk di AI-Hypercomputer/inference-benchmark.
Pertimbangkan tips dan rekomendasi tambahan berikut untuk performa:
- Untuk mendapatkan akselerator yang direkomendasikan berdasarkan kebutuhan performa Anda, gunakan Mulai Cepat Inferensia.
- Untuk meningkatkan performa, gunakan teknik pengoptimalan server model seperti pengelompokan dan PagedAttention, yang ada dalam panduan praktik terbaik kami. Selain itu, prioritaskan pengelolaan memori yang efisien dan komputasi perhatian untuk latensi antar-token yang konsisten rendah.
- Gunakan metrik standar di seluruh server model (seperti Hugging Face TGI, vLLM, atau NVIDIA Triton) untuk meningkatkan penskalaan otomatis dan load balancing, yang dapat membantu Anda mencapai throughput yang lebih tinggi pada latensi yang dipilih. GKE menyediakan pemantauan aplikasi otomatis untuk beberapa server model.
- Gunakan fitur infrastruktur jaringan GKE seperti Inference Gateway untuk meminimalkan latensi.
Ketersediaan
Memastikan ketersediaan resource (CPU, GPU, dan TPU) sangat penting untuk mempertahankan performa, ketersediaan, dan efisiensi biaya workload inferensi Anda. Workload inferensi sering kali menunjukkan pola traffic yang tidak dapat diprediksi dan bersifat berdenyut, yang dapat menantang kapasitas hardware. GKE mengatasi tantangan ini dengan fitur seperti berikut:
- Opsi konsumsi resource: pilih dari opsi seperti reservasi untuk kapasitas terjamin, penskalaan 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 High yang lebih kecil dengan GPU NVIDIA H100 (1g, 2g, atau 4g) untuk penskalaan inferensi AI generatif yang hemat biaya dan 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 berlangsung 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 praktik terbaik lainnya, lihat Mengelola gangguan node GKE untuk GPU dan TPU.
Mencoba contoh inferensi
Temukan contoh deployment GKE untuk model AI generatif, accelerator, dan server model. Jika Anda baru memulai, sebaiknya pelajari tutorial Menayangkan model terbuka Gemma menggunakan GPU di GKE dengan vLLM.
Atau, telusuri tutorial berdasarkan kata kunci:
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 mempelajari lebih lanjut 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.
- Pelajari contoh, praktik terbaik, dan alat tambahan di repositori GitHub ai-on-gke.