Ini adalah Bagian 3 dari seri kami di mana kami merancang dan mengimplementasikan pipeline MLOps untuk pemeriksaan kualitas visual di edge. Dalam postingan ini, kami fokus pada cara mengotomatiskan bagian penerapan edge dari pipeline MLOps end-to-end. Kami tunjukkan cara menggunakannya Rumput Hijau AWS IoT untuk mengelola inferensi model di edge dan cara mengotomatiskan proses menggunakan Fungsi Langkah AWS dan layanan AWS lainnya.
Ikhtisar solusi
In bagian 1 Dalam seri ini, kami menyusun arsitektur untuk pipeline MLOps end-to-end kami yang mengotomatiskan seluruh proses pembelajaran mesin (ML), mulai dari pelabelan data hingga pelatihan model dan penerapan di edge. Di dalam bagian 2, kami menunjukkan cara mengotomatiskan bagian pelabelan dan pelatihan model pada pipeline.
Contoh kasus penggunaan yang digunakan untuk seri ini adalah solusi pemeriksaan kualitas visual yang dapat mendeteksi cacat pada tag logam, yang dapat Anda terapkan sebagai bagian dari proses produksi. Diagram berikut menunjukkan arsitektur tingkat tinggi dari pipeline MLOps yang kami definisikan di awal seri ini. Jika Anda belum membacanya, kami sarankan untuk memeriksanya bagian 1.
Mengotomatiskan penerapan edge model ML
Setelah model ML dilatih dan dievaluasi, model tersebut perlu diterapkan ke sistem produksi untuk menghasilkan nilai bisnis dengan membuat prediksi pada data yang masuk. Proses ini dapat dengan cepat menjadi rumit dalam pengaturan edge di mana model perlu disebarkan dan dijalankan pada perangkat yang sering kali berlokasi jauh dari lingkungan cloud tempat model tersebut dilatih. Berikut ini adalah beberapa tantangan yang unik pada pembelajaran mesin di edge:
- Model ML sering kali perlu dioptimalkan karena keterbatasan sumber daya pada perangkat edge
- Perangkat Edge tidak dapat disebarkan ulang atau bahkan diganti seperti server di cloud, sehingga Anda memerlukan penerapan model dan proses manajemen perangkat yang kuat
- Komunikasi antara perangkat dan cloud harus efisien dan aman karena sering kali melintasi jaringan bandwidth rendah yang tidak tepercaya
Mari kita lihat bagaimana kita dapat mengatasi tantangan ini dengan layanan AWS selain mengekspor model dalam format ONNX, yang memungkinkan kita, misalnya, menerapkan pengoptimalan seperti kuantisasi untuk mengurangi ukuran model untuk perangkat pembatas. ONNX juga menyediakan runtime yang dioptimalkan untuk platform perangkat keras edge yang paling umum.
Untuk memecah proses penerapan edge, kami memerlukan dua komponen:
- Mekanisme penerapan untuk penyampaian model, yang mencakup model itu sendiri dan beberapa logika bisnis untuk mengelola dan berinteraksi dengan model
- Mesin alur kerja yang dapat mengatur seluruh proses agar proses ini kuat dan dapat diulang
Dalam contoh ini, kami menggunakan layanan AWS yang berbeda untuk membangun mekanisme penerapan edge otomatis, yang mengintegrasikan semua komponen diperlukan yang telah kita diskusikan.
Pertama, kami mensimulasikan perangkat edge. Untuk memudahkan Anda menjalani alur kerja end-to-end, kami menggunakan Cloud komputasi elastis Amazon (Amazon EC2) untuk mensimulasikan perangkat edge dengan menginstal perangkat lunak AWS IoT Greengrass Core pada instans tersebut. Anda juga dapat menggunakan instans EC2 untuk memvalidasi berbagai komponen dalam proses QA sebelum diterapkan ke perangkat produksi edge yang sebenarnya. AWS IoT Greengrass adalah layanan cloud dan runtime edge sumber terbuka Internet of Things (IoT) yang membantu Anda membangun, men-deploy, dan mengelola perangkat lunak perangkat edge. AWS IoT Greengrass mengurangi upaya untuk membangun, men-deploy, dan mengelola perangkat lunak perangkat edge dengan cara yang aman dan terukur. Setelah Anda menginstal perangkat lunak Inti AWS IoT Greengrass pada perangkat Anda, Anda dapat menambahkan atau menghapus fitur dan komponen, dan mengelola aplikasi perangkat IoT Anda menggunakan AWS IoT Greengrass. Ia menawarkan banyak komponen bawaan untuk membuat hidup Anda lebih mudah, seperti komponen broker StreamManager dan MQTT, yang dapat Anda gunakan untuk berkomunikasi secara aman dengan cloud, mendukung enkripsi ujung ke ujung. Anda dapat menggunakan fitur tersebut untuk mengunggah hasil inferensi dan gambar secara efisien.
Dalam lingkungan produksi, Anda biasanya memiliki kamera industri yang mengirimkan gambar yang prediksinya harus dihasilkan oleh model ML. Untuk pengaturan kami, kami mensimulasikan input gambar ini dengan mengunggah gambar yang telah ditetapkan ke direktori tertentu pada perangkat edge. Kami kemudian menggunakan gambar-gambar ini sebagai masukan inferensi untuk model.
Kami membagi keseluruhan proses penerapan dan inferensi menjadi tiga langkah berturut-turut untuk menerapkan model ML yang dilatih cloud ke lingkungan edge dan menggunakannya untuk prediksi:
- Mempersiapkan – Kemas model terlatih untuk penerapan edge.
- Menyebarkan – Transfer komponen model dan inferensi dari cloud ke perangkat edge.
- Kesimpulan – Memuat model dan menjalankan kode inferensi untuk prediksi gambar.
Diagram arsitektur berikut menunjukkan detail proses tiga langkah ini dan cara kami mengimplementasikannya dengan layanan AWS.
Di bagian berikut, kami membahas detail setiap langkah dan menunjukkan cara menyematkan proses ini ke dalam orkestrasi otomatis dan berulang serta alur kerja CI/CD untuk model ML dan kode inferensi terkait.
Mempersiapkan
Perangkat edge sering kali memiliki komputasi dan memori yang terbatas dibandingkan dengan lingkungan cloud di mana CPU dan GPU yang kuat dapat menjalankan model ML dengan mudah. Teknik pengoptimalan model yang berbeda memungkinkan Anda menyesuaikan model untuk platform perangkat lunak atau perangkat keras tertentu guna meningkatkan kecepatan prediksi tanpa kehilangan akurasi.
Dalam contoh ini, kami mengekspor model terlatih dalam pipeline pelatihan ke format ONNX untuk portabilitas, kemungkinan pengoptimalan, serta waktu proses edge yang dioptimalkan, dan mendaftarkan model dalam Registri Model Amazon SageMaker. Pada langkah ini, kami membuat komponen model Greengrass baru termasuk model terdaftar terbaru untuk penerapan selanjutnya.
Menyebarkan
Mekanisme penerapan yang aman dan andal adalah kunci saat menerapkan model dari cloud ke perangkat edge. Karena AWS IoT Greengrass sudah menggabungkan sistem penerapan edge yang kuat dan aman, kami menggunakannya untuk tujuan penerapan kami. Sebelum kita melihat proses penerapan secara detail, mari kita rekap singkat tentang cara kerja penerapan AWS IoT Greengrass. Inti dari sistem penerapan AWS IoT Greengrass adalah komponen, yang menentukan modul perangkat lunak yang diterapkan ke perangkat edge yang menjalankan AWS IoT Greengrass Core. Ini bisa berupa komponen pribadi yang Anda buat atau komponen publik yang disediakan oleh AWS atau yang lebih luas Komunitas rumput hijau. Beberapa komponen dapat digabungkan menjadi satu sebagai bagian dari penerapan. Konfigurasi penerapan menentukan komponen yang disertakan dalam penerapan dan perangkat target penerapan. Hal ini dapat ditentukan dalam file konfigurasi penerapan (JSON) atau melalui konsol AWS IoT Greengrass saat membuat penerapan baru.
Kami membuat dua komponen Greengrass berikut, yang kemudian disebarkan ke perangkat edge melalui proses penerapan:
- Model paket (komponen pribadi) – Komponen ini berisi model terlatih dan ML dalam format ONNX.
- Kode inferensi (komponen pribadi) – Selain model ML itu sendiri, kita perlu mengimplementasikan beberapa logika aplikasi untuk menangani tugas-tugas seperti persiapan data, komunikasi dengan model untuk inferensi, dan pascapemrosesan hasil inferensi. Dalam contoh kita, kita telah mengembangkan komponen privat berbasis Python untuk menangani tugas-tugas berikut:
- Instal komponen runtime yang diperlukan seperti paket Ultralytics YOLOv8 Python.
- Daripada mengambil gambar dari streaming langsung kamera, kami melakukan simulasi dengan memuat gambar yang telah disiapkan dari direktori tertentu dan menyiapkan data gambar sesuai dengan persyaratan masukan model.
- Lakukan panggilan inferensi terhadap model yang dimuat dengan data gambar yang telah disiapkan.
- Periksa prediksi dan unggah hasil inferensi kembali ke cloud.
Jika Anda ingin melihat lebih dalam kode inferensi yang kami buat, lihat GitHub repo.
Kesimpulan
Proses inferensi model pada perangkat edge secara otomatis dimulai setelah penerapan komponen yang disebutkan di atas selesai. Komponen inferensi khusus secara berkala menjalankan model ML dengan gambar dari direktori lokal. Hasil inferensi per gambar yang dikembalikan dari model adalah tensor dengan konten berikut:
- Skor kepercayaan diri – Seberapa yakin model terhadap pendeteksiannya
- Koordinat objek – Koordinat objek awal (x, y, lebar, tinggi) yang terdeteksi oleh model pada gambar
Dalam kasus kami, komponen inferensi menangani pengiriman hasil inferensi ke topik MQTT tertentu di AWS IoT yang dapat dibaca untuk diproses lebih lanjut. Pesan-pesan ini dapat dilihat melalui klien pengujian MQTT di konsol AWS IoT untuk debugging. Dalam pengaturan produksi, Anda dapat memutuskan untuk secara otomatis memberi tahu sistem lain yang menangani penghapusan tag logam yang rusak dari jalur produksi.
Orkestrasi
Seperti yang terlihat di bagian sebelumnya, beberapa langkah diperlukan untuk menyiapkan dan menerapkan model ML, kode inferensi yang sesuai, dan runtime atau agen yang diperlukan ke perangkat edge. Step Functions adalah layanan terkelola sepenuhnya yang memungkinkan Anda mengatur langkah-langkah khusus ini dan merancang alur kerja dalam bentuk mesin status. Sifat layanan ini tanpa server dan kemampuan Step Functions asli seperti integrasi API layanan AWS memungkinkan Anda menyiapkan alur kerja ini dengan cepat. Kemampuan bawaan seperti percobaan ulang atau logging adalah poin penting untuk membangun orkestrasi yang kuat. Untuk rincian lebih lanjut mengenai definisi mesin negara itu sendiri, lihat Repositori GitHub atau periksa grafik mesin status di konsol Step Functions setelah Anda menerapkan contoh ini di akun Anda.
Penyebaran infrastruktur dan integrasi ke dalam CI/CD
Jalur CI/CD untuk mengintegrasikan dan membangun semua komponen infrastruktur yang diperlukan mengikuti pola yang sama seperti yang diilustrasikan pada bagian 1 dari seri ini. Kami menggunakan Kit Pengembangan AWS Cloud (AWS CDK) untuk men-deploy pipeline yang diperlukan Pipa Kode AWS.
Pembelajaran
Ada beberapa cara untuk membangun arsitektur sistem penerapan edge model ML yang otomatis, kuat, dan aman, yang seringkali sangat bergantung pada kasus penggunaan dan persyaratan lainnya. Namun, berikut beberapa pembelajaran yang ingin kami bagikan kepada Anda:
- Evaluasi terlebih dahulu jika tambahan Persyaratan sumber daya komputasi AWS IoT Greengrass sesuai dengan casing Anda, terutama dengan perangkat edge terbatas.
- Tetapkan mekanisme penerapan yang mengintegrasikan langkah verifikasi artefak yang diterapkan sebelum dijalankan pada perangkat edge untuk memastikan tidak ada gangguan yang terjadi selama transmisi.
- Merupakan praktik yang baik untuk menjaga komponen penerapan di AWS IoT Greengrass bersifat modular dan mandiri agar dapat menerapkannya secara mandiri. Misalnya, jika Anda memiliki modul kode inferensi yang relatif kecil tetapi model ML-nya besar dalam hal ukuran, Anda tidak selalu ingin menerapkan keduanya hanya jika kode inferensinya saja yang berubah. Hal ini sangat penting ketika Anda memiliki bandwidth terbatas atau konektivitas perangkat edge berbiaya tinggi.
Kesimpulan
Ini mengakhiri seri tiga bagian kami dalam membangun pipeline MLOps end-to-end untuk inspeksi kualitas visual di edge. Kami melihat tantangan tambahan yang muncul saat menerapkan model ML di edge seperti pengemasan model atau orkestrasi penerapan yang kompleks. Kami menerapkan pipeline dengan cara yang sepenuhnya otomatis sehingga kami dapat memasukkan model kami ke dalam produksi dengan cara yang kuat, aman, dapat diulang, dan dapat dilacak. Jangan ragu untuk menggunakan arsitektur dan implementasi yang dikembangkan dalam seri ini sebagai titik awal untuk proyek Anda berikutnya yang mendukung ML. Jika Anda memiliki pertanyaan bagaimana merancang dan membangun sistem seperti itu untuk lingkungan Anda, silakan mencapai. Untuk topik dan kasus penggunaan lainnya, lihat kami Pembelajaran mesin dan IOT blog
Tentang penulis
Michael Roth adalah Arsitek Solusi Senior di AWS yang mendukung pelanggan Manufaktur di Jerman untuk memecahkan tantangan bisnis mereka melalui teknologi AWS. Selain pekerjaan dan keluarga, dia tertarik dengan mobil sport dan menikmati kopi Italia.
Jörg Wöhrle adalah Arsitek Solusi di AWS, yang bekerja dengan pelanggan manufaktur di Jerman. Dengan minat terhadap otomatisasi, Joerg telah bekerja sebagai pengembang perangkat lunak, insinyur DevOps, dan Insinyur Keandalan Situs sebelum kehidupannya di AWS. Selain cloud, dia adalah pelari yang ambisius dan menikmati waktu berkualitas bersama keluarganya. Jadi, jika Anda memiliki tantangan DevOps atau ingin mencoba: beri tahu dia.
Johannes Langer adalah Arsitek Solusi Senior di AWS, yang bekerja dengan pelanggan perusahaan di Jerman. Johannes bersemangat menerapkan pembelajaran mesin untuk memecahkan masalah bisnis nyata. Dalam kehidupan pribadinya, Johannes senang mengerjakan proyek perbaikan rumah dan menghabiskan waktu di luar ruangan bersama keluarganya.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/build-an-end-to-end-mlops-pipeline-for-visual-quality-inspection-at-the-edge-part-3/
- :memiliki
- :adalah
- :Di mana
- $NAIK
- 150
- 7
- a
- Sanggup
- Tentang Kami
- Menurut
- Akun
- ketepatan
- sebenarnya
- menambahkan
- tambahan
- Tambahan
- memajukan
- Setelah
- terhadap
- Agen
- Semua
- mengizinkan
- memungkinkan
- sudah
- juga
- selalu
- Amazon
- Amazon EC2
- Amazon Web Services
- ambisius
- an
- dan
- Lain
- Apa pun
- api
- Aplikasi
- aplikasi
- Mendaftar
- Menerapkan
- arsitektur
- ADALAH
- AS
- asam
- At
- mengotomatisasikan
- Otomatis
- mengotomatiskan
- secara otomatis
- Otomatisasi
- jauh
- AWS
- Rumput Hijau AWS IoT
- kembali
- Bandwidth
- BE
- karena
- menjadi
- menjadi
- sebelum
- Awal
- selain
- antara
- Luar
- Besar
- blog
- kedua
- lebih luas
- makelar
- membangun
- Bangunan
- dibangun di
- built-in
- dibundel
- bisnis
- tapi
- by
- Panggilan
- kamar
- CAN
- kemampuan
- yang
- mobil
- kasus
- kasus
- menantang
- tantangan
- berubah
- memeriksa
- memeriksa
- klien
- awan
- kode
- Tanaman
- bagaimana
- Umum
- menyampaikan
- Komunikasi
- dibandingkan
- kompleks
- komponen
- komponen
- menghitung
- yakin
- konfigurasi
- Konektivitas
- berturut-turut
- konsul
- kendala
- mengandung
- Konten
- Core
- perangkat lunak inti
- Sesuai
- Biaya
- membuat
- membuat
- adat
- pelanggan
- data
- Persiapan data
- memutuskan
- dedicated
- lebih dalam
- menetapkan
- didefinisikan
- Mendefinisikan
- definisi
- mengantarkan
- pengiriman
- tergantung
- menyebarkan
- dikerahkan
- penggelaran
- penyebaran
- penyebaran
- Mendesain
- rinci
- rincian
- menemukan
- terdeteksi
- dikembangkan
- Pengembang
- Pengembangan
- alat
- Devices
- berbeda
- membahas
- dibahas
- Terbagi
- do
- Dont
- turun
- dua
- selama
- setiap
- mudah
- mudah
- Tepi
- efisien
- efisien
- usaha
- antara
- menanamkan
- enkripsi
- ujung ke ujung
- Mesin
- insinyur
- memastikan
- Enterprise
- Seluruh
- Lingkungan Hidup
- terutama
- dievaluasi
- Bahkan
- contoh
- keluarga
- jauh
- Fashion
- salah
- Fitur
- merasa
- beberapa
- File
- cocok
- Fokus
- berikut
- berikut
- Untuk
- bentuk
- format
- Gratis
- dari
- sepenuhnya
- fungsi
- lebih lanjut
- menghasilkan
- Jerman
- Go
- baik
- GPU
- grafik
- menangani
- terjadi
- Perangkat keras
- Memiliki
- tinggi
- membantu
- di sini
- High
- tingkat tinggi
- dia
- -nya
- Beranda
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- http
- HTTPS
- if
- gambar
- gambar
- melaksanakan
- implementasi
- diimplementasikan
- penting
- perbaikan
- in
- termasuk
- termasuk
- Termasuk
- masuk
- Meningkatkan
- secara mandiri
- industri
- Infrastruktur
- memasukkan
- install
- Instalasi
- contoh
- mengintegrasikan
- Terintegrasi
- integrasi
- integrasi
- berinteraksi
- tertarik
- Internet
- internet hal-hal
- ke
- idiot
- Perangkat IOT
- IT
- Italia
- Diri
- jpg
- json
- hanya
- Menjaga
- kunci
- Tahu
- pelabelan
- Terbaru
- pengetahuan
- membiarkan
- Hidup
- 'like'
- Terbatas
- baris
- hidup
- memuat
- pemuatan
- lokal
- terletak
- penebangan
- logika
- melihat
- tampak
- kehilangan
- Lot
- mesin
- Mesin belajar
- membuat
- Membuat
- mengelola
- berhasil
- pengelolaan
- pabrik
- mekanisme
- Memori
- pesan
- logam
- Michael
- ML
- MLOps
- model
- model
- modular
- Modul
- Modul
- lebih
- paling
- beberapa
- asli
- Alam
- Perlu
- kebutuhan
- New
- berikutnya
- tidak
- obyek
- of
- Penawaran
- sering
- on
- open source
- dioptimalkan
- or
- teknik mengatur musik
- Lainnya
- kami
- di luar
- di luar rumah
- secara keseluruhan
- paket
- pengemasan
- bagian
- bagian
- gairah
- bergairah
- pola
- untuk
- pribadi
- pipa saluran
- Platform
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- silahkan
- Titik
- poin
- Mudah dibawa
- mungkin
- Pos
- kuat
- praktek
- ramalan
- Prediksi
- persiapan
- Mempersiapkan
- siap
- mempersiapkan
- swasta
- masalah
- proses
- pengolahan
- menghasilkan
- Produksi
- proyek
- memprojeksikan
- disediakan
- menyediakan
- publik
- tujuan
- menempatkan
- Ular sanca
- Q & A
- kualitas
- Pertanyaan
- Cepat
- segera
- Baca
- nyata
- rekap
- sarankan
- menurunkan
- mengurangi
- lihat
- mengenai
- terdaftar
- relatif
- keandalan
- dapat diandalkan
- menghapus
- menghapus
- berulang
- diganti
- membutuhkan
- wajib
- Persyaratan
- sumber
- mengakibatkan
- Hasil
- kuat
- Run
- pelari
- berjalan
- berjalan
- pembuat bijak
- sama
- terukur
- menggaruk
- bagian
- aman
- aman
- melihat
- terlihat
- mengirim
- senior
- Seri
- Server
- Tanpa Server
- layanan
- Layanan
- set
- pengaturan
- penyiapan
- Share
- harus
- Menunjukkan
- menunjukkan
- Pertunjukkan
- situs web
- Ukuran
- kecil
- So
- Perangkat lunak
- larutan
- Solusi
- MEMECAHKAN
- beberapa
- tertentu
- kecepatan
- Pengeluaran
- Olahraga
- Mulai
- dimulai
- Negara
- Langkah
- Tangga
- mudah
- aliran
- selanjutnya
- seperti itu
- pendukung
- sistem
- memecahkan
- Dibutuhkan
- pengambilan
- target
- tugas
- teknik
- Teknologi
- istilah
- uji
- bahwa
- Grafik
- Negara
- mereka
- Mereka
- kemudian
- Ini
- hal
- ini
- itu
- tiga
- tiga langkah
- Melalui
- waktu
- untuk
- bersama
- tema
- Topik
- dapat dilacak
- terlatih
- Pelatihan
- transfer
- dua
- khas
- unik
- Mengunggah
- us
- menggunakan
- gunakan case
- bekas
- menggunakan
- MENGESAHKAN
- nilai
- Verifikasi
- sangat
- melalui
- ingin
- Cara..
- cara
- we
- jaringan
- layanan web
- BAIK
- ketika
- yang
- seluruh
- lebar
- dengan
- dalam
- tanpa
- Kerja
- bekerja
- alur kerja
- kerja
- akan
- X
- namun
- Kamu
- Anda
- zephyrnet.dll