Juurutage AWS Lambda PlatoBlockchain Data Intelligence'is masinõppe järelduste andmehõive lahendus. Vertikaalne otsing. Ai.

Juurutage AWS Lambdas masinõppe järelduste andmehõive lahendus

Masinõppe (ML) prognooside jälgimine võib aidata parandada juurutatud mudelite kvaliteeti. Tootmises tehtud järelduste andmete kogumine võimaldab teil jälgida oma juurutatud mudeleid ja tuvastada kõrvalekaldeid mudeli kvaliteedis. Nende kõrvalekallete varajane ja ennetav tuvastamine võimaldab teil võtta parandusmeetmeid, nagu mudelite ümberõpe, eelnevate süsteemide auditeerimine või kvaliteediprobleemide parandamine.

AWS Lambda on serverita arvutusteenus, mis võib pakkuda reaalajas ML-järeldusi mastaabis. Selles postituses demonstreerime näidisandmete kogumise funktsiooni, mida saab Lambda ML-i järelduste töökoormuse jaoks juurutada.

2020. aasta detsembris tutvustas Lambda konteineripiltide kui pakendivormingu tuge. See funktsioon suurendas juurutuspaketi suuruse piirangut 500 MB-lt 10 GB-le. Enne selle funktsiooni käivitamist muutis paketi suuruse piirang ML-raamistike, nagu TensorFlow või PyTorch, juurutamise Lambda funktsioonidele keeruliseks. Pärast turuletoomist muutis ML-i suurenenud paketi suuruse limiit elujõuliseks ja atraktiivseks töökoormuseks, mida Lambda jaoks kasutada. 2021. aastal oli ML-i järeldus üks kiiremini kasvavaid töökoormuse tüüpe Lambda teenuses.

Amazon SageMaker, Amazoni täielikult hallatav ML-teenus, sisaldab oma mudeli jälgimise funktsiooni. Selle postituse näidisprojekt näitab aga, kuidas teha andmete kogumist mudeli jälgimiseks klientidele, kes kasutavad Lambdat ML-i järeldamiseks. Projekt kasutab järeldusandmete hõivamiseks Lambda laiendusi, et minimeerida mõju järeldusfunktsiooni jõudlusele ja latentsusele. Lambda laienduste kasutamine vähendab ka mõju funktsioonide arendajatele. Laienduse kaudu integreerimisel saab jälgimisfunktsiooni rakendada mitmele funktsioonile ja seda saab hooldada tsentraliseeritud meeskond.

Ülevaade lahendusest

See projekt sisaldab lähtekoodi ja tugifaile serverita rakenduse jaoks, mis pakub reaalajas järeldusi, kasutades destilberi baasil eelkoolitatud küsimustele vastamise mudelit. Projekt kasutab Kallistava näo küsimuste ja vastuste loomuliku keele töötlemise (NLP) mudelit PyTorch loomuliku keele järeldamisülesannete täitmiseks. Projekt sisaldab ka lahendust mudeli prognooside jaoks järeldusandmete kogumiseks. Lambda funktsioonide kirjutaja saab täpselt määrata, millised järelduspäringu sisendi andmed ja ennustustulemus laiendusele saata. Selle lahenduse puhul saadame mudelilt sisendi ja vastuse laiendusele. Seejärel saadab laiendus andmed perioodiliselt an Amazoni lihtne salvestusteenus (Amazon S3) kopp. Ehitame andmehõive laiendi konteineri kujutisena, kasutades a makefile. Seejärel loome Lambda järeldusfunktsiooni konteineri kujutisena ja lisame laiendi konteineri kujutise konteineri kujutise kihina. Järgmine diagramm annab ülevaate arhitektuurist.

Lambda laiendused on viis Lambda funktsioonide suurendamiseks. Selles projektis kasutame järelduspäringu ja järeldusest tuleneva ennustuse logimiseks välist Lambda laiendust. Väline laiendus töötab Lambda käituskeskkonnas eraldi protsessina, vähendades mõju järeldusfunktsioonile. Funktsioon jagab aga Lambda funktsiooniga ressursse, nagu protsessor, mälu ja salvestusruum. Soovitame eraldada Lambda funktsioonile piisavalt mälu, et tagada ressursside optimaalne kättesaadavus. (Oma testimisel eraldasime Lambda järeldamisfunktsioonile 5 GB mälu ja nägime ressursside optimaalset saadavust ja järelduste latentsust). Kui järeldus on lõpule viidud, tagastab Lambda teenus kohe vastuse ega oota, kuni laiendus lõpetab päringu ja vastuse logimise S3 ämbrisse. Selle mustri puhul ei mõjuta jälgimislaiend järelduste latentsust. Lambda laiendite kohta lisateabe saamiseks vaadake neid videoseeriaid.

Projekti sisu

Selles projektis kasutatakse AWS-i serverita rakendusmudel (AWS SAM) käsurea liides (CLI). See käsureatööriist võimaldab arendajatel rakendusi lähtestada ja konfigureerida; pakkida, ehitada ja kohapeal testida; ja juurutada AWS-i pilve.

Selle projekti lähtekoodi saate alla laadida aadressilt GitHubi hoidla.

See projekt sisaldab järgmisi faile ja kaustu:

  • app/app.py – Rakenduse lambda-funktsiooni kood, sealhulgas ML-i järeldamise kood.
  • rakendus / Dockerfile – Dockerfile konteineri kujutise loomiseks, mis pakendab järeldusfunktsiooni, Hugging Face'ist alla laaditud mudeli ja kihina ehitatud Lambda laiendus. Erinevalt .zip-funktsioonidest ei saa kihte lisada konteinerisse pakitud Lambda-funktsioonidele funktsiooni loomise ajal. Selle asemel ehitame kihi ja kopeerime selle sisu konteineri kujutisele.
  • Extensions – Mudelimonitori laiendusfailid. Seda Lambda laiendust kasutatakse järeldusfunktsiooni sisendi ja vastava ennustuse logimiseks S3 ämbrisse.
  • rakendus/mudel – Hugging Face’ist alla laaditud mudel.
  • app/requirements.txt – konteinerisse installitavad Pythoni sõltuvused.
  • sündmused – Kutsumissündmused, mida saate funktsiooni testimiseks kasutada.
  • mall.yaml – deskriptorifail, mis määratleb rakenduse AWS-i ressursid.

Rakendus kasutab mitmeid AWS-i ressursse, sealhulgas Lambda funktsioone ja Amazon API värav API. Need ressursid on määratletud template.yaml faili selles projektis. Malli saate värskendada, et lisada AWS-i ressursse sama juurutusprotsessi kaudu, mis värskendab teie rakenduse koodi.

Eeldused

Selle ülevaate jaoks peaksid teil olema järgmised eeltingimused.

Juurutage näidisrakendus

Rakenduse esmakordseks koostamiseks toimige järgmiselt.

  • Käivitage oma kestas järgmine kood. (See loob ka laienduse):
  • Ehitage mudelimonitori rakendusest Dockeri kujutis. Ehituse sisu asub .aws-sam kataloog
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

  • Logi sisse Amazon ECR-i:
aws ecr get-login-password --region us-east-1 docker login --username AWS --password-stdin .dkr.ecr.us-east-1.amazonaws.com

  • Looge hoidla Amazon ECR-is:

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

  • Lükake konteineri pilt Amazon ECR-i:
docker push .dkr.ecr.us-east-1.amazonaws.com/serverless-ml-model-monitor:latest

  • Tühista rida nr 1 rakendus / Dockerfile ja redigeerige seda nii, et see osutaks õigele ECR-i hoidla kujutisele, seejärel tühjendage ridade #6 ja #7 kommentaarid rakendus/Dockeri fail:
WORKDIR /opt
COPY --from=layer /opt/ .

  • Ehitage rakendus uuesti:

Ehitame uuesti, kuna Lambda ei toeta Lambda kihte otse konteineri kujutise pakenditüübi jaoks. Peame esmalt ehitama mudeli jälgimise komponendi konteineri kujutisena, laadima selle Amazon ECR-i üles ja seejärel kasutama seda pilti mudeli jälgimise rakenduses konteinerikihina.

  • Lõpuks juurutage Lambda funktsioon, API lüüs ja laiendus:
sam deploy --guided

See käsk pakendab ja juurutab teie rakenduse AWS-is koos mitmete viipadega:

  • Virna nimi : juurutatud kasutaja nimi AWS CloudFormation virna. See peaks olema teie konto ja piirkonna jaoks ainulaadne ning hea lähtepunkt oleks midagi, mis ühtiks teie projekti nimega.
  • AWS piirkond : AWS-i piirkond, kuhu oma rakenduse juurutate.
  • Kinnitage muudatused enne juurutamist : kui see on määratud yes, kuvatakse teile enne käsitsi ülevaatamiseks käivitamist kõik muudatuste komplektid. Kui see on seatud ei, juurutab AWS SAM CLI automaatselt rakenduse muudatused.
  • Lubage AWS SAM CLI IAM-i rollide loomine : luuakse palju AWS-i SAM-malle, sealhulgas see näide AWS-i identiteedi- ja juurdepääsuhaldus (IAM) rollid, mis on vajalikud AWS-i teenustele juurdepääsuks kaasatud Lambda funktsiooni(de) jaoks. Vaikimisi on need minimaalsed nõutavad õigused. IAM-rolle loova või muutva CloudFormationi virna juurutamiseks CAPABILITY_IAM väärtus jaoks capabilities tuleb pakkuda. Kui selle viipa kaudu luba ei anta, peate selle näite juurutamiseks selgesõnaliselt läbima --capabilities CAPABILITY_IAM Euroopa sam deploy käsk
  • Salvestage argumendid faili samconfig.toml : kui see on määratud yes, salvestatakse teie valikud projekti sees olevasse konfiguratsioonifaili, et saaksite tulevikus lihtsalt käivitada sam deploy ilma parameetriteta, et teie rakenduses muudatusi juurutada.

Leiate oma API lüüsi lõpp-punkti URL-i väljundväärtustest, mis kuvatakse pärast juurutamist.

Testige rakendust

Rakenduse testimiseks kasutage API Gateway lõpp-punktile päringu saatmiseks rakendust Postman või curl. Näiteks:

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."}'

Peaksite nägema järgmise koodi väljundit. ML-mudel järeldas kontekstist ja andis vastuse meie küsimusele.

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

Mõne minuti pärast peaksite S3 ämbris nägema faili nlp-qamodel-model-monitoring-modelmonitorbucket- sisendi ja järelduse logimisega.

Koristage

Loodud näidisrakenduse kustutamiseks kasutage AWS-i CLI-d.

aws cloudformation delete-stack --stack-name 

Järeldus

Selles postituses rakendasime mudeli jälgimise funktsiooni Lambda laiendusena ja juurutasime selle Lambda ML järelduste töökoormusele. Näitasime, kuidas seda lahendust oma AWS-i kontol luua ja juurutada. Lõpuks näitasime, kuidas käivitada monitori funktsionaalsuse kontrollimiseks testi.

Palun esitage kommentaaride jaotises kõik mõtted või küsimused. Rohkem serverita õpperessursse leiate aadressilt Serverita maa.


Autoritest

Juurutage AWS Lambda PlatoBlockchain Data Intelligence'is masinõppe järelduste andmehõive lahendus. Vertikaalne otsing. Ai.Dan Fox on ülemaailmse serverita spetsialistide organisatsiooni peaspetsialistilahenduste arhitekt. Dan teeb koostööd klientidega, et aidata neil kasutada serverita teenuseid skaleeritavate, tõrketaluvate, suure jõudlusega ja kulutõhusate rakenduste loomiseks. Dan on tänulik, et saab elada ja töötada armsas Boulderis, Colorados.

Juurutage AWS Lambda PlatoBlockchain Data Intelligence'is masinõppe järelduste andmehõive lahendus. Vertikaalne otsing. Ai.Newton Jain on vanem tootejuht, kes vastutab masinõppe, kõrgjõudlusega andmetöötluse (HPC) ja meediumitöötluse klientide jaoks uute kogemuste loomise eest AWS Lambdas. Ta juhib uute võimaluste väljatöötamist, et suurendada jõudlust, vähendada latentsust, parandada mastaapsust, suurendada töökindlust ja vähendada kulusid. Samuti aitab ta AWS-i kliente nende arvutusmahukate rakenduste jaoks tõhusa serverita strateegia määratlemisel.

Juurutage AWS Lambda PlatoBlockchain Data Intelligence'is masinõppe järelduste andmehõive lahendus. Vertikaalne otsing. Ai.Diksha Sharma on lahenduste arhitekt ja masinõppe spetsialist AWS-is. Ta aitab klientidel pilveteenuse kasutuselevõttu kiirendada, eriti masinõppe ja serverita tehnoloogiate valdkonnas. Diksha juurutab kohandatud kontseptsiooni tõendeid, mis näitavad klientidele AWS-i väärtust nende äri- ja IT-probleemide lahendamisel. Ta võimaldab klientidel oma teadmisi AWS-ist ja töötab koos klientidega soovitud lahenduse väljatöötamisel.

Juurutage AWS Lambda PlatoBlockchain Data Intelligence'is masinõppe järelduste andmehõive lahendus. Vertikaalne otsing. Ai.Veda Raman on Marylandis asuv masinõppe lahenduste vanemspetsialist. Veda teeb koostööd klientidega, et aidata neil luua tõhusaid, turvalisi ja skaleeritavaid masinõpperakendusi. Veda on huvitatud sellest, et aidata klientidel masinõppe jaoks kasutada serverita tehnoloogiaid.

Juurutage AWS Lambda PlatoBlockchain Data Intelligence'is masinõppe järelduste andmehõive lahendus. Vertikaalne otsing. Ai. Josh Kahn on ülemaailmne serverivaba tehniline juht ja peamiste lahenduste arhitekt. Ta juhib ülemaailmset AWS-i serverita ekspertide kogukonda, kes aitavad igas suuruses klientidel alates idufirmadest kuni maailma suurimate ettevõteteni tõhusalt kasutada AWS-i serverita tehnoloogiaid.

Ajatempel:

Veel alates AWS-i masinõpe