Setelah model machine learning dilatih, langkah berikutnya adalah menggunakannya untuk membuat prediksi pada data baru. Proses ini, yang dikenal sebagai inferensi, memerlukan strategi yang sangat bergantung pada persyaratan latensi dan throughput aplikasi Anda. Inferensi batch, yang juga disebut inferensi offline atau pemrosesan asinkron, adalah metode yang efektif dan sangat efisien untuk menghasilkan prediksi pada volume data yang besar ketika respons real-time langsung tidak diperlukan.
Inferensi batch adalah proses penggunaan model machine learning terlatih untuk menghasilkan prediksi pada sekumpulan besar pengamatan, atau "batch", sekaligus.
Tidak seperti inferensi online, yang membuat prediksi pada titik data tunggal saat data tersebut tiba, inferensi batch beroperasi pada data yang telah dikumpulkan selama periode waktu tertentu. Pendekatan ini memprioritaskan throughput tinggi dan efisiensi komputasi dibandingkan latensi rendah. Karena pemrosesan dilakukan secara offline dan bukan sebagai respons langsung terhadap permintaan pengguna, hal ini juga dikenal sebagai inferensi statis—prediksi dihasilkan dan disimpan untuk digunakan nanti.
Memilih antara inferensi batch dan online adalah keputusan arsitektur mendasar dalam mendesain sistem machine learning. Setiap pendekatan memiliki tujuan yang berbeda dan dioptimalkan untuk karakteristik performa yang berbeda.
Fitur | Inferensi batch | Inferensi online |
Pemrosesan data | Memproses kumpulan besar titik data secara bersamaan dalam satu tugas. | Memproses satu titik data atau kelompok titik data yang sangat kecil saat data tersebut tiba. |
Pengoptimalan utama | Throughput tinggi dan efisiensi biaya. | Latensi rendah dan responsivitas cepat. |
Latensi | Latensi tinggi; prediksi tidak tersedia secara langsung (menit hingga jam). | Latensi sangat rendah; prediksi ditampilkan dalam milidetik. |
Pemanggilan | Dipicu sesuai jadwal (misalnya, cron job) atau sesuai permintaan. | Dipicu oleh permintaan pengguna langsung atau peristiwa dalam sistem. |
Pemanfaatan komputasi | Dapat menggunakan resource komputasi yang canggih dalam waktu singkat, lalu menurunkan skala hingga nol. | Memerlukan server atau endpoint yang terus berjalan dan siap menerima permintaan. |
Contoh kasus penggunaan | Membuat rekomendasi produk harian untuk semua pengguna situs e-commerce. | Memprediksi apakah transaksi kartu kredit tunggal bersifat penipuan atau tidak saat terjadi. |
Istilah sinonim | Inferensi offline, pemrosesan asinkron, inferensi statis. | Inferensi real-time, pemrosesan sinkron, inferensi dinamis. |
Fitur
Inferensi batch
Inferensi online
Pemrosesan data
Memproses kumpulan besar titik data secara bersamaan dalam satu tugas.
Memproses satu titik data atau kelompok titik data yang sangat kecil saat data tersebut tiba.
Pengoptimalan utama
Throughput tinggi dan efisiensi biaya.
Latensi rendah dan responsivitas cepat.
Latensi
Latensi tinggi; prediksi tidak tersedia secara langsung (menit hingga jam).
Latensi sangat rendah; prediksi ditampilkan dalam milidetik.
Pemanggilan
Dipicu sesuai jadwal (misalnya, cron job) atau sesuai permintaan.
Dipicu oleh permintaan pengguna langsung atau peristiwa dalam sistem.
Pemanfaatan komputasi
Dapat menggunakan resource komputasi yang canggih dalam waktu singkat, lalu menurunkan skala hingga nol.
Memerlukan server atau endpoint yang terus berjalan dan siap menerima permintaan.
Contoh kasus penggunaan
Membuat rekomendasi produk harian untuk semua pengguna situs e-commerce.
Memprediksi apakah transaksi kartu kredit tunggal bersifat penipuan atau tidak saat terjadi.
Istilah sinonim
Inferensi offline, pemrosesan asinkron, inferensi statis.
Inferensi real-time, pemrosesan sinkron, inferensi dinamis.
Pipeline inferensi batch adalah alur kerja terstruktur dan otomatis yang memindahkan data dari status mentahnya ke prediksi yang dapat ditindaklanjuti. Proses ini dapat dipecah menjadi langkah-langkah utama berikut, yang biasanya diatur oleh pengelola alur kerja atau sistem penjadwalan.
Proses ini dimulai dengan mengakumulasi data dari waktu ke waktu. Data input ini, yang dapat mencakup log aktivitas pengguna, catatan transaksi, atau pembacaan sensor, dikumpulkan dari berbagai sumber dan ditempatkan di lokasi penyimpanan terpusat. Hal ini sering kali berupa data lake yang dibangun di layanan seperti Google Cloud Storage atau data warehouse seperti BigQuery.
Pipeline inferensi dimulai oleh pemicu. Pemicu ini dapat berupa:
Setelah dipicu, tugas akan memuat seluruh batch data input mentah. Kemudian, pipeline ini melakukan langkah-langkah prapemrosesan dan rekayasa fitur yang diperlukan untuk mengubah data menjadi format yang tepat seperti yang diharapkan model machine learning. Hal ini dapat mencakup tugas seperti membersihkan nilai yang hilang, menskalakan fitur numerik, dan mengodekan variabel kategoris.
Sistem mengambil model machine learning terlatih dari repositori pusat, seperti Vertex AI Model Registry. Batch data yang telah diproses sebelumnya kemudian dimasukkan ke model, yang menjalankan inferensi pada setiap pengamatan dalam set untuk menghasilkan prediksi yang sesuai.
Output model—kumpulan prediksi—kemudian ditulis ke sistem penyimpanan. Tujuan ini dipilih berdasarkan cara penggunaan prediksi. Tujuan umum mencakup pemuatan hasil ke dalam tabel BigQuery untuk analisis, database Cloud SQL untuk pencarian cepat oleh aplikasi, atau menyimpannya sebagai file di Cloud Storage.
Dengan prediksi yang kini disimpan dan siap digunakan, sistem hilir dapat menggunakannya. Alat kecerdasan bisnis dapat mengkueri hasil untuk membuat dasbor perilaku pelanggan yang diprediksi. Backend aplikasi web dapat memuat rekomendasi produk yang telah dikomputasi sebelumnya untuk ditampilkan kepada pengguna, atau platform otomatisasi pemasaran dapat menarik daftar pelanggan yang diprediksi akan melakukan churn untuk menargetkan mereka dengan kampanye baru.
Untuk banyak kasus penggunaan perusahaan, inferensi batch dapat menawarkan keuntungan signifikan dibandingkan pemrosesan real-time.
Efisiensi biaya
Pemrosesan batch memungkinkan Anda mengoptimalkan penggunaan resource komputasi. Anda dapat menjalankan tugas besar di hardware yang canggih dalam waktu singkat, lalu menghentikan resource, sehingga menghindari biaya pemeliharaan server yang terus berjalan.
Throughput dan skalabilitas tinggi
Sistem batch dirancang untuk menskalakan dan memproses data terabyte secara efisien. Hal ini memungkinkan penerapan model kompleks ke set data yang sangat besar, yang mungkin terlalu lambat atau mahal untuk sistem online.
Kesederhanaan operasi
Pipeline inferensi batch dapat lebih mudah dibangun dan dipelihara daripada sistem inferensi online yang sangat tersedia dan memiliki latensi rendah. Batch umumnya lebih tangguh terhadap kegagalan sementara dan dapat dengan mudah dijalankan ulang jika suatu tugas gagal.
Memungkinkan rekayasa fitur yang kompleks
Karena inferensi batch tidak dibatasi oleh persyaratan latensi rendah, Anda dapat melakukan rekayasa fitur yang lebih kompleks dan intensif secara komputasi pada data input Anda, yang sering kali menghasilkan model yang lebih akurat.
Pemanfaatan resource yang lebih baik
Anda dapat menjadwalkan tugas batch untuk dijalankan selama jam non-puncak, memanfaatkan kapasitas komputasi yang tidak digunakan dan berpotensi menurunkan harga spot untuk virtual machine.
Inferensi batch adalah metode yang disukai untuk banyak proses bisnis inti yang prediksinya meningkatkan kualitas produk atau layanan tanpa perlu dibuat secara real time. Pendekatan ini dapat sangat efektif di berbagai industri untuk memecahkan masalah data berskala besar.
Industri | Masalah yang perlu diselesaikan | Contoh solusi |
E-commerce dan retail | Membuat rekomendasi produk yang dipersonalisasi untuk seluruh basis pengguna setiap hari guna memastikan rekomendasi tersebut siap diambil dengan cepat saat pengguna mengunjungi situs. | Prediksi Batch Vertex AI dapat menjalankan model rekomendasi dan memuat hasilnya ke dalam database pencarian cepat seperti Cloud SQL atau Bigtable. |
Telekomunikasi dan SaaS | Mengidentifikasi pelanggan mana yang berisiko tinggi untuk berhenti berlangganan bulan depan dengan menganalisis pola penggunaan di seluruh database pelanggan. | BigQuery ML memungkinkan Anda menjalankan model klasifikasi secara langsung pada data pelanggan yang disimpan di data warehouse, dengan hasil yang ditulis ke tabel baru untuk tim retensi. |
Keuangan dan asuransi | Memperkirakan tren pasar keuangan atau menghitung skor risiko untuk seluruh portofolio aset, yang merupakan tugas intensif komputasi yang dilakukan secara berkala. | Prediksi Batch Vertex AI dapat menjalankan model deret waktu yang kompleks sesuai jadwal, sehingga menyediakan data yang diperlukan untuk laporan dan dasbor strategis. |
Logistik dan supply chain | Mengoptimalkan tingkat inventaris di ratusan gudang dengan menjalankan simulasi perkiraan permintaan yang kompleks berdasarkan data penjualan dan logistik mingguan. | Google Kubernetes Engine (GKE) menyediakan lingkungan kustom berperforma tinggi yang diperlukan untuk menjalankan model simulasi khusus dengan persyaratan library dan hardware tertentu. |
Layanan kesehatan | Menganalisis batch besar gambar medis harian (seperti sinar-X atau CT scan) untuk mendeteksi potensi anomali untuk ditinjau lebih lanjut oleh ahli radiologi. | GKE dengan akselerator GPU sangat ideal untuk menjalankan model deep learning computer vision pada set gambar yang besar, sehingga menawarkan kontrol dan performa maksimal. |
Hukum dan kepatuhan | Memproses dan mengklasifikasikan jutaan dokumen yang ada untuk mengekstrak entity utama, menilai sentimen, dan membuat seluruh korpus dapat dicari dan dianalisis. | Dataflow dapat digunakan untuk membangun pipeline NLP yang skalabel yang memproses teks terlebih dahulu dan menjalankan inferensi, sedangkan GKE dapat digunakan untuk persyaratan model yang lebih kustom. |
Industri
Masalah yang perlu diselesaikan
Contoh solusi
E-commerce dan retail
Membuat rekomendasi produk yang dipersonalisasi untuk seluruh basis pengguna setiap hari guna memastikan rekomendasi tersebut siap diambil dengan cepat saat pengguna mengunjungi situs.
Prediksi Batch Vertex AI dapat menjalankan model rekomendasi dan memuat hasilnya ke dalam database pencarian cepat seperti Cloud SQL atau Bigtable.
Telekomunikasi dan SaaS
Mengidentifikasi pelanggan mana yang berisiko tinggi untuk berhenti berlangganan bulan depan dengan menganalisis pola penggunaan di seluruh database pelanggan.
BigQuery ML memungkinkan Anda menjalankan model klasifikasi secara langsung pada data pelanggan yang disimpan di data warehouse, dengan hasil yang ditulis ke tabel baru untuk tim retensi.
Keuangan dan asuransi
Memperkirakan tren pasar keuangan atau menghitung skor risiko untuk seluruh portofolio aset, yang merupakan tugas intensif komputasi yang dilakukan secara berkala.
Prediksi Batch Vertex AI dapat menjalankan model deret waktu yang kompleks sesuai jadwal, sehingga menyediakan data yang diperlukan untuk laporan dan dasbor strategis.
Logistik dan supply chain
Mengoptimalkan tingkat inventaris di ratusan gudang dengan menjalankan simulasi perkiraan permintaan yang kompleks berdasarkan data penjualan dan logistik mingguan.
Google Kubernetes Engine (GKE) menyediakan lingkungan kustom berperforma tinggi yang diperlukan untuk menjalankan model simulasi khusus dengan persyaratan library dan hardware tertentu.
Layanan kesehatan
Menganalisis batch besar gambar medis harian (seperti sinar-X atau CT scan) untuk mendeteksi potensi anomali untuk ditinjau lebih lanjut oleh ahli radiologi.
GKE dengan akselerator GPU sangat ideal untuk menjalankan model deep learning computer vision pada set gambar yang besar, sehingga menawarkan kontrol dan performa maksimal.
Hukum dan kepatuhan
Memproses dan mengklasifikasikan jutaan dokumen yang ada untuk mengekstrak entity utama, menilai sentimen, dan membuat seluruh korpus dapat dicari dan dianalisis.
Dataflow dapat digunakan untuk membangun pipeline NLP yang skalabel yang memproses teks terlebih dahulu dan menjalankan inferensi, sedangkan GKE dapat digunakan untuk persyaratan model yang lebih kustom.
Vertex AI adalah platform machine learning terkelola Google Cloud, dan menyediakan pendekatan serverless yang efisien untuk inferensi batch. Proses ini berfokus pada konfigurasi tugas dan membiarkan platform menangani infrastruktur yang mendasarinya.
Sebelum memulai, Anda memerlukan tiga hal penting:
Anda dapat memulai tugas melalui konsol Google Cloud, alat command line gcloud, atau secara terprogram menggunakan Vertex AI SDK. Saat membuat tugas, Anda akan memberikan konfigurasi berikut:
Setelah Anda mengirimkan tugas, Vertex AI akan mengambil alih. Layanan ini otomatis menyediakan resource komputasi yang Anda tentukan, menjalankan data input Anda melalui model, menghasilkan prediksi, dan menyimpannya ke lokasi output yang ditentukan. Setelah tugas selesai, Vertex AI otomatis menurunkan skala semua resource menjadi nol, sehingga Anda hanya membayar waktu komputasi yang Anda gunakan. Anda dapat memantau progres tugas dan melihat log secara langsung di Konsol Google Cloud.
Setelah status tugas ditampilkan sebagai "Succeeded", prediksi Anda sudah siap. File output di Cloud Storage atau tabel baru di BigQuery kini dapat diakses oleh aplikasi downstream, alat analisis, atau dasbor BI Anda.
Menggunakan Google Kubernetes Engine (GKE) untuk inferensi batch menawarkan kontrol dan portabilitas maksimum, sehingga ideal untuk tim dengan keahlian Kubernetes yang ada atau persyaratan khusus. Penyiapan ini melibatkan pembuatan container untuk logika inferensi Anda dan pengelolaan eksekusinya dengan resource Kubernetes.
Langkah 1: Memasukkan aplikasi inferensi ke dalam container. Langkah pertama adalah mengemas kode prediksi Anda ke dalam image container.
Langkah 2: Menentukan tugas Kubernetes. Alih-alih deployment yang berjalan lama, Anda menentukan tugas batch menggunakan manifes Job atau CronJob Kubernetes (file YAML). File ini menentukan:
Langkah 3: Menjalankan tugas di cluster GKE. Anda menerapkan manifes ke cluster GKE menggunakan kubectl. Bidang kontrol GKE kemudian menjadwalkan pod untuk menjalankan container inferensi Anda pada node yang sesuai di cluster. Untuk tugas berulang, resource CronJob secara otomatis membuat Tugas baru berdasarkan jadwal yang telah ditentukan (contoh: 0 2 * * * untuk pukul 02.00 setiap hari).
Langkah 4: Menerapkan penanganan data dan menyimpan hasilnya. Tidak seperti pendekatan Vertex AI terkelola, kode aplikasi di dalam container Anda bertanggung jawab untuk menangani semua I/O data. Skrip Anda harus menyertakan logika untuk terhubung ke dan membaca dari sumber data (misalnya, bucket Cloud Storage) serta menulis prediksi akhir kembali ke tujuan yang Anda pilih (misalnya, database Cloud SQL).
Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.