Andmeteadlased koolitavad sageli oma mudeleid kohapeal ja otsivad oma mudelite juurutamiseks sobivat hostimisteenust. Kahjuks pole eelkoolitatud mudelite pilves juurutamiseks kindlat mehhanismi ega juhendit. Selles postituses vaatleme koolitatud mudelite juurutamist Amazon SageMaker hostimine, et vähendada kasutuselevõtuaega.
SageMaker on täielikult hallatav masinõppe (ML) teenus. SageMakeriga saate kiiresti luua ja koolitada ML-mudeleid ning juurutada need otse tootmisvalmis hostitud keskkonda. Lisaks ei pea te servereid haldama. Saate integreeritud Jupyteri sülearvuti keskkonna, millel on lihtne juurdepääs oma andmeallikatele. Saate teha andmete analüüsi, koolitada oma mudeleid ja testida neid, kasutades oma algoritme või kasutada SageMakeri pakutavaid ML-algoritme, mis on optimeeritud töötama tõhusalt suurte andmehulkade vastu, mis on levinud mitmes masinas. Koolituse ja hostimise eest arveldatakse kasutusminutite alusel, ilma miinimumtasudeta ja ilma eelnevate kohustusteta.
Lahenduse ülevaade
Andmeteadlased koolitavad mõnikord mudeleid kohapeal, kasutades oma IDE-d, ja saadavad need mudelid juurutamiseks ML-i insenerimeeskonnale või käivitavad lihtsalt võimsatel masinatel kohapeal ennustusi. Selles postituses tutvustame Pythoni teeki, mis lihtsustab mudelite juurutamist SageMakeris. Hosting reaalajas või serverita lõpp-punktides.
See Pythoni teek annab andmeteadlastele lihtsa liidese, et kiiresti SageMakeriga alustada, ilma et nad peaksid teadma SageMakeri madala taseme funktsioone.
Kui teil on eelistatud IDE-ga kohapeal väljaõpetatud mudeleid ja soovite pilve mastaabist kasu saada, saate seda teeki kasutada oma mudeli juurutamiseks SageMakeris. SageMakeriga on lisaks pilvepõhise ML-platvormi skaleerimise eelistele juurdepääs sihipärasele koolitustööriistadele (hajutatud koolitus, hüperparameetrite häälestamine), katsehaldusele, mudelihaldusele, eelarvamuste tuvastamisele, mudeli seletatavusele ja paljudele muudele funktsioonidele. võimalused, mis võivad teid aidata ML elutsükli mis tahes aspektis. Saate valida kolme kõige populaarsema ML-i raamistiku hulgast: Scikit-learn, PyTorch ja TensorFlow ning saate valida soovitud arvutustüübi. Vaikeväärtused on saadaval, et selle teegi kasutajad saaksid oma mudeleid juurutada, ilma et nad peaksid tegema keerulisi otsuseid või õppima uusi kontseptsioone. Selles postituses näitame teile, kuidas selle teegiga alustada ja optimeerida oma ML-mudelite juurutamist SageMakeri hostimisel.
Raamatukogu leiate aadressilt GitHubi hoidla.
SageMakeri migratsiooni tööriistakomplekt
. SageMakerMigration
klass on saadaval GitHubis avaldatud Pythoni teegi kaudu. Selle teegi installimise juhised on toodud hoidlas; veenduge, et järgite oma keskkonna õigeks seadistamiseks README. Pärast selle teegi installimist räägitakse selle postituse ülejäänud osas selle kasutamisest.
. SageMakerMigration
klass koosneb SageMakeri API-de kõrgetasemelistest abstraktsioonidest, mis vähendavad oluliselt teie mudeli SageMakeris juurutamiseks vajalikke samme, nagu on näidatud järgmisel joonisel. See on mõeldud katsetamiseks, et arendajad saaksid SageMakerit kiiresti alustada ja testida. See ei ole ette nähtud tootmise migreerimiseks.
Scikit-learni, PyTorchi ja TensorFlow mudelite puhul toetab see teek koolitatud mudelite juurutamist SageMakeri reaalajas või serverita lõpp-punktis. Lisateavet SageMakeri järeldusvõimaluste kohta leiate artiklist Mudelite juurutamine järelduste tegemiseks.
Reaalajas vs serverita lõpp-punktid
Reaalajas järeldus on ideaalne järelduste töökoormuste jaoks, kus teil on reaalajas, interaktiivsed ja madala latentsusaja nõuded. Saate oma mudeli juurutada SageMakeri hostimisteenustes ja hankida lõpp-punkti, mida saab kasutada järelduste tegemiseks. Neid lõpp-punkte hallatakse täielikult ja need toetavad automaatset skaleerimist.
SageMaker Serverless Inference on eesmärgipäraselt loodud järeldusvõimalus, mis muudab ML-mudelite juurutamise ja skaleerimise lihtsaks. Serverless Inference on ideaalne töökoormuste jaoks, mille liiklusspurtide vahel on jõudeperioodid ja mis taluvad külmkäivitust. Serverita lõpp-punktid käivitavad automaatselt arvutusressursid ja skaleerivad neid sõltuvalt liiklusest sisse ja välja, välistades vajaduse valida eksemplaritüüpe või hallata skaleerimispoliitikaid. See eemaldab serverite valimise ja haldamise eristamata raskused.
Olenevalt kasutusjuhust võite soovida oma mudelit SageMakeris kiiresti majutada, ilma et eksemplar oleks tegelikult alati sisse lülitatud ja kulusid tekitamata. Sel juhul on serverita lõpp-punkt suurepärane lahendus.
Valmistage ette oma koolitatud mudel ja järeldusskript
Pärast seda, kui olete tuvastanud mudeli, mida soovite SageMakeris juurutada, peate tagama, et mudel esitatakse SageMakerile õiges vormingus. SageMakeri lõpp-punktid koosnevad üldiselt kahest komponendist: koolitatud mudeliartefaktist (.pth, .pkl jne) ja järeldusskriptist. Järeldusskript ei ole alati kohustuslik, kuid kui seda pole ette nähtud, rakendatakse kasutatava esinduskonteineri vaikekäsitlejaid. See skript on hädavajalik, kui teil on vaja oma sisend-/väljundfunktsiooni järelduste tegemiseks kohandada.
Koolitatud mudeliartefakt on lihtsalt salvestatud Scikit-learn, PyTorch või TensorFlow mudel. Scikit-learni puhul on see tavaliselt hapufail, PyTorchi jaoks on see pt- või pth-fail ning TensorFlow jaoks kaust varade, .pb-failide ja muude muutujatega.
Üldiselt peate suutma juhtida seda, kuidas teie mudel töötleb sisendit ja teeb järeldusi, ning kontrollima oma vastuse väljundvormingut. SageMakeriga saate pakkuda järeldusskript selle kohanduse lisamiseks. Igal SageMakeri kasutataval järeldusskriptil peab olema üks või mitu järgmisest neljast töötleja funktsioonist: model_fn
, input_fn
, predict_fn
ja output_fn
.
Pange tähele, et need neli funktsiooni kehtivad PyTorch ja Scikit-õppida spetsiaalselt konteinerid. TensorFlow'l on pisut erinevad käitlejad, kuna see on integreeritud TensorFlow serveerimine. TensorFlow'ga järeldusskripti jaoks on teil kaks mudelikäitlejad: input_handler ja output_handler. Jällegi on neil sama eel- ja järeltöötluse eesmärk, millega saate töötada, kuid need on konfigureeritud integreerimiseks pisut erinevalt TensorFlow serveerimine. PyTorchi mudelite puhul on model_fn kohustuslik funktsioon, mis peab olema järeldusskriptis.
mudel_fn
See on funktsioon, mida SageMakeri lõpp-punkti käivitamisel esmakordselt kutsutakse. Siin kirjutate mudeli laadimiseks koodi. Näiteks:
Sõltuvalt mudeli raamistikust ja tüübist võib see kood muutuda, kuid funktsioon peab tagastama lähtestatud mudeli.
sisend_fn
See on teine funktsioon, mida teie lõpp-punkti kutsumisel kutsutakse. See funktsioon võtab lõpp-punkti saadetud andmed järelduste tegemiseks ja analüüsib need vormingusse, mis on vajalik mudeli jaoks prognoosi loomiseks. Näiteks:
. request_body
sisaldab andmeid, mida kasutatakse mudelist järelduste tegemiseks, ja sõelutakse selles funktsioonis nõutavas vormingus.
ennustada_fn
See on kolmas funktsioon, mis teie mudeli käivitamisel välja kutsutakse. See funktsioon võtab tagasi eeltöödeldud sisendandmed input_fn
ja kasutab tagastatud mudelit model_fn
ennustust teha. Näiteks:
Saate valikuliselt lisada output_fn
väljundi sõelumiseks predict_fn
enne selle kliendile tagastamist. Funktsiooni allkiri on def output_fn(prediction, content_type)
.
Viige oma eelkoolitatud mudel SageMakerisse
Pärast koolitatud mudelifaili ja järeldusskripti saamist peate need failid järgmiselt kausta panema.
Kui teie mudel ja järeldusskript on ette valmistatud ja sellesse kaustastruktuuri salvestatud, on teie mudel SageMakeris juurutamiseks valmis. Vaadake järgmist koodi:
Pärast lõpp-punkti juurutamist puhastage kindlasti kõik ressursid, mida te ei kasuta SageMakeri konsooli või delete_endpoint Boto3 API kõne.
Järeldus
Projekti SageMaker Migration Toolkiti eesmärk on hõlbustada andmeteadlastel oma mudelite SageMakerisse lisamist, et pilvepõhiseid järeldusi kasutada. Hoidla areneb edasi ja toetab rohkem võimalusi töökoormuste üleviimiseks SageMakerile. Kood on avatud lähtekoodiga ja me tervitame kogukonna panust tõmbamistaotluste ja probleemide kaudu.
Tutvu GitHubi hoidla et uurida rohkem SageMakeri migratsioonitööriistade komplekti kasutamise kohta ja anda julgelt ka näiteid või funktsioonitaotlusi, mida projekti lisada!
Autoritest
Kirit Thadaka on ML Solutionsi arhitekt, kes töötab Amazon SageMaker Service SA meeskonnas. Enne AWS-iga liitumist töötas Kirit aega varajases staadiumis tehisintellekti idufirmades, millele järgnes mõnda aega tehisintellekti uurimise, MLO-de ja tehnilise juhtimise erinevates rollides nõustamist.
Ram Vegiraju on SageMaker Service meeskonnaga ML arhitekt. Ta keskendub sellele, et aidata klientidel luua ja optimeerida oma AI/ML-lahendusi Amazon SageMakeris. Vabal ajal armastab ta reisimist ja kirjutamist.
- AI
- ai kunst
- ai kunsti generaator
- on robot
- Amazon SageMaker
- 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
- Keskmine (200)
- masinõpe
- Platon
- plato ai
- Platoni andmete intelligentsus
- Platoni mäng
- PlatoData
- platogaming
- skaala ai
- süntaks
- sephyrnet