See on meie seeria 3. osa, kus kavandame ja rakendame MLOps torujuhtme visuaalseks kvaliteedikontrolliks servas. Selles postituses keskendume sellele, kuidas automatiseerida MLOps-i otspunktide juurutamise osa. Näitame teile, kuidas seda kasutada AWS IoT Greengrass mudeli järelduste haldamiseks ja protsessi automatiseerimiseks AWS-i astmefunktsioonid ja muud AWS-i teenused.
Lahenduse ülevaade
In Osa 1 Sellest seeriast koostasime oma MLOps-i otspunktide torujuhtme arhitektuuri, mis automatiseerib kogu masinõppe (ML) protsessi alates andmete märgistamisest kuni mudeli koolituse ja juurutamiseni äärel. sisse Osa 2Näitasime, kuidas automatiseerida torujuhtme märgistamise ja koolituse osade modelleerimist.
Selle seeria puhul kasutatav näidiskasutusjuht on visuaalne kvaliteedikontrolli lahendus, mis suudab tuvastada metallsiltide defekte ja mida saate tootmisprotsessi osana kasutusele võtta. Järgmine diagramm näitab selle seeria alguses määratletud MLOps-konveieri kõrgetasemelist arhitektuuri. Kui te pole seda veel lugenud, soovitame seda vaadata Osa 1.
ML-mudeli servajuurutamise automatiseerimine
Pärast seda, kui ML-mudel on koolitatud ja hinnatud, tuleb see kasutusele võtta tootmissüsteemis, et luua äriväärtust, tehes ennustusi sissetulevate andmete kohta. See protsess võib kiiresti muutuda keeruliseks servaseadetes, kus mudeleid tuleb juurutada ja käivitada seadmetes, mis asuvad sageli kaugel pilvekeskkonnast, milles mudeleid on koolitatud. Järgmised on mõned väljakutsed, mis on ainulaadsed äärepealse masinõppe jaoks.
- ML-mudeleid tuleb ääreseadmete ressursipiirangute tõttu sageli optimeerida
- Edge'i seadmeid ei saa ümber paigutada ega isegi asendada nagu serverit pilves, seega vajate tugevat mudeli juurutamise ja seadmehaldusprotsessi
- Seadmete ja pilve vaheline side peab olema tõhus ja turvaline, kuna see läbib sageli ebausaldusväärseid madala ribalaiusega võrke
Vaatame, kuidas saame nende väljakutsetega toime tulla AWS-i teenustega lisaks mudeli eksportimisele ONNX-vormingus, mis võimaldab meil näiteks rakendada optimeerimisi, nagu kvantimine, et vähendada piiranguseadmete mudeli suurust. ONNX pakub optimeeritud käitusaega ka kõige tavalisemate serva riistvaraplatvormide jaoks.
Serva juurutamise protsessi katkestamiseks vajame kahte komponenti:
- Mudeli tarnimise juurutusmehhanism, mis sisaldab mudelit ennast ja mõnda äriloogikat mudeli haldamiseks ja sellega suhtlemiseks
- Töövoomootor, mis suudab kogu protsessi juhtida, et muuta see töökindlaks ja korratavaks
Selles näites kasutame erinevaid AWS-teenuseid, et luua oma automatiseeritud serva juurutusmehhanismi, mis integreerib kõik nõutavad komponendid, mida arutasime.
Esiteks simuleerime servaseadet. Selleks, et teil oleks täieliku töövoo läbimine lihtne, kasutame a Amazon Elastic Compute Cloud (Amazon EC2) eksemplari servaseadme simuleerimiseks, installides eksemplarile AWS IoT Greengrass Core'i tarkvara. EC2 eksemplare saate kasutada ka kvaliteedikontrolliprotsessi erinevate komponentide valideerimiseks enne tegelikule servatootmisseadmele juurutamist. AWS IoT Greengrass on asjade Interneti (IoT) avatud lähtekoodiga käitus- ja pilveteenus, mis aitab teil luua, juurutada ja hallata servaseadmete tarkvara. AWS IoT Greengrass vähendab jõupingutusi, et luua, juurutada ja hallata servaseadmete tarkvara turvalisel ja skaleeritaval viisil. Pärast AWS IoT Greengrass Core'i tarkvara installimist oma seadmesse saate AWS IoT Greengrassi abil lisada või eemaldada funktsioone ja komponente ning hallata oma IoT seadme rakendusi. See pakub palju sisseehitatud komponente, mis muudavad teie elu lihtsamaks, näiteks StreamManager ja MQTT maakleri komponendid, mida saate kasutada turvaliselt pilvega suhtlemiseks, toetades otsast lõpuni krüptimist. Saate neid funktsioone kasutada järelduste tulemuste ja piltide tõhusaks üleslaadimiseks.
Tootmiskeskkonnas on teil tavaliselt tööstuslik kaamera, mis edastab pilte, mille jaoks ML-mudel peaks prognoosima. Seadistuse jaoks simuleerime seda pildisisendit, laadides üles eelseadistatud kujutised servaseadme konkreetsesse kataloogi. Seejärel kasutame neid pilte mudeli järelduste sisendina.
Jagasime üldise juurutamis- ja järeldusprotsessi kolmeks järjestikuseks etapiks, et juurutada pilvepõhise ML-mudel servakeskkonda ja kasutada seda prognooside tegemiseks:
- Valmistama – Pakkige koolitatud mudel serva kasutuselevõtuks.
- juurutada – Mudeli- ja järelduskomponentide ülekandmine pilvest servaseadmesse.
- Järeldus – Laadige mudel ja käivitage pildiennustuste jaoks järelduskood.
Järgmine arhitektuuriskeem näitab selle kolmeastmelise protsessi üksikasju ja seda, kuidas me seda AWS-i teenustega rakendasime.
Järgmistes jaotistes käsitleme iga sammu üksikasju ja näitame, kuidas seda protsessi manustada automaatsesse ja korratavasse orkestreerimis- ja CI/CD töövoogu nii ML-mudelite kui ka vastava järelduskoodi jaoks.
Valmistama
Edge-seadmed on sageli piiratud arvutus- ja mälumahuga, võrreldes pilvekeskkonnaga, kus võimsad CPU-d ja GPU-d saavad hõlpsasti ML-mudeleid käitada. Erinevad mudeli optimeerimise tehnikad võimaldavad teil kohandada mudelit konkreetse tarkvara- või riistvaraplatvormi jaoks, et suurendada prognoosimise kiirust täpsust kaotamata.
Selles näites eksportisime koolitusel oleva koolitatud mudeli ONNX-vormingusse kaasaskantavuse, võimalike optimeerimiste ja optimeeritud servade käitusaegade jaoks ning registreerisime mudeli Amazon SageMakeri mudeliregister. Selles etapis loome uue Greengrassi mudeli komponendi, sealhulgas uusima registreeritud mudeli järgnevaks juurutamiseks.
juurutada
Turvaline ja usaldusväärne juurutusmehhanism on mudeli pilvest servaseadmesse juurutamisel võtmetähtsusega. Kuna AWS IoT Greengrass sisaldab juba tugevat ja turvalist servajuurutussüsteemi, kasutame seda oma juurutamise eesmärgil. Enne kui vaatame oma juurutusprotsessi üksikasjalikult, teeme kiire kokkuvõtte selle kohta, kuidas AWS IoT Greengrassi juurutused töötavad. AWS IoT Greengrassi juurutussüsteemi keskmes on komponendid, mis määratlevad AWS IoT Greengrass Core'i käitavasse servaseadmesse juurutatud tarkvaramoodulid. Need võivad olla teie loodud privaatsed komponendid või avalikud komponendid, mida pakub kumbki AWS või laiem Greengrassi kogukond. Juurutuse osana saab kokku panna mitu komponenti. Juurutuskonfiguratsioon määratleb juurutusse kaasatud komponendid ja juurutuse sihtseadmed. Uue juurutuse loomisel saab selle määratleda kas juurutamise konfiguratsioonifailis (JSON) või AWS IoT Greengrassi konsooli kaudu.
Loome kaks järgmist Greengrassi komponenti, mis seejärel juurutamisprotsessi kaudu servaseadmesse juurutatakse:
- Pakitud mudel (erakomponent) – See komponent sisaldab koolitatud ja ML-mudelit ONNX-vormingus.
- Järelduskood (erakomponent) – Peale ML-mudeli enda peame rakendama teatud rakendusloogikat, et käsitleda selliseid ülesandeid nagu andmete ettevalmistamine, järelduste mudeliga suhtlemine ja järeldustulemuste järeltöötlus. Meie näites oleme välja töötanud Pythoni-põhise privaatkomponendi järgmiste ülesannete lahendamiseks:
- Installige vajalikud käitusaegsed komponendid, näiteks Ultralytics YOLOv8 Pythoni pakett.
- Kaamera otseülekandest piltide tegemise asemel simuleerime seda, laadides ettevalmistatud pildid kindlast kataloogist ja valmistades ette pildiandmed vastavalt mudeli sisendnõuetele.
- Tehke ettevalmistatud pildiandmetega laaditud mudeli põhjal järeldusi.
- Kontrollige ennustusi ja laadige järelduste tulemused tagasi pilve.
Kui soovite meie loodud järelduskoodi põhjalikumalt vaadata, vaadake GitHub repo.
Järeldus
Mudeli järeldamisprotsess servaseadmes käivitub automaatselt pärast eelnimetatud komponentide juurutamise lõpetamist. Kohandatud järelduskomponent käitab perioodiliselt ML-mudelit kohaliku kataloogi piltidega. Mudelilt tagastatud pildi järeltulemus on järgmise sisuga tensor:
- Enesekindluse hinded – Kui kindel on modell tuvastamiste suhtes
- Objekti koordinaadid – Pildil oleva mudeli poolt tuvastatud kriimustusobjekti koordinaadid (x, y, laius, kõrgus).
Meie puhul hoolitseb järelduskomponent järeldustulemuste saatmise eest AWS IoT-i konkreetsele MQTT teemale, kus seda saab edasiseks töötlemiseks lugeda. Neid sõnumeid saab silumiseks vaadata AWS IoT konsooli MQTT testkliendi kaudu. Tootmisseadetes saate otsustada teavitada automaatselt teist süsteemi, mis eemaldab tootmisliinilt defektsed metallsildid.
Orkestreerimine
Nagu eelmistes jaotistes näha, on ML-mudeli, vastava järelduskoodi ja nõutava käitusaja või agendi ettevalmistamiseks ja juurutamiseks servaseadmes vaja mitu sammu. Step Functions on täielikult hallatav teenus, mis võimaldab teil neid spetsiaalseid samme korraldada ja kujundada töövoo olekumasina kujul. Selle teenuse serverivaba olemus ja natiivsed sammufunktsioonid, nagu AWS-i teenuse API integratsioonid, võimaldavad teil selle töövoo kiiresti seadistada. Sisseehitatud võimalused, nagu korduskatsed või logimine, on olulised punktid tugeva orkestratsiooni loomiseks. Lisateavet olekumasina definitsiooni kohta leiate jaotisest GitHubi hoidla või vaadake olekumasina graafikut sammufunktsioonide konsoolil pärast selle näite juurutamist oma kontol.
Infrastruktuuri juurutamine ja integreerimine CI/CD-sse
CI/CD torujuhe kõigi vajalike infrastruktuurikomponentide integreerimiseks ja ehitamiseks järgib sama mustrit, mida on illustreeritud Osa 1 sellest sarjast. Me kasutame AWS pilvearenduskomplekt (AWS CDK) vajalike torujuhtmete juurutamiseks AWS CodePipeline.
Õppetunnid
Automatiseeritud, tugeva ja turvalise ML-mudeli serva juurutussüsteemi arhitektuuri loomiseks on mitu võimalust, mis sõltuvad sageli kasutusjuhtumist ja muudest nõuetest. Siiski tahame teiega jagada mõningaid õpetusi:
- Hinnake eelnevalt, kas lisa AWS IoT Greengrass arvutab ressursinõuded sobib teie korpusega, eriti piiratud servaga seadmetega.
- Looge juurutusmehhanism, mis integreerib juurutatud artefaktide kontrollimise etapi enne servaseadmes käivitamist, et tagada, et edastamise ajal ei toimuks rikkumist.
- Hea tava on hoida AWS IoT Greengrassi juurutuskomponendid võimalikult modulaarsed ja iseseisvad, et neid iseseisvalt juurutada. Näiteks kui teil on suhteliselt väike järelduskoodi moodul, kuid suuruse poolest suur ML-mudel, ei soovi te alati neid mõlemaid juurutada, kui ainult järelduskood on muutunud. See on eriti oluline, kui teil on piiratud ribalaius või kõrge hinnaga ühenduvus.
Järeldus
Sellega lõpetame meie kolmeosalise seeria, mis käsitleb MLOps torujuhtme ehitamist otsast lõpuni visuaalseks kvaliteedikontrolliks serval. Vaatlesime täiendavaid väljakutseid, mis kaasnevad ML-mudeli juurutamisega äärel, nagu mudeli pakendamine või keeruka juurutamise korraldamine. Rakendasime torujuhtme täielikult automatiseeritud viisil, et saaksime oma mudelid tugeval, turvalisel, korrataval ja jälgitaval viisil tootmisse panna. Kasutage selles seerias välja töötatud arhitektuuri ja teostust oma järgmise ML-toega projekti lähtepunktina. Kui teil on küsimusi, kuidas sellist süsteemi oma keskkonda kujundada ja ehitada, siis palun sirutama. Muude teemade ja kasutusjuhtude kohta vaadake meie Masinõpe ja IoT blogid.
Autoritest
Michael Roth on AWS-i vanemlahenduste arhitekt, kes toetab Saksamaa tootmiskliente nende äriprobleemide lahendamisel AWS-tehnoloogia abil. Lisaks tööle ja perele on ta huvitatud sportautodest ja naudib Itaalia kohvi.
Jörg Wöhrle on AWS-i lahenduste arhitekt, kes töötab tootmisklientidega Saksamaal. Kirglikult automatiseerimise vastu on Joerg oma AWS-i-eelses elus töötanud tarkvaraarendaja, DevOpsi insenerina ja saidi töökindluse insenerina. Lisaks pilvedele on ta ambitsioonikas jooksja ja naudib perega kvaliteetaega. Nii et kui teil on DevOpsi väljakutse või soovite jooksma minna, andke talle teada.
Johannes Langer on AWS-i vanemlahenduste arhitekt, kes töötab äriklientidega Saksamaal. Johannes on kirglik masinõppe rakendamise vastu tõeliste äriprobleemide lahendamiseks. Isiklikus elus meeldib Johannesele koduparandusprojektidega tegelemine ja perega õues viibimine.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- PlatoData.Network Vertikaalne generatiivne Ai. Jõustage ennast. Juurdepääs siia.
- PlatoAiStream. Web3 luure. Täiustatud teadmised. Juurdepääs siia.
- PlatoESG. Süsinik, CleanTech, Energia, Keskkond päikeseenergia, Jäätmekäitluse. Juurdepääs siia.
- PlatoTervis. Biotehnoloogia ja kliiniliste uuringute luureandmed. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/build-an-end-to-end-mlops-pipeline-for-visual-quality-inspection-at-the-edge-part-3/
- :on
- :on
- : kus
- $ UP
- 150
- 7
- a
- Võimalik
- MEIST
- Vastavalt
- konto
- täpsus
- tegelik
- lisama
- lisamine
- Täiendavad lisad
- edendama
- pärast
- vastu
- Agent
- Materjal: BPA ja flataatide vaba plastik
- võimaldama
- võimaldab
- juba
- Ka
- alati
- Amazon
- Amazon EC2
- Amazon Web Services
- edasipüüdlik
- an
- ja
- Teine
- mistahes
- API
- taotlus
- rakendused
- kehtima
- Rakendades
- arhitektuur
- OLEME
- AS
- kõrvale
- At
- automatiseerima
- Automatiseeritud
- automatiseerib
- automaatselt
- Automaatika
- ära
- AWS
- AWS IoT Greengrass
- tagasi
- Bandwidth
- BE
- sest
- muutuma
- olnud
- enne
- Algus
- Pealegi
- vahel
- Peale
- Suur
- blogid
- mõlemad
- laiem
- maakler
- ehitama
- Ehitus
- ehitatud
- sisseehitatud
- komplekteeritud
- äri
- kuid
- by
- Kutsub
- kaamera
- CAN
- võimeid
- mis
- autod
- juhul
- juhtudel
- väljakutse
- väljakutseid
- muutunud
- kontrollima
- kontroll
- klient
- Cloud
- kood
- Kohv
- Tulema
- ühine
- edastama
- KOMMUNIKATSIOON
- võrreldes
- keeruline
- komponent
- komponendid
- Arvutama
- kindel
- konfiguratsioon
- Side
- järjestikune
- konsool
- piiranguid
- sisaldab
- sisu
- tuum
- põhitarkvara
- Vastav
- Maksma
- looma
- loomine
- tava
- Kliendid
- andmed
- Andmete ettevalmistamine
- otsustama
- pühendunud
- sügavam
- määratlema
- määratletud
- Määratleb
- määratlus
- edastamine
- tarne
- sõltuv
- juurutada
- lähetatud
- juurutamine
- kasutuselevõtu
- kasutuselevõtt
- Disain
- detail
- detailid
- avastama
- tuvastatud
- arenenud
- arendaja
- & Tarkvaraarendus
- seade
- seadmed
- erinev
- arutama
- arutatud
- jagatud
- do
- Ära
- alla
- kaks
- ajal
- iga
- lihtsam
- kergesti
- serv
- tõhus
- tõhusalt
- jõupingutusi
- kumbki
- Embed
- krüpteerimist
- Lõpuks-lõpuni
- Mootor
- insener
- tagama
- ettevõte
- Kogu
- keskkond
- eriti
- hinnatud
- Isegi
- näide
- pere
- kaugele
- mood
- vigane
- FUNKTSIOONID
- tundma
- vähe
- fail
- sobima
- Keskenduma
- Järel
- järgneb
- eest
- vorm
- formaat
- tasuta
- Alates
- täielikult
- funktsioonid
- edasi
- tekitama
- Saksamaa
- Go
- hea
- GPU
- graafik
- käepide
- juhtus
- riistvara
- Olema
- kõrgus
- aitab
- siin
- Suur
- kõrgetasemeline
- teda
- tema
- Avaleht
- Kuidas
- Kuidas
- aga
- HTML
- http
- HTTPS
- if
- pilt
- pildid
- rakendada
- täitmine
- rakendatud
- oluline
- paranemine
- in
- lisatud
- hõlmab
- Kaasa arvatud
- Sissetulev
- Suurendama
- iseseisvalt
- tööstus-
- Infrastruktuur
- sisend
- paigaldama
- paigaldamine
- Näiteks
- integreerima
- Integreerib
- integratsioon
- integratsioon
- suhelda
- huvitatud
- Internet
- Asjade Internet
- sisse
- asjade Interneti
- IoT-seade
- IT
- itaalia
- ise
- jpg
- Json
- lihtsalt
- hoidma
- Võti
- Teadma
- märgistamine
- hiljemalt
- õppimine
- laskma
- elu
- nagu
- piiratud
- joon
- elama
- koormus
- laadimine
- kohalik
- asub
- metsaraie
- loogika
- Vaata
- Vaatasin
- kaotamine
- Partii
- masin
- masinõpe
- tegema
- Tegemine
- juhtima
- juhitud
- juhtimine
- tootmine
- mehhanism
- Mälu
- kirjad
- metall
- Michael
- ML
- MLOps
- mudel
- mudelid
- modulaarne
- moodulid
- Moodulid
- rohkem
- kõige
- mitmekordne
- emakeelena
- loodus
- Vajadus
- vajadustele
- Uus
- järgmine
- ei
- objekt
- of
- Pakkumised
- sageli
- on
- avatud lähtekoodiga
- optimeeritud
- or
- Korraldus
- Muu
- meie
- välja
- väljas
- üldine
- pakend
- pakendamine
- osa
- osad
- kirg
- kirglik
- Muster
- kohta
- isiklik
- torujuhe
- inimesele
- Platvormid
- Platon
- Platoni andmete intelligentsus
- PlatoData
- palun
- Punkt
- võrra
- teisaldatavus
- võimalik
- post
- võimas
- tava
- ennustus
- Ennustused
- ettevalmistamine
- Valmistama
- valmis
- ettevalmistamisel
- era-
- probleeme
- protsess
- töötlemine
- tootma
- Produktsioon
- projekt
- projektid
- tingimusel
- annab
- avalik
- eesmärkidel
- panema
- Python
- Küsimused ja vastused
- kvaliteet
- Küsimused
- Kiire
- kiiresti
- Lugenud
- reaalne
- tagasivõtmine
- soovitama
- vähendama
- vähendab
- viitama
- kohta
- registreeritud
- suhteliselt
- usaldusväärsus
- usaldusväärne
- kõrvaldama
- eemaldades
- korratav
- asendatakse
- nõudma
- nõutav
- Nõuded
- ressurss
- kaasa
- Tulemused
- jõuline
- jooks
- jooksja
- jooksmine
- jookseb
- salveitegija
- sama
- skaalautuvia
- kriimustada
- lõigud
- kindlustama
- kindlalt
- vaata
- nähtud
- saatmine
- vanem
- Seeria
- server
- Serverita
- teenus
- Teenused
- komplekt
- kehtestamine
- seade
- Jaga
- peaks
- näitama
- näitas
- Näitused
- site
- SUURUS
- väike
- So
- tarkvara
- lahendus
- Lahendused
- LAHENDAGE
- mõned
- konkreetse
- kiirus
- Kulutused
- sport
- Käivitus
- algab
- riik
- Samm
- Sammud
- lihtne
- oja
- järgnev
- selline
- Toetamine
- süsteem
- lahendada
- võtab
- võtmine
- sihtmärk
- ülesanded
- tehnikat
- Tehnoloogia
- tingimused
- test
- et
- .
- Riik
- oma
- Neile
- SIIS
- Need
- asjad
- see
- need
- kolm
- kolmeastmeline
- Läbi
- aeg
- et
- kokku
- teema
- Teemasid
- jälgitav
- koolitatud
- koolitus
- üle
- kaks
- tüüpiliselt
- ainulaadne
- Üleslaadimine
- us
- kasutama
- kasutage juhtumit
- Kasutatud
- kasutamine
- KINNITAGE
- väärtus
- Kontrollimine
- väga
- kaudu
- tahan
- Tee..
- kuidas
- we
- web
- veebiteenused
- Hästi
- millal
- mis
- kogu
- laius
- koos
- jooksul
- ilma
- Töö
- töötas
- töövoog
- töö
- oleks
- X
- veel
- sa
- Sinu
- sephyrnet