
Model machine learning berperan penting dalam kehidupan sehari-hari – disadari atau tidak. Sepanjang hari, kemungkinan besar Anda akan berinteraksi dengan salah satu model machine learning karena teknologi ini telah meresap ke hampir semua produk digital yang kita gunakan; misalnya layanan media sosial, asisten pribadi virtual, mesin pencari, dan pemfilteran spam oleh layanan hosting email Anda.
Meski banyak contoh machine learning dalam kehidupan sehari-hari, masih ada beberapa area yang belum mampu dijangkau teknologi ini. Penyebabnya? Banyak model machine learning, khususnya arsitektur mutakhir (SOTA), membutuhkan sumber daya yang signifikan. Kebutuhan akan daya komputasi berperforma tinggi ini membuat sejumlah aplikasi machine learning harus ditempatkan di cloud – penyedia sumber daya sistem komputasi sesuai permintaan.
Selain mahal secara komputasi untuk dilatih, menjalankan inferensi pada model-model ini juga kerap cukup mahal. Jika machine learning ingin memperluas jangkauan dan menembus domain tambahan, diperlukan solusi yang memungkinkan model menjalankan inferensi pada perangkat yang lebih kecil dan terbatas sumber dayanya. Pencarian solusi inilah yang melahirkan subbidang machine learning bernama Tiny Machine Learning (TinyML).
Pada artikel ini, kita akan:
- Mendefinisikan TinyML dan manfaatnya
- Membahas beberapa penerapan TinyML
- Mendiskusikan kebutuhan alur kerja untuk aplikasi TinyML.
Apa itu TinyML?
“Neural network juga disebut artificial neural network (ANN). Arsitektur ini menjadi dasar deep learning, yaitu subset machine learning yang berfokus pada algoritma yang terinspirasi oleh struktur dan fungsi otak manusia. Sederhananya, neural network menjadi basis arsitektur yang meniru cara neuron biologis saling memberi sinyal.”
Sumber: PyTorch Tutorial: Building a Simple Neural Network
Machine learning adalah subbidang kecerdasan buatan yang menyediakan seperangkat algoritma. Algoritma ini memungkinkan mesin mempelajari pola dan tren dari data historis yang tersedia untuk memprediksi keluaran yang sebelumnya diketahui pada data yang sama. Namun, tujuan utamanya adalah menggunakan model terlatih untuk menggeneralisasi inferensinya melampaui data pelatihan, sehingga akurasi prediksi meningkat tanpa harus diprogram secara eksplisit.
Salah satu algoritma yang digunakan untuk tugas ini adalah neural network. Neural network termasuk ke dalam subbidang machine learning yang dikenal sebagai deep learning, yang terdiri dari model-model yang umumnya lebih mahal untuk dilatih dibandingkan model machine learning lainnya. Anda dapat mempelajari lebih lanjut tentang membangun model neural network di R pada tutorial terpisah.

Gambar 1. Visualisasi jaringan saraf tiga lapis
Menurut tinyml.org, “Tiny machine learning secara umum didefinisikan sebagai bidang teknologi dan aplikasi machine learning yang berkembang pesat, mencakup perangkat keras, algoritma, dan perangkat lunak yang mampu melakukan analitik data sensor di perangkat dengan daya yang sangat rendah, biasanya pada kisaran mW atau lebih kecil, sehingga memungkinkan berbagai use case always-on dan menargetkan perangkat bertenaga baterai.”
Pertumbuhan TinyML dalam beberapa tahun terakhir sebagian besar didorong oleh berkembangnya ekosistem perangkat keras dan perangkat lunak yang mendukungnya. Karena teknik-teknik ini dapat diterapkan pada sistem berdaya rendah (misalnya sensor, mikrokontroler, dan sebagainya), machine learning dapat dibawa ke edge secara ekstrem, sehingga aplikasi semacam ini mampu merespons secara real-time. Intinya, idenya adalah memungkinkan praktisi machine learning melakukan lebih banyak hal dengan sumber daya yang minim.
Lalu mengapa ini begitu penting? Mari kita lihat mengapa TinyML menarik.
Manfaat TinyML
- Latensi: Data tidak perlu dikirim ke server untuk inferensi karena model berjalan pada perangkat edge. Transfer data biasanya memakan waktu yang menimbulkan sedikit jeda. Menghilangkan kebutuhan ini menurunkan latensi.
- Penghematan energi: Mikrokontroler hanya membutuhkan daya yang sangat kecil, sehingga dapat beroperasi dalam jangka waktu lama tanpa perlu diisi ulang. Selain itu, infrastruktur server yang luas tidak diperlukan karena tidak ada transfer informasi: hasilnya adalah penghematan energi, sumber daya, dan biaya.
- Pengurangan bandwidth: Konektivitas internet yang minim atau bahkan tidak diperlukan untuk inferensi. Terdapat sensor di perangkat yang menangkap data dan memprosesnya langsung di perangkat. Artinya, tidak ada data sensor mentah yang terus-menerus dikirim ke server.
- Privasi data: Data Anda tidak disimpan di server karena model berjalan di edge. Tidak adanya transfer informasi ke server meningkatkan jaminan privasi data.
Use Case: Bagaimana TinyML digunakan?
Penerapan TinyML tersebar di berbagai sektor, terutama yang bergantung pada jaringan dan data internet of things (IoT) – Internet of Things (IoT) pada dasarnya adalah jaringan objek fisik yang disematkan sensor, perangkat lunak, dan teknologi lain yang terhubung serta bertukar data dengan perangkat dan sistem lain melalui internet.
Computer vision, visual wake words, keyword spotter, pemeliharaan prediktif, pengenalan gestur, pemeliharaan mesin industri, dan sebagainya adalah use case TinyML yang umum. Mari kita lihat juga beberapa industri yang memanfaatkan TinyML untuk menjalankan aplikasi:
Pertanian
Data pertanian dan peternakan secara real-time dapat dipantau dan dikumpulkan menggunakan perangkat TinyML. Perusahaan produk AI edge asal Swedia Imagimob telah membuat platform pengembangan untuk machine learning pada perangkat edge. Lima puluh lima organisasi dari seluruh Uni Eropa telah berkolaborasi dengan Imagimob untuk mempelajari bagaimana TinyML dapat menawarkan pengelolaan tanaman dan ternak yang efisien.
Pemeliharaan prediktif industri
TinyML dapat diterapkan pada perangkat berdaya rendah untuk memantau mesin secara berkelanjutan guna mendeteksi malfungsi dan memprediksi masalah sebelum terjadi; jenis aplikasi ini berpotensi membantu bisnis menurunkan biaya yang sering timbul akibat mesin bermasalah.
Contoh utama pemeliharaan prediktif adalah Ping Services. Mereka mengembangkan perangkat pemantauan untuk mengawasi tanda tangan akustik bilah turbin angin secara kontinu guna mendeteksi dan memberi tahu jika terjadi perubahan atau kerusakan. Menurut situs Ping, “pemantauan berkelanjutan memungkinkan operator merespons kerusakan bilah secara tepat waktu, mengurangi biaya perawatan, risiko kegagalan, dan downtime, sekaligus meningkatkan kinerja dan efisiensi turbin angin.”
Pengalaman pelanggan
Personalisasi adalah alat pemasaran utama yang dituntut pelanggan seiring meningkatnya ekspektasi mereka. Tujuannya adalah agar bisnis lebih memahami pelanggan dan menargetkan mereka dengan iklan serta pesan yang selaras dengan perilaku mereka. Menerapkan aplikasi TinyML di edge memungkinkan bisnis memahami konteks pengguna, termasuk perilakunya.
Kebutuhan Alur Kerja
Banyak alat dan arsitektur yang digunakan dalam alur kerja machine learning tradisional juga dipakai saat membangun aplikasi untuk perangkat edge. Perbedaan utamanya adalah TinyML memungkinkan model-model ini melakukan berbagai fungsi pada perangkat yang lebih kecil.
Tensorflow Lite untuk mikrokontroler (TF Lite Micro) adalah salah satu kerangka kerja paling populer untuk machine learning pada perangkat edge; kerangka ini dirancang khusus untuk menerapkan machine learning pada sistem tertanam dengan hanya beberapa kilobyte memori.
Python sering menjadi bahasa pilihan untuk membangun model machine learning. Namun, TensorFlow Lite memungkinkan pengembangan model dengan mudah dalam C, C++, atau Java dan menerapkannya tanpa harus terhubung ke internet.
Dari sisi perangkat keras, diperlukan papan mikrokontroler yang didukung untuk mulai menggunakan TinyML di TF Lite; pustaka ini saat ini mendukung mikrokontroler berikut:
- Arduino Nano 33 BLE Sense
- SparkFun Edge
- STM32F746 Discovery kit
- Adafruit EdgeBadge
- Adafruit TensorFlow Lite for Microcontrollers Kit
- Adafruit Circuit Playground Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
- Wio Terminal: ATSAMD51
- Himax WE-I Plus EVB Endpoint AI Development Board
- Synopsys DesignWare ARC EM Software Development Platform
- Sony Spresense
Dengan dukungan TinyML, kita dapat meningkatkan kecerdasan miliaran perangkat yang kita gunakan setiap hari, seperti peralatan rumah tangga dan gawai IoT, tanpa harus mengeluarkan biaya besar untuk perangkat keras mahal atau koneksi internet andal, yang kerap dibatasi oleh bandwidth dan daya serta menimbulkan latensi yang signifikan.
Sumber Belajar
- TinyML Foundation
- Tiny ML: Machine Learning with Tensorflow Lite on Arduino and Ultra-Low-Power Microcontrollers (Buku)
- Embedded Machine Learning on Edge Devices (Podcast)
- Understanding Machine Learning
- Introduction to Deep Learning in Python
- Deep Learning Tutorial
Penutup
TinyML semakin mendapat perhatian di berbagai industri dalam beberapa tahun terakhir berkat berkembangnya ekosistem perangkat keras dan perangkat lunak yang mendukungnya. Alat ini memungkinkan penerapan model machine learning pada sistem berdaya rendah, seperti mikrokontroler, yang membuka pintu bagi beragam peluang baru. Latensi rendah, penghematan energi, privasi data, dan tidak bergantung pada koneksi adalah beberapa faktor yang membuat TinyML menarik bagi pengembang yang ingin membangun aplikasi untuk perangkat internet of things (IoT).
FAQ
Apa itu Tiny Machine Learning (TinyML)?
TinyML adalah jenis machine learning yang memungkinkan model berjalan pada perangkat yang lebih kecil dan kurang bertenaga. TinyML mencakup perangkat keras, algoritma, dan perangkat lunak yang dapat menganalisis data sensor di perangkat tersebut dengan konsumsi daya yang sangat rendah, sehingga ideal untuk use case always-on dan perangkat bertenaga baterai.
Apa saja manfaat TinyML?
Manfaat TinyML mencakup latensi yang lebih rendah, penghematan energi, pengurangan bandwidth, dan peningkatan privasi data. TinyML memungkinkan data diproses pada perangkat edge, sehingga tidak perlu mentransfer data ke server yang dapat menyebabkan keterlambatan. TinyML juga membutuhkan daya yang jauh lebih sedikit dibanding model machine learning tradisional, memungkinkannya beroperasi dalam waktu lama tanpa perlu diisi daya.
Untuk apa TinyML digunakan?
TinyML dapat digunakan di berbagai sektor, termasuk pertanian, pemeliharaan prediktif industri, dan pengalaman pelanggan. TinyML juga dapat digunakan untuk computer vision, visual wake words, keyword spotter, pengenalan gestur, dan lainnya.
Apa saja kebutuhan alur kerja untuk aplikasi TinyML?
Kebutuhan alur kerja untuk aplikasi TinyML serupa dengan alur kerja machine learning tradisional. Namun, TinyML memungkinkan model-model ini menjalankan berbagai fungsi pada perangkat yang lebih kecil. TensorFlow Lite untuk mikrokontroler (TF Lite Micro) adalah salah satu kerangka kerja paling populer untuk machine learning pada perangkat edge, yang dirancang khusus untuk menerapkan machine learning pada sistem tertanam dengan hanya beberapa kilobyte memori.
Apa saja sumber belajar untuk TinyML?
Beberapa sumber belajar untuk TinyML mencakup TinyML Foundation, buku "Tiny ML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers" dan podcast "Embedded Machine Learning on Edge Devices." DataCamp juga memiliki banyak sumber, seperti tutorial deep learning ini, kursus memahami machine learning ini dan masih banyak lagi di Learn AI hub.
