Layanan inferensi sangat penting dalam men-deploy model AI generatif Anda ke aplikasi dunia nyata. GKE menyediakan platform yang andal dan skalabel untuk mengelola beban kerja 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.
Dengan 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 Ringkasan praktik terbaik inferensi di GKE, 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 menghasilkan teks, embedding, atau output lain dari data input. Inferensi model di GKE memanfaatkan akselerator untuk menangani komputasi kompleks secara efisien untuk pemrosesan real-time atau batch.
- 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 multi-miliar parameter besar 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.
- Kuantisasi: teknik yang digunakan untuk mengurangi ukuran model AI/ML dan meningkatkan kecepatan inferensi dengan mengonversi bobot dan aktivasi model dari jenis data presisi yang lebih tinggi ke jenis data presisi yang lebih rendah.
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: manfaatkan portabilitas penuh dengan standar terbuka. Google berkontribusi pada API Kubernetes 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 pengelolaan dan antrean 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:
Menyimpan model Anda dalam container: Menyimpan aplikasi dalam container adalah membuat image container, yang merupakan paket yang dapat dieksekusi yang mencakup semua hal yang diperlukan untuk menjalankan aplikasi: kode, runtime, alat sistem, library sistem, dan setelan. Aplikasi sederhana dapat di-containerisasi sebagai satu unit, sementara aplikasi yang lebih kompleks dapat dipecah menjadi beberapa komponen yang di-containerisasi. Deploy model dengan membuat container server model (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 terkelola atau Standard untuk penyesuaian. Konfigurasi ukuran cluster, jenis node, dan akselerator. Untuk konfigurasi yang dioptimalkan, gunakan Panduan 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. Gunakan Inference Gateway untuk load balancing cerdas yang disesuaikan untuk workload AI generatif, atau lihat perbandingan strategi load balancing untuk memilih opsi terbaik sesuai kebutuhan Anda.
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. Horizontal Pod Autoscaler (HPA) adalah pengontrol Kubernetes yang secara otomatis menambah atau mengurangi jumlah Pod dalam beban kerja (seperti Deployment) berdasarkan metrik yang diamati seperti pemakaian CPU atau metrik kustom. Gunakan Mulai Cepat Inferensi untuk mendapatkan rekomendasi penskalaan yang dibuat 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 |
|---|---|---|
| Panduan Memulai Inferensi GKE |
Menganalisis performa dan efisiensi biaya workload inferensi Anda. Tentukan kebutuhan bisnis Anda dan dapatkan praktik terbaik yang disesuaikan untuk kombinasi akselerator, penskalaan, dan konfigurasi penyimpanan, serta server model yang paling sesuai dengan kebutuhan Anda. Anda dapat mengakses layanan ini dengan gcloud CLI dan konsol Google Cloud . Untuk mengetahui informasi selengkapnya, lihat Menganalisis performa dan biaya penayangan model dengan Panduan Memulai Inferensi GKE. |
|
| GKE Inference Gateway | 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 mengetahui informasi selengkapnya tentang penggunaan Cloud Storage FUSE untuk workload AI/ML, lihat arsitektur referensi. Google Cloud Managed Lustre adalah sistem file paralel berperforma tinggi dan terkelola sepenuhnya yang dioptimalkan untuk AI yang dapat dilampirkan ke 10.000 Pod atau lebih. Untuk mengetahui informasi selengkapnya tentang cara menggunakan Managed Lustre untuk workload AI/ML, lihat arsitektur referensi. Google Cloud Hyperdisk ML adalah disk yang terhubung ke jaringan dan dapat dilampirkan ke hingga 2.500 Pod. |
|
Metrik performa inferensi
Untuk mengoptimalkan workload inferensi, penting untuk memahami cara mengukur performa workload tersebut. Tabel berikut menjelaskan metrik utama untuk tolok ukur performa inferensi di GKE.
| 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. |
Merencanakan inferensi
Deployment inferensi yang berhasil memerlukan perencanaan yang cermat di beberapa area utama, termasuk efisiensi biaya, performa, dan ketersediaan resource. Untuk rekomendasi mendetail tentang cara membangun platform inferensi yang skalabel, berperforma tinggi, dan hemat biaya, lihat Ringkasan praktik terbaik inferensi di GKE.
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.
- Jelajahi contoh eksperimental untuk memanfaatkan GKE dalam mempercepat inisiatif AI/ML Anda di GKE AI Labs.