Tämä on osa 3 sarjaamme, jossa suunnittelemme ja toteutamme MLOps-putkilinjan visuaalista laaduntarkastusta varten reunassa. Tässä viestissä keskitymme siihen, kuinka automatisoida päästä päähän MLOps-putkilinjan reunan käyttöönottoosa. Näytämme sinulle kuinka käyttää AWS IoT Vihreä ruoho hallita mallin päättelyä reunalla ja kuinka automatisoida prosessi käyttämällä AWS-vaihetoiminnot ja muut AWS-palvelut.
Ratkaisun yleiskatsaus
In Osa 1 Tässä sarjassa loimme arkkitehtuurin päästä-päähän MLOps-putkistollemme, joka automatisoi koko koneoppimisprosessin (ML) tietojen merkitsemisestä mallin koulutukseen ja käyttöönottoon reunalla. Sisään Osa 2, näytimme, kuinka automatisoidaan putkilinjan merkinnät ja mallinnetaan koulutusosat.
Tässä sarjassa käytetty esimerkkikäyttötapaus on visuaalinen laaduntarkastusratkaisu, joka voi havaita metallilappujen viat ja jota voit ottaa käyttöön osana valmistusprosessia. Seuraava kaavio näyttää tämän sarjan alussa määrittämämme MLOps-putkilinjan korkean tason arkkitehtuurin. Jos et ole vielä lukenut sitä, suosittelemme tutustumaan Osa 1.
ML-mallin reunan käyttöönoton automatisointi
Kun ML-malli on koulutettu ja arvioitu, se on otettava käyttöön tuotantojärjestelmässä liikearvon luomiseksi ennustamalla saapuvaa dataa. Tämä prosessi voi muuttua nopeasti monimutkaiseksi reuna-asetuksissa, joissa malleja on otettava käyttöön ja ajettava laitteilla, jotka sijaitsevat usein kaukana pilviympäristöstä, jossa mallit on koulutettu. Seuraavassa on joitain haasteita, jotka ovat ainutlaatuisia koneoppimisen reunalla:
- ML-malleja on usein optimoitava reunalaitteiden resurssirajoitusten vuoksi
- Edge-laitteita ei voi asentaa uudelleen tai edes vaihtaa kuten palvelinta pilvessä, joten tarvitset vankan mallin käyttöönotto- ja laitehallintaprosessin
- Laitteiden ja pilven välisen viestinnän on oltava tehokasta ja turvallista, koska se kulkee usein epäluotettavien matalan kaistanleveyden verkkojen läpi.
Katsotaanpa, kuinka voimme vastata näihin haasteisiin AWS-palveluiden avulla mallin viennin lisäksi ONNX-muodossa, jolloin voimme esimerkiksi soveltaa optimointeja, kuten kvantisointia, pienentääksemme rajoituslaitteiden mallin kokoa. ONNX tarjoaa myös optimoidut suoritusajat yleisimmille reunalaitteistoalustoille.
Reunojen käyttöönottoprosessin katkaisemiseksi tarvitsemme kaksi osaa:
- Mallin toimituksen käyttöönottomekanismi, joka sisältää itse mallin ja jonkin verran liiketoimintalogiikkaa mallin hallintaan ja vuorovaikutukseen sen kanssa
- Työnkulkumoottori, joka voi organisoida koko prosessin tehdäkseen tästä vankan ja toistettavan
Tässä esimerkissä käytämme erilaisia AWS-palveluita automatisoidun reunankäyttömekanismimme rakentamiseen, joka integroi kaikki tarvittavat komponentit, joista keskustelimme.
Ensin simuloimme reunalaitetta. Jotta voit helposti käydä läpi päästä päähän -työnkulkua, käytämme a Amazonin elastinen laskentapilvi (Amazon EC2) -instanssi simuloi reunalaitetta asentamalla ilmentymään AWS IoT Greengrass Core -ohjelmiston. Voit myös käyttää EC2-ilmentymiä laadunvarmistusprosessin eri komponenttien validointiin ennen käyttöönottoa varsinaiseen reunatuotantolaitteeseen. AWS IoT Greengrass on Internet of Things (IoT) avoimen lähdekoodin reuna-ajonaikainen ja pilvipalvelu, jonka avulla voit rakentaa, ottaa käyttöön ja hallita reunalaitteiden ohjelmistoja. AWS IoT Greengrass vähentää vaivaa rakentaa, ottaa käyttöön ja hallita reunalaiteohjelmistoja turvallisella ja skaalautuvalla tavalla. Kun olet asentanut AWS IoT Greengrass Core -ohjelmiston laitteellesi, voit lisätä tai poistaa ominaisuuksia ja komponentteja sekä hallita IoT-laitesovelluksiasi AWS IoT Greengrassin avulla. Se tarjoaa monia sisäänrakennettuja komponentteja, jotka helpottavat elämääsi, kuten StreamManager- ja MQTT-välittäjäkomponentit, joiden avulla voit kommunikoida turvallisesti pilven kanssa ja jotka tukevat päästä päähän -salausta. Näiden ominaisuuksien avulla voit ladata päättelytuloksia ja kuvia tehokkaasti.
Tuotantoympäristössä sinulla on tyypillisesti teollisuuskamera, joka tuottaa kuvia, joille ML-mallin pitäisi tuottaa ennusteita. Asetuksissamme simuloimme tätä kuvasyöttöä lataamalla esijoukon kuvia tiettyyn reunalaitteen hakemistoon. Käytämme sitten näitä kuvia mallin päättelytulona.
Jaoimme yleisen käyttöönotto- ja päättelyprosessin kolmeen peräkkäiseen vaiheeseen pilvipohjaisen ML-mallin käyttöönottamiseksi reunaympäristöön ja sen käyttämiseksi ennusteisiin:
- Valmistella – Pakkaa koulutettu malli reunakäyttöä varten.
- Sijoittaa – Malli- ja päättelykomponenttien siirto pilvestä reunalaitteeseen.
- Päättely – Lataa malli ja suorita päättelykoodi kuvien ennustamista varten.
Seuraava arkkitehtuurikaavio näyttää tämän kolmivaiheisen prosessin yksityiskohdat ja kuinka toteutimme sen AWS-palveluilla.
Seuraavissa osioissa käsittelemme kunkin vaiheen yksityiskohtia ja näytämme, kuinka tämä prosessi upotetaan automatisoituun ja toistettavaan orkestrointi- ja CI/CD-työnkulkuun sekä ML-malleille että vastaavalle päättelykoodille.
Valmistella
Edge-laitteissa on usein rajoitettu laskenta ja muisti verrattuna pilviympäristöön, jossa tehokkaat prosessorit ja GPU:t voivat käyttää ML-malleja helposti. Erilaisten mallin optimointitekniikoiden avulla voit räätälöidä mallin tietylle ohjelmisto- tai laitteistoalustalle ennustusnopeuden lisäämiseksi tarkkuutta menettämättä.
Tässä esimerkissä vietimme koulutusprosessissa olevan mallin ONNX-muotoon siirrettävyyttä, mahdollisia optimointeja sekä optimoituja reuna-ajoaikoja varten ja rekisteröimme mallin Amazon SageMaker -mallirekisteri. Tässä vaiheessa luomme uuden Greengrass-mallikomponentin, joka sisältää viimeisimmän rekisteröidyn mallin myöhempää käyttöönottoa varten.
Sijoittaa
Turvallinen ja luotettava käyttöönottomekanismi on avainasemassa, kun malli otetaan käyttöön pilvestä reunalaitteeseen. Koska AWS IoT Greengrass sisältää jo vankan ja suojatun reunankäyttöjärjestelmän, käytämme tätä käyttöönottotarkoituksiin. Ennen kuin tarkastelemme käyttöönottoprosessiamme yksityiskohtaisesti, teemme lyhyen yhteenvedon siitä, kuinka AWS IoT Greengrass -asennukset toimivat. AWS IoT:n Greengrass-käyttöönottojärjestelmän ytimessä ovat osat, jotka määrittelevät AWS IoT Greengrass Corea käyttävään reunalaitteeseen asennettavat ohjelmistomoduulit. Nämä voivat olla joko yksityisiä komponentteja, joita rakennat, tai julkisia komponentteja, joita jompikumpi tarjoaa AWS tai laajempaa Greengrass-yhteisö. Useita komponentteja voidaan niputtaa yhteen osana käyttöönottoa. Käyttöönottokokoonpano määrittelee käyttöönottoon sisältyvät komponentit ja käyttöönoton kohdelaitteet. Se voidaan määrittää joko käyttöönottomääritystiedostossa (JSON) tai AWS IoT Greengrass -konsolin kautta uutta käyttöönottoa luotaessa.
Luomme seuraavat kaksi Greengrass-komponenttia, jotka sitten otetaan käyttöön reunalaitteeseen käyttöönottoprosessin kautta:
- Pakattu malli (yksityinen komponentti) – Tämä komponentti sisältää opetetun ja ML-mallin ONNX-muodossa.
- Päätelmäkoodi (yksityinen komponentti) – Itse ML-mallin lisäksi meidän on otettava käyttöön jonkin verran sovelluslogiikkaa hoitamaan tehtäviä, kuten tietojen valmistelua, kommunikointia mallin kanssa päättelyä varten ja päättelytulosten jälkikäsittelyä. Esimerkissämme olemme kehittäneet Python-pohjaisen yksityisen komponentin käsittelemään seuraavia tehtäviä:
- Asenna tarvittavat ajonaikaiset komponentit, kuten Ultralytics YOLOv8 Python -paketti.
- Sen sijaan, että ottaisimme kuvia kameran suoratoistosta, simuloimme tätä lataamalla valmiita kuvia tietystä hakemistosta ja valmistelemalla kuvatiedot mallin syöttövaatimusten mukaisesti.
- Tee johtopäätöksiä ladatusta mallista valmisteltujen kuvatietojen avulla.
- Tarkista ennusteet ja lataa johtopäätöstulokset takaisin pilveen.
Jos haluat tutustua luomaanmme päättelykoodiin tarkemmin, katso GitHub repo.
Päättely
Reunalaitteen mallin päättelyprosessi alkaa automaattisesti, kun edellä mainitut komponentit on otettu käyttöön. Mukautettu päättelykomponentti suorittaa ajoittain ML-mallin paikallisen hakemiston kuvilla. Mallista palautettu päättelytulos kuvaa kohden on tensori, jonka sisältö on seuraava:
- Luottamuspisteet – Kuinka varma malli on havaintojen suhteen
- Kohteen koordinaatit – Kuvassa olevan mallin havaitsemat naarmukohteen koordinaatit (x, y, leveys, korkeus).
Meidän tapauksessamme päättelykomponentti huolehtii johtopäätöstulosten lähettämisestä tiettyyn MQTT-aiheeseen AWS IoT:ssä, josta ne voidaan lukea jatkokäsittelyä varten. Näitä viestejä voi tarkastella AWS IoT -konsolin MQTT-testiasiakkaan kautta virheenkorjausta varten. Tuotantoasetuksissa voit päättää automaattisesti ilmoittaa asiasta toiselle järjestelmälle, joka huolehtii viallisten metallilappujen poistamisesta tuotantolinjalta.
orkestrointi
Kuten edellisistä osista näkyy, tarvitaan useita vaiheita ML-mallin, vastaavan päättelykoodin ja vaaditun ajonajan tai agentin valmistelemiseksi ja käyttöönottoon reunalaitteeseen. Step Functions on täysin hallittu palvelu, jonka avulla voit organisoida nämä omistetut vaiheet ja suunnitella työnkulun tilakoneen muodossa. Tämän palvelun palvelimeton luonne ja alkuperäiset Step Functions -ominaisuudet, kuten AWS-palvelun API-integraatiot, mahdollistavat tämän työnkulun nopean määrittämisen. Sisäänrakennetut ominaisuudet, kuten uudelleenyritykset tai kirjaaminen, ovat tärkeitä kohtia kestävien orkestraatioiden rakentamisessa. Lisätietoja itse tilakoneen määritelmästä on kohdassa GitHub-arkisto tai tarkista tilakonekaavio Step Functions -konsolista, kun olet ottanut tämän esimerkin käyttöön tililläsi.
Infrastruktuurin käyttöönotto ja integrointi CI/CD:hen
CI/CD-putkisto kaikkien tarvittavien infrastruktuurikomponenttien integroimiseksi ja rakentamiseksi noudattaa samaa kaavaa, joka on kuvattu Osa 1 tästä sarjasta. Käytämme AWS Cloud Development Kit (AWS CDK) ottaaksesi käyttöön tarvittavat putkistot AWS-koodiputki.
Oppimista
On olemassa useita tapoja rakentaa arkkitehtuuri automatisoidulle, kestävälle ja turvalliselle ML-mallin reunankäyttöjärjestelmälle, jotka ovat usein hyvin riippuvaisia käyttötapauksesta ja muista vaatimuksista. Tässä kuitenkin muutama oppi, jonka haluamme jakaa kanssasi:
- Arvioi etukäteen, onko ylimääräistä AWS IoT Greengrass laskee resurssivaatimukset sopii koteloosi, erityisesti rajoitettujen reunalaitteiden kanssa.
- Luo käyttöönottomekanismi, joka integroi käyttöönotettujen artefaktien varmistusvaiheen ennen niiden suorittamista reunalaitteessa varmistaaksesi, että lähetyksen aikana ei tapahtunut peukalointia.
- On hyvä käytäntö pitää AWS IoT Greengrassin käyttöönottokomponentit mahdollisimman modulaarisina ja itsenäisinä, jotta ne voidaan ottaa käyttöön itsenäisesti. Jos sinulla on esimerkiksi suhteellisen pieni päättelykoodimoduuli, mutta kooltaan suuri ML-malli, et aina halua ottaa niitä molempia käyttöön, jos vain päättelykoodi on muuttunut. Tämä on erityisen tärkeää, kun sinulla on rajoitettu kaistanleveys tai korkea hintainen reuna-laiteyhteys.
Yhteenveto
Tämä päättää kolmiosaisen sarjamme päästä-päähän MLOps-putkilinjan rakentamiseen visuaalista laaduntarkastusta varten reunalla. Tarkastelimme lisähaasteita, jotka liittyvät ML-mallin käyttöönoton reunalla, kuten mallin pakkaus tai monimutkainen käyttöönoton organisointi. Totesimme putkilinjan täysin automatisoidulla tavalla, jotta voimme ottaa mallimme tuotantoon vankalla, turvallisella, toistettavalla ja jäljitettävällä tavalla. Voit vapaasti käyttää tässä sarjassa kehitettyä arkkitehtuuria ja toteutusta seuraavan ML-yhteensopivan projektisi lähtökohtana. Jos sinulla on kysyttävää tällaisen järjestelmän suunnittelusta ja rakentamisesta ympäristöösi, ole hyvä Yhteydenotot. Katso muut aiheet ja käyttötapaukset sivuiltamme Koneen oppiminen ja Esineiden internet blogit.
Tietoja kirjoittajista
Michael Roth on AWS:n vanhempi ratkaisuarkkitehti, joka tukee valmistusasiakkaita Saksassa ratkaisemaan liiketoimintahaasteitaan AWS-teknologian avulla. Työn ja perheen lisäksi hän on kiinnostunut urheiluautoista ja nauttii italialaista kahvia.
Jörg Wöhrle on ratkaisuarkkitehti AWS:ssä ja työskentelee valmistusasiakkaiden kanssa Saksassa. Intohimona automaatiota kohtaan Joerg on työskennellyt ohjelmistokehittäjänä, DevOps-insinöörinä ja sivuston luotettavuusinsinöörinä ennen AWS:ää. Pilvien lisäksi hän on kunnianhimoinen juoksija ja nauttii laatuajasta perheensä kanssa. Joten jos sinulla on DevOps-haaste tai haluat mennä lenkille: kerro hänelle.
Johannes Langer on AWS:n vanhempi ratkaisuarkkitehti, joka työskentelee yritysasiakkaiden kanssa Saksassa. Johannes on intohimoinen koneoppimisen soveltamisesta todellisten yritysongelmien ratkaisemiseen. Yksityiselämässään Johannes nauttii kodin kunnostusprojekteista ja ulkoilusta perheen kanssa.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- Lähde: 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
- :missä
- $ YLÖS
- 150
- 7
- a
- pystyy
- Meistä
- Mukaan
- Tili
- tarkkuus
- todellinen
- lisätä
- Lisäksi
- lisä-
- edistää
- Jälkeen
- vastaan
- Agentti
- Kaikki
- sallia
- mahdollistaa
- jo
- Myös
- aina
- Amazon
- Amazon EC2
- Amazon Web Services
- kunnianhimoinen
- an
- ja
- Toinen
- Kaikki
- api
- Hakemus
- sovellukset
- käyttää
- Hakeminen
- arkkitehtuuri
- OVAT
- AS
- syrjään
- At
- automatisoida
- Automatisoitu
- automaatti
- automaattisesti
- Automaatio
- pois
- AWS
- AWS IoT Vihreä ruoho
- takaisin
- kaistanleveys
- BE
- koska
- tulevat
- ollut
- ennen
- Alku
- lisäksi
- välillä
- Jälkeen
- Iso
- blogit
- sekä
- laajempaa
- välittäjä
- rakentaa
- Rakentaminen
- rakennettu
- sisäänrakennettu
- niputettu
- liiketoiminta
- mutta
- by
- Puhelut
- kamera
- CAN
- kyvyt
- joka
- autot
- tapaus
- tapauksissa
- haaste
- haasteet
- muuttunut
- tarkastaa
- tarkkailun
- asiakas
- pilvi
- koodi
- kahvi
- Tulla
- Yhteinen
- tiedottaa
- Viestintä
- verrattuna
- monimutkainen
- komponentti
- osat
- Laskea
- luottavainen
- Konfigurointi
- Liitännät
- peräkkäinen
- Console
- rajoitteet
- sisältää
- pitoisuus
- Ydin
- ydinohjelmisto
- vastaava
- Hinta
- luoda
- Luominen
- asiakassuhde
- Asiakkaat
- tiedot
- Tietojen valmistelu
- päättää
- omistautunut
- syvempää
- määritellä
- määritelty
- määrittelee
- määritelmä
- tuottaa
- toimitus
- riippuvainen
- sijoittaa
- käyttöön
- levityspinnalta
- käyttöönotto
- käyttöönotot
- Malli
- yksityiskohta
- yksityiskohdat
- havaita
- havaittu
- kehitetty
- Kehittäjä
- Kehitys
- laite
- Laitteet
- eri
- pohtia
- keskusteltiin
- jaettu
- do
- Dont
- alas
- kaksi
- aikana
- kukin
- helpompaa
- helposti
- reuna
- tehokas
- tehokkaasti
- vaivaa
- myöskään
- Upottaa
- salaus
- päittäin
- Moottori
- insinööri
- varmistaa
- yritys
- Koko
- ympäristö
- erityisesti
- arvioitu
- Jopa
- esimerkki
- perhe
- paljon
- Muoti
- viallinen
- Ominaisuudet
- tuntea
- harvat
- filee
- sovittaa
- Keskittää
- jälkeen
- seuraa
- varten
- muoto
- muoto
- Ilmainen
- alkaen
- täysin
- tehtävät
- edelleen
- tuottaa
- Saksa
- Go
- hyvä
- GPU
- kaavio
- kahva
- tapahtui
- Palvelimet
- Olla
- korkeus
- auttaa
- tätä
- Korkea
- korkean tason
- häntä
- hänen
- Etusivu
- Miten
- Miten
- Kuitenkin
- HTML
- http
- HTTPS
- if
- kuva
- kuvien
- toteuttaa
- täytäntöönpano
- täytäntöön
- tärkeä
- parannus
- in
- mukana
- sisältää
- Mukaan lukien
- Saapuva
- Kasvaa
- itsenäisesti
- teollinen
- Infrastruktuuri
- panos
- asentaa
- asentaminen
- esimerkki
- yhdistää
- integroi
- integraatio
- integraatiot
- olla vuorovaikutuksessa
- kiinnostunut
- Internet
- Internet asioita
- tulee
- Esineiden internet
- IoT-laite
- IT
- italialainen
- itse
- jpg
- json
- vain
- Pitää
- avain
- Tietää
- merkinnät
- uusin
- oppiminen
- antaa
- elämä
- pitää
- rajallinen
- linja
- elää
- kuormitus
- lastaus
- paikallinen
- sijaitsevat
- hakkuu
- logiikka
- katso
- Katsoin
- menettää
- Erä
- kone
- koneoppiminen
- tehdä
- Tekeminen
- hoitaa
- onnistui
- johto
- valmistus
- mekanismi
- Muisti
- viestien
- metalli-
- Michael
- ML
- MLOps
- malli
- mallit
- modulaarinen
- Moduulit
- Moduulit
- lisää
- eniten
- moninkertainen
- syntyperäinen
- luonto
- Tarve
- tarpeet
- Uusi
- seuraava
- Nro
- objekti
- of
- Tarjoukset
- usein
- on
- avoimen lähdekoodin
- optimoitu
- or
- orkestrointi
- Muut
- meidän
- ulos
- ulkona
- yleinen
- paketti
- pakkaus
- osa
- osat
- intohimo
- intohimoinen
- Kuvio
- varten
- henkilöstö
- putki
- foorumi
- Platforms
- Platon
- Platonin tietotieto
- PlatonData
- Ole hyvä
- Kohta
- pistettä
- siirrettävyys
- mahdollinen
- Kirje
- voimakas
- harjoitusta.
- ennustus
- Ennusteet
- valmistelu
- Valmistella
- valmis
- valmistelee
- yksityinen
- ongelmia
- prosessi
- käsittely
- tuottaa
- tuotanto
- projekti
- hankkeet
- mikäli
- tarjoaa
- julkinen
- tarkoituksiin
- laittaa
- Python
- Kysymyksiä ja vastauksia
- laatu
- kysymykset
- nopea
- nopeasti
- Lue
- todellinen
- kertaus
- suositella
- vähentää
- vähentää
- katso
- suhteen
- kirjattu
- suhteellisesti
- luotettavuus
- luotettava
- poistaa
- poistamalla
- toistettavissa
- korvataan
- edellyttää
- tarvitaan
- vaatimukset
- resurssi
- johtua
- tulokset
- luja
- ajaa
- juoksija
- juoksu
- toimii
- sagemaker
- sama
- skaalautuva
- raapia
- osiot
- turvallinen
- turvallisesti
- nähdä
- nähneet
- lähettäminen
- vanhempi
- Sarjat
- palvelin
- serverless
- palvelu
- Palvelut
- setti
- asetus
- setup
- Jaa:
- shouldnt
- näyttää
- osoittivat
- Näytä
- paikka
- Koko
- pieni
- So
- Tuotteemme
- ratkaisu
- Ratkaisumme
- SOLVE
- jonkin verran
- erityinen
- nopeus
- menot
- Urheilu
- Aloita
- alkaa
- Osavaltio
- Vaihe
- Askeleet
- suora
- virta
- myöhempi
- niin
- Tukea
- järjestelmä
- puuttua
- vie
- ottaen
- Kohde
- tehtävät
- tekniikat
- Elektroniikka
- ehdot
- testi
- että
- -
- Valtion
- heidän
- Niitä
- sitten
- Nämä
- asiat
- tätä
- ne
- kolmella
- kolmivaiheinen
- Kautta
- aika
- että
- yhdessä
- aihe
- Aiheet
- jäljitettävissä
- koulutettu
- koulutus
- siirtää
- kaksi
- tyypillisesti
- unique
- Ladataan
- us
- käyttää
- käyttölaukku
- käytetty
- käyttämällä
- VAHVISTA
- arvo
- Vahvistus
- hyvin
- kautta
- haluta
- Tapa..
- tavalla
- we
- verkko
- verkkopalvelut
- HYVIN
- kun
- joka
- koko
- leveys
- with
- sisällä
- ilman
- Referenssit
- työskenteli
- työnkulku
- työskentely
- olisi
- X
- vielä
- Voit
- Sinun
- zephyrnet