MLO-d äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrass PlatoBlockchain Data Intelligence'iga. Vertikaalne otsing. Ai.

MLOd äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrassiga

Asjade internet (IoT) on võimaldanud klientidel paljudes tööstusharudes, nagu tootmine, autotööstus ja energeetika, jälgida ja juhtida reaalset keskkonda. Kui kasutate erinevaid IoT-seadmeid, nagu kaamerad, termostaadid ja andurid, saate koguda andmeid, saata need pilve ja luua masinõppe (ML) mudeleid, et ennustada kõrvalekaldeid, tõrkeid ja muud. Kui aga kasutusjuhtum nõuab reaalajas ennustamist, peate oma IoT-lahendust rikastama ML-i servade (ML@Edge) võimalustega. ML@Edge on kontseptsioon, mis seob lahti ML-mudeli elutsükli rakenduse elutsüklist ja võimaldab teil käitada täielikku ML-konveieri, mis hõlmab andmete ettevalmistamist, mudeli koostamist, mudelite koostamist ja optimeerimist, mudeli juurutamist (servaseadmete pargile), mudeli täitmine ning mudeli jälgimine ja juhtimine. Juurutate rakenduse ühe korra ja käivitate ML-konveieri nii mitu korda kui vaja.

Nagu võite ette kujutada, pole kõigi ML@Edge'i kontseptsiooni pakutud sammude rakendamine triviaalne. ML@Edge tervikliku lahenduse rakendamiseks peavad arendajad lahendama palju küsimusi, näiteks:

  • Kuidas kasutada ML-mudeleid äärealadel (sadades, tuhandetes või miljonites) seadmetes?
  • Kuidas kaitsta oma mudelit selle servas juurutamise ja käitamise ajal?
  • Kuidas jälgida oma mudeli jõudlust ja vajadusel seda ümber õpetada?

Sellest postitusest saate teada, kuidas vastata kõigile neile küsimustele ja luua täielik lahendus oma ML@Edge torujuhtme automatiseerimiseks. Näete, kuidas kasutada Amazon SageMaker Edge Manager, Amazon SageMaker Studioja AWS IoT Greengrass v2 luua MLOps (ML Operations) keskkond, mis automatiseerib ML-mudelite loomise ja juurutamise protsessi suurtesse servaseadmetesse.

Järgmistes jaotistes tutvustame viitearhitektuuri, mis kirjeldab kõiki komponente ja töövooge, mis on vajalikud ääretöökoormustele keskendunud MLO-de tervikliku lahenduse loomiseks. Seejärel sukeldume sügavale sammudesse, mida see lahendus uue mudeli ehitamiseks ja ettevalmistamiseks automaatselt käivitab. Samuti näitame teile, kuidas valmistada ääreseadmeid ette ML-mudelite juurutamise, käitamise ja jälgimise alustamiseks ning näidata, kuidas jälgida ja hooldada teie seadmepargis juurutatud ML-mudeleid.

Lahenduse ülevaade

Tugevate ML-mudelite loomine nõuab mitme isiku, näiteks andmeteadlaste, ML-inseneride, andmeinseneride ja äritegevuse sidusrühmade koostööd poolautomaatse infrastruktuuri all, mis järgib teatud toiminguid (MLOps). Samuti on oluline keskkonna modulariseerimine, et anda kõigile neile erinevatele isikutele paindlikkus ja paindlikkus arendada või täiustada (sõltumata töövoost) komponenti, mille eest nad vastutavad. Sellise infrastruktuuri näide koosneb mitmest AWS-i kontost, mis võimaldavad seda koostööd ja ML-mudelite tootmist nii pilves kui ka ääreseadmetes. Järgmises võrdlusarhitektuuris näitame, kuidas korraldasime mitu kontot ja teenust, mis moodustavad selle täieliku MLOps-platvormi ML-mudelite loomiseks ja nende juurutamiseks.

See lahendus koosneb järgmistest kontodest:

  • Data Lake'i konto – Andmeinsenerid neelavad, salvestavad ja valmistavad ette andmeid mitmest andmeallikast, sealhulgas kohapealsetest andmebaasidest ja asjade Interneti-seadmetest.
  • Tööriistakonto – IT-operaatorid haldavad ja kontrollivad CI/CD torujuhtmeid ML-mudelipakettide automatiseeritud pidevaks tarnimiseks ja juurutamiseks kaugservaseadmete tootmiseelsetel ja tootmiskontodel. CI/CD torujuhtmete käitamine on automatiseeritud kasutades Amazon EventBridge, mis jälgib ML-mudelite ja sihtmärkide muutuste olekusündmusi AWS CodePipeline.
  • Katse- ja arenduskonto – Andmeteadlased saavad läbi viia uuringuid ja katsetada mitme modelleerimistehnika ja algoritmiga, et lahendada ML-põhiseid äriprobleeme, luues kontseptsioonilahendusi. ML-i insenerid ja andmeteadlased teevad koostööd kontseptsiooni tõestuseks, luues automatiseeritud töövooge kasutades Amazon SageMakeri torujuhtmed andmete ettevalmistamiseks ning ML-mudelite ehitamiseks, koolitamiseks ja pakendamiseks. Torujuhtmete kasutuselevõtt toimub CI/CD torujuhtmete kaudu, samas kui mudelite versioonikontroll saavutatakse Amazon SageMakeri mudeliregister. Andmeteadlased hindavad mitme mudeliversiooni mõõdikuid ja taotlevad parima mudeli tootmist, käivitades CI/CD konveieri.
  • Tootmiseelne konto – Enne mudeli tootmiskeskkonda reklaamimist tuleb mudelit testida, et tagada selle töökindlus simulatsioonikeskkonnas. Seetõttu on tootmiseelne keskkond tootmiskeskkonna simulaator, milles SageMakeri mudeli lõpp-punkte juurutatakse ja testitakse automaatselt. Katsemeetodid võivad hõlmata integratsioonitesti, stressitesti või ML-spetsiifilisi järeldustulemuste teste. Sel juhul ei ole tootmiskeskkond SageMakeri mudeli lõpp-punkt, vaid servaseade. Servaseadme simuleerimiseks eeltootmises on võimalik kaks lähenemist: kasutage a Amazon Elastic Compute Cloud (Amazon EC2) eksemplari, millel on samad riistvaraomadused, või kasutage tegelikest seadmetest koosnevat laborisisene testimissüsteemi. Selle infrastruktuuriga juurutab CI/CD konveier mudeli vastavasse simulaatorisse ja viib mitu testi läbi automaatselt. Pärast testide edukat käitamist vajab CI/CD konveier käsitsi heakskiitu (näiteks asjade Interneti sidusrühmalt, et viia mudel tootmisse).
  • Tootmiskonto – Kui mudelit majutatakse AWS-i pilves, juurutab CI/CD konveier tootmiskontol SageMakeri mudeli lõpp-punkti. Sel juhul koosneb tootmiskeskkond mitmest ääreseadmete pargist. Seetõttu kasutab CI/CD konveier mudelite vastavasse seadmeparki juurutamiseks Edge Manageri.
  • Edge seadmed – Kaugservaseadmed on riistvaraseadmed, mis võivad Edge Manageri abil käitada ML-mudeleid. See võimaldab nende seadmete rakendusel mudeleid hallata, mudelite põhjal järeldusi teha ja andmeid turvaliselt koguda Amazoni lihtne salvestusteenus (Amazon S3).

SageMakeri projektid aitab teil automatiseerida ressursside varustamise protsessi kõigil nendel kontodel. Me ei sukeldu sellesse funktsiooni sügavale, kuid lisateabe saamiseks selle kohta, kuidas luua SageMakeri projektimalli, mis juurutab ML-mudeleid erinevatel kontodel, vaadake lehte Mitme kontoga mudeli juurutamine Amazon SageMaker Pipelinesiga.

Tootmiseelne konto: digitaalne kaksik

Pärast koolitusprotsessi tuleb saadud mudelit hinnata. Tootmiseelsel kontol on teil simuleeritud Edge'i seade. See esindab digitaalne kaksik servaseadmest, millel ML-mudel tootmises töötab. Sellel keskkonnal on kaks eesmärki – sooritada klassikalisi teste (nt üksus, integratsioon ja suits) ning olla arendusmeeskonna mängumaa. Seda seadet simuleeritakse EC2 eksemplari abil, kus on juurutatud kõik ML-mudeli haldamiseks vajalikud komponendid.

Kaasatud teenused on järgmised:

  • AWS IoT Core - Me kasutame AWS IoT Core AWS IoT asjade objektide loomiseks, seadmepargi loomiseks, seadmepargi registreerimiseks, et see saaks pilvega suhelda, X.509 sertifikaatide loomiseks servaseadmete AWS IoT Core'i autentimiseks, rollialiase seostamiseks AWS IoT Core'iga, mis loodi laevastiku loodud, hankige mandaadipakkuja jaoks AWS-i kontopõhine lõpp-punkt, hankige ametlik Amazon Root CA-fail ja laadige Amazon CA-fail Amazon S3-sse.
  • Amazon Sagemaker Neo – Salveitegija Neo optimeerib masinõppemudeleid automaatselt, et järeldused töötaksid kiiremini ilma täpsuse vähenemiseta. See toetab masinõppe mudelit, mis on juba ehitatud DarkNeti, Kerase, MXNeti, PyTorchi, TensorFlow, TensorFlow-Lite, ONNX või XGBoostiga ja mida on koolitatud Amazon SageMakeris või mujal. Seejärel valite oma sihtriistvaraplatvormi, milleks võib olla SageMakeri hostimisjuht või servaseade, mis põhineb Ambarella, Apple'i, ARM-i, Inteli, MediaTeki, Nvidia, NXP, Qualcommi, RockChipi, Texas Instrumentsi või Xilinxi protsessoritel.
  • Edge Manager – Kasutame Sagemakeri autoparkides servaseadme registreerimiseks ja haldamiseks Edge Manageri. Autopargid on loogiliselt rühmitatud seadmete kogumid, mida saate andmete kogumiseks ja analüüsimiseks kasutada. Lisaks pakendab Edge Manageri pakendaja optimeeritud mudeli ja loob AWS IoT Greengrass V2 komponendi, mida saab otse juurutada. Edge Manageri saate kasutada ML-mudelite juhtimiseks nutikate kaamerate, nutikate kõlarite, robotite ja muude SageMakeri seadmeparkidega.
  • AWS IoT Greengrass V2 - AWS IoT Greengrass võimaldab EC2 eksemplari kasutades simuleeritud seadmetesse komponente juurutada. Kasutades EC2 eksemplarides AWS IoT Greengrass V2 agenti, saame lihtsustada Edge Manageri agendi ja mudeli juurdepääsu, haldamist ja juurutamist seadmetele. Ilma AWS IoT Greengrass V2-ta nõuab Edge Manageri kasutamiseks seadmete ja masinaparkide seadistamine agendi käsitsi kopeerimist S3 väljalaske ämbrist. AWS IoT Greengrass V2 ja Edge Manageri integratsiooniga on võimalik kasutada AWS IoT Greengrass V2 komponente. Komponendid on eelehitatud tarkvaramoodulid, mis võimaldavad ühendada servaseadmeid AWS-i teenuste või kolmanda osapoole teenusega AWS IoT Greengrassi kaudu.
  • Edge Manageri agent – Edge Manageri agent juurutatakse EC2 eksemplaris AWS IoT Greengrass V2 kaudu. Agent saab laadida mitu mudelit korraga ja teha järeldusi servaseadmete laaditud mudelite kohta. Mudelite arvu, mida agent laadida saab, määrab seadme vaba mälu.
  • Amazon S3 – Edge Manageri agendilt saadud järelduste andmete salvestamiseks kasutame S3 ämbrit.

Saame määratleda tootmiseelse konto digitaalse kaksikuna, et testida ML-i mudeleid enne nende teisaldamist tõelistesse servaseadmetesse. See pakub järgmisi eeliseid:

  • Agility ja paindlikkus – Andmeteadlased ja ML-insenerid peavad kiiresti kontrollima, kas ML-mudel ja sellega seotud skriptid (eeltöötlus- ja järeldusskriptid) töötavad seadme servas. Suurettevõtete asjade Interneti ja andmeteaduse osakonnad võivad aga olla erinevad üksused. Pilves tehnoloogiavirna identselt kopeerides saavad andmeteadlased ja ML-insenerid enne juurutamist artefakte itereerida ja konsolideerida.
  • Kiirendatud riskihindamine ja tootmisaeg – Ääreseadmes juurutamine on protsessi viimane etapp. Kui olete kõik isoleeritud ja iseseisvas keskkonnas valideerinud, tagage see, et see järgiks kvaliteedi, jõudluse ja integratsiooni osas spetsifikatsioone, mida serva nõuab. See aitab vältida teiste asjade Interneti osakonna inimeste edasist kaasamist artefaktiversioonide parandamisse ja kordamisse.
  • Parem meeskonnatöö ning parem kvaliteet ja jõudlus – Arendusmeeskond saab koheselt hinnata ML-mudeli mõju, analüüsides serva riistvaramõõdikuid ja mõõtes interaktsioonide taset kolmandate osapoolte tööriistadega (nt I/O kiirus). Seejärel vastutab asjade interneti meeskond ainult tootmiskeskkonnas juurutamise eest ja võib olla kindel, et artefaktid on tootmiskeskkonna jaoks täpsed.
  • Integreeritud mänguväljak katsetamiseks – Arvestades ML-mudelite eesmärki, peaks traditsioonilises töövoos tootmiseelset keskkonda esindama pilvekeskkonnast väljaspool asuv servaseade. See toob kaasa veel ühe keerukuse taseme. Mõõdikute ja tagasiside kogumiseks on vaja integratsioone. Selle asemel, kasutades digitaalset kaksik-simuleeritud keskkonda, väheneb suhtlus ja turule jõudmise aeg.

Tootmiskonto ja servakeskkond

Kui testid on lõpule viidud ja artefakti stabiilsus saavutatud, võite jätkata tootmist torujuhtmete kaudu. Artefaktide juurutamine toimub programmiliselt pärast seda, kui operaator on artefakti heaks kiitnud. Kuid juurdepääs AWS-i juhtimiskonsool antakse operaatoritele kirjutuskaitstud režiimis, et nad saaksid jälgida autoparkidega seotud metaandmeid ja seega omada ülevaadet juurutatud ML-mudeli versioonist ja muudest elutsükliga seotud mõõdikutest.

Edge-seadmete pargid kuuluvad AWS-i tootmiskontole. Sellel kontol on spetsiifilised turbe- ja võrgukonfiguratsioonid, mis võimaldavad pilve- ja servaseadmete vahelist suhtlust. Peamised tootmiskontol juurutatud AWS-i teenused on Edge Manager, mis vastutab kõigi seadmeparkide haldamise, andmete kogumise ja ML-mudelite käitamise eest, ning AWS IoT Core, mis haldab IoT-objekte, sertifikaate, rollialiast ja lõpp-punkte.

Samal ajal peame ML-mudelite haldamiseks konfigureerima servaseadme teenuste ja komponentidega. Peamised komponendid on järgmised:

  • AWS IoT Greengrass V2
  • Edge Manageri agent
  • AWS IoT sertifikaadid
  • Application.py, mis vastutab järeldusprotsessi korraldamise eest (teabe hankimine servaandmete allikast ja järelduste tegemine Edge Manageri agendi ja laaditud ML-mudeli abil)
  • Ühendus Amazon S3 või Data Lake'i kontoga, et salvestada tuletatud andmeid

Automatiseeritud ML torujuhe

Nüüd, kui teate organisatsiooni ja võrdlusarhitektuuri komponentide kohta rohkem, saame sukelduda sügavamale ML-i konveierisse, mida kasutame arenduskontol ML-mudeli koostamiseks, koolitamiseks ja hindamiseks.

Torujuhe (ehitatud kasutades Amazon SageMakeri mudeliehitustorud) on omavahel seotud sammude jada, mis on määratletud JSON-i konveieri määratlusega. See konveieri määratlus kodeerib konveieri, kasutades suunatud atsüklilist graafikut (DAG). See DAG annab teavet teie konveieri iga etapi nõuete ja suhete kohta. Konveieri DAG-i struktuuri määravad sammudevahelised andmete sõltuvused. Need andmesõltuvused luuakse siis, kui sammu väljundi atribuudid edastatakse sisendina teisele sammule.

Selleks, et andmeteaduse meeskonnad saaksid hõlpsasti automatiseerida ML-mudelite uute versioonide loomist, on oluline võtta kasutusele valideerimisetapid ja automatiseeritud andmed ML-mudelite pidevaks söötmiseks ja täiustamiseks, samuti mudelite jälgimise strateegiad, mis võimaldavad torujuhtme käivitamist. Järgmine diagramm näitab torujuhtme näidet.

MLO-d äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrass PlatoBlockchain Data Intelligence'iga. Vertikaalne otsing. Ai.

Automatiseerimise ja MLOps-i võimaluste lubamiseks on oluline luua modulaarsed komponendid korduvkasutatavate koodiartefaktide loomiseks, mida saab jagada erinevate sammude ja ML-i kasutusjuhtude vahel. See võimaldab teil üleminekut automatiseerides kiiresti viia juurutamise katsetamisfaasist tootmisfaasi.

ML-i konveieri määratlemise sammud, mis võimaldavad ML-mudelite pidevat koolitust ja versioonide loomist, on järgmised:

  • Eeltöötlus – ML-algoritmi treenimiseks andmete puhastamise, funktsioonide projekteerimise ja andmekogumi loomise protsess
  • koolitus – ML-mudeli artefakti uue versiooni genereerimiseks väljatöötatud ML-algoritmi koolitamise protsess
  • Hindamine – Loodud ML-mudeli hindamisprotsess mudeli käitumisega seotud võtmemõõdikute eraldamiseks uutest andmetest, mida koolitusfaasis ei nähtud
  • Registreerimine – uue koolitatud ML-mudeli artefakti versioonide loomine, ühendades ekstraheeritud mõõdikud genereeritud artefaktiga

Lisateavet SageMakeri torujuhtme ehitamise kohta leiate järgmisest märkmik.

Käivitage CI/CD torujuhtmed EventBridge'i abil

Kui olete mudeli loomise lõpetanud, võite alustada juurutusprotsessi. Eelmises jaotises määratletud SageMakeri konveieri viimane samm registreerib mudeli uue versiooni konkreetses SageMakeri mudeliregistrirühmas. ML-mudeli uue versiooni juurutamist hallatakse mudeliregistri oleku abil. ML-mudeli versiooni käsitsi kinnitamisel või tagasilükkamisel käivitab see samm sündmuse, mille EventBridge jäädvustab. See sündmus võib seejärel käivitada uue konveieri (seekord CI/CD), et luua AWS IoT Greengrassi komponendi uus versioon, mis seejärel juurutatakse tootmiseelsetele ja tootmiskontodele. Järgmine ekraanipilt näitab meie määratletud EventBridge'i reeglit.

MLO-d äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrass PlatoBlockchain Data Intelligence'iga. Vertikaalne otsing. Ai.

See reegel jälgib mudelipakettide rühma SageMaker, otsides olekus mudelipakettide värskendusi Approved or Rejected.

EventBridge'i reegel konfigureeritakse seejärel sihtima CodePipeline'i, mis käivitab uue AWS IoT Greengrassi komponendi loomise töövoo, kasutades Amazon SageMaker Neo ja Edge Manager.

ML-mudelite optimeerimine sihtarhitektuuri jaoks

Neo võimaldab optimeerida ML-mudeleid ääreseadmetes (ja pilves) järelduste tegemiseks. See optimeerib automaatselt ML-mudeleid parema jõudluse saavutamiseks sihtarhitektuuri alusel ja eraldab mudeli algsest raamistikust, võimaldades teil seda kergel käitusajal käitada.

Vaadake järgmist märkmik näide PyTorch Resnet18 mudeli kompileerimisest Neo abil.

Looge juurutuspakett, lisades AWS IoT Greengrassi komponendi

Edge Manager võimaldab teil hallata, turvata, juurutada ja jälgida mudeleid paljudes servaseadmetes. Järgnevalt märkmik, näete lisateavet selle kohta, kuidas luua minimalistlik servaseadmete park, ja saate selle funktsiooniga katsetada.

Pärast sõidukipargi konfigureerimist ja mudeli kompileerimist peate käivitama Edge Manageri pakkimistöö, mis valmistab mudeli ette pargis juurutamiseks. Pakkimistööd saate alustada Boto3 SDK abil. Oma parameetrite jaoks kasutame optimeeritud mudelit ja mudeli metaandmeid. Lisades järgmised parameetrid OutputConfig, valmistab töö ette ka AWS IoT Greengrass V2 komponendi koos mudeliga:

  • PresetDeploymentType
  • PresetDeploymentConfig

Vaadake järgmist koodi:

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}
        ),
    }
)

Juurutage ML-mudelid mastaabis servas

Nüüd on aeg mudelit oma tippseadmete pargis kasutusele võtta. Esiteks peame tagama, et meil on vajalik olemas AWS-i identiteedi- ja juurdepääsuhaldus (AMI) Õigused et varustada meie asjade Interneti-seadmeid ja juurutada sellesse komponente. Seadmete meie asjade Interneti platvormi sisseviimiseks vajame kahte põhielementi:

  • IAM-i poliitika – See reegel võimaldab selliste seadmete automaatset ettevalmistamist, mis on ühendatud pakkumist teostava kasutaja või rolliga. Sellel peaksid olema IoT-i kirjutamisõigused IoT-asja ja -rühma loomiseks, samuti vajalike poliitikate lisamiseks seadmele. Lisateabe saamiseks vaadake Minimaalne IAM-poliitika paigaldaja jaoks ressursside varustamiseks.
  • IAM roll – see roll on seotud asjade interneti asjade ja rühmadega, mida loome. Saate luua selle rolli ettevalmistamise ajal põhiõigustega, kuid sellel puuduvad sellised funktsioonid nagu juurdepääs Amazon S3-le või AWS-i võtmehaldusteenus (AWS KMS), mida võib hiljem vaja minna. Saate selle rolli eelnevalt luua ja seadme varustamise ajal uuesti kasutada. Lisateabe saamiseks vaadake Luba põhiseadmetele AWS-iga suhtlemiseks.

AWS IoT Greengrassi installimine ja varustamine

Kui IAM-poliitika ja roll on paika pandud, oleme selleks valmis installige AWS IoT Greengrass Core tarkvara koos automaatse ressursside varumisega. Kuigi asjade Interneti ressursse on võimalik varustada käsitsi tehtud sammude järgi, on olemas mugav protseduur nende ressursside automaatseks varundamiseks AWS IoT Greengrass v2 tuuma installimise ajal. See on eelistatud valik uute seadmete kiireks platvormile lisamiseks. Pealegi default-jdk, tuleb installida ka teised paketid, nt curl, unzipja python3.

Seadme varustamise ajal peab IoT asja nimi olema täpselt sama, mis Edge Manageris määratletud servaseadmel, vastasel juhul ei salvestata andmeid sihtkoha S3 ämbrisse.

Installer saab installimise ajal luua AWS IoT Greengrassi rolli ja varjunime, kui neid pole. Kuid need luuakse minimaalsete õigustega ja teiste teenustega (nt Amazon S3) suhtlemiseks tuleb käsitsi lisada rohkem reegleid. Soovitame need IAM-i ressursid eelnevalt luua, nagu varem näidatud, ja seejärel uuesti kasutada neid kontole uute seadmete sisselülitamisel.

Mudel ja järelduskomponentide pakend

Pärast koodi väljatöötamist saame oma seadmetes komponentidena juurutada nii koodi (järeldamiseks) kui ka ML-mudeleid.

Pärast seda, kui ML-mudel on SageMakeris koolitatud, saate mudelit Neo abil optimeerida, kasutades Sagemakeri kompileerimistööd. Saadud koostatud mudeliartefaktid saab seejärel Edge Manageri pakendaja abil pakkida GreenGrass V2 komponendiks. Seejärel saab selle registreerida kohandatud komponendina Minu komponendid jaotist AWS IoT Greengrass konsooli. See komponent sisaldab juba vajalikke elutsükli käske mudeli artefakti allalaadimiseks ja lahtipakkimiseks meie seadmes, et järelduskood saaks selle üles laadida ja selle kaudu jäädvustatud kujutised saata.

Seoses järelduskoodiga peame looma komponendi, kasutades konsooli või AWS-i käsurea liides (AWS CLI). Esiteks pakime oma lähtekoodi ja vajalikud sõltuvused Amazon S3-sse. Pärast koodi üleslaadimist saame luua oma komponendi .yaml- või JSON-vormingus retsepti abil, nagu järgmine näide:

---
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

See näidisretsept näitab meie komponendi nime ja kirjeldust ning vajalikke eeltingimusi enne skripti käivitamise käsku. Retsept pakib artefakti lahti seadme töökausta keskkonnas ja me kasutame seda teed oma järelduskoodi käitamiseks. AWS CLI käsk sellise retsepti loomiseks on:

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

Nüüd näete seda komponenti, mis on loodud AWS IoT Greengrassi konsoolil.

Hoiduge asjaolust, et komponendi versioon on oluline ja see tuleb retseptifailis täpsustada. Sama versiooninumbri kordamine tagastab veateate.

Kui meie mudel ja järelduskood on komponentidena seadistatud, oleme valmis neid juurutama.

Juurutage rakendus ja mudel, kasutades AWS IoT Greengrassi

Eelmistes osades õppisite, kuidas pakendada järelduskoodi ja ML-mudeleid. Nüüd saame luua mitme komponendiga juurutuse, mis sisaldab nii komponente kui ka konfiguratsioone, mis on vajalikud meie järelduskoodiga suhtlemiseks servaseadme mudeliga.

Edge Manageri agent on komponent, mis tuleks installida igale servaseadmele, et võimaldada kõiki Edge Manageri võimalusi. SageMakeri konsoolil on meil määratletud seadmepark, millel on seotud S3 ämber. Kõik sõidukipargiga seotud servaseadmed hõivavad ja edastavad oma andmed sellele S3 teele. Agenti saab juurutada AWS IoT Greengrass v2 komponendina, mis muudab installimise ja konfigureerimise lihtsamaks kui siis, kui agent juurutataks eraldiseisvas režiimis. Agendi komponendina juurutamisel peame täpsustama selle konfiguratsiooniparameetrid, nimelt seadmepargi ja S3 tee.

Loome äsja loodud mudeli ja koodi kohandatud komponentidega juurutuskonfiguratsiooni. See seadistus on määratletud JSON-failis, mis loetleb juurutuse nime ja sihtmärgi ning juurutuse komponendid. Saame lisada ja uuendada iga komponendi konfiguratsiooniparameetreid, näiteks Edge Manageri agendis, kus määrame masinapargi nime ja ämbri.

{
    "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"
        }
    }
}

Väärib märkimist, et oleme lisanud komponentidena mitte ainult mudeli, järelduskomponendid ja agendi, vaid ka AWS IoT Greengrassi CLI ja tuuma. Esimene võib aidata siluda teatud juurutusi seadmes kohapeal. Viimane lisatakse juurutusse, et vajadusel konfigureerida vajalik võrgujuurdepääs seadmest endast (näiteks puhverserveri sätted) ja ka juhul, kui soovite teha AWS IoT Greengrass v2 tuuma OTA-uuendust. Tuum ei ole juurutatud, kuna see on seadmesse installitud, ja rakendatakse ainult konfiguratsioonivärskendus (välja arvatud juhul, kui värskendus on paigas). Juurutamiseks peame lihtsalt käivitama järgmise käsu eelmise konfiguratsiooni kohal. Ärge unustage seadistada siht-ARN-i, millele juurutus rakendatakse (IoT-asi või IoT-rühm). Neid komponente saame juurutada ka konsoolist.

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

Jälgige ja hallake ääreni juurutatud ML-mudeleid

Nüüd, kui teie rakendus töötab ääreseadmetes, on aeg mõista, kuidas sõidukiparki jälgida, et parandada juhtimist, hooldust ja nähtavust. Valige SageMakeri konsoolil Edge Manager navigeerimispaanil, seejärel valige Edge seadmepargid. Siit valige oma autopark.

MLO-d äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrass PlatoBlockchain Data Intelligence'iga. Vertikaalne otsing. Ai.

Autopargi üksikasjade lehel näete mõningaid metaandmeid mudelite kohta, mis töötavad teie sõidukipargi igas seadmes. Autopargi aruanne genereeritakse iga 24 tunni järel.

MLO-d äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrass PlatoBlockchain Data Intelligence'iga. Vertikaalne otsing. Ai.

Iga seadme Edge Agenti kaudu kogutud andmed saadetakse S3 ämbrisse json lines formaadis (JSONL). Jäädvustatud andmete saatmise protsessi juhitakse rakenduse seisukohast. Seetõttu võite vabalt otsustada, kas neid andmeid saata, kuidas ja kui sageli.

MLO-d äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrass PlatoBlockchain Data Intelligence'iga. Vertikaalne otsing. Ai.

Saate neid andmeid kasutada paljude asjade jaoks, näiteks andmete triivi ja mudeli kvaliteedi jälgimiseks, uue andmekogumi loomiseks, andmejärve rikastamiseks ja muuks. Lihtne näide nende andmete kasutamisest on siis, kui tuvastate andmete triivi selles, kuidas kasutajad teie rakendusega suhtlevad, ja teil on vaja välja õpetada uus mudel. Seejärel loote jäädvustatud andmetega uue andmestiku ja kopeerite selle tagasi arenduskontole. See võib automaatselt käivitada teie keskkonna uue käitamise, mis loob uue mudeli ja paigutab selle ümber kogu sõidukiparki, et säilitada juurutatud lahenduse jõudlus.

Järeldus

Sellest postitusest õppisite, kuidas luua AWS-i teenuste abil terviklik lahendus, mis ühendab MLOps ja ML@Edge. Sellise lahenduse loomine ei ole triviaalne, kuid loodame, et selles postituses esitatud võrdlusarhitektuur võib inspireerida ja aidata teil luua oma äriprobleemide jaoks kindla arhitektuuri. Võite kasutada ka ainult selle arhitektuuri osi või mooduleid, mis integreeruvad teie olemasoleva MLOps-keskkonnaga. Prototüüpides ühe mooduli korraga ja kasutades sobivaid AWS-teenuseid selle väljakutse iga osa lahendamiseks, saate õppida, kuidas luua tugevat MLOps-keskkonda ja lihtsustada veelgi lõplikku arhitektuuri.

Järgmise sammuna soovitame teil proovida Sagemaker Edge Manageri, et hallata oma ML-i serva elutsüklil. Edge Manageri toimimise kohta lisateabe saamiseks vt Juurutage mudelid servades SageMaker Edge Manageriga .


Autoritest

MLO-d äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrass PlatoBlockchain Data Intelligence'iga. Vertikaalne otsing. Ai.Bruno Pistone on Milanos asuv AWS-i AI/ML-i spetsialistilahenduste arhitekt. Ta töötab igas suuruses klientidega, et aidata neil oma tehnilisi vajadusi põhjalikult mõista ning kavandada tehisintellekti ja masinõppe lahendusi, mis kasutavad parimal viisil ära AWS-i pilve ja Amazoni masinõppe pinu. Tema valdkonnad on masinõpe otsast lõpuni, masinõppe industrialiseerimine ja MLOps. Talle meeldib veeta aega oma sõpradega ja avastada uusi kohti, samuti reisida uutesse sihtkohtadesse.

MLO-d äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrass PlatoBlockchain Data Intelligence'iga. Vertikaalne otsing. Ai.Matteo Calabrese on AI/ML-i klientide kohaletoimetamise arhitekt AWS-i professionaalsete teenuste meeskonnas. Ta töötab EMEA suurettevõtetega AI/ML projektide kallal, aidates neil ML-i tootmise töökoormust pakkuda, kavandada, tarnida, skaleerida ja optimeerida. Tema põhiteadmised on ML-operatsioon (MLOps) ja masinõpe Edge'is. Tema eesmärk on lühendada nende aega, et väärtustada ja kiirendada äritulemusi, pakkudes AWS-i parimaid tavasid. Vabal ajal meeldib talle matkata ja reisida.

MLO-d äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrass PlatoBlockchain Data Intelligence'iga. Vertikaalne otsing. Ai.Raúl Díaz García on AWS-i professionaalsete teenuste meeskonna vanem andmeteadlane. Ta töötab suurettevõtete klientidega üle EMEA, kus ta aitab neil võimaldada arvutinägemise ja masinõppega seotud lahendusi asjade Interneti-ruumis.

MLO-d äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrass PlatoBlockchain Data Intelligence'iga. Vertikaalne otsing. Ai.Sokratis Kartakis on Amazoni veebiteenuste vanemõppespetsialisti lahenduste arhitekt. Sokratis keskendub sellele, et võimaldada ettevõtetel klientidel oma masinõppe (ML) lahendusi industrialiseerida, kasutades AWS-i teenuseid ja kujundades oma tegevusmudelit, st MLOps-i vundamenti, ja transformatsiooni tegevuskava, kasutades parimaid arendustavasid. Ta on veetnud üle 15 aasta, et leiutada, kavandada, juhtida ja juurutada uuenduslikke täistootmise tasemel ML ja asjade Interneti (IoT) lahendusi energeetika, jaemüügi, tervishoiu, rahanduse/panganduse, motospordi jne valdkondades. Sokratisele meeldib veeta oma vaba aega pere ja sõpradega või mootorrattaga sõites.

MLO-d äärel Amazon SageMaker Edge Manageri ja AWS IoT Greengrass PlatoBlockchain Data Intelligence'iga. Vertikaalne otsing. Ai.Samir Araújo on AWS-i AI/ML-lahenduste arhitekt. Ta aitab klientidel luua AI/ML-lahendusi, mis lahendavad AWS-i abil nende äriprobleeme. Ta on töötanud mitme AI/ML projekti kallal, mis on seotud arvutinägemise, loomuliku keele töötlemise, prognoosimise, ML ääres ja muuga. Talle meeldib vabal ajal mängida riistvara- ja automaatikaprojektidega ning ta tunneb erilist huvi robootika vastu.

Ajatempel:

Veel alates AWS-i masinõpe