Apa itu TinyML
- TinyML berarti penggunaan machine learning pada mikrokontroler.
- Berbeda dengan sistem yang digunakan pada ML tradisional, TinyML digunakan pada sistem dengan CPU dan RAM yang sangat kecil, serta konsumsi daya pada tingkat miliwatt atau mikrowatt.
- TinyML mencakup pekerjaan mengecilkan model besar agar dapat digunakan pada perangkat dengan sumber daya sangat terbatas dan mikrokontroler.
- Situs web resmi TinyML Foundation adalah https://www.tinyml.org/
- Ada rangkaian 3 kursus gratis yang disediakan oleh Harvard University:
- Dasar-dasar TinyML (apa yang dibuat, mengapa dibuat, dan masalah apa yang ada)
- Aplikasi TinyML (berbasis data, bias, dan lain-lain)
- Penerapan TinyML (di mana model akan ditempatkan, keamanan, dan privasi)
Prinsip dasar TinyML
- Sistem embedded yang menggunakan mikrokontroler memiliki memori hingga 256kB sehingga tidak dapat menjalankan model besar.
- Beberapa contoh sistem operasi yang dapat digunakan bersama mikrokontroler:
- FreeRTOS
- Mbed OS
- Machine learning terdiri dari algoritma yang mencari pola dalam data.
- Dalam TinyML, algoritma-algoritma ini dikompresi agar dapat menemukan pola dalam data secara efektif.
- Data yang dihasilkan setiap hari di IoT mencapai 5 kuintiliun byte, dan kurang dari 1% di antaranya yang dianalisis.
Teknik kompresi algoritma
-
Pruning
- Pruning sinapsis: menghapus koneksi jaringan dari model. Terkadang akurasi dapat menurun.
- Pruning neuron: menghapus seluruh neuron dari model untuk mengurangi kebutuhan komputasi jaringan.
-
Quantization
- Mendiskretkan nilai ke dalam rentang yang lebih kecil. Misalnya, jika bilangan floating-point didiskretkan ke rentang -128 hingga 127, maka hanya perlu menelusuri 256 nilai.
- Jika nilai floating-point yang disimpan dalam 4 byte diubah menjadi nilai integer yang disimpan dalam 1 byte, ukurannya berkurang 4 kali lipat.
- Karena sumber daya terbatas, quantization sangat penting dalam TinyML.
-
Knowledge distillation
- Membuat model menjadi lebih kecil dengan menerapkan pengetahuan dan keahlian.
Alat
- Menggunakan TensorFlow Lite.
- TensorFlow berfokus pada peneliti ML, sedangkan TensorFlow Lite ditujukan untuk pengembang aplikasi.
Penggunaan TinyML
- Contoh penggunaan TinyML yang khusus untuk dunia DIY, maker, dan hacker dapat ditemukan di situs web ini.
Penggunaan TinyML di industri
- Di bidang industri, TinyML digunakan untuk pemeliharaan dengan meningkatkan efisiensi dan menurunkan biaya melalui peringatan saat getaran menandakan akan terjadi kerusakan.
- Masalah akurasi dapat menimbulkan alarm palsu, dan tanggung jawab atas alarm palsu tersebut berada pada operator atau sistem.
TinyML di lingkungan
- Alih-alih mengumpulkan data lalu memprosesnya, TinyML memungkinkan diperolehnya respons real-time terhadap perubahan lingkungan. Misalnya, perubahan dalam kehidupan satwa liar dapat diketahui secara real-time.
TinyML untuk manusia
- Membantu penyandang disabilitas melakukan lebih banyak tugas tanpa menggunakan tangan.
- Meningkatkan UI dan UX aplikasi agar lebih mudah digunakan.
- Teknologi diciptakan untuk meningkatkan pengalaman manusia. Teknologi harus membantu manusia.
Risiko dan kekurangan
- Apakah ini akan bekerja dengan baik untuk semua kelompok populasi?
- Apakah privasi data terjamin?
- Apakah data ini dapat dilindungi?
- Teknologi harus dibangun berdasarkan AI yang berpusat pada manusia. Hal ini perlu dipertimbangkan dalam proses desain, pengembangan, dan penerapan.
Opini GN⁺
- TinyML adalah teknologi inovatif yang memungkinkan machine learning berjalan bahkan di lingkungan dengan sumber daya terbatas, dan dapat sangat meningkatkan efisiensi serta kecerdasan perangkat IoT.
- Teknik kompresi algoritma seperti pruning, quantization, dan knowledge distillation adalah elemen kunci yang mengecilkan model machine learning agar dapat dijalankan pada perangkat berdaya rendah.
- Penerapan TinyML dapat membantu meningkatkan kualitas hidup manusia di berbagai bidang seperti pemeliharaan industri, pemantauan lingkungan, dan dukungan bagi penyandang disabilitas, dan ini merupakan contoh baik dari dampak positif teknologi terhadap masyarakat.
1 komentar
Opini Hacker News
Mengembangkan compiler Rust TinyML
predict()yang menjalankan inferensi untuk model yang diberikan.Daya tarik bidang TinyML
Virus yang menargetkan infrastruktur dengan LLM
Penjelasan Edge Impulse tentang TinyML / Edge ML
Contoh penggunaan ESP32, Tensor Flow Lite, dan Edge Impulse dari Hacker Box
Masa kini dan masa depan TinyML
Beragam pendapat tentang TinyML