Otak di Balik Kendaraan Otonom: Bagaimana AI Mengemudikan Kendaraan Modern
Kendaraan otonom (AV), atau bahkan kendaraan dengan sistem bantuan pengemudi canggih (ADAS), bergantung pada data dari banyak sensor — beberapa kamera, lidar, radar, dan terkadang bahkan sonar. Menangani aliran data yang datang dari sekelompok sensor ini, adalah tugas yang besar dan pada saat yang sama, kritis. Semua data tersebut harus diubah menjadi informasi secara real-time untuk digunakan untuk mengemudikan mobil dengan aman setidaknya setara dengan jika seorang pengemudi manusia yang sempurna berada di kontrol. “Di jalan, pengemudi manusia perlu waspada terhadap lingkungan sekitar mereka saat ini, berinteraksi dengan pengemudi lain, dan membuat keputusan. Seperti pengemudi manusia, AV harus dapat memandang, berinteraksi, dan membuat keputusan juga. Selain itu, AV harus membangun hubungan yang baik dengan penumpang mereka.”1
Fungsi-fungsi ini bergantung pada kecerdasan buatan (AI) untuk menyerap data dari berbagai sensor dan menggabungkannya untuk mendapatkan gambaran instan dari kendaraan dan lingkungan dinamisnya — proses yang disebut sensor fusion. Secara optimal untuk penggunaan otomotif, AI menggunakan jaringan saraf dalam (DNN). Dipasang berdasarkan cara informasi diproses oleh otak manusia, DNN belajar cara melintasi dunia nyata pengemudi dengan belajar dari pengalaman, daripada diberitahu apa yang harus dilakukan oleh programmer. DNN bekerja dengan menerima banyak input, memberikan bobot yang berbeda pada mereka dan menarik kesimpulan. Ini memerlukan platform komputasi yang berkinerja tinggi namun hemat energi untuk melakukan semuanya dalam “real-time.” Ini dapat dipercepat dengan menggunakan akselerator pemrosesan.
Menerapkan AI ke dalam Aksi
Untuk mempelajari apa yang diperlukan untuk platform berkinerja tinggi untuk AI otomotif, saya mewawancarai Gil Abraham dari CEVA, Inc. tentang alat-alat mereka untuk mengimplementasikannya.
Bidang Visi dan AI CEVA memiliki yang disebut Abraham tiga pilar: NeuPro-M, yang adalah prosesor AI; SensPro, yang adalah digital signal processor (DSP) hub sensor berkinerja tinggi; dan perangkat lunak CDNN-Invite. CDNN-Invite memungkinkan produsen untuk memasukkan akselerator DNN miliknya sendiri untuk bekerja sama dengan prosesor AI NeuPro-M milik CEVA serta DSP SensPro dan menikmati sistem terpadu yang dapat dielola secara terpusat oleh perangkat lunak pengembangan (SDK) yang sama.
DSP SensPro dapat melakukan pemrosesan sinyal pada input dari banyak sensor berbeda, termasuk beberapa lidar, radar, dan kamera dan mengonvolve mereka — proses yang disebut sensor fusion, yang mengumpulkan input dari banyak sensor. Ini sangat penting untuk penggunaan otomotif karena setiap sensor memiliki keterbatasan sendiri.
Misalnya:
Kamera dapat memiliki resolusi yang sangat tinggi sehingga dapat merasakan detail halus. Namun biasanya Anda memerlukan lebih dari satu untuk mencakup titik buta kendaraan, tampilan belakang, tampilan sekeliling, dan beberapa kamera menghadap depan dengan panjang fokus yang berbeda. Setiap kamera akan menyediakan aliran data terpisah. Juga, kamera tidak dapat diandalkan untuk berfungsi dengan baik di malam hari atau jika mereka menghadap matahari.
Radar berfungsi dengan baik di malam hari dan dapat memberikan pengukuran jarak. Namun tidak memiliki resolusi yang cukup tinggi untuk merasakan lokasi yang tepat dari sebuah objek atau membedakan antara beberapa objek yang berada di dekat satu sama lain. Ia dapat gagal mendeteksi objek stasioner atau bergerak lambat dan juga tidak dapat mendeteksi “semantik” adegan: warna dan bentuk objek — untuk itu Anda membutuhkan kamera.
Lidar bertindak sebagai sumber cahaya sendiri sehingga berfungsi baik dalam kegelapan maupun cahaya siang hari. Ia juga menyediakan data pengukuran yang cepat dan akurat dengan resolusi yang cukup tinggi untuk deteksi ruang bebas real-time yang tepat sambil melacak banyak objek dalam adegan. Namun untuk memiliki cukup data titik lidar Anda membutuhkan lima atau enam perangkat mahal ini yang dipasang pada kendaraan.
DSP SensPro dapat mengambil input dari ini, serta sensor time of flight (ToF), unit pengukuran inersial (IMU), memproses algoritma secara efisien untuk localisasi dan pemetaan bersamaan (SLAM) dan menggunakan mereka semua, dapat menciptakan “kesadaran kontekstual” — gambaran lengkap dari situasi mobil dan lingkungannya. Anda juga dapat menambahkan set instruksi khusus dalam perangkat keras untuk mendapatkan akselerasi tambahan dari pemrosesan spesifik lainnya jika diperlukan.
Mengintegrasikan Sistem
NeuPro-M mengatasi banyak tantangan kunci fungsi kendaraan otonom termasuk operasi skalabilitas yang cepat dan latensi rendah, daya operasi rendah, keamanan tinggi, dan kemampuan untuk memenuhi persyaratan fungsional standar ISO 26262 untuk sistem listrik/elektronik terkait keamanan di jalan raya kendaraan produksi. Ini juga dapat diskalakan, jadi misalnya, dapat digunakan untuk satu sensor, kluster sensor dalam zona, atau bahkan dapat disematkan sebagai bagian dari unit kontrol mesin (ECU) mobil.
Arsitektur Platform AI Otomotif Berkinerja Tinggi
Fungsi prosesor AI CEVA NeuPro-M adalah untuk membuat keputusan pengemudi tingkat tinggi. Keputusan-keputusan ini didasarkan pada input DNN yang menyediakan informasi situasional, seperti: Apakah ada mobil yang datang dari arah lawan; apakah mobil tetap di jalur; apa lokasi absolutnya (SLAM)?
Prosesor AI NeuPro-M adalah pemutus tindakan yang akan diambil, dengan informasi yang diterimanya. AI membutuhkan jumlah perhitungan yang besar untuk membuat keputusan, dan ini harus dilakukan hampir secara real-time. Oleh karena itu membutuhkan prosesor yang kuat. Untuk aplikasi otomotif, juga perlu meminimalkan konsumsi daya — seiring bertambahnya jumlah perhitungan dan berkurangnya waktu untuk melakukannya, daya yang dikonsumsi meningkat. Ukuran kinerja prosesor dapat diringkas dalam satu angka: tera operasi per detik per watt (TOPS/watt) — semakin tinggi angkanya, semakin baik kinerjanya. Efisiensi daya NeuPro-M adalah 24 TOPS/watt, yang jauh lebih tinggi daripada sebagian besar prosesor AI otomotif lainnya.
Keamanan adalah yang terpenting — sebenarnya, Anda dapat mengatakan bahwa keamanan dan keselamatan adalah persyaratan yang paling penting untuk aplikasi otomotif. Prosesor AI dalam kendaraan otonom adalah pengemudi yang bertanggung jawab. Jaringan saraf yang melakukan pemrosesan AI memberikan bobot pada setiap input mereka, dan bobot-bobot ini rentan terhadap manipulasi berbahaya. Sistem keamanan adalah bagian integral dari prosesor untuk melindungi dari serangan tersebut.
Mengoptimalkan Kinerja
Untuk mengoptimalkan kinerja, penting untuk menyadari bahwa tidak seberapa cepat prosesor itu, sistem dapat mengalami bottleneck karena keterbatasan bandbreit pada pergerakan informasi ke prosesor, terutama karena keterbatasan antarmuka sistem dalam hal memori. Unit komputasi bekerja jauh lebih cepat daripada waktu yang dibutuhkan untuk menyimpan dan mengambil sejumlah besar data untuk memberitahu memori. Salah satu cara untuk mengatasi ini adalah dengan mengarahkan aliran data yang kontinu ke prosesor daripada menunggu cukup informasi untuk melakukan perhitungan tertentu.
Cara lain untuk mengoptimalkan kinerja adalah dengan adaptif — menggunakan topologi modular adaptif. Topologi prosesor dapat dioptimalkan untuk memproses berbagai jenis sensor dan melakukan berbagai jenis operasi. Satu fungsi, misalnya, mungkin untuk mengoptimalkan efisiensi rangkaian tenaga, yang membutuhkan banyak matematika, atau sebaliknya mungkin hanya memproses satu sensor.
Jika Anda perlu menghitung sesuatu dengan sangat akurat, Anda dapat menggunakan aritmetik floating-point alih-alih fixed-point, di dalam prosesor vektor. Cara lain untuk mengatasi pengurangan bandbreit adalah dengan mengompresi data, jadi Anda tidak perlu memindahkan semuanya dalam sistem. Ini adalah perbaikan perangkat lunak, tetapi Anda juga harus melihat untuk mengoptimalkan DSP dan prosesor AI, juga, dengan melakukan penyelidikan mendalam untuk mengatasi semua bottleneck di setiap area ini.
Pemrosesan Paralel
Prosesor NeuPro-M (NPM) memiliki tiga bagian (Lihat Gambar 2): pengontrol master; subsistem umum NPM; dan mesin NPM. Prosesor dapat mencakup dari satu hingga delapan mesin, yang dapat dipilih untuk memenuhi kebutuhan aplikasi tertentu. Operasi prosesor dapat diskalakan dengan memilih jumlah mesin. “Itulah cara Anda mendapatkan lebih banyak daya,” kata Abraham.
Subsistem umum NPM selalu berkomunikasi dengan mesin NPM. Saluran ini dipantau untuk memastikan bahwa itu tidak menjadi bottleneck — untuk memastikan data akan terus mengalir ke dalam sistem. Inferensi AI berjalan dengan dua dataset: data itu sendiri, mungkin sebuah citra; dan bobot, yang diterapkan pada data untuk melakukan inferensi. Subsistem umum menjaga saluran tetap terbuka dengan menerapkan kompresi pada baik data maupun bobot.
Pemrosesan paralel dapat diimplementasikan baik dengan menggunakan beberapa mesin dan juga menggunakan koprosesor di dalam mesin, masing-masing berisi lima koprosesor dan memori internal bersama.
Contoh — Mengontrol Kendaraan dengan NPM Empat Mesin
Gambar 3 mengilustrasikan aplikasi otomotif sederhana dari pemrosesan paralel. Sisi kiri gambar menunjukkan citra jalan, yang ditangkap oleh kamera menghadap depan. Prosesor dalam kendaraan memblokir jalur lawan untuk menyederhanakan komputasi yang diperlukan untuk menjaga kendaraan tetap di tengah jalurnya dan menyimpan citra di memori. Citra yang disimpan diinput dari memori kendaraan ke subsistem umum NPM, yang dalam contoh ini melayani empat mesin. Perangkat lunak kemudian memutuskan apa kasus penggunaan — apa yang diperlukan — dan bagaimana membagi citra untuk mencapai kinerja maksimal dengan daya minimum (utilisasi tinggi) untuk fungsi yang diinginkan. Dalam hal ini, NPM membagi citra menjadi empat bagian, dengan beberapa tumpang tindih, dan setiap bagian dikirim ke mesin yang berbeda. Inferensi AI kemudian dijalankan pada setiap dari empat segmen jalan. Empat segmen tersebut kemudian dijepit kembali ke dalam memori subsistem, dari mana dikeluarkan ke lapisan persepsi di tempat lain dalam SoC, untuk melakukan tugas yang diinginkan.
Contoh ini menggambarkan dua tingkat pemrosesan paralel, satu dengan menggunakan empat mesin untuk bekerja pada segmen berbeda dari citra dan di dalam setiap mesin, pemrosesan paralel dengan membagikan komputasi di antara lima koprosesor internal.
Optimasi Melalui Perangkat Lunak
Fungsi AI terutama melalui konvolusi, yang merupakan operasi matematika pada dua fungsi yang menghasilkan fungsi ketiga yang menyatakan bagaimana bentuk satu dimodifikasi oleh yang lain. Matematikawan Shmuel Winograd menginovasi metode baru untuk melakukan konvolusi dalam setengah jumlah langkah biasanya. CEVA mengimplementasikan ide teoretis ini dalam prosesor mereka untuk mencapai presisi yang sama dengan yang akan dicapai dengan konvolusi normal, tetapi dengan akselerasi hampir 2x — kenaikan kinerja dengan pengurangan daya. Ini dapat dilakukan di setiap lima koprosesor di dalam mesin.
Trik lain adalah untuk beroperasi berbeda pada tipe data yang berbeda, tergantung pada mana yang akan optimal untuk aplikasi tertentu. Misalnya, localisasi dan pemetaan bersamaan (SLAM), membutuhkan akurasi yang sangat tinggi jadi Anda harus menggunakan aritmetik floating point. Untuk aplikasi lain, jumlah bit yang tetap akan sempurna. Dengan cara ini produsen kendaraan dapat memilih metode komputasi yang terbaik untuk setiap fungsi dalam kendaraan.
Dengan menggunakan manipulasi perangkat lunak dan optimasi perangkat keras, Anda dapat mendapatkan akselerasi yang signifikan — hingga 16x dengan NeuPro-M menurut Abraham.
Ringkasan
Ini adalah tinjauan tentang fungsi internal dari prosesor AI tertentu saat memproses data dari berbagai sensor — radar, lidar, sonar, kamera — dan membuat keputusan. NPM adalah prosesor heterogen — ia dapat beroperasi pada tipe data yang berbeda dan mengoptimalkan operasinya yang diukur oleh TOPS/watt dengan menggunakan dua tingkat pemrosesan paralel serta desain perangkat lunak yang ditargetkan.
- Fang Chen, PhD, SAE Edge Research Report — Unsettled Issues in Vehicle Autonomy, Artificial Intelligence, and Human-Machine Interaction.
Artikel ini ditulis oleh Ed Brown, Editor Sensor Technology. Untuk informasi lebih lanjut, hubungi Ed di alamat email ini dilindungi dari spambot. Anda memerlukan JavaScript untuk melihatnya. atau kunjungi di sini.