Apa itu inferensi batch?

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.

Definisi inferensi batch

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.

Karakteristik utama inferensi batch

  • Pemrosesan asinkron: Prediksi dibuat berdasarkan jadwal yang telah ditentukan (misalnya, per jam, per hari) atau sesuai permintaan, bukan secara real time saat data baru masuk
  • Throughput tinggi: Sistem ini dioptimalkan untuk memproses sejumlah besar titik data dalam satu kali proses, sehingga sangat efisien
  • Efektivitas biaya: Dengan menjalankan tugas sesuai jadwal, Anda dapat menggunakan resource komputasi saat paling tersedia atau paling murah, sehingga menurunkan biaya operasional secara signifikan
  • Toleransi latensi: Asumsi utamanya adalah aplikasi yang menggunakan prediksi tidak memerlukan jawaban segera; penundaan beberapa menit atau jam antara pengumpulan data dan pembuatan prediksi dapat diterima

Inferensi batch versus inferensi online

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.

Bagaimana cara kerja inferensi batch?

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.

Langkah 1: Pengumpulan dan penyimpanan data

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.

Langkah 2: Memicu tugas batch

Pipeline inferensi dimulai oleh pemicu. Pemicu ini dapat berupa:

  • Berdasarkan waktu: Penjadwal (seperti cron job) memulai tugas pada interval reguler, misalnya setiap malam pukul 01.00.
  • Berbasis peristiwa: Tugas dimulai sebagai respons terhadap peristiwa tertentu, seperti kedatangan file data baru di bucket Cloud Storage

Langkah 3: Pra-pemrosesan data

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.

Langkah 4: Membuat prediksi

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.

Langkah 5: Menyimpan hasil

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.

Langkah 6: Menggunakan prediksi

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.

Manfaat inferensi batch

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.

Kasus penggunaan inferensi batch

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.

Cara menyiapkan inferensi batch di Vertex AI

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.

Siapkan aset Anda.

Sebelum memulai, Anda memerlukan tiga hal penting:

  • Model terlatih, yang harus diupload ke Vertex AI Model Registry
  • Data input Anda, diformat sesuai kebutuhan model Anda; data ini harus berada di Google Cloud Storage (misalnya, sebagai file JSON atau CSV) atau tabel BigQuery
  • Lokasi tujuan untuk output, yang juga akan menjadi bucket Cloud Storage atau tabel BigQuery

Membuat tugas prediksi batch.

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:

  • Model spesifik dari Model Registry yang ingin Anda gunakan
  • Jalur ke data input Anda dan lokasi untuk hasil output Anda
  • Jenis mesin dan akselerator (misalnya, GPU) yang ingin Anda gunakan untuk tugas tersebut; hal ini memungkinkan Anda menyeimbangkan biaya dan performa

Menjalankan dan memantau tugas.

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.

Mengakses dan menggunakan prediksi.

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.

Mengatasi tantangan bisnis Anda dengan Google Cloud

Pelanggan baru mendapatkan kredit gratis senilai $300 untuk dibelanjakan di Google Cloud.

Cara menyiapkan inferensi batch di GKE

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.

  • Tulis skrip (misalnya, dalam Python) yang memuat model terlatih Anda, membaca data dari sumber, melakukan inferensi, dan menulis hasilnya ke tujuan
  • Buat Dockerfile; file ini menentukan langkah-langkah untuk membangun container Anda, termasuk menentukan image dasar, menginstal dependensi (seperti tensorflow atau pandas), dan menyalin file model dan skrip inferensi ke dalam image
  • Membangun image dan mengirimkannya ke container registry seperti Artifact Registry

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:

  • Image container yang akan digunakan dari Artifact Registry
  • Resource komputasi yang diperlukan (CPU, memori, GPU)
  • Konfigurasi yang diperlukan, seperti variabel lingkungan untuk jalur file atau secret untuk kredensial database

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).

Masalah apa yang ingin Anda temukan solusinya?
What you'll get:
Panduan langkah demi langkah
Arsitektur referensi
Solusi siap pakai yang tersedia
Layanan ini dibangun dengan Vertex AI. Anda harus berusia 18 tahun ke atas untuk menggunakannya. Jangan memasukkan informasi sensitif, rahasia, atau pribadi.

Referensi tambahan

Langkah selanjutnya

Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.