Pengantar AI di tepi dengan NVIDIA Jetson dan Azure

Selesai

Internet of Things (IoT) lebih dari sekadar lampu berkedip dan sensor membaca. IoT juga merupakan mekanisme untuk memberikan beban kerja AI kepada massa. Secara tradisional, biasanya menganggap IoT sebagai perangkat keras khusus dengan sensor fisik yang melaporkan pembacaan hingga layanan cloud untuk diproses.

Dengan munculnya perangkat berkemampuan GPU dengan faktor bentuk kecil dan field programmable gate array (FPGA), sudah menjadi hal umum untuk melihat aplikasi AI yang lebih berat berjalan langsung pada perangkat keras yang disematkan. Dengan paradigma ini, Anda dapat mengurangi arus keluar data, tetapi juga fokus pada hasil penting yang berasal dari pemrosesan data di edge.

Saat Anda beralih dari mengandalkan cloud untuk pemrosesan guna memanfaatkan beban kerja yang dipercepat di perangkat, Anda mendapatkan hasil yang jauh lebih cepat, bahkan di lingkungan offline. Platform Azure IoT Edge Microsoft dirancang untuk jenis kasus penggunaan ini.

Azure IoT Edge menyelesaikan penyebaran kode yang aman ke perangkat IoT dengan menggunakan modul kemas. Modul dapat mencakup bentuk kemas layanan Azure populer termasuk fungsi tanpa server, Stream Analytics, modul Pembelajaran Mesin, layanan Custom Vision AI, dan bahkan penyimpanan lokal dengan SQL Server. Anda dapat menggunakan platform IoT Edge untuk mendapatkan fitur dan fungsionalitas canggih yang sama dari layanan cloud yang sudah Anda kenal dan sukai di lingkungan edge Anda. Anda juga dapat memodulasi beban kerja dalam kontainer yang dikembangkan dengan menggunakan NVIDIA Graph Composer, lalu menerapkan beban kerja ke perangkat keras berkemampuan IoT Edge.

Dalam modul ini, Anda akan menjelajahi pengembangan beban kerja yang dipercepat GPU yang menargetkan perangkat keras tersemat NVIDIA untuk menyebarkan beban kerja AI di edge dengan menggunakan Azure IoT Edge dan layanan Azure IoT terkait.

Perangkat keras tersemat NVIDIA Jetson

Beban kerja yang dipercepat GPU pada perangkat yang disematkan faktor bentuk kecil yang ideal untuk lingkungan edge dapat berjalan pada platform NVIDIA Jetson. Perangkat keras NVIDIA Jetson adalah sistem lengkap pada modul (SOM) yang memiliki semua CPU, GPU, dan memori yang diperlukan untuk menjalankan beban kerja visi komputer pada perangkat seukuran ponsel modern.

NVIDIA menawarkan berbagai perangkat yang cocok untuk AI di bagian terdepan dalam penawaran perangkat Jetson. Penawaran termasuk 512-core Jetson AGX Xavier dan Jetson Xavier NX yang tangguh, 256-core kelas menengah Jetson TX2, dan 128-core entry-level Jetson Nano.

Bagan berikut menunjukkan spesifikasi untuk penawaran perangkat keras ini:

Diagram of a chart that shows an NVIDIA Jetson hardware overview and options.

Semua perangkat dalam keluarga NVIDIA Jetson menggunakan perangkat keras CPU berbasis ARM untuk pemrosesan. Platform Azure IoT Edge dapat menargetkan arsitektur ini, sehingga Anda dapat melengkapi perangkat yang disematkan NVIDIA untuk bekerja dengan runtime IoT Edge dan dengan layanan Azure IoT terkait.

Untuk mengikuti modul ini, Anda memerlukan salah satu perangkat tersemat NVIDIA Jetson berikut yang disediakan dengan JetPack 4.6:

Azure IoT Edge

Azure IoT Edge dirancang untuk menyederhanakan proses pembuatan analitik di edge. IoT Edge menggunakan pendekatan modern untuk distribusi aplikasi melalui beban kerja kontainer, yang dikenal sebagai modul. Perangkat yang dilengkapi dengan runtime IoT Edge dapat memublikasikan wawasan ke cloud Azure dengan menggunakan protokol olahpesan throughput tinggi dan latensi rendah. Perangkat bahkan dapat terus menghasilkan insight tersebut dalam skenario offline. Karena ini dan fitur lainnya, Azure IoT Edge adalah solusi ideal untuk mengadopsi beban kerja AI real-time di lingkungan edge.

Solusi berbasis IoT Edge memiliki tiga komponen:

  • Modul IoT Edge: Modul adalah kontainer yang menjalankan layanan Azure, layanan pihak ketiga, atau kode khusus. Kontainer disebarkan dengan menggunakan spesifikasi yang ditentukan di hub di Azure IoT Hub dan dijalankan secara lokal di perangkat berinstrumen IoT Edge.
  • Waktu proses IoT Edge: Waktu proses adalah layanan yang berjalan pada perangkat IoT Edge untuk mengelola beban kerja modul, menyediakan mekanisme untuk olahpesan modul-ke-modul dan perangkat-ke-cloud/cloud-ke-perangkat, dan mengatur beban kerja yang didefinisikan dalam hub.
  • Antarmuka berbasis cloud: Antarmuka adalah kumpulan layanan Azure yang disertakan dalam instans sumber daya Azure IoT Hub. Layanan menyediakan mekanisme untuk pendaftaran perangkat yang aman, mekanisme throughput tinggi untuk penyerapan data (melalui AMQP, MQTT, atau HTTPS), kemampuan untuk menentukan dan menerapkan spesifikasi penyebaran, dan kemampuan untuk memantau dan mengelola perangkat IoT Edge dari jarak jauh.

Solusi IoT Edge secara opsional dapat menggabungkan instans Azure Container Registry untuk menyediakan distribusi modul kontainer yang aman. Pendekatan ini adalah rekomendasi untuk skenario penyebaran produksi. Gambar berikut menunjukkan bagaimana tiga komponen inti dapat bekerja untuk menggunakan registri kontainer untuk mencapai arsitektur solusi edge-to-cloud end-to-end:

Diagram that depicts how to install Azure IoT Edge.

Pada gambar sebelumnya, (1) Azure IoT Hub mendistribusikan spesifikasi penyebaran yang (2) menentukan modul untuk dijalankan di yourEdgeDevice, yang telah dilengkapi dengan runtime IoT Edge dan terdaftar dengan aman sebagai perangkat IoT Edge di hub. Kemudian, (3) runtime IoT Edge menerima spesifikasi ini, yang (4) mengacu pada modul sensor yang disimpan dalam Azure Container Registry. Modul ini diambil dengan aman dan berjalan secara lokal di perangkat edge, di mana modul ini kemudian menghasilkan telemetri yang mengalir dari perangkat ke hub.

Dalam modul ini, Anda akan menyebarkan solusi yang memiliki arsitektur yang mirip dengan yang ditunjukkan di sini. Perbedaan utamanya adalah Anda akan menyertakan spesifikasi penyebaran yang mendefinisikan modul IoT Edge berbasis DeepStream untuk memublikasikan hasil deteksi objek ke hub IoT. Penyebaran berjalan pada perangkat tersemat NVIDIA Jetson yang secara asli mendukung distribusi ARM64 dari runtime IoT Edge.

Coba cara berikut

Jika tugas Anda adalah menyebarkan solusi AI di tepi, bagaimana Anda dapat menghemat waktu untuk produksi dengan menggunakan penawaran layanan cloud? Manfaat apa yang akan Anda peroleh dengan menggunakan layanan seperti Azure IoT Edge selama implementasi?