Macam Cara Implementasi ML/AI di Aplikasi Android

Macam Cara Implementasi ML/AI di Aplikasi Android

Tahukah kamu? Menurut Forbes Advisor, 65% konsumen percaya pada bisnis yang menggunakan teknologi AI (Artificial Intelligence). Tak ayal, banyak sekali perusahaan yang mulai mengimplementasikan AI pada produk mereka. 

Bukan hanya pada produk yang berhubungan dengan kehidupan sehari-hari, tetapi juga pada produk yang biasa dipakai untuk bekerja. Sebut saja Android Studio dengan Studio Bot-nya, Google Workspace dengan Duet AI-nya, dan Photoshop dengan Generative Fill-nya. 

Tak dimungkiri pemanfaatan AI memang sangat membantu kita untuk menyelesaikan pekerjaan dengan jauh lebih cepat. Setuju atau setuju banget? Nah, pertanyaannya adalah “apakah kita hanya akan menjadi pengguna dan pencicip berbagai tools baru tersebut?”

💻 Mulai Belajar Pemrograman

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang

Harapan penulis tentu saja kita tidak hanya menjadi penonton saja, tetapi juga menjadi developer yang bisa memanfaatkan AI. Setidaknya mulai dari level machine learning yang simpel, seperti klasifikasi gambar, pengenalan teks, atau deteksi objek.

Menariknya, untuk kamu yang tidak memiliki pemahaman mendalam terkait machine learning, bisa juga lho menerapkan teknologi ini. Saat ini banyak sekali tools yang bisa kamu gunakan untuk mengimplementasikan machine learning dalam aplikasi Android. Mulai dari yang simpel, kompleks, hingga fleksibel. Bagaimana, sudah mulai penasaran dengan macam cara yang bisa dilakukan? Yuk, kita bahas!

ML Kit

ML Kit untuk implementasi ML/AI di Android

ML Kit adalah framework machine learning yang dikembangkan oleh Google untuk perangkat Android dan iOS. Ia menyediakan kumpulan API yang menyediakan berbagai fitur machine learning, seperti pengenalan gambar dan natural language processing (NLP). 

Ini adalah cara yang paling mudah untuk menambahkan fitur machine learning ke aplikasi Android kamu. Hal ini karena kamu tidak perlu memahami cara membuat model sendiri untuk mengimplementasikan machine learning, semuanya sudah tersedia dalam framework tersebut. Dengan menggunakan ML Kit, kamu mungkin tidak pernah membayangkan kalau menerapkan ML bisa semudah ini.

 

TensorFlow Lite

tensorflow-lite-logo

Pada ML Kit, model sudah disediakan secara built-in. Model yang dimaksud di sini adalah algoritma machine learning yang sebelumnya telah dilakukan proses pelatihan/training dengan data latih tertentu sehingga ia siap digunakan untuk melakukan prediksi terhadap data baru. 

Lalu, bagaimana jika kamu ingin menggunakan model tersendiri? Salah satu jawabannya adalah dengan menggunakan TensorFlow Lite. Sebagaimana namanya, TensorFlow Lite merupakan versi ringan dan efisien dari framework Tensorflow yang sering digunakan ML Developer untuk mengembangkan dan men-deploy model. 

Ia didesain sedemikian rupa sehingga memungkinkan kita untuk menjalankan model pada perangkat dengan resource yang terbatas, seperti handphone dan embedded system. Selain itu, ia mendukung berbagai jenis machine learning, seperti pengenalan gambar, pengenalan audio, dan natural language

Library ini bisa dijalankan pada perangkat mobile, seperti Android dan iOS ataupun perangkat IoT, seperti Raspberry Pi dan Arduino. Beberapa contoh aplikasi yang menggunakan TensorFlow Lite adalah GMail, Google Assistant, Google Nest, dan Shazam. Tentu nama-nama yang tidak asing, bukan?

Nah, jika kamu sudah memiliki TensorFlow Model dan ingin mengonversinya menjadi TensorFlow Lite Model dengan ekstensi .tflite. Alhasil, ukurannya menjadi lebih kecil, lebih efisien, dan mendukung framework TensorFlow Lite.

Apabila tidak memiliki model sendiri, kamu bisa memanfaatkan TensorFlow Lite Model Maker untuk melakukan transfer learning. Transfer learning adalah pendekatan untuk model yang telah dilatih sebelumnya dalam mengerjakan tugas tertentu. Ini digunakan sebagai titik awal untuk membuat model baru dengan tugas serupa. Kamu juga bisa memanfaatkan TensorFlow Hub untuk mencari referensi model yang sudah paten.

 

MediaPipe

mediapipe logo

MediaPipe adalah solusi terbaru untuk implementasi machine learning yang dikenalkan pada Google I/O 2023. Framework ini dapat dijalankan di platform mobile (Android & iOS), IoT, web, dan juga desktop. Ia juga sudah dipakai pada banyak produk, seperti Google Lens, Google Meet, YouTube, dan Google Photos. Sudah tidak diragukan lagi, bukan?

MediaPipe dibuat di atas TensorFlow Lite sehingga memiliki kemampuan yang sama untuk men-deploy model, bahkan lebih. MediaPipe menyediakan cara untuk menyatukan banyak model dalam sebuah pipeline. Selain itu, juga ada fitur MediaPipe Model Maker untuk transfer learning layaknya Tensorflow. 

Hal berbeda dan menarik yang ditawarkan oleh MediaPipe adalah hadirnya MediaPipe Studio. Dalam web tersebut, kamu dapat menguji coba secara langsung setiap jenis machine learning serta berbagai macam pengaturannya. Tak hanya itu saja, kamu juga dapat menggunakan model yang kamu miliki untuk dicoba di sana. Menarik, bukan?

 

Firebase ML

Firebase ML

Berbeda dari framework sebelumnya, pemrosesan Machine Learning pada framework ini dilakukan di Cloud, bukan di device.

Kelebihan dari cara ini, yaitu kamu bisa menghemat ruang sehingga ukuran aplikasi bisa lebih kecil ketika diunduh. Selain itu, apabila ada ingin meng-update model, kamu dapat mengubahnya langsung secara OTA (on-the-air).

Kelemahan dari cara ini, yaitu respons yang dihasilkan lebih lambat. Selain itu, ia sangat tergantung dengan internet. Jadi, aplikasi tidak bisa digunakan jika tidak ada internet.

 

Pemrosesan ML atau AI di Server

Ini merupakan alternatif cara yang bisa kamu gunakan juga. Biasanya cara ini digunakan untuk jenis pemrosesan yang hanya sekali, bukan stream yang terus menerus. Syaratnya adalah ada orang yang paham untuk mengimplementasikan ML dalam cloud kemudian mengeluarkan hasilnya dalam bentuk JSON. 

Dengan begitu, kamu hanya perlu memahami cara untuk membaca dan mengirim data melalui REST API atau yang sering disebut dengan networking, layaknya dalam membuat aplikasi seperti biasanya. Kamu bisa menggunakan berbagai library, seperti Retrofit, Fuel, FAN, dan LoopJ.

 

Kesimpulan Penerapan ML atau AI di Android

Oke, itulah berbagai macam cara untuk mengimplementasikan machine learning pada perangkat Android, khususnya untuk kamu yang bukan Machine Learning Expert. Ada yang simpel dengan build-in model, yaitu ML Kit. Kemudian TensorFlow Lite yang populer dan sering digunakan untuk men-deploy model sendiri. 

Selanjutnya ada MediaPipe yang merupakan framework baru dengan berbagai layanan barunya. Hal yang disebutkan sebelumnya merupakan jenis layanan on-device ML yang pemrosesan ML-nya dilakukan pada device. Selain itu, kamu juga dapat melakukan pemrosesan ML di cloud, baik menggunakan layanan Firebase ML maupun melalui server sendiri.

Jadi, dari berbagai macam tersebut, cara mana nih yang ingin kamu implementasikan? Silakan tuliskan di kolom komentar, ya! Apabila banyak yang request, kami akan menyajikan tutorialnya dalam blog kami yang akan datang. Terima kasih atas partisipasinya dan tetap semangat belajar, ya!


Belajar Pemrograman Gratis
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.