In rész 1 Ennek a sorozatnak egy architektúráját készítettük el egy end-to-end MLOps-folyamathoz a vizuális minőségellenőrzési felhasználási esetek szélén. Úgy tervezték, hogy 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. A felügyelt és kiszolgáló nélküli szolgáltatásokra való összpontosítás csökkenti a folyamat infrastruktúrájának működtetésének szükségességét, és lehetővé teszi a gyors kezdést.
Ebben a bejegyzésben részletesen megvizsgáljuk, hogyan valósítják meg a csővezeték címkézési és modellépítési és oktatási részeit. Ha különösen érdekli az architektúra szélső telepítési aspektusa, ugorjon tovább rész 3. Kísérőt is biztosítunk GitHub repo ha saját maga szeretné telepíteni és kipróbálni.
Megoldás áttekintése
Az ehhez 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éken lévő hibákat, amelyeket a gyártási folyamat részeként lehet alkalmazni. 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.
Adatcímkézés automatizálása
Az adatok címkézése eredendően munkaigényes feladat, amelybe emberek (címkézők) is beletartoznak az adatok címkézéséhez. Használati esetünkben a címkézés azt jelenti, hogy minden látható hiba esetén megvizsgálunk egy képet és határolókereteket rajzolunk. Lehet, hogy ez egyszerűen hangzik, de ennek automatizálása érdekében számos dologra ügyelnünk kell:
- Biztosítson eszközt a címkézők számára határolókeretek rajzolásához
- Irányítson címkézők munkaerőt
- Biztosítsa a jó címkeminőséget
- Adataink és címkéink kezelése és verziója
- Hangszerelje az egész folyamatot
- Integrálja a CI/CD rendszerbe
Mindezt megtehetjük az AWS szolgáltatásokkal. A címkézés megkönnyítésére és a munkaerő irányítására használjuk Amazon SageMaker Ground Truth, egy adatcímkézési szolgáltatás, amely lehetővé teszi saját adatcímkézési munkafolyamatok és munkaerő létrehozását és kezelését. Kezelheti saját címkézőinek privát munkaerőjét, vagy használhatja külső címkézők erejét ezen keresztül Amazon Mechanical Turk vagy harmadik fél szolgáltatók.
Ráadásul az egész folyamat konfigurálható és menedzselhető az AWS SDK-n keresztül, amelyet a CI/CD folyamat részeként a címkézési munkafolyamat megszervezésére használunk.
A címkézési feladatok a címkézési munkafolyamatok kezelésére szolgálnak. A SageMaker Ground Truth kész sablonokat biztosít számos különböző címkézési feladattípushoz, beleértve a rajz határolókereteket is. Ha további részleteket szeretne megtudni arról, hogyan állíthat be címkézési feladatot a határolódobozos feladatokhoz, tekintse meg a következőt Adatcímkézés egyszerűsítése a YOLO objektumok észleléséhez az Amazon SageMaker Ground Truth alkalmazásban. Használati esetünkhöz igazítjuk a feladatsablon határolódobozos feladatokhoz és használja a Mechanical Turk által biztosított emberi annotátorokat a képeink alapértelmezés szerinti címkézéséhez. A következő képernyőkép azt mutatja, hogy mit lát a címkéző, amikor egy képen dolgozik.
A következőkben beszéljünk a címke minőségéről. Címkéink minősége befolyásolja ML modellünk minőségét. Amikor a képcímkézést külső emberi munkaerővel, például a Mechanical Turk-al automatizálják, kihívást jelent a jó és egyenletes címkeminőség biztosítása a területi szakértelem hiánya miatt. Néha magánterületi szakértőkre van szükség. Mintamegoldásunkban azonban a Mechanical Turk-ot használjuk képeink automatikus címkézésére.
Számos módja van a jó címkeminőség biztosításának. A bevált gyakorlatokkal kapcsolatos további információkért tekintse meg az AWS re:Invent 2019 beszélgetését, Készítsen pontos edzési adatkészleteket az Amazon SageMaker Ground Truth segítségével. A mintamegoldás részeként úgy döntöttünk, hogy a következőkre összpontosítunk:
Végül át kell gondolnunk, hogyan tároljuk a címkéinket, hogy később újra felhasználhassák őket a képzéshez, és lehetővé tegyék a használt modell betanítási adatainak nyomon követését. A egy SageMaker Ground Truth címkézési feladat kimenete egy JSON-lines formátumú fájl, amely a címkéket és további metaadatokat tartalmazza. Úgy döntöttünk, hogy a offline áruház of Amazon SageMaker Feature Store címkéink tárolására. A címkék egyszerű tárolásához képest Amazon egyszerű tárolási szolgáltatás (Amazon S3), néhány külön előnyt biztosít számunkra:
- A jellemzőértékek teljes történetét tárolja, az időpont szerinti lekérdezésekkel kombinálva. Ez lehetővé teszi az adatkészletünk egyszerű verziózását és a nyomon követhetőség biztosítását.
- Központi szolgáltatástárolóként elősegíti adataink újrafelhasználását és láthatóságát.
A SageMaker Feature Store bevezetéséhez lásd: Az Amazon SageMaker Feature Store használatának első lépései. A SageMaker Feature Store támogatja a funkciók táblázatos formátumban történő tárolását. Példánkban a következő jellemzőket tároljuk minden egyes címkézett képhez:
- A kép tárolási helye az Amazon S3-on
- Kép méretei
- A határoló doboz koordinátái és osztályértékei
- Állapotjelző, amely jelzi, hogy a címkét jóváhagyták-e a képzésben való használatra
- A címke létrehozásához használt címkézési feladat neve
A következő képernyőkép azt mutatja, hogy hogyan nézhet ki egy tipikus bejegyzés a funkciótárban.
Ezzel a formátummal egyszerűen lekérdezhetjük a funkciótárat, és olyan ismert eszközökkel dolgozhatunk, mint a Pandas, hogy létrehozzunk egy adatkészletet, amelyet később a képzéshez használunk.
Adatcímkézés hangszerelése
Végül itt az ideje, hogy automatizáljuk és hangszereljük címkézési folyamatunk egyes lépéseit! Ehhez használjuk AWS lépésfunkciók, egy szerver nélküli munkafolyamat-szolgáltatás, amely API-integrációkat biztosít számunkra a munkafolyamat lépéseinek gyors összehangolásához és megjelenítéséhez. Használunk egy készletet is AWS Lambda funkciókat néhány bonyolultabb lépéshez, különösen a következőkhöz:
- Ellenőrizze, hogy vannak-e új képek, amelyek címkézést igényelnek az Amazon S3-ban
- Készítse elő az adatokat a kívánt beviteli formátumban, és indítsa el a címkézési feladatot
- Készítse elő az adatokat a szükséges beviteli formátumban, és indítsa el a címkeellenőrzési feladatot
- Írja be a végső címkekészletet a funkciótárba
A következő ábra bemutatja, hogyan néz ki a teljes Step Functions címkéző állapotgép.
Címkézés: Infrastruktúra kiépítése és integrálása CI/CD-be
Az utolsó lépés a Step Functions munkafolyamat integrálása a CI/CD rendszerünkbe, és a szükséges infrastruktúra telepítése. A feladat elvégzéséhez a AWS Cloud Development Kit (AWS CDK) az összes szükséges infrastruktúra létrehozásához, mint például a Lambda-funkciók és a Step Functions munkafolyamat. Val vel CDK csővezetékek, az AWS CDK modulja, létrehozunk egy folyamatot AWS CodePipeline amely változásokat telepít az infrastruktúránkra, és elindít egy további folyamatot a Step Functions munkafolyamat elindításához. A Step Functions integráció a CodePipeline nagyon egyszerűvé teszi ezt a feladatot. Használjuk Amazon EventBridge és CodePipeline Source műveletek, hogy megbizonyosodjon arról, hogy a folyamat egy ütemezés szerint indul el, valamint amikor a változtatások a git-be kerülnek.
A következő diagram részletesen bemutatja, hogyan néz ki a CI/CD címkézési architektúrája.
Foglalja össze az automatizált adatcímkézést
Most már van egy működő folyamatunk, amellyel a SageMaker Ground Truth segítségével automatikusan létrehozhatunk címkéket fémcímkék címkézetlen képeiből. A képeket az Amazon S3-ról gyűjtöttük össze, és egy SageMaker Ground Truth címkézési feladatba töltik be. A képek felcímkézése után minőségellenőrzést végzünk egy címkeellenőrző feladattal. Végül a címkéket a SageMaker Feature Store szolgáltatáscsoportban tárolja. Ha saját maga szeretné kipróbálni a működő példát, nézze meg a mellékeltet GitHub tárház. Nézzük meg, hogyan automatizálható a modellépítés!
Modellkészítés automatizálása
A címkézéshez hasonlóan nézzük meg alaposabban a modellépítési folyamatunkat. Legalább a következő lépéseket kell végrehajtanunk:
- Szerezze be a legújabb funkciókat a szolgáltatásboltból
- Készítse elő az adatokat a modellképzéshez
- Tanítsd meg a modellt
- A modell teljesítményének értékelése
- Verzió és tárolja a modellt
- Ha a teljesítmény elfogadható, hagyja jóvá a modellt a telepítéshez
A modellépítési folyamatot általában egy adattudós irányítja, és notebookokkal vagy Python-kóddal végzett kísérletek eredménye. Egy egyszerű, háromlépéses folyamatot követhetünk, hogy egy kísérletet teljesen automatizált MLOps-folyamattá alakítsunk:
- Konvertálja a meglévő előfeldolgozási, betanítási és kiértékelő kódot parancssori szkriptekké.
- Hozzon létre egy SageMaker folyamat definíciót a modellépítés lebonyolításához. Használja az első lépésben létrehozott szkripteket a feldolgozási és betanítási lépések részeként.
- Integrálja a folyamatot a CI/CD munkafolyamatba.
Ez a három lépésből álló folyamat általános, és bármely tetszőleges modellarchitektúrához és ML keretrendszerhez használható. Kövessük ezt, és kezdjük az 1. lépéssel a következő szkriptek létrehozásához:
- preprocess.py – Ez előhívja a címkézett képeket a SageMaker Feature Store-ból, felosztja az adatkészletet, és átalakítja a modellünk betanításához szükséges formátumba, esetünkben a YOLOv8 bemeneti formátumába
- vonat.py – Ez a vonat egy Ultralytics YOLOv8 objektumészlelési modell PyTorch segítségével észleli a karcolásokat a fémcímkék képén
Modellépítés hangszerelése
A 2. lépésben ezeket a szkripteket betanítási és feldolgozási feladatokba kötjük össze, és meghatározzuk a végső SageMaker folyamatot, amely az alábbi ábrához hasonlóan néz ki.
A következő lépésekből áll:
- A ProcessingStep a SageMaker Feature Store legújabb szolgáltatásainak betöltéséhez; az adatkészlet felosztása betanítási, érvényesítési és tesztkészletekre; és tárolja az adatkészleteket tarball-ként az edzéshez.
- A TrainingStep a modell betanításához a betanítási, érvényesítési és tesztadatkészletek használatával, és exportálja a modell átlagos pontossági mutatóját (mAP).
- A ConditionStep annak értékelésére, hogy a betanított modell mAP metrika értéke meghaladja-e a konfigurált küszöbértéket. Ha igen, akkor egy RegisterModel lépés fut, amely regisztrálja a betanított modellt a SageMaker Model Registry-ben.
Ha érdekli a részletes csővezeték kód, nézze meg a csővezeték meghatározása mintatárunkban.
Képzés: Infrastruktúra kiépítése és integrálása CI/CD-be
Itt az ideje a 3. lépésnek: integrálni a CI/CD munkafolyamatba. A CI/CD csővezetékünk ugyanazt a mintát követi, amelyet a címkézési részben bemutattunk. Az AWS CDK-t használjuk a szükséges folyamatok telepítéséhez a CodePipeline-ból. Az egyetlen különbség az, hogy használjuk Amazon SageMaker csővezetékek Lépésfüggvények helyett. A SageMaker folyamat definíciója a CodePipeline CodeBuild műveletének részeként jön létre és aktiválódik.
Következtetés
Mostantól teljesen automatizált címkézési és modellképzési munkafolyamattal rendelkezünk a SageMaker segítségével. Kezdetben parancssori szkripteket hoztunk létre a kísérleti kódból. Ezután a SageMaker Pipelines segítségével hangszereltük a modellképzési munkafolyamat egyes lépéseit. A parancssori szkripteket a betanítási és feldolgozási lépések részeként integráltuk. A folyamat végén a betanított modell verziója és regisztrálása megtörténik a SageMaker Model Registry-ben.
Nézze meg rész 3 sorozatból, ahol közelebbről megvizsgáljuk MLOps munkafolyamatunk utolsó lépését. Létrehozzuk azt a folyamatot, amely lefordítja és telepíti a modellt egy éleszközre AWS IoT Greengrass!
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-2/
- :van
- :is
- :ahol
- $ UP
- 1
- 150
- 2019
- 7
- a
- Rólunk
- felett
- elérni
- pontos
- Akció
- cselekvések
- alkalmazkodni
- További
- előnyei
- érint
- Után
- előre
- Minden termék
- lehetővé
- lehetővé teszi, hogy
- Is
- amazon
- Amazon SageMaker
- Az Amazon Web Services
- becsvágyó
- an
- és a
- bármilyen
- api
- Alkalmazása
- jóváhagyott
- építészet
- VANNAK
- AS
- megjelenés
- At
- automatizált
- Automatizált
- automatikusan
- automatizálás
- Automatizálás
- átlagos
- AWS
- AWS re:Invent
- BE
- óta
- előtt
- Kezdet
- kívül
- BEST
- legjobb gyakorlatok
- Túl
- Doboz
- dobozok
- épít
- Épület
- Csomag
- üzleti
- de
- by
- TUD
- ami
- autók
- eset
- központi
- kihívás
- kihívások
- kihívást
- Változások
- ellenőrizze
- ellenőrzése
- választás
- osztály
- közelebb
- felhő
- kód
- Kávé
- kombinált
- képest
- teljes
- bonyolult
- konfigurálva
- következetes
- áll
- konstrukció
- megtérít
- tudott
- teremt
- készítette
- létrehozása
- Ügyfelek
- dátum
- adattudós
- adatkészletek
- határozott
- mély
- alapértelmezett
- meghatározott
- meghatározott
- definíció
- ás
- telepíteni
- telepített
- bevetés
- bevet
- részlet
- részletes
- részletek
- kimutatására
- Érzékelés
- Fejlesztő
- Fejlesztés
- eszköz
- különbség
- különböző
- különböző
- do
- domain
- csinált
- megfogalmazott
- húz
- rajz
- hajtott
- két
- minden
- könnyen
- könnyű
- él
- lehetővé
- végén
- végtől végig
- mérnök
- biztosítására
- Vállalkozás
- Egész
- belépés
- értékelni
- értékelés
- példa
- létező
- kísérlet
- kísérletek
- szakvélemény
- szakértők
- export
- külső
- megkönnyítése
- ismerős
- család
- Funkció
- Jellemzők
- Fed
- kevés
- Ábra
- filé
- utolsó
- Végül
- Összpontosít
- következik
- következő
- következik
- A
- formátum
- Keretrendszer
- ból ből
- Tele
- teljesen
- funkciók
- Németország
- kap
- megy
- Go
- jó
- Földi
- Csoport
- Legyen
- magas szinten
- őt
- övé
- történelem
- Kezdőlap
- Hogyan
- How To
- azonban
- HTML
- http
- HTTPS
- emberi
- Az emberek
- if
- kép
- képek
- végre
- végre
- javulás
- in
- mélyreható
- Beleértve
- információ
- Infrastruktúra
- eredendően
- bemenet
- helyette
- integrálni
- integrált
- integráció
- integrációk
- érdekelt
- bele
- Bevezetés
- tárgyak internete
- IT
- olasz
- Munka
- Állások
- jpg
- Ismer
- Címke
- címkézés
- Címkék
- hiány
- a későbbiekben
- legutolsó
- tanulás
- hadd
- élet
- mint
- vonal
- kiszámításának
- elhelyezkedés
- néz
- hasonló
- MEGJELENÉS
- gép
- gépi tanulás
- csinál
- KÉSZÍT
- kezelése
- sikerült
- gyártási
- sok
- térkép
- Lehet..
- jelent
- eszközök
- mechanikai
- Metaadatok
- fém
- metrikus
- Michael
- esetleg
- minimum
- ML
- MLOps
- modell
- Modulok
- több
- név
- Szükség
- Új
- következő
- Most
- szám
- tárgy
- Objektumfelismerés
- of
- on
- ONE
- csak
- működik
- or
- érdekében
- mi
- ki
- Eredmény
- szabadban
- saját
- pandák
- rész
- különösen
- alkatrészek
- szenvedély
- szenvedélyes
- Mintás
- teljesítmény
- személyes
- válogatott
- csővezeték
- Plató
- Platón adatintelligencia
- PlatoData
- állás
- hatalom
- gyakorlat
- Pontosság
- magán
- problémák
- folyamat
- feldolgozás
- projektek
- elősegíti
- ad
- feltéve,
- szolgáltatók
- biztosít
- Húz
- meglökött
- Piton
- pytorch
- világítás
- lekérdezések
- gyorsan
- RE
- Olvass
- igazi
- ajánl
- csökkenti
- utal
- nyilvántartott
- nyilvántartások
- iktató hivatal
- megbízhatóság
- raktár
- szükség
- kötelező
- futás
- futó
- sagemaker
- SageMaker csővezetékek
- azonos
- menetrend
- Tudós
- szkriptek
- sdk
- Rész
- lát
- idősebb
- Series of
- vagy szerver
- szolgáltatás
- Szolgáltatások
- készlet
- Szettek
- Műsorok
- Egyszerű
- egyszerűen
- weboldal
- So
- szoftver
- megoldások
- Megoldások
- SOLVE
- néhány
- hang
- forrás
- kifejezetten
- Költési
- osztott
- szakadások
- Sport
- kezdet
- kezdődött
- Állami
- Állapot
- Lépés
- Lépései
- tárolás
- tárolni
- memorizált
- árnyékolók
- tárolása
- egyértelmű
- Támogató
- Támogatja
- biztos
- rendszer
- Vesz
- Beszél
- Feladat
- feladatok
- Technológia
- sablon
- sablonok
- teszt
- hogy
- A
- azok
- akkor
- Ott.
- Ezek
- ők
- dolgok
- Szerintem
- harmadik fél
- ezt
- háromlépcsős
- küszöb
- Keresztül
- idő
- nak nek
- szerszám
- szerszámok
- felső
- Nyomon követhetőség
- Vonat
- kiképzett
- Képzések
- vonatok
- transzformáció
- váltott
- igazság
- megpróbál
- típusok
- tipikus
- ui
- us
- használ
- használati eset
- használt
- segítségével
- rendszerint
- érvényesítés
- érték
- Értékek
- Igazolás
- változat
- nagyon
- keresztül
- láthatóság
- látható
- Képzeld
- akar
- módon
- we
- háló
- webes szolgáltatások
- JÓL
- voltak
- Mit
- amikor
- vajon
- ami
- egész
- lesz
- val vel
- Munka
- dolgozott
- munkafolyamat
- munkafolyamatok
- munkaerő
- dolgozó
- még
- Yolo
- te
- A te
- magad
- youtube
- zephyrnet