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
- Kirjaudu sisään Amazon ECR:ään:
- Luo arkisto Amazon ECR:ssä:
aws ecr create-repository
repository-name serverless-ml-model-monitor
--image-scanning-configuration scanOnPush=true
--region us-east-1
- Työnnä säilön kuva Amazon ECR:ään:
- 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:
- 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:
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
arvocapabilities
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 nesam 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:
Sinun pitäisi nähdä seuraavan koodin mukainen tulos. ML-malli päätteli kontekstista ja palautti vastauksen kysymykseemme.
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ä:
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
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.
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.
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.
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.
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.
- AI
- ai taide
- ai taiteen generaattori
- ai robotti
- tekoäly
- tekoälyn sertifiointi
- tekoäly pankkitoiminnassa
- tekoäly robotti
- tekoälyrobotit
- tekoälyohjelmisto
- AWS Lambda
- AWS-koneoppiminen
- blockchain
- blockchain-konferenssi ai
- coingenius
- keskustelullinen tekoäly
- kryptokonferenssi ai
- dall's
- syvä oppiminen
- google ai
- koneoppiminen
- Platon
- plato ai
- Platonin tietotieto
- Platon peli
- PlatonData
- platopeliä
- mittakaava ai
- syntaksi
- Tekniset ohjeet
- zephyrnet