Membuat solusi Autonomous Vehicle Operations (AVOps)

Azure Machine Learning
Azure Data Factory
Azure Data Share
Azure Batch
GitHub

Ide solusi

Artikel ini menjelaskan ide solusi. Arsitek cloud Anda dapat menggunakan panduan ini untuk membantu memvisualisasikan komponen utama untuk implementasi umum arsitektur ini. Gunakan artikel ini sebagai titik awal untuk merancang solusi yang dirancang dengan baik yang selaras dengan persyaratan spesifik beban kerja Anda.

Arsitektur ini memberikan panduan dan rekomendasi untuk mengembangkan solusi mengemudi otomatis.

Sistem

Diagram yang memperlihatkan arsitektur AVOps.

Unduh file Visio yang berisi diagram arsitektur dalam artikel ini.

Aliran data

  1. Data pengukuran berasal dari aliran data untuk sensor seperti kamera, radar, USG, lidar, dan telemetri kendaraan. Pencatat data di data pengukuran penyimpanan kendaraan pada perangkat penyimpanan pencatat. Data penyimpanan pencatat kemudian diunggah ke data lake pendaratan. Layanan seperti Azure Data Box atau Azure Stack Edge, atau koneksi khusus seperti Azure ExpressRoute, menyerap data ke Azure.

    Data pengukuran juga dapat berupa data sintetis dari simulasi atau dari sumber lain. (MDF4, TDMS, dan rosbag adalah format data umum untuk pengukuran.) Dalam tahap DataOps, pengukuran yang diserap diproses. Validasi dan pemeriksaan kualitas data, seperti checksum, dilakukan untuk menghapus data berkualitas rendah. Pada tahap ini, metadata informasi mentah yang direkam oleh driver pengujian selama uji coba diekstraksi. Data ini disimpan dalam katalog metadata terpusat. Informasi ini membantu proses hilir mengidentifikasi adegan dan urutan tertentu.

  2. Data diproses oleh alur ekstrak, transformasi, dan pemuatan (ETL) Azure Data Factory . Output disimpan sebagai data mentah dan biner di Azure Data Lake. Metadata disimpan di Azure Cosmos DB. Bergantung pada skenarionya, kemudian mungkin dikirim ke Azure Data Explorer atau Azure Cognitive Search.

  3. Informasi, wawasan, dan konteks tambahan ditambahkan ke data untuk meningkatkan akurasi dan keandalannya.

  4. Data pengukuran yang diekstrak disediakan untuk mitra pelabelan (human-in-the-loop) melalui Azure Data Share. Mitra pihak ketiga melakukan pelabelan otomatis, penyimpanan, dan akses data melalui akun Data Lake terpisah.

  5. Himpunan data berlabel mengalir ke proses MLOps hilir, terutama untuk membuat model persepsi dan fusi sensor. Model-model ini melakukan fungsi yang digunakan oleh kendaraan otonom untuk mendeteksi adegan (yaitu, perubahan jalur, jalan yang diblokir, pejalan kaki, lampu lalu lintas, dan rambu lalu lintas).

  6. Pada tahap ValOps, model terlatih divalidasi melalui pengujian open-loop dan closed-loop.

  7. Alat seperti Foxglove, berjalan di Azure Kubernetes Service atau Azure Container Instances, memvisualisasikan data yang diserap dan diproses.

Kumpulan data

Pengumpulan data adalah salah satu tantangan utama Autonomous Vehicles Operations (AVOps). Diagram berikut menunjukkan contoh bagaimana data kendaraan offline dan online dapat dikumpulkan dan disimpan di data lake.

Diagram yang memperlihatkan pengumpulan data offline dan online.

DataOps

Operasi data (DataOps) adalah serangkaian praktik, proses, dan alat untuk meningkatkan kualitas, kecepatan, dan keandalan operasi data. Tujuan dari aliran DataOps untuk mengemudi otonom (AD) adalah untuk memastikan bahwa data yang digunakan untuk mengontrol kendaraan berkualitas tinggi, akurat, dan dapat diandalkan. Dengan menggunakan aliran DataOps yang konsisten, Anda dapat meningkatkan kecepatan dan akurasi operasi data Anda dan membuat keputusan yang lebih baik untuk mengontrol kendaraan otonom Anda.

Komponen DataOps

  • Data Box digunakan untuk mentransfer data kendaraan yang dikumpulkan ke Azure melalui operator regional.
  • ExpressRoute memperluas jaringan lokal ke cloud Microsoft melalui koneksi privat.
  • Azure Data Lake Storage menyimpan data berdasarkan tahapan, misalnya, mentah atau diekstrak.
  • Azure Data Factory melakukan ETL melalui komputasi batch dan membuat alur kerja berbasis data untuk mengatur pergerakan data dan mengubah data.
  • Azure Batch menjalankan aplikasi berskala besar untuk tugas-tugas seperti manipulasi data, memfilter dan menyiapkan data, dan mengekstrak metadata.
  • Azure Cosmos DB menyimpan hasil metadata, seperti pengukuran tersimpan.
  • Data Share digunakan untuk berbagi data dengan organisasi mitra, seperti perusahaan pelabelan, dengan keamanan yang ditingkatkan.
  • Azure Databricks menyediakan serangkaian alat untuk mempertahankan solusi data tingkat perusahaan dalam skala besar. Ini diperlukan untuk operasi jangka panjang pada sejumlah besar data kendaraan. Teknisi data menggunakan Azure Databricks sebagai workbench analitik.
  • Azure Synapse Analytics mengurangi waktu untuk wawasan di seluruh gudang data dan sistem big data.
  • Azure Cognitive Search menyediakan layanan pencarian katalog data.

MLOps

Operasi pembelajaran mesin (MLOps) meliputi:

  • Model ekstraksi fitur (seperti CLIP dan YOLO) untuk mengklasifikasikan adegan (misalnya, apakah pejalan kaki berada di adegan) selama alur DataOps .
  • Model pelabelan otomatis untuk melabeli gambar yang diserap dan data lidar dan radar.
  • Model persepsi dan visi komputer untuk mendeteksi objek dan adegan.
  • Model fusi sensor yang menggabungkan aliran sensor.

Model persepsi adalah komponen penting dari arsitektur ini. Model Azure Pembelajaran Mesin ini menghasilkan model deteksi objek dengan menggunakan adegan yang terdeteksi dan diekstrak.

Transfer model pembelajaran mesin dalam kontainer ke format yang dapat dibaca oleh sistem pada perangkat keras chip (SoC) dan perangkat lunak validasi/simulasi terjadi di alur MLOps. Langkah ini membutuhkan dukungan dari produsen SoC.

Komponen MLOps

  • Azure Pembelajaran Mesin digunakan untuk mengembangkan algoritma pembelajaran mesin, seperti ekstraksi fitur, pelabelan otomatis, deteksi dan klasifikasi objek, dan fusi sensor.
  • Azure DevOps menyediakan dukungan untuk tugas DevOps seperti CI/CD, pengujian, dan otomatisasi.
  • GitHub untuk perusahaan adalah pilihan alternatif untuk tugas DevOps seperti CI/CD, pengujian, dan otomatisasi.
  • Azure Container Registry memungkinkan Anda membangun, menyimpan, dan mengelola gambar dan artefak kontainer dalam registri privat.

ValOps

Operasi validasi (ValOps) adalah proses pengujian model yang dikembangkan di lingkungan simulasi melalui skenario terkelola sebelum Anda melakukan pengujian lingkungan dunia nyata yang mahal. Pengujian ValOps membantu memastikan bahwa model memenuhi standar performa, standar akurasi, dan persyaratan keselamatan yang Anda inginkan. Tujuan dari proses validasi di cloud adalah untuk mengidentifikasi dan mengatasi potensi masalah sebelum Anda menyebarkan kendaraan otonom di lingkungan langsung. ValOps meliputi:

  • Validasi simulasi. Lingkungan simulasi berbasis cloud (pengujian perulangan terbuka dan perulangan tertutup) memungkinkan pengujian virtual model kendaraan otonom. Pengujian ini berjalan dalam skala besar dan lebih murah daripada pengujian dunia nyata.
  • Validasi performa. Infrastruktur berbasis cloud dapat menjalankan pengujian skala besar untuk mengevaluasi performa model kendaraan otonom. Validasi performa dapat mencakup pengujian stres, pengujian beban, dan tolok ukur.

Menggunakan ValOps untuk validasi dapat membantu Anda memanfaatkan skalabilitas, fleksibilitas, dan efektivitas biaya infrastruktur berbasis cloud dan mengurangi waktu ke pasar untuk model kendaraan otonom.

Pengujian perulangan terbuka

Simulasi ulang, atau pemrosesan sensor, adalah sistem pengujian dan validasi perulangan terbuka untuk fungsi mengemudi otomatis. Ini adalah proses yang kompleks, dan mungkin ada persyaratan peraturan untuk keamanan, privasi data, penerapan versi data, dan audit. Proses simulasi ulang merekam data mentah dari berbagai sensor mobil melalui grafik di cloud. Simulasi ulang memvalidasi algoritma pemrosesan data atau mendeteksi regresi. OEM menggabungkan sensor dalam grafik acyclic terarah yang mewakili kendaraan dunia nyata.

Simulasi ulang adalah pekerjaan komputasi paralel skala besar. Ini memproses puluhan atau ratusan PB data dengan menggunakan puluhan ribu inti. Ini membutuhkan throughput I/O lebih dari 30 GB/dtk. Data dari beberapa sensor digabungkan ke dalam himpunan data yang mewakili tampilan apa yang dicatat sistem visi komputer di kendaraan saat kendaraan menavigasi dunia nyata. Pengujian perulangan terbuka memvalidasi performa algoritma terhadap kebenaran dasar dengan menggunakan pemutaran ulang dan penilaian. Output digunakan nanti dalam alur kerja untuk pelatihan algoritma.

  • Himpunan data bersumber dari kendaraan armada uji yang mengumpulkan data sensor mentah (misalnya, kamera, lidar, radar, dan data ultrasonik).
  • Volume data tergantung pada resolusi kamera dan jumlah sensor pada kendaraan.
  • Data mentah diproses ulang terhadap rilis perangkat lunak yang berbeda dari perangkat.
  • Data sensor mentah dikirim ke antarmuka input sensor perangkat lunak sensor.
  • Output dibandingkan dengan output versi perangkat lunak sebelumnya dan diperiksa terhadap perbaikan bug atau fitur baru, seperti mendeteksi jenis objek baru.
  • Injeksi ulang kedua pekerjaan dilakukan setelah model dan perangkat lunak diperbarui.
  • Data kebenaran dasar digunakan untuk memvalidasi hasilnya.
  • Hasil ditulis ke penyimpanan dan dilepaskan ke Azure Data Explorer untuk visualisasi.

Pengujian dan simulasi perulangan tertutup

Pengujian loop tertutup kendaraan otonom adalah proses pengujian kemampuan kendaraan sambil menyertakan umpan balik real-time dari lingkungan. Tindakan kendaraan didasarkan pada perilaku yang telah diprogram sebelumnya dan pada kondisi dinamis yang ditemuinya, dan menyesuaikan tindakannya. Pengujian loop tertutup berjalan di lingkungan yang lebih kompleks dan realistis. Ini digunakan untuk menilai kemampuan kendaraan untuk menangani skenario dunia nyata, termasuk bagaimana ia bereaksi terhadap situasi tak terduga. Tujuan pengujian loop tertutup adalah untuk memverifikasi bahwa kendaraan dapat beroperasi dengan aman dan efektif dalam berbagai kondisi, dan untuk memperbaiki algoritma kontrol dan proses pengambilan keputusan sesuai kebutuhan.

Alur ValOps mengintegrasikan pengujian loop tertutup, simulasi pihak ketiga, dan aplikasi ISV.

Manajemen skenario

Selama tahap ValOps, katalog skenario nyata digunakan untuk memvalidasi kemampuan solusi mengemudi otonom untuk mensimulasikan perilaku kendaraan otonom. Tujuannya adalah untuk mempercepat pembuatan katalog skenario dengan membaca jaringan rute secara otomatis, yang merupakan bagian dari skenario, dari peta digital yang dapat diakses publik dan tersedia secara bebas. Gunakan alat pihak ketiga untuk manajemen skenario atau simulator sumber terbuka ringan seperti CARLA, yang mendukung format OpenDRIVE (xodr). Untuk informasi selengkapnya, lihat SkenarioRunner untuk CARLA.

Komponen ValOps

  • Azure Kubernetes Service menjalankan inferensi batch skala besar untuk validasi perulangan terbuka dalam kerangka kerja Resin. Kami menyarankan agar Anda menggunakan BlobFuse2 untuk mengakses file pengukuran. Anda juga dapat menggunakan NFS, tetapi Anda perlu mengevaluasi performa untuk kasus penggunaan.
  • Azure Batch menjalankan inferensi batch skala besar untuk validasi perulangan terbuka dalam kerangka kerja Resin.
  • Azure Data Explorer menyediakan layanan analitik untuk pengukuran dan KPI (yaitu, simulasi ulang dan eksekusi pekerjaan).

Fungsi AVOps terpusat

Arsitektur AVOps bersifat kompleks dan melibatkan berbagai pihak ketiga, peran, dan tahap pengembangan, sehingga penting untuk menerapkan model tata kelola yang baik.

Kami menyarankan agar Anda membuat tim terpusat untuk menangani fungsi seperti provisi infrastruktur, manajemen biaya, metadata dan katalog data, silsilah data, serta orkestrasi keseluruhan dan penanganan peristiwa. Memusatkan layanan ini efisien dan menyederhanakan operasi.

Kami menyarankan agar Anda menggunakan tim terpusat untuk menangani tanggung jawab ini:

  • Menyediakan templat ARM/Bicep, termasuk templat untuk layanan standar seperti penyimpanan dan komputasi yang digunakan oleh setiap area dan subarea arsitektur AVOps
  • Implementasi instans Azure Bus Layanan / Azure Event Hubs pusat untuk orkestrasi berbasis peristiwa dari perulangan data AVOps
  • Kepemilikan katalog metadata
  • Kemampuan untuk silsilah data end-to-end dan keterlacakan di semua komponen AVOps

Diagram yang memperlihatkan fungsi AVOps terpusat.

Detail skenario

Anda dapat menggunakan arsitektur ini untuk membangun solusi mengemudi otomatis di Azure.

Kemungkinan kasus penggunaan

OEM otomotif, vendor Tier 1, dan ISV yang mengembangkan solusi untuk mengemudi otomatis.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat Anda gunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keamanan.

Penting untuk memahami pembagian tanggung jawab antara OEM otomotif dan penyedia cloud. Di kendaraan, OEM memiliki seluruh tumpukan, tetapi saat data berpindah ke cloud, beberapa tanggung jawab ditransfer ke penyedia cloud. Platform as a service (PaaS) Azure menyediakan keamanan bawaan yang ditingkatkan pada tumpukan fisik, termasuk sistem operasi. Anda dapat menerapkan peningkatan berikut selain komponen keamanan infrastruktur. Peningkatan ini memungkinkan pendekatan Zero-Trust.

Pengoptimalan biaya

Pengoptimalan biaya adalah tentang mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.

Anda dapat menggunakan strategi ini untuk mengurangi biaya yang terkait dengan pengembangan solusi mengemudi otonom:

  • Optimalkan infrastruktur cloud. Perencanaan dan pengelolaan infrastruktur cloud yang cermat dapat membantu Anda mengurangi biaya. Misalnya, gunakan jenis instans hemat biaya dan infrastruktur skala untuk memenuhi perubahan beban kerja. Ikuti panduan dalam Azure Cloud Adoption Framework.
  • Gunakan Spot Virtual Machines. Anda dapat menentukan beban kerja mana dalam penyebaran AVOps Anda yang tidak memerlukan pemrosesan dalam jangka waktu tertentu dan menggunakan Spot Virtual Machines untuk beban kerja ini. Spot Virtual Machines memungkinkan Anda memanfaatkan kapasitas Azure yang tidak digunakan untuk penghematan biaya yang signifikan. Jika Azure membutuhkan kapasitas kembali, infrastruktur Azure akan mengeluarkan komputer virtual spot.
  • Gunakan autoscaling. Penskalaan otomatis memungkinkan Anda menyesuaikan infrastruktur cloud secara otomatis berdasarkan permintaan, mengurangi kebutuhan intervensi manual, dan membantu Anda mengurangi biaya. Untuk informasi selengkapnya, lihat Desain untuk penskalaan.
  • Pertimbangkan untuk menggunakan tingkat panas, dingin, dan arsip untuk penyimpanan. Penyimpanan dapat menjadi biaya yang signifikan dalam solusi mengemudi otonom, jadi Anda perlu memilih opsi penyimpanan hemat biaya, seperti penyimpanan dingin atau penyimpanan yang jarang diakses. Untuk informasi selengkapnya, lihat manajemen siklus hidup data.
  • Gunakan alat manajemen biaya dan pengoptimalan. Microsoft Cost Management menyediakan alat yang dapat membantu Anda mengidentifikasi dan mengatasi area untuk pengurangan biaya, seperti sumber daya yang tidak digunakan atau kurang digunakan.
  • Pertimbangkan untuk menggunakan layanan Azure. Misalnya, Anda dapat menggunakan Azure Pembelajaran Mesin untuk membangun dan melatih model mengemudi otonom. Menggunakan layanan ini bisa lebih hemat biaya daripada membangun dan memelihara infrastruktur internal.
  • Gunakan sumber daya bersama. Jika memungkinkan, Anda dapat menggunakan sumber daya bersama, seperti database bersama atau sumber daya komputasi bersama, untuk mengurangi biaya yang terkait dengan pengembangan mengemudi otonom. Fungsi terpusat dalam arsitektur ini, misalnya, menerapkan bus pusat, pusat aktivitas hub, dan katalog metadata. Layanan seperti Azure Data Share juga dapat membantu Anda mencapai tujuan ini.

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Kontributor lain:

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya

Untuk informasi selengkapnya tentang mengembangkan DataOps untuk sistem mengemudi otomatis, lihat:

Anda mungkin juga tertarik dengan artikel terkait ini: