MLO-k az élen az Amazon SageMaker Edge Manager és az AWS IoT Greengrass PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

MLO-k a széleken az Amazon SageMaker Edge Manager és az AWS IoT Greengrass segítségével

Az Internet of Things (IoT) lehetővé tette az ügyfelek számára számos iparágban, például a gyártásban, az autóiparban és az energiaiparban, hogy megfigyeljék és irányítsák a valós környezetet. Számos élvonalbeli IoT-eszköz, például kamerák, termosztátok és érzékelők telepítésével adatokat gyűjthet, küldhet a felhőbe, és gépi tanulási (ML) modelleket építhet a rendellenességek, hibák és egyebek előrejelzésére. Ha azonban a használati eset valós idejű előrejelzést igényel, az IoT-megoldását gazdagítania kell az ML szélén (ML@Edge) képességekkel. ML@Edge egy olyan koncepció, amely szétválasztja az ML-modell életciklusát az alkalmazás életciklusától, és lehetővé teszi egy végpontok közötti ML-folyamat futtatását, amely magában foglalja az adatok előkészítését, a modellépítést, a modell-összeállítást és -optimalizálást, a modellek üzembe helyezését (a szélső eszközök flottájára), a modell végrehajtása, valamint a modell monitorozása és irányítása. Egyszer telepíti az alkalmazást, és annyiszor futtatja az ML-folyamatot, ahányszor csak szükséges.

Elképzelhető, hogy az ML@Edge koncepció által javasolt összes lépés végrehajtása nem triviális. Számos kérdéssel kell foglalkozniuk a fejlesztőknek egy teljes ML@Edge megoldás megvalósítása érdekében, például:

  • Hogyan működtethetek ML-modelleket egy flottán (több száz, több ezer vagy milliónyi) eszközön?
  • Hogyan biztosíthatom a modellemet, miközben telepítem és a széleken futtatom?
  • Hogyan tudom nyomon követni a modellem teljesítményét, és szükség esetén áttanítani?

Ebből a bejegyzésből megtudhatja, hogyan válaszoljon ezekre a kérdésekre, és hogyan készítsen teljes körű megoldást az ML@Edge folyamat automatizálására. Meglátod, hogyan kell használni Amazon SageMaker Edge Manager, Amazon SageMaker Studioés AWS IoT Greengrass v2 olyan MLOps (ML Operations) környezet létrehozására, amely automatizálja az ML modellek felépítésének és telepítésének folyamatát a szélső eszközök nagy flottájára.

A következő szakaszokban egy referenciaarchitektúrát mutatunk be, amely részletezi az összes olyan összetevőt és munkafolyamatot, amely a peremmunkaterhelésekre összpontosító MLOps teljes megoldásának felépítéséhez szükséges. Ezután mélyen belemerülünk a lépésekbe, amelyeken ez a megoldás automatikusan fut egy új modell felépítéséhez és előkészítéséhez. Azt is bemutatjuk, hogyan készítheti fel a szélső eszközöket az ML-modellek üzembe helyezésének, futtatásának és figyelésének megkezdésére, valamint bemutatjuk, hogyan kell figyelni és karbantartani az eszközparkjában telepített ML-modelleket.

Megoldás áttekintése

A robusztus ML-modellek előállításához több személy – például adattudósok, ML-mérnökök, adatmérnökök és üzleti érdekelt felek – együttműködésére van szükség egy félautomata infrastruktúra alatt, amely meghatározott műveleteket követ (MLOps). A környezet modularizálása is fontos annak érdekében, hogy ezek a különböző személyiségek rugalmasságot és mozgékonyságot biztosítsanak (a munkafolyamattól függetlenül) annak az összetevőnek a fejlesztéséhez vagy javításához, amelyért felelősek. Egy ilyen infrastruktúra egy példája több AWS-fiókból áll, amelyek lehetővé teszik az ML-modellek együttműködését és gyártását mind a felhőben, mind a szélső eszközökön. A következő referencia-architektúrában bemutatjuk, hogyan szerveztük meg a több fiókot és szolgáltatást, amelyek ezt a végpontok közötti MLOps-platformot alkotják az ML-modellek felépítéséhez és a széleken történő telepítéséhez.

Ez a megoldás a következő fiókokból áll:

  • Data Lake fiók – Az adatmérnökök több adatforrásból, például helyszíni adatbázisokból és IoT-eszközökből származó adatokat dolgoznak fel, tárolnak és készítenek elő.
  • Szerszámszámla – Az IT-üzemeltetők kezelik és ellenőrzik a CI/CD-folyamatokat az ML-modellcsomagok automatizált folyamatos szállítása és telepítése érdekében a távoli éleszközök előgyártási és gyártási fiókjaiban. A CI/CD-folyamatok futtatása automatizálva van a használatával Amazon EventBridge, amely figyeli az ML modellek és célok változási állapotának eseményeit AWS CodePipeline.
  • Kísérleti és fejlesztési beszámoló – Az adattudósok kutatásokat végezhetnek, és többféle modellezési technikával és algoritmussal kísérletezhetnek az ML-alapú üzleti problémák megoldására, és így bizonyítást nyerhetnek a koncepció megoldásaira. Az ML mérnökök és adattudósok együttműködnek a koncepció bizonyítása érdekében, és automatizált munkafolyamatokat hoznak létre Amazon SageMaker csővezetékek adatok előkészítése, valamint ML modellek felépítése, betanítása és csomagolása. A csővezetékek telepítése CI/CD csővezetékeken keresztül történik, míg a modellek verzióvezérlése a Amazon SageMaker modellnyilvántartás. Az adattudósok kiértékelik a több modellváltozat mérőszámait, és a CI/CD folyamat elindításával kérik a legjobb modell előmozdítását a termelésbe.
  • Gyártás előtti fiók – Mielőtt a modellt az éles környezetben népszerűsítené, a modellt tesztelni kell a szimulációs környezetben való robusztusság biztosítása érdekében. Ezért a gyártás előtti környezet az éles környezet szimulátora, amelyben a SageMaker modell végpontjai automatikusan telepítésre és tesztelésre kerülnek. A vizsgálati módszerek tartalmazhatnak integrációs tesztet, stressztesztet vagy ML-specifikus teszteket a következtetési eredményekre. Ebben az esetben az éles környezet nem egy SageMaker modell végpontja, hanem egy éleszköz. Egy éles eszköz szimulálásához az előgyártás során két megközelítés lehetséges: használjon egy Amazon rugalmas számítási felhő (Amazon EC2) példányt, amely ugyanazokkal a hardverjellemzőkkel rendelkezik, vagy használjon egy laboratóriumi tesztágyat, amely a tényleges eszközökből áll. Ezzel az infrastruktúrával a CI/CD csővezeték telepíti a modellt a megfelelő szimulátorba, és automatikusan elvégzi a többszörös teszteket. A tesztek sikeres lefutása után a CI/CD-folyamat kézi jóváhagyást igényel (például az IoT-érdekelt féltől, hogy a modellt termelésbe tegyék).
  • Gyártási számla – Abban az esetben, ha a modellt az AWS-felhőn tárolják, a CI/CD-folyamat egy SageMaker-modell-végpontot telepít az éles fiókban. Ebben az esetben a termelési környezet több szélső eszközparkból áll. Ezért a CI/CD folyamat az Edge Manager segítségével telepíti a modelleket a megfelelő eszközparkba.
  • Edge eszközök – A távoli éleszközök olyan hardvereszközök, amelyek az Edge Manager használatával ML modelleket futtathatnak. Lehetővé teszi az alkalmazások számára a modellek kezelését, következtetések lefuttatását a modellek alapján, és az adatok biztonságos rögzítését Amazon egyszerű tárolási szolgáltatás (Amazon S3).

SageMaker projektek segít automatizálni az erőforrások rendelkezésre bocsátásának folyamatát az egyes fiókokon belül. Nem merülünk bele mélyen ebbe a funkcióba, de ha többet szeretne megtudni arról, hogyan készíthet SageMaker projektsablont, amely több fiókban telepíti az ML modelleket, nézze meg Többfiókos modell bevezetése az Amazon SageMaker Pipelines segítségével.

Gyártás előtti fiók: Digitális iker

A képzési folyamat után az eredményül kapott modellt ki kell értékelni. A gyártás előtti fiókban van egy szimulált Edge-eszköz. Ez képviseli a digitális iker annak a szélső eszköznek, amelyen az ML modell a termelésben fut. Ennek a környezetnek kettős célja van: a klasszikus tesztek elvégzése (mint például az egység, az integráció és a füst), és hogy a fejlesztőcsapat játszótere legyen. Ezt az eszközt egy EC2-példány segítségével szimulálták, ahol az ML-modell kezeléséhez szükséges összes összetevőt telepítették.

Az érintett szolgáltatások a következők:

  • AWS IoT Core - Mi használjuk AWS IoT Core AWS IoT-objektumok létrehozása, eszközflotta létrehozása, az eszközflotta regisztrálása, hogy az interakcióba lépjen a felhővel, X.509-tanúsítványok létrehozása a szélső eszközök AWS IoT Core-hoz való hitelesítéséhez, a szerepálnév társítása az AWS IoT Core-hoz, amely akkor jött létre, amikor a flotta létrehozta, szerezzen be egy AWS-fiók-specifikus végpontot a hitelesítési adatszolgáltató számára, szerezzen be egy hivatalos Amazon Root CA fájlt, és töltse fel az Amazon CA fájlt az Amazon S3-ra.
  • Amazon Sagemaker Neo – Sagemaker Neo automatikusan optimalizálja a gépi tanulási modelleket a következtetések gyorsabb futtatásához a pontosság vesztesége nélkül. Támogatja a DarkNet, Keras, MXNet, PyTorch, TensorFlow, TensorFlow-Lite, ONNX vagy XGBoost segítségével már megépített gépi tanulási modellt, és az Amazon SageMakerben vagy bárhol máshol betanította. Ezután válassza ki a cél hardverplatformot, amely lehet egy SageMaker tárhelypéldány vagy egy olyan éleszköz, amely Ambarella, Apple, ARM, Intel, MediaTek, Nvidia, NXP, Qualcomm, RockChip, Texas Instruments vagy Xilinx processzorokon alapul.
  • Edge Manager – Az Edge Manager segítségével regisztráljuk és kezeljük az éleszközt a Sagemaker flottákon belül. A flották logikailag csoportosított eszközök gyűjteményei, amelyek segítségével adatokat gyűjthet és elemezhet. Emellett az Edge Manager csomagoló csomagolja az optimalizált modellt, és létrehoz egy AWS IoT Greengrass V2 komponenst, amely közvetlenül telepíthető. Az Edge Manager segítségével intelligens kamerák, intelligens hangszórók, robotok és más SageMaker eszközparkok flottáján üzemeltetheti az ML modelleket.
  • AWS IoT Greengrass V2 - AWS IoT Greengrass lehetővé teszi az összetevők telepítését a szimulált eszközökbe egy EC2 példány használatával. Az AWS IoT Greengrass V2 ügynök használatával az EC2-példányokban leegyszerűsíthetjük az Edge Manager-ügynök és -modell elérését, kezelését és telepítését az eszközökön. Az AWS IoT Greengrass V2 nélkül az Edge Manager használatához szükséges eszközök és flották beállításához manuálisan kell másolnia az ügynököt egy S3 kiadási tárolóból. Az AWS IoT Greengrass V2 és az Edge Manager integrációjával lehetséges az AWS IoT Greengrass V2 összetevőinek használata. Az összetevők előre beépített szoftvermodulok, amelyek az AWS IoT Greengrass szolgáltatáson keresztül az élvonalbeli eszközöket AWS-szolgáltatásokhoz vagy harmadik féltől származó szolgáltatásokhoz kapcsolják.
  • Edge Manager ügynök – Az Edge Manager ügynök az AWS IoT Greengrass V2-n keresztül kerül telepítésre az EC2 példányban. Az ügynök egyszerre több modellt is betölthet, és következtetéseket vonhat le az éleszközökön lévő betöltött modellekről. Az ügynök által betölthető modellek számát az eszköz rendelkezésre álló memóriája határozza meg.
  • Amazon S3 – Az Edge Manager ügynökből származó következtetések tárolására egy S3 tárolót használunk.

A gyártás előtti fiókot digitális ikerként határozhatjuk meg az ML modellek teszteléséhez, mielőtt azokat valódi éleszközökbe helyeznénk át. Ez a következő előnyöket kínálja:

  • Agilitás és rugalmasság – Az adattudósoknak és az ML mérnököknek gyorsan ellenőrizniük kell, hogy az ML-modell és a kapcsolódó szkriptek (előfeldolgozási és következtetési szkriptek) működni fognak-e az eszköz szélén. A nagyvállalatok IoT és adattudományi osztályai azonban különböző entitások lehetnek. A technológiai halom felhőben való azonos replikálásával az adattudósok és az ML-mérnökök a telepítés előtt ismételhetik és konszolidálhatják a műtermékeket.
  • Gyorsított kockázatértékelés és gyártási idő – A peremeszközön történő telepítés a folyamat utolsó szakasza. Miután mindent jóváhagyott egy elszigetelt és zárt környezetben, biztosítsa, hogy megfeleljen a minőség, a teljesítmény és az integráció tekintetében az él által megkövetelt specifikációknak. Ez segít elkerülni, hogy az IoT-részlegen más személyek további részt vegyenek a műtermék-verziók javításában és ismétlésében.
  • Jobb csapatmunka, jobb minőség és teljesítmény – A fejlesztőcsapat azonnal fel tudja mérni az ML modell hatását a hardver szélső mutatóinak elemzésével és a külső eszközökkel való interakciók szintjének mérésével (pl. I/O sebesség). Ezután az IoT-csapat csak az éles környezetben történő üzembe helyezésért felelős, és biztos lehet benne, hogy a melléktermékek pontosak az éles környezetben.
  • Integrált játszótér tesztelésre – Tekintettel az ML modellek céljára, a hagyományos munkafolyamatokban a gyártás előtti környezetet a felhőkörnyezeten kívüli éleszközzel kell reprezentálni. Ez a komplexitás egy másik szintjét vezeti be. Integrációkra van szükség a mutatók és a visszajelzések összegyűjtéséhez. Ehelyett a digitális ikerszimulált környezet használatával az interakciók csökkennek, és lerövidül a piacra jutás ideje.

Gyártási fiók és élkörnyezet

Miután a tesztek befejeződtek és a műtermék stabilitása elérte, folytathatja a gyártási üzembe helyezést a folyamatokon keresztül. A műtermékek telepítése programozottan történik, miután egy kezelő jóváhagyta a műterméket. Azonban hozzáférés a AWS felügyeleti konzol csak olvasható módban kapja meg az üzemeltetőket, hogy figyelemmel kísérhessék a flottákkal kapcsolatos metaadatokat, és ezáltal betekintést nyerhessenek a telepített ML-modell verziójába és az életciklushoz kapcsolódó egyéb metrikákba.

Az Edge eszközflották az AWS éles fiókjához tartoznak. Ez a fiók speciális biztonsági és hálózati konfigurációkkal rendelkezik, amelyek lehetővé teszik a kommunikációt a felhő és a szélső eszközök között. Az éles fiókban telepített fő AWS-szolgáltatások az Edge Manager, amely az összes eszközflotta kezeléséért, az adatok gyűjtéséért és az ML-modellek üzemeltetéséért felelős, valamint az AWS IoT Core, amely az IoT-objektumokat, tanúsítványokat, szerepkör-aliast és végpontokat kezeli.

Ugyanakkor konfigurálnunk kell egy éleszközt a szolgáltatásokkal és komponensekkel az ML modellek kezeléséhez. A fő összetevők a következők:

  • AWS IoT Greengrass V2
  • Edge Manager ügynök
  • AWS IoT tanúsítványok
  • Application.py, amely a következtetési folyamat lebonyolításáért felelős (információk lekérése a szélső adatforrásból és következtetés végrehajtása az Edge Manager ügynök és a betöltött ML modell segítségével)
  • Csatlakozás az Amazon S3-hoz vagy a Data Lake fiókhoz a kikövetkeztetett adatok tárolására

Automatizált ML-csővezeték

Most, hogy többet tud a szervezetről és a referenciaarchitektúra összetevőiről, mélyebben belemerülhetünk az ML-folyamatba, amelyet az ML-modell fejlesztési fiókon belüli felépítésére, betanítására és értékelésére használunk.

Csővezeték (amelyből épült Amazon SageMaker modellépítő csővezetékek) egymással összefüggő lépések sorozata, amelyeket egy JSON-folyamat definíció határoz meg. Ez a folyamat definíció egy irányított aciklikus gráf (DAG) segítségével kódol egy folyamatot. Ez a DAG tájékoztatást ad a folyamat egyes lépéseire vonatkozó követelményekről és azok közötti kapcsolatokról. A folyamat DAG szerkezetét a lépések közötti adatfüggőségek határozzák meg. Ezek az adatfüggőségek akkor jönnek létre, amikor egy lépés kimenetének tulajdonságait egy másik lépés bemeneteként adják át.

Annak érdekében, hogy az adattudományi csapatok könnyen automatizálhassák az ML-modellek új verzióinak létrehozását, fontos érvényesítési lépéseket és automatizált adatokat bevezetni az ML-modellek folyamatos betáplálásához és javításához, valamint modellfigyelési stratégiákat, amelyek lehetővé teszik a folyamatindítást. A következő ábra egy példa csővezetéket mutat be.

MLO-k az élen az Amazon SageMaker Edge Manager és az AWS IoT Greengrass PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Az automatizálás és az MLOps képességek engedélyezéséhez fontos, hogy moduláris komponenseket hozzon létre újrafelhasználható kódtermékek létrehozásához, amelyek megoszthatók a különböző lépések és ML használati esetek között. Ezzel az átállás automatizálásával gyorsan áthelyezheti a megvalósítást a kísérleti fázisból a gyártási fázisba.

Az ML-modellek folyamatos betanítását és verziószámítását lehetővé tevő ML-folyamat definiálásának lépései a következők:

  • Előfeldolgozás – Az ML algoritmus betanításához szükséges adattisztítás, jellemzőtervezés és adatkészlet-készítés folyamata
  • Képzések – A kifejlesztett ML algoritmus betanítási folyamata az ML modell műtermék új verziójának előállításához
  • Értékelés – A generált ML modell kiértékelési folyamata, a modell viselkedésével kapcsolatos kulcsfontosságú metrikák kinyerésére a betanítási fázisban nem látott új adatokon
  • Bejegyzés – Az új betanított ML-modell műtermék verziószámítási folyamata a kivont metrikák és a generált műtermék összekapcsolásával

A SageMaker-folyamat felépítésének további részleteit a következőkben láthatja jegyzetfüzet.

Indítsa el a CI/CD folyamatokat az EventBridge segítségével

Ha befejezte a modell felépítését, megkezdheti a telepítési folyamatot. Az előző szakaszban meghatározott SageMaker folyamat utolsó lépése a modell új verzióját regisztrálja az adott SageMaker modell-nyilvántartási csoportban. Az ML-modell új verziójának telepítése a modell-nyilvántartási állapot használatával kezelhető. Az ML modell verziójának manuális jóváhagyásával vagy elutasításával ez a lépés egy eseményt generál, amelyet az EventBridge rögzít. Ez az esemény ezután elindíthat egy új folyamatot (ezúttal CI/CD) az AWS IoT Greengrass összetevő új verziójának létrehozásához, amelyet aztán a gyártás előtti és a termelési fiókokban telepítenek. A következő képernyőképen a meghatározott EventBridge szabályunk látható.

MLO-k az élen az Amazon SageMaker Edge Manager és az AWS IoT Greengrass PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Ez a szabály figyeli a SageMaker modellcsomag-csoportot azáltal, hogy az állapotában keresi a modellcsomagok frissítéseit Approved or Rejected.

Az EventBridge szabály ezután úgy van konfigurálva, hogy megcélozza a CodePipeline-t, amely elindítja az új AWS IoT Greengrass összetevő létrehozásának munkafolyamatát a Amazon SageMaker Neo és Edge Manager.

Optimalizálja az ML modelleket a cél architektúrához

A Neo lehetővé teszi az ML-modellek optimalizálását szélső eszközökön (és felhőben) történő következtetés levonásához. Automatikusan optimalizálja az ML modelleket a jobb teljesítmény érdekében a célarchitektúra alapján, és leválasztja a modellt az eredeti keretrendszerről, lehetővé téve a könnyű futásidejű futtatását.

Lásd a következőket jegyzetfüzet példa arra, hogyan lehet PyTorch Resnet18 modellt fordítani Neo használatával.

Építse fel a telepítési csomagot az AWS IoT Greengrass összetevővel

Az Edge Manager lehetővé teszi a modellek kezelését, biztonságossá tételét, üzembe helyezését és megfigyelését szélső eszközparkon. A következőkben jegyzetfüzet, további részleteket tekinthet meg arról, hogyan építhet fel egy minimalista szélső eszközparkot, és futtathat néhány kísérletet ezzel a funkcióval.

A flotta konfigurálása és a modell összeállítása után le kell futtatnia egy Edge Manager-csomagolási feladatot, amely előkészíti a modellt a flottában való üzembe helyezéshez. A Boto3 SDK használatával elindíthat egy csomagolási munkát. Paramétereinkhez az optimalizált modellt és a modell metaadatait használjuk. A következő paraméterek hozzáadásával OutputConfig, a munka egy AWS IoT Greengrass V2 komponenst is előkészít a következő modellel:

  • PresetDeploymentType
  • PresetDeploymentConfig

Lásd a következő kódot:

import boto3
import time

SageMaker_client = boto3.client('SageMaker')

SageMaker_client.create_edge_packaging_job(
    EdgePackagingJobName="mlops-edge-packaging-{}".format(int(time.time()*1000)),
    CompilationJobName=compilation_job_name,
    ModelName="PytorchMLOpsEdgeModel",
    ModelVersion="1.0.0",
    RoleArn=role,
    OutputConfig={
        'S3OutputLocation': 's3://{}/model/'.format(bucket_name),
        "PresetDeploymentType": "GreengrassV2Component",
        "PresetDeploymentConfig": json.dumps(
            {"ComponentName": component_name, "ComponentVersion": component_version}
        ),
    }
)

Telepítse az ML-modelleket méretarányosan a széleken

Most itt az ideje, hogy telepítse a modellt a legmodernebb eszközparkjában. Először is meg kell győződnünk arról, hogy megvan a szükséges AWS Identity and Access Management (AMI) engedélyek IoT-eszközeink kiépítéséhez és összetevők telepítéséhez. Két alapvető elemre van szükségünk az eszközök IoT-platformunkba való beépítéséhez:

  • IAM irányelv – Ez a házirend lehetővé teszi az ilyen eszközök automatikus kiépítését, amelyek a kiépítést végző felhasználóhoz vagy szerepkörhöz kapcsolódnak. IoT írási jogosultsággal kell rendelkeznie az IoT dolog és csoport létrehozásához, valamint a szükséges házirendek csatolásához az eszközhöz. További információkért lásd: Minimális IAM-házirend a telepítő számára az erőforrások biztosításához.
  • IAM szerepkör – ez a szerepkör az általunk létrehozott IoT dolgokhoz és csoportokhoz kapcsolódik. Ezt a szerepkört az alapjogosultságokkal létrehozhatja az üzembe helyezéskor, de hiányoznak belőle az olyan funkciók, mint az Amazon S3 vagy az Amazon SXNUMX-hoz való hozzáférés AWS kulcskezelési szolgáltatás (AWS KMS), amelyre később szükség lehet. Előzetesen létrehozhatja ezt a szerepkört, és újra felhasználhatja az eszköz kiépítésekor. További információkért lásd: Engedélyezze az alapvető eszközöket az AWS-sel való interakcióra.

AWS IoT Greengrass telepítése és kiépítése

Miután elkészítettük az IAM-irányelvet és szerepkört, készen állunk rá telepítse az AWS IoT Greengrass Core szoftvert automatikus erőforrás-kiépítéssel. Bár lehetséges az IoT-erőforrások kiépítése manuális lépésekkel, létezik egy kényelmes eljárás az erőforrások automatikus kiépítésére az AWS IoT Greengrass v2 mag telepítése során. Ez az előnyben részesített lehetőség az új eszközök gyors beépítésére a platformra. kívül default-jdk, más csomagok telepítése szükséges, mint pl curl, unzipés python3.

Amikor kiépítjük eszközünket, az IoT dolog nevének pontosan meg kell egyeznie az Edge Managerben definiált éleszköz nevével, ellenkező esetben a rendszer nem rögzíti az adatokat a cél S3 tárolóba.

A telepítő létrehozhatja az AWS IoT Greengrass szerepkört és álnevet a telepítés során, ha azok nem léteznek. Mindazonáltal minimális engedélyekkel hozzák létre őket, és további házirendek manuális hozzáadása szükséges ahhoz, hogy más szolgáltatásokkal, például az Amazon S3-mal együttműködjenek. Javasoljuk, hogy ezeket az IAM-erőforrásokat előzetesen hozza létre a korábban bemutatott módon, majd használja őket újra, amikor új eszközöket épít be a fiókba.

Modell és következtetés alkatrészcsomagolás

A kódunk kifejlesztése után mind a kódot (következtetés céljából), mind az ML modelljeinket komponensként telepíthetjük eszközeinkre.

Miután az ML modellt betanította a SageMakerben, optimalizálhatja a modellt a Neo segítségével egy Sagemaker fordítási feladat segítségével. Az eredményül kapott összeállított modelltermékek az Edge Manager csomagoló segítségével egy GreenGrass V2 komponensbe csomagolhatók. Ezután egyéni komponensként regisztrálható a Saját alkatrészek szakaszt az AWS IoT Greengrass konzolon. Ez a komponens már tartalmazza a szükséges életciklus-parancsokat a modellműtermék letöltéséhez és kicsomagolásához az eszközünkön, így a következtetési kód betöltheti azt, és elküldheti rajta a rögzített képeket.

A következtetési kódot illetően létre kell hoznunk egy komponenst a konzol ill AWS parancssori interfész (AWS CLI). Először is becsomagoljuk a forráskódot és a szükséges függőségeket az Amazon S3-ba. Miután feltöltöttük a kódot, létrehozhatjuk az összetevőnket egy recept segítségével .yaml vagy JSON formátumban, mint a következő példa:

---
RecipeFormatVersion: 2020-01-25
ComponentName: dummymodel.inference
ComponentVersion: 0.0.1
ComponentDescription: Deploys inference code to a client
ComponentPublisher: Amazon Web Services, Inc.
ComponentDependencies:
  aws.GreenGrass.TokenExchangeService:
    VersionRequirement: '>=0.0.0'
    DependencyType: HARD
  dummymodel:
    VersionRequirement: '>=0.0.0'
    DependencyType: HARD
Manifests:
  - Platform:
      os: linux
      architecture: "*"
    Lifecycle:
      install: |-
        apt-get install python3-pip
        pip3 install numpy
        pip3 install sysv_ipc
        pip3 install boto3
        pip3 install grpcio-tools
        pip3 install grpcio
        pip3 install protobuf
        pip3 install SageMaker
        tar xf {artifacts:path}/sourcedir.tar.gz
      run:
        script: |-
          sleep 5 && sudo python3 {work:path}/inference.py 
    Artifacts:
      - URI: s3://BUCKET-NAME/path/to/inference/sourcedir.tar.gz
        Permission:
          Execute: OWNER

Ez a példarecept megmutatja komponensünk nevét és leírását, valamint a szükséges előfeltételeket a run script parancs előtt. A recept kicsomagolja a műterméket az eszköz munkamappa-környezetében, és ezt az elérési utat használjuk a következtetési kód futtatásához. Az ilyen recept létrehozásához szükséges AWS CLI parancs a következő:

aws greengrassv2 create-component-version --region $REGION 
                                          --inline-recipe fileb://path/to/recipe.yaml

Most már láthatja ezt az összetevőt az AWS IoT Greengrass konzolon.

Ügyeljen arra, hogy a komponens verziója számít, és ezt meg kell adni a receptfájlban. Ugyanazon verziószám megismétlése hibát jelez.

Miután a modellünket és a következtetési kódunkat összetevőként beállítottuk, készen állunk a telepítésre.

Telepítse az alkalmazást és a modellt az AWS IoT Greengrass használatával

Az előző részekben megtanulta, hogyan kell csomagolni a következtetési kódot és az ML modelleket. Most létrehozhatunk egy több komponensből álló telepítést, amely magában foglalja mind az összetevőket, mind a konfigurációkat, amelyek szükségesek ahhoz, hogy következtetési kódunk kölcsönhatásba lépjen a peremeszközben lévő modellel.

Az Edge Manager ügynök az az összetevő, amelyet minden Edge Manager-eszközre telepíteni kell az Edge Manager összes funkciójának engedélyezéséhez. A SageMaker konzolon definiáltunk egy eszközparkot, amelyhez tartozik egy S3 tároló. A flottához tartozó összes szélső eszköz rögzíti és jelenti az adatait erre az S3 útvonalra. Az ügynök az AWS IoT Greengrass v2 komponenseként telepíthető, ami megkönnyíti a telepítést és konfigurálást, mintha az ügynököt önálló módban telepítenék. Amikor az ügynököt összetevőként telepítjük, meg kell adnunk a konfigurációs paramétereit, nevezetesen az eszközflottát és az S3 elérési utat.

Létrehozunk egy telepítési konfigurációt az imént létrehozott modell és kód egyéni összetevőivel. Ez a beállítás egy JSON-fájlban van meghatározva, amely felsorolja a központi telepítés nevét és célját, valamint a központi telepítés összetevőit. Az egyes komponensek konfigurációs paramétereit hozzáadhatjuk és frissíthetjük, például az Edge Manager ügynökben, ahol megadjuk a flotta nevét és a tárolót.

{
    "targetArn": "targetArn",
    "deploymentName": "dummy-deployment",
    "components": {
        "aws.GreenGrass.Nucleus": {
            "version": "2.5.3",
        },
        "aws.GreenGrass.Cli": {
            "version": "2.5.3"
        },
        "aws.GreenGrass.SageMakerEdgeManager": {
            "version": 1.1.0,
            "configurationUpdate": {
                "merge": {
                "DeviceFleetName": "FLEET-NAME",
                "BucketName": "BUCKET-NAME-URI"
                }
            }
        },
        "dummymodel.inference": {
            "version": "0.0.1"
        },
        "dummymodel": {
            "version": "0.0.1"
        }
    }
}

Érdemes megjegyezni, hogy nemcsak a modellt, a következtetési összetevőket és az ügynököt adtuk hozzá, hanem az AWS IoT Greengrass CLI-jét és a magot is. Az előbbi segíthet bizonyos központi telepítések hibakeresésében az eszközön. Ez utóbbi hozzáadódik a telepítéshez, hogy szükség esetén magáról az eszközről konfigurálja a szükséges hálózati hozzáférést (például a proxy beállításait), és akkor is, ha az AWS IoT Greengrass v2 magjának OTA frissítését szeretné végrehajtani. A nucleus nincs telepítve, mert telepítve van az eszközre, és csak a konfigurációs frissítés kerül alkalmazásra (hacsak nincs frissítés). A telepítéshez egyszerűen le kell futtatnunk a következő parancsot az előző konfiguráción. Ne felejtse el beállítani a cél ARN-t, amelyre a központi telepítést alkalmazni fogja (egy IoT-dolog vagy IoT-csoport). Ezeket az összetevőket a konzolról is telepíthetjük.

aws greengrassv2 create-deployment --region $REGION 
                                   --cli-input-json file://path/to/deployment.json

Figyelemmel kíséri és kezelheti a széleken telepített ML modelleket

Most, hogy az alkalmazása a legmodernebb eszközökön fut, itt az ideje, hogy megértse, hogyan figyelheti a flottát az irányítás, a karbantartás és a láthatóság javítása érdekében. A SageMaker konzolon válassza a lehetőséget Edge Manager a navigációs ablakban, majd válassza a lehetőséget Edge eszközflották. Innentől válassza ki flottáját.

MLO-k az élen az Amazon SageMaker Edge Manager és az AWS IoT Greengrass PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

A flotta részletes oldalán megtekintheti a flottája egyes eszközein futó modellek metaadatait. A flottajelentés 24 óránként készül.

MLO-k az élen az Amazon SageMaker Edge Manager és az AWS IoT Greengrass PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Az egyes eszközök által az Edge Agenten keresztül rögzített adatok json lines formátumban (JSONL) egy S3 tárolóba kerülnek. A rögzített adatok küldésének folyamatát az alkalmazás szempontjából kezelik. Ezért Ön szabadon eldöntheti, hogy elküldi-e ezeket az adatokat, hogyan és milyen gyakran.

MLO-k az élen az Amazon SageMaker Edge Manager és az AWS IoT Greengrass PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Ezeket az adatokat sok mindenre használhatja, például az adatsodródás és a modell minőségének figyelésére, új adatkészlet felépítésére, adattó gazdagítására stb. Az adatok felhasználásának egyszerű példája, amikor bizonyos adatsodródást észlel abban, ahogyan a felhasználók interakcióba lépnek az alkalmazással, és új modellt kell betanítania. Ezután létrehoz egy új adatkészletet a rögzített adatokkal, és visszamásolja a fejlesztési fiókba. Ez automatikusan elindíthatja a környezet új futtatását, amely új modellt épít fel, és újratelepíti azt a teljes flottára, hogy megőrizze a telepített megoldás teljesítményét.

Következtetés

Ebben a bejegyzésben megtanulta, hogyan építhet fel egy teljes megoldást, amely az MLOps-t és az ML@Edge-t egyesíti az AWS-szolgáltatások használatával. Egy ilyen megoldás felépítése nem triviális, de reméljük, hogy az ebben a bejegyzésben bemutatott referencia-architektúra inspirálhat és segíthet szilárd architektúra felépítésében saját üzleti kihívásaihoz. Használhatja ennek az architektúrának csak azokat a részeit vagy moduljait is, amelyek integrálhatók a meglévő MLOps környezetbe. Egyszerre egyetlen modul prototípusával, és a megfelelő AWS-szolgáltatások használatával ennek a kihívásnak a megoldására, megtanulhatja, hogyan építhet robusztus MLOps-környezetet, és tovább egyszerűsítheti a végső architektúrát.

Következő lépésként azt javasoljuk, hogy próbálja ki a Sagemaker Edge Managert az ML kezeléséhez az él életciklusában. Az Edge Manager működésével kapcsolatos további információkért lásd: Telepítse a modelleket a széleken a SageMaker Edge Manager segítségével .


A szerzőkről

MLO-k az élen az Amazon SageMaker Edge Manager és az AWS IoT Greengrass PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Bruno Pistone a milánói székhelyű AWS AI/ML Specialist Solutions Architect. Bármilyen méretű ügyfelekkel dolgozik, hogy segítsen nekik mélyen megérteni műszaki igényeiket, és olyan mesterséges intelligencia és gépi tanulási megoldásokat tervezzenek, amelyek a lehető legjobban használják ki az AWS felhőt és az Amazon Machine Learning veremét. Szakterülete a gépi tanulás végpontokig, a gépi tanulás iparosítása és az MLOps. Szívesen tölt időt barátaival és új helyeket fedez fel, valamint új úti célokra utazik.

MLO-k az élen az Amazon SageMaker Edge Manager és az AWS IoT Greengrass PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Matteo Calabrese az AWS Professional Services csapatának AI/ML Customer Delivery Architect tagja. Az EMEA-beli nagyvállalatokkal dolgozik AI/ML projekteken, és segít nekik javaslatokat tenni, megtervezni, szállítani, méretezni és optimalizálni az ML-termelési munkaterhelést. Fő szakterülete az ML Operation (MLOps) és a Machine Learning at Edge. Célja, hogy lerövidítse az üzleti eredmények értékelésére és az üzleti eredmények felgyorsítására fordított idejüket az AWS legjobb gyakorlatainak biztosításával. Szabadidejében szeret túrázni és utazni.

MLO-k az élen az Amazon SageMaker Edge Manager és az AWS IoT Greengrass PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Raúl Díaz García Sr Data Scientist az AWS Professional Services csapatában. Nagyvállalati ügyfelekkel dolgozik szerte az EMEA-ban, ahol segít nekik a Computer Vision-hoz és a Machine Learninghez kapcsolódó megoldások megvalósításában az IoT-területen.

MLO-k az élen az Amazon SageMaker Edge Manager és az AWS IoT Greengrass PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Sokratis Kartakis az Amazon Web Services vezető gépi tanulási specialistája. A Sokratis arra összpontosít, hogy a vállalati ügyfelek számára lehetővé tegye gépi tanulási (ML) megoldásaik iparosítását az AWS-szolgáltatások kiaknázásával és működési modelljük, azaz az MLOps alapja, valamint az átalakítási ütemterv kialakításával a legjobb fejlesztési gyakorlatok felhasználásával. Több mint 15 évet töltött innovatív, teljes körű termelési szintű ML és Internet of Things (IoT) megoldások feltalálásával, tervezésével, vezetésével és megvalósításával az energia, a kiskereskedelem, az egészségügy, a pénzügy/bankügy, a motorsport stb. területén. Sokratis szívesen tölti szabadidejét családjával és barátaival, vagy motorozással.

MLO-k az élen az Amazon SageMaker Edge Manager és az AWS IoT Greengrass PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Samir Araújo az AWS AI/ML megoldások építésze. Segít ügyfeleinek olyan AI/ML megoldások létrehozásában, amelyek az AWS segítségével megoldják üzleti kihívásaikat. Számos AI/ML projekten dolgozott, amelyek a számítógépes látással, a természetes nyelvi feldolgozással, az előrejelzéssel, az ML szélén és még sok mással kapcsolatosak. Szabadidejében szeret hardveres és automatizálási projektekkel játszani, és különösen a robotika érdekli.

Időbélyeg:

Még több AWS gépi tanulás