Mengoptimalkan Model AI untuk Pembedaran Terbenam yang Efisien
Seiring bertambahnya permintaan akan antarmuka yang didorong AI, mengintegrasikan fitur seperti pengenalan wajah ke dalam mesin tidak lagi terasa seperti lompatan monumental. Dengan beragam platform AI, alat pelatihan, dan proyek open-source—seperti contoh face-ID—pengembang dapat dengan cepat membuat prototipe di PC.

(Sumber: CEVA)
Keterbatasan
Migrasi jaringan yang dilatih di PC atau cloud ke sistem terbenam menampilkan tantangan yang berbeda. Model yang dibangun untuk hardware high-end sering mengabaikan keterbatasan memori, bergantung pada aritmatika floating-point, dan bergantung pada memori luar-chip untuk inferensi sliding-window. Sementara prototipe di PC yang kuat dapat menanggung ketidakefisienan ini, aplikasi terbenam harus jauh lebih hemat—tetapi harus mempertahankan performa.
Esensial Optimasi
Tiang pertama optimasi adalah kuantisasi. Mengonversi bobot dari floating-point 32-bit menjadi integer 8-bit menyusutkan ukuran model dan nilai perantara, menghasilkan penghematan memori yang besar dengan dampak yang dapat diabaikan pada akurasi untuk sebagian besar tugas visi.
Memanfaatkan sparsity bobot dapat mengurangi komputasi lebih lanjut. Dengan mengosongkan koefisien yang mendekati nol—sambil memantau dampak pada akurasi—Anda menghilangkan perkalian yang tidak perlu, memotong lalu lintas memori dan konsumsi daya.
Dalam praktiknya, model visi memproses gambar secara bertahap, jadi bobot diperbarui saat jendela komputasi meluncur di seluruh frame. Memaksa proporsi besar dari matriks bobot menjadi nol memungkinkan array untuk dikompresi dan disimpan dalam SRAM on-chip, mengurangi lalu lintas luar-chip dan meningkatkan throughput.
Jaringan syaraf tiruan juga bergantung pada perpustakaan yang matang. Runtime yang ramah mikrokontroler—seperti TensorFlow Lite atau perpustakaan akselerator spesifik vendor—adalah esensial untuk inferensi yang efisien. Untuk eksploitasi penuh mikrokontroler, solusi yang dibuat khusus biasanya diperlukan.
Memilih platform yang tepat oleh karena itu kritis. Anda perlu alur yang mengompil model yang dilatih dalam framework pilihan Anda (misalnya, TensorFlow) langsung ke target terbenam Anda, dengan tweaking manual yang minimal, sambil masih memungkinkan kontrol halus atas tingkat kuantisasi, ambang bobot, dan pemetaan memori.
Bagaimana Membuat Alur Ini Mudah Digunakan?
Apa yang Anda inginkan adalah pipeline yang mulus yang mengambil jaringan yang dilatih dan memaketkannya untuk penerapan—lengkap dengan kuantisasi, pemotongan sparsity, dan generasi kode runtime—jadi Anda dapat berfokus pada aplikasi daripada optimasi level rendah.
CDNN CEVA dibangun untuk tujuan ini. Ini menyediakan rantai alat offline untuk kuantisasi, pemotongan, dan generasi runtime, dan menyediakan perpustakaan yang terintegrasi erat dengan DSP CEVA dan akselerator pelanggan. CDNN mendukung semua format model utama, termasuk TensorFlow Lite, ONNX, dan Caffe.
Konten Terkait:
- Menguasai AI terbenam
- Menyusutkan model AI ke dalam mikrokontroler
- Menerapkan pembelajaran mesin dalam sistem terbenam
- Arsitektur mikrokontroler berkembang untuk AI
- Pelatihan model AI di edge
- Mengubah big data menjadi data cerdas dengan AI terbenam
Untuk lebih banyak Embedded, langganan newsletter email harian Embedded.