Alasan menggunakan GKE untuk inferensi AI/ML

Dokumen ini adalah bagian pertama dari seri yang ditujukan untuk engineer Machine Learning (ML) yang baru menggunakan GKE, dan ingin mulai menjalankan workload inferensi di GKE secepat mungkin.

Dalam seri ini, kami tidak akan mencoba mengajari Anda semua opsi GKE yang tersedia. Sebagai gantinya, kami memberi Anda informasi dasar yang perlu Anda ketahui untuk menjalankan workload di GKE. Seri ini mencakup dokumen berikut:

Sebagai praktisi AI/ML, Anda dapat menggunakan Google Kubernetes Engine (GKE) ( GKE) untuk membantu mengelola deployment model. GKE adalah layanan yang memungkinkan Anda mengotomatiskan deployment, penskalaan, dan pemantauan workload inferensi berbasis Kubernetes dan infrastruktur komputasi tempat workload Anda berjalan. Dokumen ini membahas beberapa manfaat utama penggunaan GKE untuk inferensi model, termasuk:

Sebelum memulai

Sebelum membaca dokumen ini, Anda harus memahami hal-hal berikut:

  • Konsep dasar Kubernetes: pelajari container, Pod, node, dan cluster; serta keterkaitannya satu sama lain.
  • Mode operasi GKE: pelajari cluster GKE Autopilot dan Standard, penggunaannya, dan perbedaannya.

Mengemas model untuk performa yang konsisten

Inferensi model yang konsisten dan andal sangat penting untuk aplikasi AI Anda, dan GKE dapat mengurangi kompleksitas operasional dalam mengelola inferensi dalam skala besar. Dengan mengemas model terlatih, server inferensi, dan semua dependensi ke dalam container, Anda membuat artefak portabel yang terstandardisasi dan berjalan secara konsisten di GKE. Containerization membantu mengurangi error yang disebabkan oleh dependensi yang tidak cocok atau lingkungan yang tidak konsisten. GKE otomatis men-deploy dan mengelola container ini. Layanan ini menangani tugas seperti memulai ulang workload yang error atau menyediakan ulang resource untuk membantu menstabilkan performa workload AI/ML Anda.

Menggunakan GPU dan TPU untuk mengurangi latensi penayangan

Latensi menjadi masalah untuk workload inferensi, dan beberapa model kompleks mengandalkan akselerator hardware seperti GPU dan TPU untuk mempercepat penayangan inferensi. GKE menyederhanakan proses penggunaan GPU atau TPU untuk workload inferensi yang sensitif terhadap latensi. Anda memilih konfigurasi hardware tertentu yang paling sesuai dengan persyaratan performa dan biaya Anda, dan GKE akan otomatis menyediakan serta mengelola hardware yang Anda pilih. Misalnya, GKE mengotomatiskan penginstalan driver NVIDIA, yang biasanya merupakan langkah yang memerlukan konfigurasi manual di Kubernetes.

GKE juga menawarkan kemampuan pengelolaan resource sehingga Anda dapat menggunakan resource TPU dan GPU secara lebih efisien untuk penayangan inferensi. Misalnya, Anda dapat menggunakan GKE untuk menjadwalkan atau membagikan kumpulan GPU atau TPU di beberapa model, atau Anda dapat menggunakan akselerator dengan Spot VM untuk meningkatkan efisiensi biaya bagi workload inferensi yang fault-tolerant. Kemampuan ini membantu Anda memaksimalkan penggunaan resource akselerator sekaligus mengoptimalkan latensi penayangan dan biaya.

Menangani pola traffic yang berfluktuasi secara otomatis

Traffic dan beban pada workload inferensi real-time dapat tidak dapat diprediksi dan dinamis. Lonjakan permintaan dapat menyebabkan peningkatan latensi dan penurunan performa. GKE menawarkan pendekatan multi-layer untuk penskalaan otomatis sehingga Anda dapat secara otomatis menambahkan atau menghapus resource untuk memenuhi permintaan inferensi yang bervariasi. Misalnya, Anda dapat menggunakan Horizontal Pod Autoscaler (HPA) untuk menyesuaikan jumlah Pod dalam Deployment secara otomatis, atau cluster autoscaler untuk menyesuaikan jumlah node dalam node pool yang ada secara otomatis. Dengan menggunakan kemampuan penskalaan otomatis GKE, Anda dapat secara efisien mencocokkan jumlah resource yang dibutuhkan workload inferensi Anda dengan jumlah permintaan aplikasi.

Memantau kondisi dan performa workload inferensi Anda

GKE terintegrasi dengan Google Cloud suite kemampuan observasi (Cloud Logging dan Cloud Monitoring), dan Anda dapat menggunakan fitur kemampuan observasi bawaan untuk memantau kondisi dan performa workload inferensi Anda. Fitur observabilitas ini memberi Anda insight dan visibilitas tentang performa workload setelah Anda men-deploy-nya. Misalnya, Anda mungkin bertanya-tanya apakah model Anda berfungsi seperti yang diharapkan, atau apakah workload Anda memenuhi persyaratan latensi dan akurasi.

GKE secara otomatis melaporkan metrik infrastruktur seperti penggunaan CPU, memori, dan akselerator. Untuk menjawab pertanyaan tentang performa khusus model, Anda dapat menggunakan Google Cloud Managed Service for Prometheus atau mengirim metrik kustom dari aplikasi inferensi Anda ke Cloud Monitoring. Misalnya, Anda dapat mengonfigurasi pemantauan aplikasi otomatis dan memantau metrik inferensi utama, seperti permintaan per detik (RPS); memantau pergeseran konsep dengan menganalisis metrik khusus model, seperti distribusi data input; dan men-debug masalah dengan melakukan analisis log historis.

Menggunakan GKE untuk portabilitas dan fleksibilitas

Dengan menggunakan standar terbuka seperti container dan teknologi open source seperti Kubernetes, GKE memberi Anda kebebasan untuk memindahkan beban kerja penayangan inferensi ke lokasi yang berbeda–dan menggunakan berbagai resource dan alat–seiring perubahan persyaratan Anda. Misalnya, Anda dapat mengembangkan dan menguji aplikasi inferensi di GKE, lalu men-deploy aplikasi dalam container yang sama ke lingkungan lokal untuk produksi.

Sebagai kesimpulan, Anda dapat menggunakan GKE untuk menyederhanakan cara memindahkan model AI/ML dari pengembangan ke produksi. GKE menangani banyak kompleksitas yang terkait dengan pengelolaan infrastruktur, yang berarti Anda dapat berfokus untuk menjalankan workload inferensi di lingkungan yang berperforma tinggi, skalabel, dan dapat diamati. Saat mempelajari seri ini, Anda akan mempelajari cara menggunakan GKE untuk mengubah model AI/ML menjadi aplikasi yang canggih dan siap produksi.

Langkah berikutnya