Bagikan melalui


Tutorial: Solusi end-to-end menggunakan Azure Machine Learning dan IoT Edge

Berlaku untuk: ikon ya IoT Edge 1.1

Penting

Tanggal akhir dukungan IoT Edge 1.1 adalah 13 Desember 2022. Periksa Siklus Hidup Produk Microsoft untuk mendapatkan informasi tentang bagaimana produk, layanan, teknologi, atau API ini didukung. Untuk informasi selengkapnya tentang memperbarui ke IoT Edge versi terbaru, lihat Memperbarui IoT Edge.

Sering kali, aplikasi IoT ingin memanfaatkan cloud cerdas dan tepi cerdas. Dalam tutorial ini, kami memandu Anda melalui pelatihan model pembelajaran komputer dengan data yang dikumpulkan dari perangkat IoT di cloud, menyebarkan model itu ke IoT Edge, dan memelihara dan menyempurnakan model secara berkala.

Catatan

Konsep dalam kumpulan tutorial ini berlaku untuk semua versi IoT Edge, tetapi perangkat sampel yang Anda buat untuk mencoba skenario menjalankan IoT Edge versi 1.1.

Tujuan utama dari tutorial ini adalah untuk memperkenalkan pemrosesan data IoT dengan pembelajaran komputer, khususnya di tepi. Meskipun kami menyentuh banyak aspek dari alur kerja pembelajaran komputer umum, tutorial ini tidak dimaksudkan sebagai pengantar mendalam untuk pembelajaran komputer. Sebagai kasus, kami tidak mencoba membuat model yang sangat dioptimalkan untuk kasus penggunaan - kami hanya melakukan cukup untuk mengilustrasikan proses pembuatan dan penggunaan model yang layak untuk pemrosesan data IoT.

Bagian tutorial ini membahas:

  • Prasyarat untuk menyelesaikan bagian tutorial berikutnya.
  • Target audiens tutorial.
  • Kasus penggunaan tutorial mensimulasikan.
  • Proses keseluruhan tutorial mengikuti untuk memenuhi kasus penggunaan.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

Untuk menyelesaikan tutorial, Anda memerlukan akses ke langganan Azure di mana Anda memiliki hak untuk membuat sumber daya. Beberapa layanan yang digunakan dalam tutorial ini akan dikenakan biaya Azure. Jika Anda belum memiliki langganan Azure, Anda mungkin dapat memulai dengan Akun Gratis Azure.

Anda juga memerlukan komputer dengan PowerShell yang diinstal di mana Anda dapat menjalankan skrip untuk mengatur Azure Virtual Machine sebagai komputer pengembangan Anda.

Dalam dokumen ini, kami menggunakan sekumpulan alat berikut:

  • Hub Azure IoT untuk penangkapan data

  • Azure Notebooks sebagai front end utama kami untuk persiapan data dan eksperimen pembelajaran komputer. Menjalankan kode Python di notebook pada subset data sampel adalah cara yang bagus untuk mendapatkan solusi berulang dan interaktif yang cepat selama persiapan data. Notebook Jupyter juga dapat digunakan untuk menyiapkan skrip untuk berjalan dalam skala besar dalam backend komputasi.

  • Azure Machine Learning sebagai backend untuk pembelajaran komputer dalam skala besar dan untuk pembuatan gambar pembelajaran komputer. Kami mengendarai backend Azure Machine Learning menggunakan skrip yang disiapkan dan diuji di notebook Jupyter.

  • Azure IoT Edge untuk aplikasi off-cloud dari gambar pembelajaran komputer

Jelas, ada opsi lain yang tersedia. Dalam skenario tertentu, misalnya, IoT Central dapat digunakan sebagai alternatif tanpa kode untuk menangkap data pelatihan awal dari perangkat IoT.

Menargetkan audiens dan peran

Kumpulan artikel ini ditujukan untuk pengembang tanpa pengalaman sebelumnya dalam pengembangan IoT atau pembelajaran komputer. Menyebarkan pembelajaran komputer di tepi membutuhkan pengetahuan tentang cara menghubungkan berbagai teknologi. Oleh karena itu, tutorial ini mencakup seluruh skenario end-to-end untuk menunjukkan salah satu cara menggabungkan teknologi ini bersama-sama untuk solusi IoT. Dalam lingkungan dunia nyata, tugas-tugas ini mungkin didistribusikan di antara beberapa orang dengan spesialisasi yang berbeda. Misalnya, pengembang akan fokus pada perangkat atau kode cloud, sementara ilmuwan data merancang model analitik. Untuk memungkinkan pengembang individu berhasil menyelesaikan tutorial ini, kami telah memberikan panduan tambahan dengan insight dan tautan ke informasi lebih lanjut yang kami harapkan cukup untuk memahami apa yang sedang dilakukan, serta mengapa.

Atau, Anda dapat bekerja sama dengan rekan kerja dari berbagai peran untuk mengikuti tutorial bersama-sama, membawa keahlian penuh Anda untuk menanggung, dan belajar sebagai tim bagaimana hal-hal cocok bersama-sama.

Dalam kedua kasus, untuk membantu mengarahkan pembaca, setiap artikel dalam tutorial ini menunjukkan peran pengguna. Peran tersebut meliputi:

  • Pengembangan cloud (termasuk pengembang cloud yang bekerja dalam kapasitas Azure DevOps)
  • Analitik data

Pemeliharaan prediktif IOT

Kami berdasarkan skenario ini pada kasus penggunaan yang disajikan di Conference on Prognostics and Health Management (PHM08) pada tahun 2008. Tujuannya adalah untuk memprediksi sisa masa hidup yang berguna (RUL) dari satu set komputer pesawat turbofan. Data ini dihasilkan menggunakan C-MAPSS, versi komersial perangkat lunak MAPSS (Modular Aero-Propulsion System Simulation). Perangkat lunak ini menyediakan lingkungan simulasi komputer turbofan yang fleksibel untuk mensimulasikan parameter kesehatan, kontrol, dan komputer dengan mudah.

Data yang digunakan dalam tutorial ini diambil dari kumpulan data simulasi degradasi komputer Turbofan.

Dari berkas readme:

Skenario Eksperimental

Himpunan data terdiri dari beberapa rangkaian waktu multivariat. Setiap himpunan data dibagi lebih lanjut menjadi subset pelatihan dan pengujian. Setiap rangkaian waktu berasal dari mesin yang berbeda - yaitu, data dapat dianggap berasal dari armada mesin dengan jenis yang sama. Setiap mesin dimulai dengan berbagai tingkat keausan awal dan variasi manufaktur yang tidak diketahui oleh pengguna. Keausan dan variasi ini dianggap normal, yaitu tidak dianggap sebagai kondisi kesalahan. Ada tiga pengaturan operasional yang memiliki efek besar pada performa mesin. Pengaturan ini juga disertakan dalam data. Data terkontaminasi dengan kebisingan sensor.

Mesin beroperasi secara normal pada awal setiap rangkaian waktu dan mengembangkan kesalahan pada beberapa titik selama seri. Dalam set pelatihan, kesalahan tumbuh dalam besaran hingga kegagalan sistem. Dalam set pengujian, rangkaian waktu berakhir beberapa waktu sebelum kegagalan sistem. Tujuan dari kompetisi ini adalah untuk memprediksi jumlah siklus operasional yang tersisa sebelum kegagalan dalam set pengujian, yaitu, jumlah siklus operasional setelah siklus terakhir yang akan terus dioperasikan mesin. Juga menyediakan vektor nilai True Remaining Useful Life (RUL) untuk data pengujian.

Karena data diterbitkan untuk kompetisi, beberapa pendekatan untuk mendapatkan model pembelajaran komputer telah diterbitkan secara independen. Kami menemukan bahwa mempelajari contoh sangat membantu dalam memahami proses dan penalaran yang terlibat dalam penciptaan model pembelajaran komputer tertentu. Lihat contoh:

Model prediksi kegagalan komputer pesawat oleh pengguna GitHub jancervenka.

Degradasi komputer Turbofan oleh pengguna GitHub hankroark.

Proses

Gambar di bawah ini menggambarkan langkah-langkah kasar yang kita ikuti dalam tutorial ini:

Diagram arsitektur untuk langkah-langkah proses

  1. Mengumpulkan data pelatihan: Proses dimulai dengan mengumpulkan data pelatihan. Dalam beberapa kasus, data telah dikumpulkan dan tersedia dalam database, atau dalam bentuk file data. Dalam kasus lain, terutama untuk skenario IoT, data perlu dikumpulkan dari perangkat dan sensor IoT dan disimpan di cloud.

    Kami berasumsi bahwa Anda tidak memiliki koleksi komputer turbofan, sehingga file proyek menyertakan simulator perangkat sederhana yang mengirim data perangkat NASA ke cloud.

  2. Siapkan data. Dalam kebanyakan kasus, data mentah seperti yang dikumpulkan dari perangkat dan sensor akan membutuhkan persiapan untuk pembelajaran komputer. Langkah ini dapat melibatkan pembersihan data, pemformatan data, atau praproses untuk menyuntikkan pembelajaran komputer informasi tambahan dapat dimatikan.

    Untuk data komputer pesawat kami, persiapan data melibatkan penghitungan waktu-ke-kegagalan eksplisit untuk setiap titik data dalam sampel berdasarkan pengamatan aktual pada data. Informasi ini memungkinkan algoritma pembelajaran komputer untuk menemukan korelasi antara pola data sensor aktual dan waktu hidup komputer yang tersisa yang diharapkan. Langkah ini sangat spesifik untuk domain.

  3. Membangun model pembelajaran komputer. Berdasarkan data yang disiapkan, kita sekarang dapat bereksperimen dengan algoritme dan parameterisasi pembelajaran komputer yang berbeda untuk melatih model dan membandingkan hasilnya satu sama lain.

    Dalam hal ini, untuk pengujian, kami membandingkan hasil yang diprediksi dihitung oleh model dengan hasil nyata yang diamati pada satu set komputer. Di Azure Machine Learning, kita dapat mengelola berbagai iterasi model yang kita buat dalam registri model.

  4. Sebarkan model. Setelah kami memiliki model yang memenuhi kriteria keberhasilan kami, kami dapat beralih ke penyebaran. Itu melibatkan pembungkusan model ke dalam aplikasi layanan web yang dapat diberi makan dengan data menggunakan panggilan REST dan hasil analisis pengembalian. Aplikasi layanan web kemudian dikemas ke dalam wadah docker, yang pada gilirannya dapat digunakan baik di cloud atau sebagai modul IoT Edge. Dalam contoh ini, kami fokus pada penyebaran ke IoT Edge.

  5. Pertahankan dan perbaiki model. Pekerjaan kami tidak dilakukan setelah model diterapkan. Dalam banyak kasus, kami ingin terus mengumpulkan data dan secara berkala mengunggah data itu ke cloud. Kami kemudian dapat menggunakan data ini untuk melatih kembali dan memperbaiki model kami, yang kemudian dapat kami perbaiki ke IoT Edge.

Membersihkan sumber daya

Tutorial ini adalah bagian dari set tempat setiap artikel dibuat pada pekerjaan yang dilakukan di set sebelumnya. Tunggu untuk membersihkan sumber daya apa pun sampai Anda menyelesaikan tutorial akhir.

Langkah berikutnya

Tutorial ini dibagi menjadi bagian berikut:

  1. Siapkan komputer pengembangan dan layanan Azure Anda.
  2. Hasilkan data pelatihan untuk modul pembelajaran komputer.
  3. Latih dan terapkan modul pembelajaran komputer.
  4. Mengonfigurasi perangkat IoT Edge untuk bertindak sebagai gateway transparan.
  5. Membuat dan menyebarkan modul IoT Edge.
  6. Kirim data ke perangkat IoT Edge Anda.

Lanjutkan ke artikel berikutnya untuk menyiapkan komputer pengembangan dan menyediakan sumber daya Azure.