To je 3. del naše serije, kjer načrtujemo in implementiramo cevovod MLOps za vizualno kontrolo kakovosti na robu. V tej objavi se osredotočamo na to, kako avtomatizirati del robne uvedbe cevovoda MLOps od konca do konca. Pokažemo vam, kako uporabljati AWS IoT Zelena trava za upravljanje sklepanja modela na robu in kako avtomatizirati postopek z uporabo Korak funkcije AWS in druge storitve AWS.
Pregled rešitev
In Del 1 V tej seriji smo postavili arhitekturo za naš cevovod MLOps od konca do konca, ki avtomatizira celoten proces strojnega učenja (ML), od označevanja podatkov do usposabljanja modela in uvajanja na robu. notri Del 2, smo pokazali, kako avtomatizirati dele cevovoda za označevanje in usposabljanje modelov.
Vzorčni primer uporabe, uporabljen za to serijo, je rešitev za vizualni nadzor kakovosti, ki lahko zazna napake na kovinskih oznakah, ki jih lahko uporabite kot del proizvodnega procesa. Naslednji diagram prikazuje visokonivojsko arhitekturo cevovoda MLOps, ki smo ga definirali na začetku te serije. Če ga še niste prebrali, priporočamo ogled Del 1.
Avtomatizacija robne uvedbe modela ML
Ko je model ML usposobljen in ovrednoten, ga je treba razmestiti v produkcijski sistem za ustvarjanje poslovne vrednosti z napovedovanjem vhodnih podatkov. Ta postopek lahko hitro postane zapleten v robni nastavitvi, kjer je treba modele razmestiti in izvajati na napravah, ki so pogosto nameščene daleč stran od okolja v oblaku, v katerem so bili modeli usposobljeni. Sledi nekaj izzivov, edinstvenih za strojno učenje na robu:
- Modele ML je pogosto treba optimizirati zaradi omejitev virov na robnih napravah
- Naprav Edge ni mogoče znova namestiti ali celo zamenjati kot strežnik v oblaku, zato potrebujete robusten postopek uvajanja modela in upravljanja naprav
- Komunikacija med napravami in oblakom mora biti učinkovita in varna, ker pogosto prečka nezaupljiva omrežja z nizko pasovno širino
Poglejmo, kako se lahko spoprimemo s temi izzivi s storitvami AWS poleg izvoza modela v format ONNX, ki nam omogoča, da na primer uporabimo optimizacije, kot je kvantizacija, da zmanjšamo velikost modela za naprave z omejitvami. ONNX zagotavlja tudi optimizirane čase izvajanja za najpogostejše platforme robne strojne opreme.
Če razdelimo postopek uvajanja robov, potrebujemo dve komponenti:
- Razmestitveni mehanizem za dostavo modela, ki vključuje sam model in nekaj poslovne logike za upravljanje in interakcijo z modelom
- Mehanizem delovnega toka, ki lahko orkestrira celoten proces, da postane ta robusten in ponovljiv
V tem primeru uporabljamo različne storitve AWS za izdelavo našega avtomatiziranega mehanizma za uvajanje robov, ki združuje vse potrebne komponente, o katerih smo razpravljali.
Najprej simuliramo robno napravo. Da bi vam poenostavili potek dela od konca do konca, uporabljamo Amazonski elastični računalniški oblak (Amazon EC2) primerek za simulacijo robne naprave z namestitvijo programske opreme AWS IoT Greengrass Core na primerek. Primerke EC2 lahko uporabite tudi za preverjanje različnih komponent v procesu zagotavljanja kakovosti pred uvedbo v dejansko robno proizvodno napravo. AWS IoT Greengrass je odprtokodno robno izvajalno okolje in storitev v oblaku interneta stvari (IoT), ki vam pomaga zgraditi, uvesti in upravljati programsko opremo za robne naprave. AWS IoT Greengrass zmanjšuje trud pri gradnji, uvajanju in upravljanju programske opreme robnih naprav na varen in razširljiv način. Ko namestite programsko opremo AWS IoT Greengrass Core v svojo napravo, lahko dodajate ali odstranjujete funkcije in komponente ter upravljate aplikacije svoje naprave IoT z uporabo AWS IoT Greengrass. Ponuja veliko vgrajenih komponent, ki vam olajšajo življenje, kot sta komponenti posrednika StreamManager in MQTT, ki ju lahko uporabite za varno komunikacijo z oblakom in podpira šifriranje od konca do konca. Te funkcije lahko uporabite za učinkovito nalaganje rezultatov sklepanja in slik.
V produkcijskem okolju bi običajno imeli industrijsko kamero, ki zagotavlja slike, za katere bi moral model ML ustvariti napovedi. Za naše nastavitve simuliramo ta vnos slike tako, da naložimo prednastavitev slik v določen imenik na robni napravi. Te slike nato uporabimo kot vhodne podatke za sklepanje za model.
Celoten postopek uvajanja in sklepanja smo razdelili na tri zaporedne korake, da bi uvedli v oblaku usposobljen model ML v robno okolje in ga uporabili za napovedi:
- Pripravimo – Zapakirajte usposobljeni model za uporabo na robu.
- uvajanje – Prenos komponent modela in sklepanja iz oblaka v robno napravo.
- Sklepanje – Naložite model in zaženite sklepno kodo za napovedi slike.
Naslednji diagram arhitekture prikazuje podrobnosti tega postopka v treh korakih in kako smo ga implementirali s storitvami AWS.
V naslednjih razdelkih razpravljamo o podrobnostih za vsak korak in pokažemo, kako vdelati ta postopek v avtomatizirano in ponovljivo orkestracijo in potek dela CI/CD tako za modele ML kot za ustrezno sklepno kodo.
Pripravimo
Naprave Edge pogosto prihajajo z omejeno zmogljivostjo računalništva in pomnilnika v primerjavi z okoljem v oblaku, kjer lahko zmogljivi procesorji in grafični procesorji zlahka izvajajo modele ML. Različne tehnike optimizacije modela vam omogočajo, da prilagodite model za specifično programsko ali strojno platformo, da povečate hitrost napovedovanja brez izgube natančnosti.
V tem primeru smo izvozili usposobljeni model v cevovodu za usposabljanje v format ONNX za prenosljivost, možne optimizacije in optimizirane robne čase izvajanja ter registrirali model znotraj Register modelov Amazon SageMaker. V tem koraku ustvarimo novo komponento modela Greengrass, vključno z zadnjim registriranim modelom za poznejšo uvedbo.
uvajanje
Varen in zanesljiv mehanizem uvajanja je ključen pri uvajanju modela iz oblaka v robno napravo. Ker AWS IoT Greengrass že vključuje robusten in varen robni sistem uvajanja, ga uporabljamo za naše namene uvajanja. Preden si podrobno ogledamo naš postopek uvajanja, naredimo kratek povzetek, kako delujejo uvedbe AWS IoT Greengrass. Jedro sistema uvajanja AWS IoT Greengrass so deli, ki definira module programske opreme, nameščene na robni napravi, ki izvaja AWS IoT Greengrass Core. To so lahko zasebne komponente, ki jih zgradite vi, ali javne komponente, ki jih zagotovi kateri koli drug AWS ali širše Skupnost Greengrass. Več komponent je mogoče združiti skupaj kot del uvajanja. Konfiguracija uvajanja definira komponente, vključene v uvajanje, in ciljne naprave uvajanja. Lahko ga definirate v konfiguracijski datoteki za uvedbo (JSON) ali prek konzole AWS IoT Greengrass pri ustvarjanju nove uvedbe.
Ustvarimo naslednji dve komponenti Greengrass, ki ju nato s postopkom uvajanja razmestimo v robno napravo:
- Pakirani model (zasebna komponenta) – Ta komponenta vsebuje usposobljen model in model ML v formatu ONNX.
- Koda sklepanja (zasebna komponenta) – Poleg samega modela ML moramo implementirati nekaj aplikacijske logike za obvladovanje nalog, kot so priprava podatkov, komunikacija z modelom za sklepanje in naknadna obdelava rezultatov sklepanja. V našem primeru smo razvili zasebno komponento, ki temelji na Pythonu, za opravljanje naslednjih nalog:
- Namestite zahtevane komponente izvajalnega okolja, kot je paket Ultralytics YOLOv8 Python.
- Namesto zajemanja slik iz kamere v živo, to simuliramo tako, da naložimo pripravljene slike iz določenega imenika in pripravimo slikovne podatke v skladu z vhodnimi zahtevami modela.
- Naredite sklepne klice glede na naložen model s pripravljenimi slikovnimi podatki.
- Preverite napovedi in naložite rezultate sklepanja nazaj v oblak.
Če si želite podrobneje ogledati sklepno kodo, ki smo jo zgradili, si oglejte GitHub repo.
Sklepanje
Postopek sklepanja modela na robni napravi se samodejno zažene po končani umestitvi zgoraj omenjenih komponent. Komponenta sklepanja po meri občasno izvaja model ML s slikami iz lokalnega imenika. Rezultat sklepanja na sliko, vrnjeno iz modela, je tenzor z naslednjo vsebino:
- Rezultati zaupanja – Kako samozavesten je model glede zaznav
- Koordinate objekta – Koordinate praskalnega predmeta (x, y, širina, višina), ki jih je zaznal model na sliki
V našem primeru komponenta sklepanja poskrbi za pošiljanje rezultatov sklepanja v določeno temo MQTT na AWS IoT, kjer jih je mogoče prebrati za nadaljnjo obdelavo. Ta sporočila si lahko ogledate prek testnega odjemalca MQTT na konzoli AWS IoT za odpravljanje napak. V proizvodnem okolju se lahko odločite za samodejno obveščanje drugega sistema, ki skrbi za odstranjevanje okvarjenih kovinskih oznak s proizvodne linije.
Orkestracija
Kot je razvidno iz prejšnjih razdelkov, je potrebnih več korakov za pripravo in uvedbo modela ML, ustrezne inferenčne kode in zahtevanega izvajalnega okolja ali agenta na robni napravi. Step Functions je v celoti upravljana storitev, ki vam omogoča, da orkestrirate te namenske korake in oblikujete potek dela v obliki avtomata stanja. Brezstrežniška narava te storitve in izvorne zmožnosti funkcij Step Functions, kot so integracije API-ja storitve AWS, vam omogočajo hitro nastavitev tega poteka dela. Vgrajene zmogljivosti, kot so ponovni poskusi ali beleženje, so pomembne točke za izgradnjo robustnih orkestracij. Za več podrobnosti o sami definiciji državnega stroja glejte GitHub repozitorij ali preverite graf stanja stroja na konzoli Step Functions, potem ko uvedete ta primer v svojem računu.
Postavitev infrastrukture in integracija v CI/CD
Cevovod CI/CD za integracijo in izgradnjo vseh zahtevanih infrastrukturnih komponent sledi istemu vzorcu, ki je prikazan v Del 1 te serije. Uporabljamo Komplet za razvoj oblaka AWS (AWS CDK) za uvedbo zahtevanih cevovodov AWS CodePipeline.
Učenja
Obstaja več načinov za izgradnjo arhitekture za avtomatiziran, robusten in varen robni sistem uvajanja modela ML, ki so pogosto zelo odvisni od primera uporabe in drugih zahtev. Vendar pa bi radi z vami delili nekaj spoznanj:
- Vnaprej ocenite, ali je dodatno Zahteve za računalniške vire AWS IoT Greengrass prilega vašemu ohišju, zlasti pri napravah z omejenim robom.
- Vzpostavite mehanizem uvajanja, ki vključuje korak preverjanja razporejenih artefaktov pred izvajanjem na robni napravi, da zagotovite, da med prenosom ni prišlo do poseganja.
- Dobra praksa je, da so komponente za uvajanje na AWS IoT Greengrass čim bolj modularne in samostojne, da jih je mogoče neodvisno uvesti. Na primer, če imate razmeroma majhen modul sklepne kode, vendar velik model ML v smislu velikosti, ne želite vedno uvesti obeh, če se je spremenila samo sklepalna koda. To je še posebej pomembno, če imate omejeno pasovno širino ali visoko cenovno povezljivost robnih naprav.
zaključek
To zaključuje našo tridelno serijo o izgradnji cevovoda MLOps od konca do konca za vizualno kontrolo kakovosti na robu. Ogledali smo si dodatne izzive, ki jih prinaša uvajanje modela ML na robu, kot je pakiranje modela ali zapletena orkestracija uvajanja. Cevovod smo izvedli na popolnoma avtomatiziran način, tako da lahko svoje modele damo v proizvodnjo na robusten, varen, ponovljiv in sledljiv način. Arhitekturo in izvedbo, razvito v tej seriji, lahko uporabite kot izhodišče za vaš naslednji projekt, ki podpira ML. Če imate kakršna koli vprašanja, kako načrtovati in zgraditi tak sistem za vaše okolje, vas prosimo seči po. Za druge teme in primere uporabe si oglejte našo strojno učenje in Internet stvari blogi.
O avtorjih
Michael Roth je višji arhitekt rešitev pri AWS, ki podpira proizvodne stranke v Nemčiji pri reševanju njihovih poslovnih izzivov s tehnologijo AWS. Poleg službe in družine ga zanimajo športni avtomobili in uživa v italijanski kavi.
Jörg Wöhrle je arhitekt rešitev pri AWS, ki dela s strankami iz proizvodnje v Nemčiji. S strastjo do avtomatizacije je Joerg v svojem življenju pred AWS delal kot razvijalec programske opreme, inženir DevOps in inženir zanesljivosti spletnega mesta. Onstran oblaka je ambiciozen tekač in uživa v kakovostnem času s svojo družino. Torej, če imate izziv DevOps ali želite iti na tek: povejte mu.
Johannes Langer je višji arhitekt rešitev pri AWS, ki dela s podjetniškimi strankami v Nemčiji. Johannes se navdušuje nad uporabo strojnega učenja za reševanje resničnih poslovnih problemov. V svojem zasebnem življenju Johannes uživa v delu na projektih izboljšav doma in preživlja čas na prostem s svojo družino.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- PlatoHealth. Obveščanje o biotehnologiji in kliničnih preskušanjih. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/machine-learning/build-an-end-to-end-mlops-pipeline-for-visual-quality-inspection-at-the-edge-part-3/
- :ima
- : je
- :kje
- $GOR
- 150
- 7
- a
- Sposobna
- O meni
- Po
- Račun
- natančnost
- dejanska
- dodajte
- Poleg tega
- Dodatne
- napredovanje
- po
- proti
- Agent
- vsi
- omogočajo
- omogoča
- že
- Prav tako
- vedno
- Amazon
- Amazon EC2
- Amazon Web Services
- ambiciozni
- an
- in
- Še ena
- kaj
- API
- uporaba
- aplikacije
- Uporabi
- Uporaba
- Arhitektura
- SE
- AS
- na stran
- At
- avtomatizirati
- Avtomatizirano
- avtomatizira
- samodejno
- Avtomatizacija
- stran
- AWS
- AWS IoT Zelena trava
- nazaj
- pasovna širina
- BE
- ker
- postanejo
- bilo
- pred
- Začetek
- poleg tega
- med
- Poleg
- Big
- blogi
- tako
- širši
- posrednik
- izgradnjo
- Building
- zgrajena
- vgrajeno
- v paketu
- poslovni
- vendar
- by
- poziva
- kamera
- CAN
- Zmogljivosti
- ki
- avtomobili
- primeru
- primeri
- izziv
- izzivi
- spremenilo
- preveriti
- preverjanje
- stranke
- Cloud
- Koda
- Kava
- kako
- Skupno
- komunicirajo
- Komunikacija
- v primerjavi z letom
- kompleksna
- komponenta
- deli
- Izračunajte
- Prepričani
- konfiguracija
- Povezovanje
- zaporedna
- Konzole
- omejitve
- Vsebuje
- vsebina
- Core
- jedro programske opreme
- Ustrezno
- strošek
- ustvarjajo
- Ustvarjanje
- po meri
- Stranke, ki so
- datum
- Priprava podatkov
- odloča
- namenjen
- globlje
- opredeliti
- opredeljen
- Določa
- opredelitev
- dostavo
- dostava
- odvisno
- razporedi
- razporejeni
- uvajanja
- uvajanje
- razmestitve
- Oblikovanje
- Podatki
- Podrobnosti
- odkrivanje
- Zaznali
- razvili
- Razvojni
- Razvoj
- naprava
- naprave
- drugačen
- razpravlja
- razpravljali
- deljeno
- do
- dont
- navzdol
- 2
- med
- vsak
- lažje
- enostavno
- Edge
- učinkovite
- učinkovito
- prizadevanje
- bodisi
- Embed
- šifriranje
- konec koncev
- Motor
- inženir
- zagotovitev
- Podjetje
- Celotna
- okolje
- zlasti
- ocenili
- Tudi
- Primer
- družina
- daleč
- Moda
- napačno
- Lastnosti
- občutek
- Nekaj
- file
- fit
- Osredotočite
- po
- sledi
- za
- obrazec
- format
- brezplačno
- iz
- v celoti
- funkcije
- nadalje
- ustvarjajo
- Nemčija
- Go
- dobro
- Grafične kartice
- graf
- ročaj
- se je zgodilo
- strojna oprema
- Imajo
- višina
- Pomaga
- tukaj
- visoka
- na visoki ravni
- ga
- njegov
- Domov
- Kako
- Kako
- Vendar
- HTML
- http
- HTTPS
- if
- slika
- slike
- izvajati
- Izvajanje
- izvajali
- Pomembno
- Izboljšanje
- in
- vključeno
- vključuje
- Vključno
- Dohodni
- Povečajte
- neodvisno
- industrijske
- Infrastruktura
- vhod
- namestitev
- Namestitev
- primer
- integrirati
- Integrira
- integracija
- integracije
- interakcijo
- zainteresirani
- Internet
- Internet stvari
- v
- Internet stvari
- IoT naprava
- IT
- italijanski
- sam
- jpg
- json
- samo
- Imejte
- Ključne
- Vedite
- označevanje
- Zadnji
- učenje
- Naj
- življenje
- kot
- Limited
- vrstica
- v živo
- obremenitev
- nalaganje
- lokalna
- nahaja
- sečnja
- Logika
- Poglej
- Pogledal
- izgube
- Sklop
- stroj
- strojno učenje
- Znamka
- Izdelava
- upravljanje
- upravlja
- upravljanje
- proizvodnja
- Mehanizem
- Spomin
- sporočil
- kovinski
- Michael
- ML
- MLOps
- Model
- modeli
- Modularna
- Moduli
- Moduli
- več
- Najbolj
- več
- materni
- Narava
- Nimate
- potrebe
- Novo
- Naslednja
- št
- predmet
- of
- Ponudbe
- pogosto
- on
- open source
- optimizirana
- or
- orkestracijo
- Ostalo
- naši
- ven
- na prostem
- Splošni
- paket
- embalaža
- del
- deli
- strast
- strastno
- Vzorec
- za
- Osebni
- plinovod
- platforma
- Platforme
- platon
- Platonova podatkovna inteligenca
- PlatoData
- prosim
- Točka
- točke
- Prenosljivost
- mogoče
- Prispevek
- močan
- praksa
- napoved
- Napovedi
- Priprava
- Pripravimo
- pripravljeni
- priprava
- zasebna
- Težave
- Postopek
- obravnavati
- proizvodnjo
- proizvodnja
- Projekt
- projekti
- če
- zagotavlja
- javnega
- namene
- dal
- Python
- Vprašanja in odgovori
- kakovost
- vprašanja
- Hitri
- hitro
- Preberi
- pravo
- Rekapitulacija
- Priporočamo
- zmanjša
- zmanjšuje
- glejte
- o
- registriranih
- relativno
- zanesljivost
- zanesljiv
- odstrani
- odstranjevanje
- ponovljivo
- nadomesti
- zahteva
- obvezna
- Zahteve
- vir
- povzroči
- Rezultati
- robusten
- Run
- runner
- tek
- deluje
- sagemaker
- Enako
- razširljive
- praska
- oddelki
- zavarovanje
- Varno
- glej
- videl
- pošiljanja
- višji
- Serija
- strežnik
- Brez strežnika
- Storitev
- Storitve
- nastavite
- nastavitev
- nastavitev
- Delite s prijatelji, znanci, družino in partnerji :-)
- shouldnt
- Prikaži
- je pokazala,
- Razstave
- spletna stran
- Velikosti
- majhna
- So
- Software
- Rešitev
- rešitve
- SOLVE
- nekaj
- specifična
- hitrost
- Poraba
- Šport
- Začetek
- začne
- Država
- Korak
- Koraki
- naravnost
- tok
- kasneje
- taka
- Podpora
- sistem
- reševanje
- meni
- ob
- ciljna
- Naloge
- tehnike
- Tehnologija
- Pogoji
- Test
- da
- O
- Država
- njihove
- Njih
- POTEM
- te
- stvari
- ta
- tisti,
- 3
- tristopenjski
- skozi
- čas
- do
- skupaj
- temo
- Teme
- sledljiv
- usposobljeni
- usposabljanje
- prenos
- dva
- tipično
- edinstven
- Prenos
- us
- uporaba
- primeru uporabe
- Rabljeni
- uporabo
- POTRDI
- vrednost
- Preverjanje
- zelo
- preko
- želeli
- način..
- načini
- we
- web
- spletne storitve
- Dobro
- kdaj
- ki
- celoti
- širina
- z
- v
- brez
- delo
- delal
- potek dela
- deluje
- bi
- X
- še
- Vi
- Vaša rutina za
- zefirnet