TinyML Bawa AI Besar ke Perangkat Kecil



TinyML Bawa AI Besar ke Perangkat Kecil - image source: hackster - pibitek.biz - Risiko

image source: hackster


336-280
TL;DR
  • TinyML memungkinkan AI canggih berjalan di perangkat kecil.
  • StreamTinyNet menganalisis video dengan akurasi tinggi dan sumber daya rendah.
  • Algoritma ini dapat berjalan pada platform Arduino dengan RAM 300 kilobyte.

pibitek.biz -Kita semua tahu bahwa aplikasi AI yang canggih membutuhkan banyak sumber daya, dari cluster komputasi besar hingga konsumsi energi yang besar. Oleh karena itu, algoritma-algoritma ini biasanya berjalan di pusat data besar yang dapat diakses melalui internet publik. Namun, arsitektur ini tidak cocok untuk aplikasi yang memerlukan respons waktu nyata, karena latency yang diperkenalkan tidak dapat diterima.

Selain itu, kita seringkali perlu memberikan tools berbasis AI dengan informasi yang sangat sensitif, seperti properti intelektual. Mengirimkan informasi ini melalui internet ke pusat data jauh yang tidak diketahui adalah praktik yang sangat meragukan dalam hal privasi dan keamanan. Untungnya, kemajuan dalam hardware dan software telah memungkinkan munculnya tinyML.

Dengan menggunakan teknik tinyML, banyak algoritma AI canggih dapat berjalan pada platform hardware yang sangat terbatas, kadang-kadang dengan hanya beberapa puluh kilobyte memori. Bahkan aplikasi komputer visi yang biasanya membutuhkan banyak sumber daya telah dapat berjalan pada platform low-power dalam beberapa tahun terakhir. Aplikasi komputer visi ini paling sering digunakan untuk tugas-tugas seperti klasifikasi gambar atau deteksi objek.

Namun, mereka semua memiliki kesamaan bahwa mereka menganalisis satu frame gambar pada satu waktu. Ini mengabaikan pola-pola temporal yang hanya dapat diamati dengan melihat beberapa frame. Coba bayangkan mengenali gerakan tangan dinamis dari satu frame saja, misalnya.

Untuk pertama kalinya, peneliti di Universitas Politeknik Milan di Italia telah mengembangkan kerangka kerja untuk melakukan analisis pada aliran video menggunakan platform hardware yang sangat terbatas. Disebut StreamTinyNet, pendekatan tim ini dapat menganalisis beberapa frame video untuk memberikan tingkat akurasi yang jauh lebih tinggi daripada algoritma tinyML yang berbasis pada satu frame. Namun, karena desain sistem yang unik, tidak memerlukan memori atau daya proses yang signifikan lebih banyak daripada solusi yang kurang mampu.

Pada inti StreamTinyNet adalah jaringan saraf konvolusional yang pertama-tama memproses setiap frame video secara individual untuk mengekstrak fitur-fitur penting. Ini pada dasarnya menciptakan ringkasan setiap frame yang menangkap hanya detail penting untuk mengurangi ukurannya. Setelah fitur-fitur dari semua frame diekstrak, jaringan menganalisisnya bersama-sama untuk memahami urutan dan waktu kejadian.

Ini menggunakan fungsi yang melihat perubahan antara frame untuk mengidentifikasi pola-pola waktu, seperti tangan yang bergerak untuk membentuk gerakan. Data yang diproses kemudian dilewatkan melalui jaringan saraf yang terhubung penuh, yang pada akhirnya mengklasifikasikan input ke dalam salah satu dari beberapa kategori yang mungkin. Untuk memvalidasi pendekatan mereka dalam eksperimen dunia nyata, peneliti memindahkan StreamTinyNet ke papan pengembangan Arduino Nicla Vision.

Ini memiliki sumber daya komputasi yang sederhana, dengan mikrokontroler STM32H747AII6 dual Arm Cortex M7/M4, dua megabyte memori flash, dan satu megabyte RAM. Berjalan pada platform ini, algoritma mampu melakukan deteksi gerakan pada 15 frame per detik. Ini hanya memerlukan sekitar 300 kilobyte RAM.