Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Tertanam

Mengoptimalkan AI untuk aplikasi tersemat

Di blog saya sebelumnya, saya berbicara tentang bagaimana permintaan untuk antarmuka berbasis AI menjadi hampir tidak dapat dihindari—dan menambahkan antarmuka berbasis AI seperti face-id untuk mengotorisasi akses ke mesin mungkin pada awalnya tampak seperti lompatan besar, itu tidak telah sesulit yang Anda mungkin berpikir. Ada banyak platform AI yang tersedia, banyak opsi pelatihan, dan bahkan aplikasi open-source, seperti contoh face-id. Anda dapat memulai dan menguji cukup cepat dengan prototipe yang dapat dijalankan di PC Anda.


(Sumber:CEVA)

Batasan

Memindahkan jaringan terlatih ke aplikasi tersemat Anda mungkin tampak seperti rintangan besar lainnya. Jaringan yang dilatih PC atau cloud tidak banyak mengoptimalkan penggunaan memori atau daya. Mereka mungkin menggunakan floating point atau kata ganda untuk perhitungan jaringan, dan mereka akan sangat bergantung pada akses memori off-chip saat mereka memproses jendela geser di atas gambar. Itu bukan masalah untuk prototipe yang berjalan pada PC berperforma tinggi yang dicolokkan ke stopkontak, tetapi Anda harus jauh lebih hemat dalam aplikasi akhir Anda, tanpa kompromi dalam kinerja.

Inti dari pengoptimalan

Salah satu langkah kunci dalam mengoptimalkan disebut kuantisasi. Mengalihkan bobot dari floating point ke fixed point dan mengurangi ukuran fixed-point, katakanlah dari 32 bit floating point menjadi 8 bit integer, tidak hanya memengaruhi ukuran bobot tetapi juga nilai komputasi menengah. Ini saja dapat mengurangi jejak memori secara signifikan, dengan sedikit dampak nyata dalam kualitas pengenalan di sebagian besar kasus.

Manipulasi kedua adalah untuk mengeksploitasi sparity dalam bobot dengan dampak akurasi minimal. Latihan ini akan memanfaatkan bobot yang mendekati nol, dan membulatkannya ke nol, sambil tetap memperhatikan dampak akurasinya. Bobot digunakan dalam mengalikan jumlah parsial, latihan yang sia-sia jika salah satu faktornya nol, jadi tidak perlu melakukan operasi.

Dalam implementasi praktis, gambar diproses secara bertahap sehingga bobot harus diperbarui saat jendela perhitungan bergerak melintasi gambar. Itu bisa menghasilkan banyak pembaruan dan banyak lalu lintas. Dengan memaksa sebagian besar bobot menjadi nol, larik bobot dapat dikompresi, sehingga memungkinkan untuk menyimpan semua atau sebagian besar larik dalam SRAM on-chip, untuk dekompresi sesuai permintaan. Itu pada gilirannya meminimalkan kebutuhan untuk pergi ke memori utama dan karena itu meningkatkan kinerja dan mengurangi daya. Ini juga secara kebetulan mengurangi lalu lintas on-chip saat memuat beban. Pertentangan lalu lintas yang lebih sedikit berarti throughput yang lebih tinggi.

Satu faktor lagi harus dipertimbangkan. Seperti kebanyakan aplikasi kompleks, jaringan saraf bergantung pada perpustakaan yang canggih. Anda harus menggunakan perpustakaan yang dirancang untuk digunakan di lingkungan mikrokontroler dan kompiler ke platform pilihan Anda. Titik awal yang baik mungkin adalah library open-source, seperti TensorFlow Lite, tetapi untuk pemanfaatan penuh mikrokontroler, solusi khusus yang disesuaikan akan diperlukan.

Tentu saja, mengetahui apa yang harus Anda lakukan tidak membuatnya mudah. Anda sekarang perlu menemukan platform yang akan merampingkan operasi ini dan menyediakan library yang dioptimalkan untuk perangkat keras.

Bagaimana cara membuat alur ini mudah digunakan?

Yang Anda inginkan adalah alur di mana Anda dapat menggunakan jaringan yang Anda latih melalui platform spesifik Anda, TensorFlow misalnya, dan mengompilasinya langsung ke solusi tersemat Anda—tanpa intervensi selain panggilan dalam beberapa persyaratan dasar. Tentu saja, Anda juga ingin opsi untuk dapat mengoptimalkan tangan lebih lanjut, mungkin mengatur tingkat kuantisasi yang berbeda di bidang yang berbeda. Mungkin bereksperimen dengan ambang batas berat versus ukuran memori on-chip. Dan Anda ingin perpustakaan dioptimalkan untuk perangkat keras dan perangkat keras dioptimalkan untuk perpustakaan.

Platform AI yang terbukti seperti CDNN CEVA dirancang untuk menyediakan jenis aliran ini. CDNN menawarkan perangkat prosesor offline untuk kuantisasi dan pembuatan tugas waktu proses serta perpustakaan waktu proses yang disesuaikan untuk CEVA DSP dan akselerator perangkat keras pengguna pelanggan. Solusi CEVA mendukung semua format model AI populer, termasuk TensorFlow Lite, ONNX, Caffe, dan lainnya.


Konten Terkait:

Untuk lebih banyak Tertanam, berlangganan buletin email mingguan Tertanam.


Tertanam

  1. VersaLogic Merilis Komputer Kelas Server untuk Aplikasi Tertanam
  2. Infineon meluncurkan seri daya tertanam TLE985x untuk aplikasi otomotif
  3. Sundance:VCS-1 modul prosesor tertanam untuk aplikasi robotika presisi
  4. PPA untuk Aplikasi E-Mobilitas
  5. 4 Tips untuk Mengoptimalkan Waterjet Anda
  6. Aplikasi Ideal Untuk Aktuator Pneumatik
  7. 4 Jenis Alat untuk Aplikasi Pertambangan
  8. Aplikasi Umum untuk Rem Kaliper
  9. Aplikasi Militer untuk Paduan Perunggu
  10. Aplikasi untuk Aluminium Bronze C63200