Vuonna 2019 Amazon oli mukana perustamassa ilmastonmuutosvelvollisuus. Lupauksen tavoitteena on saavuttaa hiilidioksidipäästöt vuoteen 2040 mennessä. Tämä on 10 vuotta aikaisemmin kuin Pariisin sopimuksessa hahmotellaan. Rekisteröityneet yritykset ovat sitoutuneet säännölliseen raportointiin, hiilidioksidipäästöjen poistamiseen ja uskottaviin korvauksiin. Tätä kirjoitettaessa 377 yritystä on allekirjoittanut ilmastositoumuksen, ja määrä kasvaa edelleen.
Koska AWS on sitoutunut auttamaan sinua saavuttamaan nettonollatavoitteesi pilviratkaisujen ja koneoppimisen (ML) avulla, monia hiilidioksidipäästöjä vähentäviä projekteja on jo kehitetty ja otettu käyttöön. Valmistus on yksi aloista, joka voi hyötyä suuresti tällaisista hankkeista. Tehtaiden koneiden, kuten kompressorien tai jäähdyttimien, optimoidun energianhallinnan avulla yritykset voivat pienentää hiilijalanjälkeään ML:llä.
Tehokas siirtyminen ML-kokeiluvaiheesta tuotantoon on haastavaa. Mallin koulutuksen ja uudelleenkoulutuksen automatisointi, mallirekisterin pitäminen sekä kokeilujen ja käyttöönoton seuranta ovat joitakin keskeisiä haasteita. Valmistusyrityksille on toinenkin monimutkainen kerros, nimittäin se, kuinka nämä käyttöönotetut mallit voivat toimia reunalla.
Tässä viestissä käsittelemme näitä haasteita tarjoamalla koneoppimistoimintojen (MLOps) mallin, joka sisältää kestävän energianhallintaratkaisun. Ratkaisu on agnostinen käyttötapauksille, mikä tarkoittaa, että voit mukauttaa sen käyttötapauksiin muuttamalla mallia ja tietoja. Näytämme sinulle kuinka integroida malleja Amazon SageMaker -putkistot, natiivi työnkulun organisointityökalu ML-putkien rakentamiseen, joka suorittaa koulutustyön ja valinnaisesti käsittelytyön Monte Carlo -simulaatiolla. Kokeita seurataan Amazon SageMaker -kokeilut. Malleja seurataan ja rekisteröidään Amazon SageMaker -mallirekisteri. Lopuksi tarjoamme koodin lopullisen mallisi käyttöönottoa varten AWS Lambda toiminto.
Lambda on laskentapalvelu, jonka avulla voit suorittaa koodia ilman palvelimien hallintaa tai provisiointia. Lambdan automaattinen skaalaus, pay-per-request -laskutus ja helppokäyttöisyys tekevät siitä yleisen käyttöönottovaihtoehdon datatieteen ryhmille. Tämän postauksen avulla datatutkijat voivat muuttaa mallinsa kustannustehokkaaksi ja skaalautuvaksi lambda-funktioksi. Lisäksi Lambda mahdollistaa integroinnin AWS IoT Vihreä ruoho, jonka avulla voit rakentaa ohjelmistoja, joiden avulla laitteesi voivat toimia tuottamiensa tietojen parhaalla tasolla, kuten kestävän energianhallintaratkaisun tapauksessa.
Ratkaisun yleiskatsaus
Käyttämämme arkkitehtuuri (katso seuraava kuva) on täysin CI/CD-ohjattu lähestymistapa koneoppimiseen. Elementit on erotettu toisistaan yhden monoliittisen ratkaisun välttämiseksi.
Aloitetaan kaavion vasemmasta yläkulmasta. The Käsittely – Kuvan rakentaminen komponentti on CI/CD-ohjattu AWS CodeCommit arkisto, joka auttaa rakentamaan ja työntämään a Satamatyöläinen säiliöön Amazonin elastisten säiliörekisteri (Amazon ECR). Tämä käsittelysäiliö toimii ensimmäisenä vaiheena ML-prosessissamme, mutta sitä käytetään myös uudelleen jälkikäsittelyvaiheisiin. Meidän tapauksessamme käytämme Monte Carlo -simulaatiota jälkikäsittelynä. The Koulutus – Kuvan rakentaminen vasemmassa alakulmassa hahmotetulla arkistolla on sama mekanismi kuin Käsittely lohko sen yläpuolella. Suurin ero on, että se rakentaa kontin mallikoulutukseen.
Pääputki, Mallin rakentaminen (Pupeline), on toinen CodeCommit-arkisto, joka automatisoi SageMaker-putkien suorittamisen. Tämä putki automatisoi ja yhdistää tietojen esikäsittelyn, mallikoulutuksen, mallimittojen seurannan SageMaker Experimentsissa, tietojen jälkikäsittelyn ja malliluettelon SageMaker-mallirekisterissä.
Lopullinen komponentti on oikeassa alakulmassa: Mallin käyttöönotto. Jos noudatat esimerkkejä Amazon SageMaker -projektit, saat mallin, joka isännöi malliasi SageMaker-päätepisteen avulla. Käyttöönottovarastomme isännöi mallia sen sijaan Lambda-funktiossa. Näytämme lähestymistavan Lambda-toiminnon käyttöönottamiseksi, joka voi suorittaa reaaliaikaisia ennusteita.
Edellytykset
Jotta voit ottaa ratkaisumme käyttöön onnistuneesti, tarvitset seuraavat:
Lataa GitHub-arkisto
Ensimmäisenä vaiheena kloonaa GitHub-arkisto paikalliseen koneeseen. Se sisältää seuraavan kansiorakenteen:
- käyttöönotto – Sisältää käyttöönoton kannalta merkityksellisen koodin
- mllib — Sisältää ML-koodin esikäsittelyä, koulutusta, tarjoilua ja simulointia varten
- testit — Sisältää yksikkö- ja integrointitestit
Käyttöönoton avaintiedosto on shell-skripti deployment/deploy.sh
. Käytät tätä tiedostoa tilisi resurssien käyttöönottoon. Ennen kuin voimme suorittaa shell-skriptin, suorita seuraavat vaiheet:
- Avaa
deployment/app.py
ja muuta ämpärin_nimi allaSageMakerPipelineSourceCodeStack
.bucket_name
on oltava maailmanlaajuisesti ainutlaatuinen (lisää esimerkiksi koko nimesi). - In
deployment/pipeline/assets/modelbuild/pipelines/energy_management/pipeline.py
, muutadefault_bucket
vartenget_pipeline
samalle nimelle kuin vaiheessa 1.
Ota ratkaisu käyttöön AWS CDK:n kanssa
Ensimmäinen, määritä AWS CLI tilin ja alueen kanssa, jossa haluat ottaa käyttöön. Suorita sitten seuraavat komennot vaihtaaksesi käyttöönottohakemistoon, luodaksesi virtuaalisen ympäristön, aktivoidaksesi sen ja asentaaksesi tarvittavat pip-paketit, jotka on määritetty kohdassa setup.py
ja suorita deploy.sh
:
deploy.sh
suorittaa seuraavat toiminnot:
- Luo virtuaalisen ympäristön Pythonissa.
- Lähteet virtuaaliympäristön aktivointikomentosarjan.
- Asentaa AWS CDK:n ja siinä esitetyt vaatimukset
setup.py
. - Saappaat ympäristö.
- Pakkaa ja kopioi tarvittavat kehittämäsi tiedostot, kuten sinun
mllib
tiedostot vastaaviin kansioihin, joissa näitä resursseja tarvitaan. - Toimii
cdk deploy —require-approval never
. - Luo AWS-pilven muodostuminen pinoa AWS CDK:n kautta.
Käyttöönoton alkuvaiheen tulisi kestää alle 5 minuuttia. Sinulla pitäisi nyt olla neljä arkistoa CodeCommitissa alueella, jonka määritit AWS CLI:n kautta, kuten arkkitehtuurikaaviossa on kuvattu. The AWS-koodiputki putkia ajetaan samanaikaisesti. The modelbuild
ja modeldeploy
putkilinjat riippuvat käsittelyn ja koulutuksen kuvanmuodostuksen onnistumisesta. The modeldeploy
putkisto riippuu onnistuneesta mallin rakentamisesta. Mallin käyttöönoton pitäisi olla valmis alle 1.5 tunnissa.
Kloonaa mallivarastot Studiossa
Jos haluat mukauttaa AWS CDK:n käyttöönoton avulla Studio-käyttöliittymässä luotuja SageMaker-putkistoja, sinun on ensin kloonattava arkistot Studioon. Käynnistä järjestelmäpääte Studiossa ja suorita seuraavat komennot, kun olet antanut projektin nimen ja tunnuksen:
Arkiston kloonauksen jälkeen voit työntää arkistoihin sitoutumisen. Nämä sitoumukset käynnistävät CodePipeline-ajon asiaan liittyville liukuhihnaille.
Voit myös muokata ratkaisua paikallisella koneellasi ja työstää haluamaasi IDE:tä.
Navigoi SageMaker Pipelines- ja SageMaker Experiments -käyttöliittymässä
SageMaker-liukuhihna on sarja toisiinsa liittyviä vaiheita, jotka määritetään käyttämällä Amazon SageMaker Python SDK. Tämä liukuhihnan määritelmä koodaa liukuhihnan käyttämällä suunnattua asyklistä kuvaajaa (DAG), joka voidaan viedä JSON-määritelmänä. Lisätietoja tällaisten putkien rakenteesta on kohdassa SageMaker-putkien yleiskatsaus.
Navigoida johonkin SageMaker-resurssit -ruutu ja valitse tarkasteltava putkilinjaresurssi. Alla Nimi, sinun pitäisi nähdä PROJECT_NAME-PROJECT_ID
. Ajon käyttöliittymässä pitäisi olla onnistunut ajo, jonka odotetaan kestävän hieman yli 1 tunnin. Liukulinjan pitäisi näyttää seuraavan kuvakaappauksen mukaiselta.
Ajo käynnistyi automaattisesti, kun AWS CDK -pino oli otettu käyttöön. Voit käynnistää ajon manuaalisesti valitsemalla luoda teloitus. Sieltä voit valita omat liukuhihnaparametrisi, kuten ilmentymän tyypin ja esiintymien lukumäärän käsittely- ja koulutusvaiheita varten. Lisäksi voit antaa juoksulle nimen ja kuvauksen. Liukulinja on hyvin konfiguroitavissa liukuhihnaparametreilla, joihin voit viitata ja joita voit määrittää koko liukuhihnan määrittelyssäsi.
Voit vapaasti aloittaa toisen putkiajon parametreillasi haluamallasi tavalla. Siirry sen jälkeen kohtaan SageMaker-resurssit ruutu uudelleen ja valitse Kokeita ja kokeita. Siellä sinun pitäisi nähdä jälleen rivi, jolla on nimi, kuten PROJECT_NAME-PROJECT_ID
. Siirry kokeiluun ja valitse ainoa ajo, jossa on satunnainen tunnus. Valitse sieltä SageMaker-koulutustyö tutkiaksesi koulutustyöhön liittyviä mittareita.
SageMaker Experimentsin tavoitteena on tehdä kokeiden luomisesta, niiden täyttämisestä kokeiluilla ja analytiikan suorittamisesta mahdollisimman yksinkertaista. SageMaker-putkistot on integroitu tiiviisti SageMaker Experimentsin kanssa, ja oletuksena jokaiselle ajolle luodaan kokeilu-, kokeilu- ja kokeilukomponentit, jos niitä ei ole olemassa.
Hyväksy Lambdan käyttöönotto mallirekisterissä
Siirry seuraavana vaiheena alla olevaan mallirekisteriin SageMaker-resurssit. Täältä löydät jälleen rivin, jonka nimi on esim PROJECT_NAME-PROJECT_ID
. Siirry ainoaan olemassa olevaan malliin ja hyväksy se. Tämä ottaa malliartefaktin automaattisesti käyttöön säilössä Lambdassa.
Kun olet hyväksynyt mallisi mallirekisterissä, an Amazon EventBridge tapahtumasääntö laukeaa. Tämä sääntö suorittaa CodePipeline-liukuhihnan päätteellä *-modeldeploy
. Tässä osiossa keskustelemme siitä, kuinka tämä ratkaisu käyttää hyväksyttyä mallia ja isännöi sitä Lambda-funktiossa. CodePipeline ottaa olemassa olevan CodeCommit-arkiston, joka myös päättyy *-modeldeploy
ja käyttää tätä koodia toimiakseen CodeBuildissa. CodeBuildin päämerkintä on buildspec.yml
tiedosto. Katsotaanpa ensin tätä:
Asennusvaiheessa varmistamme, että Python-kirjastot ovat ajan tasalla, luomme virtuaalisen ympäristön, asennamme AWS CDK v2.26.0:n ja asennamme aws-cdk
Python-kirjasto yhdessä muiden vaatimusten tiedostoa käyttävien kanssa. Me myös käynnistä AWS-tili. Rakennusvaiheessa juoksemme build.py
, josta keskustelemme seuraavaksi. Tämä tiedosto lataa viimeisimmän hyväksytyn SageMaker-malliartefaktin osoitteesta Amazonin yksinkertainen tallennuspalvelu (Amazon S3) paikalliseen CodeBuild-instanssiin. Tämä .tar.gz
tiedosto puretaan ja sen sisältö kopioidaan kansioon, joka sisältää myös päälambdakoodimme. Lambda-toiminto otetaan käyttöön AWS CDK:n avulla, ja koodi loppuu Amazon ECR:n Docker-säiliöstä. AWS CDK tekee tämän automaattisesti.
- build.py
tiedosto on Python-tiedosto, joka käyttää enimmäkseen AWS SDK Pythonille (Boto3) luetellaksesi saatavilla olevat mallipaketit.
Toiminto get_approved_package
palauttaa artefaktin Amazon S3 URI:n, joka sitten ladataan, kuten aiemmin on kuvattu.
Kun mallisi on otettu käyttöön onnistuneesti, voit testi se suoraan Lambda-konsolissa alueella, jolla valitsit käyttöönoton. Toiminnon nimen tulee sisältää DigitalTwinStack-DigitalTwin*
. Avaa toiminto ja siirry kohtaan Testi -välilehti. Voit käyttää testipuhelun suorittamiseen seuraavaa tapahtumaa:
Testitapahtuman suorittamisen jälkeen saat seuraavan kuvakaappauksen kaltaisen vastauksen.
Jos haluat suorittaa lisää simulaatioita tai kokeita, voit suurentaa Lambdan aikakatkaisurajaa ja kokeilla koodia! Tai saatat haluta poimia luodut tiedot ja visualisoida ne Amazon QuickSight. Alla on esimerkki. Nyt on sinun vuorosi!
Puhdistaa
Vältä lisäveloitukset suorittamalla seuraavat vaiheet:
- Poista AWS CloudFormation -konsolista
EnergyOptimization
pino.
Tämä poistaa koko ratkaisun. - Poista pino
DigitalTwinStack
, joka otti käyttöön lambda-toiminnon.
Yhteenveto
Tässä viestissä näytimme sinulle energianhallintaratkaisun CI/CD-ohjatun MLOps-putken, jossa pidämme jokaisen vaiheen erotettuna. Voit seurata ML-putkia ja kokeiluja Studion käyttöliittymässä. Esitimme myös erilaisen käyttöönottotavan: kun malli on hyväksytty mallirekisteriin, hyväksyttyä mallia isännöivä Lambda-toiminto rakennetaan automaattisesti CodePipelinen kautta.
Jos olet kiinnostunut tutkimaan joko AWS:n MLOps-putkistoa tai kestävää energianhallintaratkaisua, tutustu GitHub-arkisto ja ota pino käyttöön omassa AWS-ympäristössäsi!
Tietoja Tekijät
Laurens van der Maas on tietotutkija AWS Professional Services -palvelussa. Hän työskentelee tiiviisti asiakkaiden kanssa, jotka rakentavat koneoppimisratkaisujaan AWS:llä, ja on intohimoinen siitä, kuinka koneoppiminen muuttaa maailmaa sellaisena kuin me sen tunnemme.
Kangkang Wang on AI/ML-konsultti AWS Professional Services -palvelussa. Hänellä on laaja kokemus AI/ML-ratkaisujen käyttöönotosta terveydenhuollon ja biotieteiden alalla. Hän haluaa myös auttaa yritysasiakkaita rakentamaan skaalautuvia AI/ML-alustoja datatieteilijöiden pilvimatkan nopeuttamiseksi.
Selena Tabbara on tietotutkija AWS Professional Services -palvelussa. Hän työskentelee päivittäin asiakkaidensa kanssa saavuttaakseen liiketoimintansa tuloksia innovoimalla AWS-alustoilla. Vapaa-ajallaan Selena nauttii pianon soittamisesta, patikoinnista ja koripallon katsomisesta.
Michael Wallner on vanhempi konsultti, joka keskittyy tekoälyyn/ML:ään AWS Professional Services -palveluiden avulla. Michael haluaa antaa asiakkaille mahdollisuuden tulla AWSomeksi heidän pilvimatkallaan. Hän on innostunut valmistuksesta ja nauttii auttamisesta muuttamaan valmistustilaa tietojen avulla.
- AI
- ai taide
- ai taiteen generaattori
- ai robotti
- Amazonin koneoppiminen
- Amazon Sage Maker
- Amazon SageMaker -autopilotti
- tekoäly
- tekoälyn sertifiointi
- tekoäly pankkitoiminnassa
- tekoäly robotti
- tekoälyrobotit
- tekoälyohjelmisto
- AWS-koneoppiminen
- blockchain
- blockchain-konferenssi ai
- coingenius
- keskustelullinen tekoäly
- kryptokonferenssi ai
- dall's
- syvä oppiminen
- google ai
- koneoppiminen
- valmistus
- Platon
- plato ai
- Platonin tietotieto
- Platon peli
- PlatonData
- platopeliä
- mittakaava ai
- kestävyys
- syntaksi
- zephyrnet