Aastal 2019 asutas Amazon selle kliimapant. Lubaduse eesmärk on saavutada 2040. aastaks süsinikupuhastus. See on 10 aastat varem kui Pariisi kokkuleppes ette nähtud. Registreeruvad ettevõtted on pühendunud regulaarsele aruandlusele, süsinikdioksiidi kõrvaldamisele ja usaldusväärsetele kompensatsioonidele. Selle kirjutamise ajal on kliimatõotuse allkirjastanud 377 ettevõtet ja nende arv kasvab endiselt.
Kuna AWS on pühendunud sellele, et aidata teil pilvelahenduste ja masinõppe (ML) kaudu saavutada nullpuhastuse, on juba välja töötatud ja kasutusele võetud palju süsinikdioksiidi heitkoguseid vähendavaid projekte. Tootmine on üks tööstusharudest, mis võib sellistest projektidest palju kasu saada. Tootmistehastes olevate masinate (nt kompressorid või jahutid) optimeeritud energiahalduse kaudu saavad ettevõtted ML abil oma süsiniku jalajälge vähendada.
Tõhus üleminek ML-i katsetamise etapist tootmisele on keeruline. Mudelite väljaõppe ja ümberõppe automatiseerimine, mudeliregistri omamine ning katsete ja juurutamise jälgimine on mõned peamised väljakutsed. Tootmisettevõtete jaoks on veel üks keerukuse kiht, nimelt see, kuidas need kasutusele võetud mudelid saavad serval töötada.
Selles postituses käsitleme neid väljakutseid, pakkudes masinõppeoperatsioonide (MLOps) malli, mis sisaldab säästvat energiahalduslahendust. Lahendus on kasutusjuhtumite suhtes agnostiline, mis tähendab, et saate seda mudelit ja andmeid muutes oma kasutusjuhtudele kohandada. Näitame teile, kuidas mudeleid integreerida Amazon SageMakeri torujuhtmed, loomulik töövoo orkestreerimistööriist ML-konveierite ehitamiseks, mis teostab koolitustööd ja valikuliselt töötlemistööd Monte Carlo simulatsiooniga. Katseid jälgitakse Amazon SageMakeri katsed. Mudeleid jälgitakse ja registreeritakse Amazon SageMakeri mudeliregister. Lõpuks pakume koodi teie lõpliku mudeli juurutamiseks AWS Lambda funktsiooni.
Lambda on arvutusteenus, mis võimaldab teil koodi käitada ilma servereid haldamata või varustamiseta. Lambda automaatne skaleerimine, makse-päringu arveldamine ja kasutuslihtsus muudavad selle andmeteadusmeeskondade jaoks tavaliseks kasutuselevõtuvalikuks. Selle postitusega saavad andmeteadlased muuta oma mudeli kulutõhusaks ja skaleeritavaks lambdafunktsiooniks. Lisaks võimaldab Lambda integreerida AWS IoT Greengrass, mis aitab teil luua tarkvara, mis võimaldab teie seadmetel nende genereeritud andmete põhjal tegutseda, nagu see oleks säästva energiahalduslahenduse puhul.
Lahenduse ülevaade
Meie juurutatud arhitektuur (vt järgmist joonist) on täielikult CI/CD-põhine masinõppe lähenemisviis. Elemendid on lahti ühendatud, et vältida ühe monoliitse lahenduse tekkimist.
Alustame diagrammi vasakpoolsest ülaosast. The Töötlemine – pildi koostamine komponent on CI/CD-ajamiga AWS CodeCommit hoidla, mis aitab luua ja lükata a laevalaadija konteinerisse Amazoni elastsete konteinerite register (Amazon ECR). See töötlemiskonteiner toimib meie ML-konveieri esimese sammuna, kuid seda kasutatakse uuesti ka järeltöötlusetappideks. Meie puhul rakendame järeltöötlusena Monte Carlo simulatsiooni. The Koolitus – pildi loomine vasakus allnurgas kujutatud hoidlal on sama mehhanism nagu Töötlemine blokk selle kohal. Peamine erinevus seisneb selles, et see ehitab mudelitreeningu konteineri.
Peamine torujuhe, Mudeli ehitamine (torujuhe), on veel üks CodeCommiti hoidla, mis automatiseerib teie SageMakeri torujuhtmete käitamise. See konveier automatiseerib ja ühendab andmete eeltöötluse, mudelikoolituse, mudelimõõdikute jälgimise SageMaker Experimentsis, andmete järeltöötluse ja mudelite kataloogimise SageMakeri mudeliregistris.
Lõplik komponent asub all paremal: Mudeli juurutamine. Kui järgite toodud näiteid Amazon SageMakeri projektid, saate malli, mis majutab teie mudelit, kasutades SageMakeri lõpp-punkti. Selle asemel majutab meie juurutushoidla mudelit Lambda funktsioonis. Näitame lähenemisviisi Lambda funktsiooni juurutamiseks, mis suudab käivitada reaalajas prognoose.
Eeldused
Meie lahenduse edukaks juurutamiseks vajate järgmist.
Laadige alla GitHubi hoidla
Esimese sammuna kloonige GitHubi hoidla oma kohalikule masinale. See sisaldab järgmist kaustastruktuuri:
- kasutuselevõtu – Sisaldab juurutamiseks asjakohast koodi
- mllib — Sisaldab ML-koodi eeltöötluseks, treenimiseks, serveerimiseks ja simuleerimiseks
- testid — Sisaldab ühiku- ja integratsiooniteste
Juurutamise võtmefail on kestaskript deployment/deploy.sh
. Kasutate seda faili oma konto ressursside juurutamiseks. Enne kestaskripti käivitamist täitke järgmised sammud.
- avage
deployment/app.py
ja muutke all olevat kopa_nimiSageMakerPipelineSourceCodeStack
.bucket_name
peab olema globaalselt unikaalne (näiteks lisage oma täisnimi). - In
deployment/pipeline/assets/modelbuild/pipelines/energy_management/pipeline.py
, muudadefault_bucket
allget_pipeline
samale nimele, mis on määratletud sammus 1.
Juurutage lahendus koos AWS CDK-ga
Esiteks konfigureerige oma AWS-i CLI konto ja piirkonnaga, mida soovite juurutada. Seejärel käivitage järgmised käsud, et minna juurutamise kataloogi, luua virtuaalne keskkond, aktiveerida see, installida vajalikud pip-paketid, mis on määratud setup.py
ja käivitage deploy.sh
:
deploy.sh
teostab järgmisi toiminguid:
- Loob Pythonis virtuaalse keskkonna.
- Pärib virtuaalse keskkonna aktiveerimisskripti.
- Installib AWS CDK ja selles kirjeldatud nõuded
setup.py
. - Saapapaelad keskkond.
- Pakub ja kopeerib teie arendatud vajalikud failid, näiteks teie
mllib
failid vastavatesse kaustadesse, kus neid varasid vaja on. - Jookseb
cdk deploy —require-approval never
. - Loob an AWS CloudFormation virna läbi AWS CDK.
Kasutuselevõtu esialgne etapp peaks kesta vähem kui 5 minutit. Nüüd peaks teil olema CodeCommitis neli hoidlat piirkonnas, mille määrasite AWS-i CLI kaudu, nagu on kirjeldatud arhitektuuriskeemil. The AWS CodePipeline torujuhtmeid juhitakse samaaegselt. The modelbuild
ja modeldeploy
konveierid sõltuvad kujutise töötlemise ja koolituse edukast käivitamisest. The modeldeploy
torujuhe sõltub edukast mudeli ehitamisest. Mudeli kasutuselevõtt peaks lõppema vähem kui 1.5 tunniga.
Kloonige mudelihoidlad Studios
Studio kasutajaliideses AWS CDK juurutamise kaudu loodud SageMakeri torujuhtmete kohandamiseks peate esmalt hoidlad Studiosse kloonima. Käivitage Studios süsteemiterminal ja käivitage pärast projekti nime ja ID sisestamist järgmised käsud:
Pärast hoidlate kloonimist saate andmehoidlatele kohustuse lükata. Need kohustused käivitavad seotud torujuhtmete jaoks CodePipeline'i käitamise.
Samuti saate kohandada lahendust oma kohalikus masinas ja töötada oma eelistatud IDE-ga.
Navigeerige SageMakeri torujuhtmete ja SageMakeri katsete kasutajaliideses
SageMakeri konveier on rida omavahel ühendatud etappe, mis on määratletud kasutades Amazon SageMaker Python SDK. See konveieri määratlus kodeerib konveieri, kasutades suunatud atsüklilist graafikut (DAG), mida saab eksportida JSON-i definitsioonina. Selliste torujuhtmete struktuuri kohta lisateabe saamiseks vaadake SageMakeri torujuhtmete ülevaade.
Liigu SageMakeri ressursid paan ja valige vaatamiseks torujuhtmete ressurss. Under Nimi, peaksite nägema PROJECT_NAME-PROJECT_ID
. Käitusliideses peaks toimuma edukas jooks, mis eeldatavalt võtab aega veidi üle 1 tunni. Torujuhe peaks välja nägema selline, nagu on näidatud järgmisel ekraanipildil.
Käitus käivitati automaatselt pärast AWS CDK-virna juurutamist. Käitamise saate käsitsi käivitada, valides Looma hukkamine. Sealt saate valida oma konveieri parameetrid, nagu näiteks eksemplari tüüp ja eksemplaride arv töötlemise ja koolituse etappide jaoks. Lisaks saate anda jooksule nime ja kirjelduse. Konveier on väga konfigureeritav konveieri parameetrite kaudu, millele saate kogu oma konveieri määratluses viidata ja määratleda.
Soovi korral võite alustada teist torujuhtme käitamist oma parameetritega. Seejärel navigeerige lehele SageMakeri ressursid paan uuesti ja valige Katsed ja katsed. Seal peaksite jälle nägema rida, mille nimi on näiteks PROJECT_NAME-PROJECT_ID
. Liikuge katsele ja valige ainus juhusliku ID-ga käitamine. Sealt vali SageMakeri koolitustöö, et tutvuda koolitustööga seotud mõõdikutega.
Programmi SageMaker Experiments eesmärk on teha katsete loomine, nende katsetamine ning katsete ja katsete lõikes analüüsi tegemine võimalikult lihtsaks. SageMakeri torujuhtmed on tihedalt integreeritud SageMakeri katsetega ja loovad vaikimisi iga käitamise jaoks katse, prooviversiooni ja proovikomponendid, kui neid ei eksisteeri.
Kinnitage Lambda juurutamine mudeliregistris
Järgmise sammuna liikuge allolevasse mudeliregistrisse SageMakeri ressursid. Siit leiate taas rea, mille nimi on nagu PROJECT_NAME-PROJECT_ID
. Liikuge ainsa olemasoleva mudeli juurde ja kinnitage see. See juurutab mudeli artefakti automaatselt Lambda konteineris.
Pärast mudeli kinnitamist mudeliregistris, a Amazon EventBridge sündmuse reegel käivitub. See reegel käivitab CodePipeline'i torujuhtme lõpuga *-modeldeploy
. Selles jaotises käsitleme, kuidas see lahendus heakskiidetud mudelit kasutab ja seda lambdafunktsioonis hostib. CodePipeline võtab olemasoleva CodeCommiti hoidla, mis lõpeb samuti *-modeldeploy
ja kasutab seda koodi CodeBuildis käitamiseks. CodeBuildi peamine kirje on buildspec.yml
faili. Vaatame kõigepealt seda:
Installimisetapis tagame Pythoni teekide ajakohasuse, loome virtuaalse keskkonna, installime AWS CDK v2.26.0 ja installime aws-cdk
Pythoni teek koos teistega, kes kasutavad nõuete faili. Meil ka AWS-i konto alglaadimine. Ehitamisetapis jookseme build.py
, mida arutame järgmisena. See fail laadib saidilt alla uusima kinnitatud SageMakeri mudeliartefakti Amazoni lihtne salvestusteenus (Amazon S3) kohalikule CodeBuildi eksemplarile. See .tar.gz
fail pakitakse lahti ja selle sisu kopeeritakse kausta, mis sisaldab ka meie peamist Lambda koodi. Lambda funktsioon juurutatakse AWS CDK abil ja kood saab Amazon ECR-i Dockeri konteinerist otsa. Seda teeb AWS CDK automaatselt.
. build.py
fail on Pythoni fail, mis enamasti kasutab AWS SDK Pythoni jaoks (Boto3) saadaolevate mudelipakettide loetlemiseks.
funktsioon get_approved_package
tagastab artefakti Amazon S3 URI, mis seejärel alla laaditakse, nagu varem kirjeldatud.
Pärast mudeli edukat juurutamist saate seda teha test see otse Lambda konsoolil piirkonnas, mille valisite juurutamiseks. Funktsiooni nimi peaks sisaldama DigitalTwinStack-DigitalTwin*
. Avage funktsioon ja navigeerige test sakk. Testkõne käivitamiseks saate kasutada järgmist sündmust.
Pärast testsündmuse käivitamist saate järgmise ekraanipildiga sarnase vastuse.
Kui soovite käivitada rohkem simulatsioone või katseid, saate Lambda ajalõpu limiiti suurendada ja koodiga katsetada! Või soovite koguda loodud andmed ja visualiseerida neid Amazon QuickSight. Allpool on näide. Nüüd on sinu kord!
Koristage
Edasiste tasude vältimiseks toimige järgmiselt.
- Kustutage AWS CloudFormationi konsoolis
EnergyOptimization
virn.
See kustutab kogu lahenduse. - Kustutage virn
DigitalTwinStack
, mis juurutas teie lambda funktsiooni.
Järeldus
Selles postituses näitasime teile energiahalduslahenduse CI/CD-põhist MLOps-i torustikku, kus me hoiame iga sammu lahti. Stuudio kasutajaliideses saate jälgida oma ML-konveierte ja katseid. Samuti demonstreerisime teistsugust juurutamisviisi: pärast mudeli kinnitamist mudeliregistris ehitatakse CodePipeline'i kaudu automaatselt heakskiidetud mudelit hostiv Lambda-funktsioon.
Kui olete huvitatud MLOps torujuhtme uurimisest AWS-is või säästva energiahalduslahenduse kohta, vaadake GitHubi hoidla ja juurutage virn oma AWS-i keskkonnas!
Autoritest
Laurens van der Maas on AWS Professional Servicesi andmeteadlane. Ta teeb tihedat koostööd klientidega, kes loovad oma masinõppelahendusi AWS-is, ja tunneb kirglikult, kuidas masinõpe muudab maailma sellisel kujul, nagu me seda teame.
Kangkang Wang on AWS Professional Services AI/ML konsultant. Tal on ulatuslik kogemus AI/ML-lahenduste juurutamisel tervishoiu- ja bioteaduste vertikaalvaldkonnas. Samuti meeldib talle aidata ettevõtetel klientidel luua skaleeritavaid AI/ML-platvorme, et kiirendada nende andmeteadlaste pilveteekonda.
Selena Tabbara on AWS Professional Servicesi andmeteadlane. Ta töötab iga päev oma klientidega, et saavutada AWS-i platvormidel uuendusi nende äritulemusi. Vabal ajal meeldib Selenale klaverit mängida, matkata ja korvpalli vaadata.
Michael Wallner on vanemkonsultant, kes keskendub tehisintellektile/ML-ile koos AWS-i professionaalsete teenustega. Michael soovib kirglikult võimaldada klientidel nende pilveteekonnal saada AWSome'iks. Ta on tootmisest põnevil ja talle meeldib aidata andmete kaudu tootmisruumi muuta.
- AI
- ai kunst
- ai kunsti generaator
- on robot
- Amazoni masinõpe
- Amazon SageMaker
- Amazon SageMakeri autopiloot
- tehisintellekti
- tehisintellekti sertifikaat
- tehisintellekt panganduses
- tehisintellekti robot
- tehisintellekti robotid
- tehisintellekti tarkvara
- AWS-i masinõpe
- blockchain
- plokiahela konverents ai
- coingenius
- vestluslik tehisintellekt
- krüptokonverents ai
- dall's
- sügav õpe
- google ai
- masinõpe
- tootmine
- Platon
- plato ai
- Platoni andmete intelligentsus
- Platoni mäng
- PlatoData
- platogaming
- skaala ai
- Jätkusuutlikkus
- süntaks
- sephyrnet