Ez sorozatunk 3. része, ahol egy MLOps-csővezetéket tervezünk és valósítunk meg vizuális minőségellenőrzés céljából a széleken. Ebben a bejegyzésben arra összpontosítunk, hogyan automatizálhatjuk a végpontok közötti MLOps-folyamat peremtelepítési részét. Megmutatjuk, hogyan kell használni AWS IoT Greengrass a modellkövetkeztetések kezeléséhez és a folyamat automatizálásának módjához AWS lépésfunkciók és egyéb AWS szolgáltatások.
Megoldás áttekintése
In rész 1 Ennek a sorozatnak az architektúráját alakítottuk ki a végpontok közötti MLOps folyamathoz, amely automatizálja a teljes gépi tanulási (ML) folyamatot, az adatcímkézéstől a modell betanításáig és a széleken történő telepítésig. Ban ben rész 2, megmutattuk, hogyan automatizálható a csővezeték címkézése és modellezése.
A sorozathoz használt minta-használati eset egy vizuális minőségellenőrzési megoldás, amely képes észlelni a fémcímkék hibáit, és amelyet a gyártási folyamat részeként telepíthet. A következő diagram a sorozat elején meghatározott MLOps folyamat magas szintű architektúráját mutatja. Ha még nem olvasta, javasoljuk, hogy nézze meg rész 1.
Egy ML-modell élvonalbeli telepítésének automatizálása
Az ML-modell betanítása és értékelése után üzembe kell helyezni azt egy éles rendszerben, hogy a bejövő adatokkal kapcsolatos előrejelzések révén üzleti értéket generáljon. Ez a folyamat gyorsan bonyolulttá válhat egy éles környezetben, ahol a modelleket olyan eszközökön kell telepíteni és futtatni, amelyek gyakran távol helyezkednek el attól a felhőkörnyezettől, amelyben a modelleket betanították. Az alábbiakban felsorolunk néhány olyan kihívást, amely egyedülálló a gépi tanulás szélén:
- Az ML modelleket gyakran optimalizálni kell az éleszközök erőforrás-korlátai miatt
- Az Edge-eszközök nem telepíthetők újra vagy cserélhetők ki, mint egy szerver a felhőben, ezért robusztus modelltelepítési és eszközkezelési folyamatra van szüksége
- Az eszközök és a felhő közötti kommunikációnak hatékonynak és biztonságosnak kell lennie, mert gyakran áthalad a nem megbízható, alacsony sávszélességű hálózatokon.
Nézzük meg, hogyan kezelhetjük ezeket a kihívásokat az AWS-szolgáltatásokkal amellett, hogy a modellt ONNX formátumba exportálhatjuk, ami lehetővé teszi például, hogy olyan optimalizálásokat alkalmazzunk, mint a kvantálás, hogy csökkentsük a kényszereszközök modellméretét. Az ONNX optimalizált futási időket is biztosít a leggyakoribb hardverplatformokhoz.
Az éles üzembe helyezési folyamat megszakításához két összetevőre van szükségünk:
- Egy üzembe helyezési mechanizmus a modell szállításához, amely magában foglalja magát a modellt és bizonyos üzleti logikákat a modell kezeléséhez és interakciójához
- Egy munkafolyamat-motor, amely az egész folyamatot meg tudja szervezni, hogy ez robusztus és megismételhető legyen
Ebben a példában különböző AWS-szolgáltatásokat használunk az automatizált szélső üzembe helyezési mechanizmusunk létrehozásához, amely integrálja az összes tárgyalt szükséges összetevőt.
Először egy éleszközt szimulálunk. Annak érdekében, hogy egyszerűbbé tegyük a teljes munkafolyamatot, használunk egy Amazon rugalmas számítási felhő (Amazon EC2) példánya szélső eszköz szimulálásához az AWS IoT Greengrass Core szoftver telepítésével a példányra. EC2-példányokat is használhat a minőségbiztosítási folyamat különböző összetevőinek érvényesítésére, mielőtt egy tényleges élgyártási eszközre telepítené. Az AWS IoT A Greengrass a Dolgok Internete (IoT) nyílt forráskódú szélső futásidejű és felhőszolgáltatás, amely segít az élvonalbeli eszközszoftverek létrehozásában, üzembe helyezésében és kezelésében. Az AWS IoT Greengrass csökkenti az élvonalbeli eszközszoftverek biztonságos és méretezhető módon történő felépítésére, üzembe helyezésére és kezelésére irányuló erőfeszítéseket. Miután telepítette az AWS IoT Greengrass Core szoftvert az eszközre, hozzáadhat vagy eltávolíthat funkciókat és összetevőket, valamint kezelheti IoT-eszközalkalmazásait az AWS IoT Greengrass használatával. Számos beépített összetevőt kínál, amelyek megkönnyítik az életét, például a StreamManager és az MQTT broker összetevőket, amelyek segítségével biztonságosan kommunikálhat a felhővel, támogatva a végpontok közötti titkosítást. Ezekkel a funkciókkal hatékonyan töltheti fel a következtetési eredményeket és képeket.
Éles környezetben általában egy ipari kamerával rendelkezik, amely képeket szolgáltat, amelyekre az ML modellnek előrejelzéseket kell készítenie. A mi beállításunkhoz ezt a képbevitelt szimuláljuk úgy, hogy előre beállított képeket töltünk fel egy adott könyvtárba az éleszközön. Ezután ezeket a képeket használjuk következtetési bemenetként a modellhez.
Az általános üzembe helyezési és következtetési folyamatot három egymást követő lépésre osztottuk, hogy egy felhőalapú ML-modellt telepítsünk egy szélső környezetre, és felhasználjuk azt előrejelzésekhez:
- Készít – Csomagolja be a betanított modellt az éles telepítéshez.
- Telepítése – Modell- és következtetési komponensek átvitele a felhőből az éleszközre.
- Következtetés – Töltse be a modellt, és futtassa a következtetési kódot a kép-előrejelzésekhez.
A következő architektúra diagram bemutatja ennek a háromlépéses folyamatnak a részleteit, és azt, hogy hogyan valósítottuk meg az AWS-szolgáltatásokkal.
A következő szakaszokban az egyes lépések részleteit tárgyaljuk, és bemutatjuk, hogyan ágyazható be ez a folyamat egy automatizált és megismételhető hangszerelési és CI/CD munkafolyamatba mind az ML modellek, mind a megfelelő következtetési kód esetében.
Készít
Az Edge eszközök gyakran korlátozott számítási kapacitással és memóriával rendelkeznek egy felhőkörnyezethez képest, ahol a nagy teljesítményű CPU-k és GPU-k könnyen futtathatnak ML modelleket. A különböző modelloptimalizálási technikák lehetővé teszik, hogy egy adott szoftver- vagy hardverplatformra szabjon modellt, hogy növelje az előrejelzési sebességet a pontosság elvesztése nélkül.
Ebben a példában a betanított modellt a betanítási folyamatban ONNX formátumba exportáltuk a hordozhatóság, a lehetséges optimalizálás, valamint az optimalizált élfutási idő érdekében, és regisztráltuk a modellt Amazon SageMaker Model Registry. Ebben a lépésben létrehozunk egy új Greengrass-modell-összetevőt, amely tartalmazza a legújabb regisztrált modellt a későbbi telepítéshez.
Telepítése
A biztonságos és megbízható üzembe helyezési mechanizmus kulcsfontosságú, ha egy modellt a felhőből egy szélső eszközre telepít. Mivel az AWS IoT Greengrass már magában foglal egy robusztus és biztonságos szélső telepítési rendszert, ezt használjuk a telepítési célokra. Mielőtt részletesen megvizsgálnánk a telepítési folyamatunkat, vessünk egy rövid összefoglalót az AWS IoT Greengrass-telepítések működéséről. Az AWS IoT Greengrass telepítési rendszerének magja alkatrészek, amelyek meghatározzák az AWS IoT Greengrass Core-t futtató peremeszközön telepített szoftvermodulokat. Ezek lehetnek magánösszetevők, amelyeket Ön épített fel, vagy nyilvános összetevők, amelyeket bármelyikük biztosít AWS vagy a szélesebb Greengrass közösség. Egy üzembe helyezés részeként több összetevőt is össze lehet kötni. A telepítési konfiguráció határozza meg a központi telepítésben szereplő összetevőket és a központi telepítés céleszközeit. Meghatározható egy telepítési konfigurációs fájlban (JSON), vagy az AWS IoT Greengrass konzolon keresztül, amikor új telepítést hoz létre.
A következő két Greengrass-összetevőt hozzuk létre, amelyeket aztán a telepítési folyamat során telepítünk a szélső eszközre:
- Csomagolt modell (magán alkatrész) – Ez az összetevő a betanított és az ML modellt tartalmazza ONNX formátumban.
- Következtetési kód (magánkomponens) – Magán az ML-modelltől eltekintve néhány alkalmazási logikát is meg kell valósítanunk az olyan feladatok kezeléséhez, mint az adat-előkészítés, a következtetési modellel való kommunikáció és a következtetési eredmények utófeldolgozása. Példánkban egy Python-alapú privát összetevőt fejlesztettünk ki a következő feladatok kezelésére:
- Telepítse a szükséges futásidejű összetevőket, például az Ultralytics YOLOv8 Python csomagot.
- Ahelyett, hogy a kamera élő közvetítéséből készítenénk a képeket, ezt szimuláljuk úgy, hogy előkészített képeket töltünk be egy adott könyvtárból, és előkészítjük a képadatokat a modell bemeneti követelményeinek megfelelően.
- Az előkészített képadatokkal vonjon le következtetéseket a betöltött modellre.
- Ellenőrizze az előrejelzéseket, és töltse fel a következtetési eredményeket a felhőbe.
Ha mélyebbre szeretné tekinteni az általunk felépített következtetési kódot, tekintse meg a GitHub repo.
Következtetés
A modellkövetkeztetési folyamat az éleszközön automatikusan elindul, miután a fent említett összetevők telepítése befejeződött. Az egyéni következtetési összetevő rendszeresen futtatja az ML-modellt egy helyi könyvtárból származó képekkel. A modellből visszaadott képenkénti következtetés egy tenzor, amelynek tartalma a következő:
- Magabiztossági pontszámok – Mennyire magabiztos a modell az észleléseket illetően
- Objektum koordináták – A képen látható modell által észlelt karcolás tárgy koordinátái (x, y, szélesség, magasság).
Esetünkben a következtetési komponens gondoskodik arról, hogy a következtetési eredményeket elküldje egy adott MQTT témához az AWS IoT-n, ahol az elolvasható a további feldolgozáshoz. Ezek az üzenetek az AWS IoT-konzol MQTT tesztkliensén keresztül tekinthetők meg hibakereséshez. Gyári környezetben dönthet úgy, hogy automatikusan értesít egy másik rendszert, amely gondoskodik a hibás fémcímkék gyártósorról történő eltávolításáról.
hangszerelés
Amint az az előző szakaszokban látható, több lépésre van szükség egy ML-modell, a megfelelő következtetési kód, valamint a szükséges futási környezet vagy ügynök előkészítéséhez és üzembe helyezéséhez egy éleszközön. A Step Functions egy teljesen felügyelt szolgáltatás, amely lehetővé teszi ezen dedikált lépések összehangolását és a munkafolyamat állapotgép formájában történő megtervezését. A szolgáltatás kiszolgáló nélküli jellege és a natív Step Functions képességek, például az AWS szolgáltatás API-integrációi lehetővé teszik a munkafolyamat gyors beállítását. A beépített képességek, mint például az újrapróbálkozás vagy a naplózás, fontos pontok a robusztus hangszerelések felépítéséhez. Magával az állapotgép-definícióval kapcsolatos további részletekért tekintse meg a GitHub tárház vagy ellenőrizze az állapotgép grafikonját a Step Functions konzolon, miután telepítette ezt a példát a fiókjában.
Infrastruktúra kiépítése és integrálása CI/CD-be
Az összes szükséges infrastruktúra-összetevő integrálásához és felépítéséhez szükséges CI/CD folyamat ugyanazt a mintát követi, mint az ábrán látható rész 1 ebből a sorozatból. Használjuk a AWS Cloud Development Kit (AWS CDK) a szükséges folyamatok telepítéséhez AWS CodePipeline.
Tanulságok
Számos módja van az architektúra felépítésének egy automatizált, robusztus és biztonságos ML-modell éltelepítési rendszeréhez, amelyek gyakran nagyon függenek a használati esettől és egyéb követelményektől. Azonban szeretnénk megosztani veletek néhány tanulságot:
- Értékelje előre, ha a további Az AWS IoT Greengrass számítási erőforrás-követelményei illeszkedjen a tokjához, különösen szűkített élű eszközök esetén.
- Hozzon létre egy olyan telepítési mechanizmust, amely integrálja a telepített melléktermékek ellenőrzési lépését, mielőtt a peremeszközön futna, hogy biztosítsa, hogy az átvitel során nem történt manipuláció.
- Jó gyakorlat, ha az AWS IoT Greengrass telepítési összetevőit a lehető legmodulárisabbnak és önállóbbnak tartja, hogy önállóan is üzembe helyezhesse őket. Például, ha van egy viszonylag kicsi következtetési kódmodulja, de méretét tekintve nagy az ML-modell, akkor nem mindig szeretné mindkettőt telepíteni, ha csak a következtetési kód megváltozott. Ez különösen akkor fontos, ha korlátozott sávszélességgel vagy magas költségű eszközcsatlakozással rendelkezik.
Következtetés
Ezzel a három részből álló sorozatunk egy végponttól végpontig terjedő MLOps csővezeték felépítésére zárul a széleken végzett vizuális minőségellenőrzés érdekében. Megvizsgáltuk azokat a további kihívásokat, amelyek az ML-modell szélén történő bevezetésével járnak, mint például a modellcsomagolás vagy a komplex telepítési koordináció. A csővezetéket teljesen automatizált módon valósítottuk meg, így modelljeinket robusztus, biztonságos, megismételhető és nyomon követhető módon tudjuk gyártásba helyezni. Nyugodtan használhatja a sorozatban kifejlesztett architektúrát és megvalósítást következő ML-kompatibilis projektje kiindulópontjaként. Ha bármilyen kérdése van, hogyan tervezzen és építsen fel egy ilyen rendszert a környezetéhez, kérjük elérje. Egyéb témákkal és használati esetekkel kapcsolatban tekintse meg a mi Gépi tanulás és a Tárgyak internete blogok.
A szerzőkről
Michael Roth az AWS vezető megoldástervezője, aki támogatja a németországi gyártó ügyfeleket abban, hogy az AWS technológián keresztül megoldják üzleti kihívásaikat. A munka és a család mellett érdeklik a sportautók, és élvezi az olasz kávét.
Jörg Wöhrle az AWS megoldástervezője, aki németországi gyártó ügyfelekkel dolgozik. Az automatizálás iránti szenvedéllyel Joerg az AWS előtti életében szoftverfejlesztőként, DevOps mérnökként és Site Reliability Engineerként dolgozott. A felhőkön túl ambiciózus futó, és minőségi időt tölt a családjával. Tehát ha DevOps kihívása van, vagy futni szeretne: tudassa vele.
Johannes Langer az AWS vezető megoldási építésze, vállalati ügyfelekkel dolgozik Németországban. Johannes szenvedélyesen használja a gépi tanulást valódi üzleti problémák megoldására. Magánéletében Johannes szívesen dolgozik otthoni fejlesztési projekteken, és a szabadban tölt időt családjával.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/build-an-end-to-end-mlops-pipeline-for-visual-quality-inspection-at-the-edge-part-3/
- :van
- :is
- :ahol
- $ UP
- 150
- 7
- a
- Képes
- Rólunk
- Szerint
- Fiók
- pontosság
- tényleges
- hozzá
- mellett
- További
- előre
- Után
- ellen
- Ügynök
- Minden termék
- lehetővé
- lehetővé teszi, hogy
- már
- Is
- mindig
- amazon
- Amazon EC2
- Az Amazon Web Services
- becsvágyó
- an
- és a
- Másik
- bármilyen
- api
- Alkalmazás
- alkalmazások
- alkalmaz
- Alkalmazása
- építészet
- VANNAK
- AS
- félre
- At
- automatizált
- Automatizált
- automaták
- automatikusan
- Automatizálás
- el
- AWS
- AWS IoT Greengrass
- vissza
- Sávszélesség
- BE
- mert
- válik
- óta
- előtt
- Kezdet
- kívül
- között
- Túl
- Nagy
- blogok
- mindkét
- tágabb
- bróker
- épít
- Épület
- épült
- beépített
- csomagban
- üzleti
- de
- by
- kéri
- szoba
- TUD
- képességek
- ami
- autók
- eset
- esetek
- kihívás
- kihívások
- megváltozott
- ellenőrizze
- ellenőrzése
- vásárló
- felhő
- kód
- Kávé
- hogyan
- Közös
- kommunikálni
- közlés
- képest
- bonyolult
- összetevő
- alkatrészek
- Kiszámít
- magabiztos
- Configuration
- Connectivity
- folyamatos
- Konzol
- korlátok
- tartalmaz
- tartalom
- Mag
- alapszoftver
- Megfelelő
- Költség
- teremt
- létrehozása
- szokás
- Ügyfelek
- dátum
- Adatok előkészítése
- dönt
- elszánt
- mélyebb
- meghatározott
- meghatározott
- Annak meghatározása,
- definíció
- átadó
- kézbesítés
- függő
- telepíteni
- telepített
- bevezetéséhez
- bevetés
- bevetések
- Design
- részlet
- részletek
- kimutatására
- észlelt
- fejlett
- Fejlesztő
- Fejlesztés
- eszköz
- Eszközök
- különböző
- megvitatni
- tárgyalt
- megosztott
- do
- ne
- le-
- két
- alatt
- minden
- könnyebb
- könnyen
- él
- hatékony
- eredményesen
- erőfeszítés
- bármelyik
- Beágyaz
- titkosítás
- végtől végig
- Motor
- mérnök
- biztosítására
- Vállalkozás
- Egész
- Környezet
- különösen
- értékelték
- Még
- példa
- család
- messze
- Divat
- hibás
- Jellemzők
- érez
- kevés
- filé
- megfelelő
- Összpontosít
- következő
- következik
- A
- forma
- formátum
- Ingyenes
- ból ből
- teljesen
- funkciók
- további
- generál
- Németország
- Go
- jó
- GPU
- grafikon
- fogantyú
- történt
- hardver
- Legyen
- magasság
- segít
- itt
- Magas
- magas szinten
- őt
- övé
- Kezdőlap
- Hogyan
- How To
- azonban
- HTML
- http
- HTTPS
- if
- kép
- képek
- végre
- végrehajtás
- végre
- fontos
- javulás
- in
- beleértve
- magában foglalja a
- Beleértve
- Bejövő
- Növelje
- függetlenül
- ipari
- Infrastruktúra
- bemenet
- telepíteni
- telepítése
- példa
- integrálni
- integrál
- integráció
- integrációk
- kölcsönhatásba
- érdekelt
- Internet
- internet a dolgok
- bele
- tárgyak internete
- IoT-eszköz
- IT
- olasz
- maga
- jpg
- json
- éppen
- Tart
- Kulcs
- Ismer
- címkézés
- legutolsó
- tanulás
- hadd
- élet
- mint
- Korlátozott
- vonal
- él
- kiszámításának
- betöltés
- helyi
- található
- fakitermelés
- logika
- néz
- nézett
- vesztes
- Sok
- gép
- gépi tanulás
- csinál
- Gyártás
- kezelése
- sikerült
- vezetés
- gyártási
- mechanizmus
- Memory design
- üzenetek
- fém
- Michael
- ML
- MLOps
- modell
- modellek
- moduláris
- Modulok
- Modulok
- több
- a legtöbb
- többszörös
- bennszülött
- Természet
- Szükség
- igények
- Új
- következő
- nem
- tárgy
- of
- Ajánlatok
- gyakran
- on
- nyílt forráskódú
- optimalizált
- or
- hangszerelés
- Más
- mi
- ki
- szabadban
- átfogó
- csomag
- csomagolás
- rész
- alkatrészek
- szenvedély
- szenvedélyes
- Mintás
- mert
- személyes
- csővezeték
- emelvény
- Platformok
- Plató
- Platón adatintelligencia
- PlatoData
- kérem
- pont
- pont
- hordozhatóság
- lehetséges
- állás
- erős
- gyakorlat
- előrejelzés
- Tippek
- előkészítés
- Készít
- előkészített
- előkészítése
- magán
- problémák
- folyamat
- feldolgozás
- gyárt
- Termelés
- program
- projektek
- feltéve,
- biztosít
- nyilvános
- célokra
- tesz
- Piton
- Kérdések és válaszok
- világítás
- Kérdések
- Quick
- gyorsan
- Olvass
- igazi
- újrafutóz
- ajánl
- csökkenteni
- csökkenti
- utal
- tekintettel
- nyilvántartott
- viszonylag
- megbízhatóság
- megbízható
- eltávolítása
- eltávolítása
- megismételhető
- helyébe
- szükség
- kötelező
- követelmények
- forrás
- eredményez
- Eredmények
- erős
- futás
- futó
- futás
- fut
- sagemaker
- azonos
- skálázható
- kaparni
- szakaszok
- biztonság
- biztosan
- lát
- látott
- elküldés
- idősebb
- Series of
- szerver
- vagy szerver
- szolgáltatás
- Szolgáltatások
- készlet
- beállítás
- felépítés
- Megosztás
- kellene
- előadás
- kimutatta,
- Műsorok
- weboldal
- Méret
- kicsi
- So
- szoftver
- megoldások
- Megoldások
- SOLVE
- néhány
- különleges
- sebesség
- Költési
- Sport
- Kezdve
- kezdődik
- Állami
- Lépés
- Lépései
- egyértelmű
- folyam
- későbbi
- ilyen
- Támogató
- rendszer
- felszerelés
- tart
- bevétel
- cél
- feladatok
- technikák
- Technológia
- feltételek
- teszt
- hogy
- A
- Az állam
- azok
- Őket
- akkor
- Ezek
- dolgok
- ezt
- azok
- három
- háromlépcsős
- Keresztül
- idő
- nak nek
- együtt
- téma
- Témakörök
- visszavezethető
- kiképzett
- Képzések
- átruházás
- kettő
- jellemzően
- egyedi
- Feltöltés
- us
- használ
- használati eset
- használt
- segítségével
- ÉRVÉNYESÍT
- érték
- Igazolás
- nagyon
- keresztül
- akar
- Út..
- módon
- we
- háló
- webes szolgáltatások
- JÓL
- amikor
- ami
- egész
- szélesség
- val vel
- belül
- nélkül
- Munka
- dolgozott
- munkafolyamat
- dolgozó
- lenne
- X
- még
- te
- A te
- zephyrnet