Ota käyttöön koneoppimispäätelmien tiedonkeruuratkaisu AWS Lambda PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Ota käyttöön koneoppimispäätelmien tiedonkeruuratkaisu AWS Lambdassa

Koneoppimisennusteiden (ML) seuranta voi auttaa parantamaan käytettyjen mallien laatua. Tietojen kerääminen tuotannossa tehdyistä päätelmistä voi auttaa sinua valvomaan käytössä olevia mallejasi ja havaitsemaan mallien laadussa esiintyviä poikkeamia. Näiden poikkeamien varhainen ja ennakoiva havaitseminen mahdollistaa korjaavien toimenpiteiden toteuttamisen, kuten mallien uudelleenkoulutuksen, alkuvaiheen järjestelmien auditoinnin tai laatuongelmien korjaamisen.

AWS Lambda on palvelimeton laskentapalvelu, joka voi tarjota reaaliaikaisia ​​ML-päätelmiä mittakaavassa. Tässä viestissä esittelemme esimerkkitiedonkeruuominaisuuden, joka voidaan ottaa käyttöön Lambda ML -johtopäätöstyökuormalla.

Joulukuussa 2020 Lambda esitteli tuen konttikuville pakkausmuotona. Tämä ominaisuus lisäsi käyttöönottopaketin kokorajoituksen 500 megatavusta 10 gigatavuun. Ennen tämän ominaisuuden julkaisua paketin kokorajoitus vaikeutti ML-kehysten, kuten TensorFlow tai PyTorch, käyttöönottoa Lambda-toimintoihin. Julkaisun jälkeen paketin kokorajoituksen kasvu teki ML:stä kannattavan ja houkuttelevan työtaakan Lambdalle. Vuonna 2021 ML-päätelmä oli yksi nopeimmin kasvavista työkuormitustyypeistä Lambda-palvelussa.

Amazon Sage Maker, Amazonin täysin hallinnoima ML-palvelu, sisältää oman mallinvalvontaominaisuuden. Tässä viestissä oleva esimerkkiprojekti näyttää kuitenkin, kuinka suorittaa tiedonkeruu käytettäväksi mallin valvonnassa asiakkaille, jotka käyttävät Lambdaa ML-päätelmään. Projekti käyttää Lambda-laajennuksia johtopäätöstietojen kaappaamiseen, jotta vaikutus päättelyfunktion suorituskykyyn ja latenssiin voidaan minimoida. Lambda-laajennusten käyttö minimoi myös vaikutuksen toimintojen kehittäjiin. Integroimalla laajennuksen kautta valvontaominaisuutta voidaan soveltaa useisiin toimintoihin ja sitä voi ylläpitää keskitetty tiimi.

Katsaus ratkaisuun

Tämä projekti sisältää lähdekoodin ja tukitiedostoja palvelimettomalle sovellukselle, joka tarjoaa reaaliaikaisen päättelyn käyttämällä Distilbert-pohjaista, valmiiksi koulutettua kysymysvastausmallia. Projektissa käytetään Hugging Face kysymys- ja vastausmallia luonnollisen kielen käsittelyn (NLP) kanssa PyTorch suorittaa luonnollisen kielen päättelytehtäviä. Projekti sisältää myös ratkaisun johtopäätöstietojen keräämiseen malliennusteille. Lambda-funktion kirjoittaja voi määrittää tarkalleen, mitkä tiedot päättelypyynnön syötteestä ja ennustetuloksesta lähetetään laajennukseen. Tässä ratkaisussa lähetämme syötteen ja vastauksen mallista laajennukseen. Laajennus lähettää sitten tiedot säännöllisesti osoitteeseen Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ämpäri. Rakennamme tiedonkeruulaajennuksen säilökuvaksi käyttämällä a makefile. Rakennamme sitten Lambda-päätelmäfunktion säilön kuvana ja lisäämme laajennussäiliökuvan säilön kuvakerrokseksi. Seuraava kaavio näyttää yleiskatsauksen arkkitehtuurista.

Lambdalaajennukset ovat tapa laajentaa Lambdan toimintoja. Tässä projektissa käytämme ulkoista Lambda-laajennusta päättelypyynnön ja päätelmän ennusteen kirjaamiseen. Ulkoinen laajennus toimii erillisenä prosessina Lambda-ajonaikaisessa ympäristössä, mikä vähentää vaikutusta päättelyfunktioon. Toiminto kuitenkin jakaa resurssit, kuten suorittimen, muistin ja tallennustilan, Lambda-toiminnon kanssa. Suosittelemme varaamaan tarpeeksi muistia Lambda-toiminnolle optimaalisen resurssien saatavuuden varmistamiseksi. (Testauksessamme allokoimme 5 Gt muistia päättelylambda-funktiolle ja näimme optimaalisen resurssien saatavuuden ja päättelyviiveen). Kun johtopäätös on valmis, Lambda-palvelu palauttaa vastauksen välittömästi eikä odota, että laajennus lopettaa pyynnön ja vastauksen kirjaamisen S3-alueelle. Tällä mallilla valvontalaajennus ei vaikuta päättelyviiveeseen. Lisätietoja Lambda-laajennuksista katso nämä videosarjat.

Projektin sisältö

Tämä projekti käyttää AWS-palvelimeton sovellusmalli (AWS SAM) komentoriviliittymä (CLI). Tämän komentorivityökalun avulla kehittäjät voivat alustaa ja määrittää sovelluksia. paketoida, rakentaa ja testata paikallisesti; ja ota käyttöön AWS-pilveen.

Voit ladata tämän projektin lähdekoodin osoitteesta GitHub-arkisto.

Tämä projekti sisältää seuraavat tiedostot ja kansiot:

  • app/app.py – Sovelluksen Lambda-toiminnon koodi, mukaan lukien koodi ML-päättelyyn.
  • sovellus/Docker-tiedosto – Dockerfile konttikuvan rakentamiseen, joka pakkaa päättelyfunktion, Hugging Facesta ladatun mallin ja kerrokseksi rakennettu Lambda-laajennus. Toisin kuin .zip-funktioissa, tasoja ei voida liittää säiliöön pakattuihin Lambda-toimintoihin toiminnon luomishetkellä. Sen sijaan rakennamme tason ja kopioimme sen sisällön säilön kuvaan.
  • Laajennukset – Mallin monitorin laajennustiedostot. Tätä Lambda-laajennusta käytetään syötteen kirjaamiseen päättelyfunktioon ja vastaavan ennusteen kirjaamiseen S3-ämpäriin.
  • sovellus/malli – Hugging Facesta ladattu malli.
  • app/requirements.txt – Säilöön asennettavat Python-riippuvuudet.
  • Tapahtumat – Kutsutapahtumat, joita voit käyttää toiminnon testaamiseen.
  • template.yaml – Kuvaustiedosto, joka määrittää sovelluksen AWS-resurssit.

Sovellus käyttää useita AWS-resursseja, mukaan lukien Lambda-toiminnot ja an Amazon API -yhdyskäytävä API. Nämä resurssit on määritelty template.yaml tiedosto tässä projektissa. Voit päivittää mallin lisätäksesi AWS-resursseja saman käyttöönottoprosessin kautta, joka päivittää sovelluskoodisi.

Edellytykset

Tätä kävelyä varten sinulla tulisi olla seuraavat edellytykset:

Ota mallisovellus käyttöön

Luodaksesi sovelluksesi ensimmäistä kertaa, suorita seuraavat vaiheet:

  • Suorita seuraava koodi shellissäsi. (Tämä rakentaa myös laajennuksen):
  • Rakenna Docker-kuva mallinäyttösovelluksesta. Rakennuksen sisältö sijaitsee .aws-sam hakemisto
docker build -t serverless-ml-model-monitor:latest .

docker tag serverless-ml-model-monitor:latest .dkr.ecr.us-east-1.amazonaws.com/serverless-ml-model-monitor:latest

  • Kirjaudu sisään Amazon ECR:ään:
aws ecr get-login-password --region us-east-1 docker login --username AWS --password-stdin .dkr.ecr.us-east-1.amazonaws.com

  • Luo arkisto Amazon ECR:ssä:

aws ecr create-repositoryrepository-name serverless-ml-model-monitor--image-scanning-configuration scanOnPush=true--region us-east-1

  • Työnnä säilön kuva Amazon ECR:ään:
docker push .dkr.ecr.us-east-1.amazonaws.com/serverless-ml-model-monitor:latest

  • Poista kommentti rivi #1 tuumaa sovellus/Docker-tiedosto ja muokkaa sitä osoittamaan oikeaan ECR-arkistokuvaan ja poista sitten kommentit riveistä 6 ja 7 sovellus/Docker-tiedosto:
WORKDIR /opt
COPY --from=layer /opt/ .

  • Rakenna sovellus uudelleen:

Rakennamme uudelleen, koska Lambda ei tue Lambda-kerroksia suoraan konttikuvan pakkaustyypeille. Meidän on ensin rakennettava mallinseurantakomponentti konttikuvana, ladattava se Amazon ECR:ään ja sitten käytettävä tätä kuvaa mallinvalvontasovelluksessa konttikerroksena.

  • Ota lopuksi käyttöön Lambda-toiminto, API-yhdyskäytävä ja laajennus:
sam deploy --guided

Tämä komento pakkaa ja ottaa käyttöön sovelluksesi AWS:ssä joukolla kehotteita:

  • Pino nimi : käyttöönotetun henkilön nimi AWS-pilven muodostuminen pino. Tämän pitäisi olla yksilöllinen tilillesi ja alueellesi, ja hyvä lähtökohta olisi jotain, joka vastaa projektisi nimeä.
  • AWS-alue : AWS-alue, johon otat sovelluksesi käyttöön.
  • Vahvista muutokset ennen käyttöönottoa : Jos asetettu arvoon yes, kaikki muutossarjat näytetään sinulle ennen manuaalista tarkistusta. Jos asetus on no, AWS SAM CLI ottaa automaattisesti käyttöön sovellusmuutokset.
  • Salli AWS SAM CLI IAM -roolin luominen : Monet AWS SAM -mallit, mukaan lukien tämä esimerkki, luovat AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) -roolit, joita tarvitaan AWS-palvelujen käyttämiseen sisältyville Lambda-toiminnoille. Oletusarvoisesti ne on rajoitettu vaadittaviin vähimmäisoikeuksiin. Jos haluat ottaa käyttöön CloudFormation-pinon, joka luo tai muokkaa IAM-rooleja, CAPABILITY_IAM arvo capabilities on toimitettava. Jos lupaa ei anneta tämän kehotteen kautta, sinun on läpäistävä tämä esimerkki, jotta voit ottaa käyttöön tämän esimerkin --capabilities CAPABILITY_IAM että sam deploy komento.
  • Tallenna argumentit tiedostoon samconfig.toml : Jos asetettu arvoon yes, valintasi tallennetaan konfigurointitiedostoon projektin sisällä, jotta voit jatkossa suorittaa ne sam deploy ilman parametreja muutosten käyttöönottamiseksi sovellukseesi.

Löydät API-yhdyskäytävän päätepisteesi URL-osoitteen käyttöönoton jälkeen näytetyistä lähtöarvoista.

Testaa sovellus

Voit testata sovelluksen lähettämällä pyynnön API Gateway -päätepisteeseen Postmanilla tai curlilla. Esimerkiksi:

curl -X POST -H "Content-Type: text/plain" https://.execute-api.us-east-1.amazonaws.com/Prod/nlp-qa -d '{"question": "Where do you live?", "context": "My name is Clara and I live in Berkeley."}'

Sinun pitäisi nähdä seuraavan koodin mukainen tulos. ML-malli päätteli kontekstista ja palautti vastauksen kysymykseemme.

{
    "Question": "Where do you live?",
    "Answer": "Berkeley",
    "score": 0.9113729596138
}

Muutaman minuutin kuluttua sinun pitäisi nähdä tiedosto S3-ämpärissä nlp-qamodel-model-monitoring-modelmonitorbucket- syötteen ja päätelmän ollessa kirjattu lokiin.

Puhdistaa

Jos haluat poistaa luomasi esimerkkisovelluksen, käytä AWS CLI:tä:

aws cloudformation delete-stack --stack-name 

Yhteenveto

Tässä viestissä otimme käyttöön mallin valvontaominaisuuden Lambda-laajennuksena ja otimme sen käyttöön Lambda ML -johtopäätöstyökuormituksessa. Näitimme, kuinka voit rakentaa tämän ratkaisun ja ottaa sen käyttöön omalla AWS-tililläsi. Lopuksi näytimme, kuinka suorittaa testi näytön toimivuuden tarkistamiseksi.

Ole hyvä ja esitä ajatuksia tai kysymyksiä kommenttiosiossa. Lisää palvelimettomia oppimisresursseja on osoitteessa Palvelimeton maa.


Tietoja Tekijät

Ota käyttöön koneoppimispäätelmien tiedonkeruuratkaisu AWS Lambda PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Ja Fox on pääasiantuntijaratkaisujen arkkitehti Worldwide Specialist Organization for Serverless -järjestössä. Dan työskentelee asiakkaiden kanssa auttaakseen heitä hyödyntämään palvelimettomia palveluita skaalautuvien, vikasietoisten, tehokkaiden ja kustannustehokkaiden sovellusten rakentamiseen. Dan on kiitollinen saadessaan asua ja työskennellä ihanassa Boulderissa, Coloradossa.

Ota käyttöön koneoppimispäätelmien tiedonkeruuratkaisu AWS Lambda PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Newton Jain on Senior Product Manager, joka vastaa uusien kokemusten rakentamisesta koneoppimiseen, korkean suorituskyvyn tietojenkäsittelyyn (HPC) ja mediankäsittelyasiakkaille AWS Lambdalla. Hän johtaa uusien ominaisuuksien kehittämistä suorituskyvyn lisäämiseksi, viiveen vähentämiseksi, skaalautuvuuden parantamiseksi, luotettavuuden parantamiseksi ja kustannusten alentamiseksi. Hän myös auttaa AWS-asiakkaita määrittämään tehokkaan palvelimettoman strategian heidän laskentaintensiivisille sovelluksilleen.

Ota käyttöön koneoppimispäätelmien tiedonkeruuratkaisu AWS Lambda PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Diksha Sharma on ratkaisuarkkitehti ja koneoppimisen asiantuntija AWS:ssä. Hän auttaa asiakkaita nopeuttamaan pilvipalveluiden käyttöönottoa erityisesti koneoppimisen ja palvelimettomien teknologioiden aloilla. Diksha ottaa käyttöön räätälöityjä konseptin todisteita, jotka osoittavat asiakkaille AWS:n arvon heidän liiketoiminta- ja IT-haasteisiin vastaamisessa. Hän antaa asiakkaille mahdollisuuden AWS-tietoihinsa ja työskentelee yhdessä asiakkaiden kanssa heidän haluamansa ratkaisun rakentamisessa.

Ota käyttöön koneoppimispäätelmien tiedonkeruuratkaisu AWS Lambda PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Veda Raman on koneoppimisen vanhempi asiantuntijaratkaisuarkkitehti Marylandissa. Veda työskentelee asiakkaiden kanssa auttaakseen heitä suunnittelemaan tehokkaita, turvallisia ja skaalautuvia koneoppimissovelluksia. Veda on kiinnostunut auttamaan asiakkaita hyödyntämään palvelimettomia teknologioita koneoppimiseen.

Ota käyttöön koneoppimispäätelmien tiedonkeruuratkaisu AWS Lambda PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai. Josh Kahn on palvelinttomuuden maailmanlaajuinen tekninen johtaja ja pääratkaisuarkkitehti. Hän johtaa AWS:n palvelimettomien asiantuntijoiden maailmanlaajuista yhteisöä, joka auttaa kaikenkokoisia asiakkaita aloittavista yrityksistä maailman suurimpiin yrityksiin käyttämään tehokkaasti AWS-palvelimettomia tekniikoita.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen