Meil on hea meel teatada kahest uuest võimalusest Amazon SageMaker Studio mis kiirendab masinõppe (ML) praktikute iteratiivset arendust: kohaliku režiimi ja Dockeri tugi. ML-mudeli arendamine hõlmab sageli aeglasi iteratsioonitsükleid, kuna arendajad vahetavad kodeerimise, koolituse ja juurutamise vahel. Iga samm nõuab kaugarvutusressursside käivitumist, mis lükkab juurutuste valideerimist ja muudatuste kohta tagasiside saamist edasi.
Kohaliku režiimi abil saavad arendajad nüüd treenida ja testida mudeleid, siluda koodi ja valideerida otspunktide torujuhtmeid otse oma SageMaker Studio sülearvuti eksemplaris, ilma et oleks vaja kaugarvutusressursse üles keerata. See vähendab iteratsioonitsüklit minutitelt sekunditeni, suurendades arendaja tootlikkust. Dockeri tugi SageMaker Studio sülearvutites võimaldab arendajatel hõlpsalt luua Dockeri konteinereid ja juurde pääseda eelehitatud konteineritele, pakkudes kogu meeskonnale ühtset arenduskeskkonda ning vältides aeganõudvat seadistamist ja sõltuvushaldust.
Kohaliku režiimi ja Dockeri tugi pakuvad sujuvamat töövoogu koodimuudatuste valideerimiseks ja mudelite prototüüpimiseks, kasutades kohalikke konteinereid, mis töötavad SageMaker Studio sülearvutis.
näiteks. Selles postituses juhendame teid SageMaker Studios kohaliku režiimi seadistamisel, näidiskoolitustöö läbiviimisel ja mudeli juurutamisel. Amazon SageMaker lõpp-punkt SageMaker Studio sülearvutist.
SageMaker Studio kohalik režiim
SageMaker Studio tutvustab kohalikku režiimi, mis võimaldab teil käivitada SageMakeri koolituse, järelduste tegemise, pakkteisendamise ja töötlemise töid otse oma JupyterLabi, koodiredaktori või SageMaker Studio klassikalise sülearvuti eksemplarides, ilma et oleks vaja kaugarvutusressursse. Kohaliku režiimi kasutamise eelised hõlmavad järgmist:
- Töövoogude kohene valideerimine ja testimine otse integreeritud arenduskeskkondades (IDE)
- Väiksemate tööde kiirem iteratsioon kohalike käituste kaudu, et kontrollida väljundeid ja tuvastada probleeme varakult
- Täiustatud arenduse ja silumise tõhusus, kaotades kaugõppetööde ootamise
- Kohene tagasiside koodimuudatuste kohta enne täielike tööde käivitamist pilves
Järgmine joonis illustreerib SageMakeri kohaliku režiimi töövoogu.
Kohaliku režiimi kasutamiseks määrake instance_type='local'
SageMaker Python SDK tööde, näiteks koolituse ja järelduste tegemisel. See käivitab need teie SageMaker Studio IDE-de kasutatavatel eksemplaridel, selle asemel et varustada pilveressursse.
Kuigi teatud võimalused, nagu hajutatud koolitus, on saadaval ainult pilves, ei pea kohalik režiim kiirete iteratsioonide jaoks konteksti vahetama. Kui olete valmis SageMakeri kogu võimsust ja ulatust kasutama, saate oma töövoogu sujuvalt pilves juhtida.
Dockeri tugi SageMaker Studios
SageMaker Studio võimaldab nüüd ka Dockeri konteinerite loomist ja käitamist teie SageMaker Studio sülearvuti eksemplaris kohapeal. See uus funktsioon võimaldab teil luua ja kinnitada Dockeri pilte SageMaker Studios, enne kui kasutate neid SageMakeri treenimiseks ja järelduste tegemiseks.
Järgmine diagramm illustreerib SageMaker Studio kõrgetasemelist Dockeri orkestreerimisarhitektuuri.
SageMaker Studio Dockeri toega saate teha järgmist.
- Ehitage Dockeri konteinerid integreeritud mudelite ja sõltuvustega otse SageMaker Studios
- Kujutise loomise lihtsustamiseks ei ole vaja väliseid Dockeri ehitusprotsesse
- Enne mudelite tootmisse juurutamist funktsionaalsuse kinnitamiseks käivitage konteinerid kohapeal
- Kasutage SageMakeris koolituseks ja hostimiseks kohalikke konteinereid uuesti
Kuigi mõningaid täiustatud Dockeri funktsioone, nagu mitme konteineri ja kohandatud võrgud, ei toetata selle kirjutamise seisuga, on põhiline ehitus- ja käitamisfunktsioon saadaval, et kiirendada konteinerite väljatöötamist oma konteineri (BYOC) töövoogude toomiseks.
Eeldused
Kohaliku režiimi kasutamiseks SageMaker Studio rakendustes peate täitma järgmised eeltingimused.
- Piltide tõmbamiseks Amazoni elastsete konteinerite register (Amazon ECR), peab ECR-i pilti majutav konto andma kasutajale juurdepääsuloa Identiteet ja juurdepääsu haldamine (IAM) rolli. Domeeni roll peab võimaldama ka juurdepääsu Amazon ECR-ile.
- Kohaliku režiimi ja Dockeri võimaluste lubamiseks peate määrama
EnableDockerAccess
parameetri väärtuseks tõene domeeni jaoksDockerSettings
kasutades AWS-i käsurea liides (AWS CLI). See võimaldab domeeni kasutajatel kasutada kohalikku režiimi ja Dockeri funktsioone. Vaikimisi on SageMaker Studios Local Mode ja Docker keelatud. Kõik olemasolevad SageMaker Studio rakendused tuleb Dockeri teenuse värskenduse jõustumiseks taaskäivitada. Järgmine on AWS-i CLI-käsu näide SageMaker Studio domeeni värskendamiseks:
- Selleks peate värskendama SageMaker IAM-i rolli push Dockeri pilte Amazon ECR-ile:
Käivitage Pythoni faile SageMaker Studio ruumides, kasutades kohalikku režiimi
SageMaker Studio JupyterLab ja koodiredaktor (põhineb Code-OSS, Visual Studio kood – avatud lähtekoodiga), laiendab SageMaker Studiot, et saaksite populaarset kerget IDE-d kasutades kirjutada, testida, siluda ja käitada oma analüüsi- ja ML-koodi. Lisateavet SageMaker Studio IDE-de kasutamise alustamise kohta leiate aadressilt Suurendage Amazon SageMaker Studio tootlikkust: JupyterLab Spacesi ja generatiivsete AI tööriistade tutvustamine ja Uus – Code-OSS VS Code avatud lähtekoodil põhinev koodiredaktor on nüüd saadaval Amazon SageMaker Studios. Tehke järgmised sammud.
- Looge uus terminal.
- Installige Dockeri CLI ja Docker Compose'i pistikprogramm, järgides alltoodud juhiseid GitHub repo. Kui aheldatud käsud ebaõnnestuvad, käivitage käsud ükshaaval.
Peate värskendama SageMakeri SDK uusimale versioonile.
- jooks
pip install sagemaker -Uq
terminalis.
Ainult koodiredaktori jaoks peate Pythoni keskkonna praeguses terminalis töötama seadistama.
- Koodiredaktoris Menüü Fail¸ vali eelistused ja Seaded.
- Otsige ja valige Terminal: käivitage failikataloogis.
- Koodiredaktoris või JupyterLabis avage
scikit_learn_script_mode_local_training_and_serving
kausta ja käivitagescikit_learn_script_mode_local_training_and_serving.py
faili.
Saate skripti käivitada valides jooks koodiredaktoris või CLI-d JupyterLabi terminalis. Näete, kuidas modelli kohapeal koolitatakse. Seejärel juurutate mudeli kohapeal SageMakeri lõpp-punkti ja arvutate ruutkeskmise vea (RMSE
).
Simuleerige SageMaker Studio Classicis koolitust ja järeldusi, kasutades kohalikku režiimi
Väiksemahulise koolitustöö läbiviimiseks saate kasutada ka SageMaker Studio Classicu sülearvutit CIFAR10
kasutades kohalikku režiimi, juurutage mudel kohapeal ja tehke järeldused.
Seadistage oma märkmik
Märkmiku seadistamiseks toimige järgmiselt.
- Avage SageMaker Studio Classic ja kloonige järgmine GitHub repo.
- avage
pytorch_local_mode_cifar10.ipynb notebook in blog/pytorch_cnn_cifar10
.
- eest pilt, vali
PyTorch 2.1.0 Python 3.10 CPU Optimized
.
Veenduge, et teie märkmik näitab õiget eksemplari ja tuuma valikut.
- Avage terminal, valides Käivitage terminal praegusel SageMakeri pildil.
- Installige Dockeri CLI ja Docker Compose'i pistikprogramm, järgides alltoodud juhiseid GitHub repo.
Kuna kasutate SageMaker Studio Classicu Dockerit, eemaldage käskude käivitamisel sudo, kuna terminal töötab juba superkasutaja all. SageMaker Studio Classicu puhul sõltuvad installikäsud SageMaker Studio rakenduse pildi OS-ist. Näiteks DLC-põhised raamistiku pildid on Ubuntu-põhised, milles toimiksid järgmised juhised. Kuid Debianil põhineva kujutise, nagu DataScience Images, puhul peate järgima järgmisi juhiseid GitHub repo. Kui aheldatud käsud ebaõnnestuvad, käivitage käsud ükshaaval. Peaksite nägema Dockeri versiooni.
- Jätke terminali aken avatuks, minge tagasi märkmikusse ja käivitage see lahtri haaval.
Käivitage lahter kindlasti rakendusega pip install -U sagemaker
nii et kasutate SageMaker Python SDK uusimat versiooni.
Kohalik koolitus
Kohaliku SageMakeri koolitustöö käivitamisel näete järgmisi logiridasid:
See näitab, et koolitus toimus kohapeal, kasutades Dockerit.
Olge kannatlik, kuni pytorch-training:2.1-cpu-py310
Dockeri pilt tõmmatakse. Tänu oma suurele suurusele (5.2 GB) võib see võtta paar minutit.
Dockeri kujutised salvestatakse SageMaker Studio rakenduse eksemplari juurköites, mis pole lõppkasutajatele kättesaadav. Ainus viis Dockeri piltidele juurde pääseda ja nendega suhelda on avatud Dockeri API toimingute kaudu.
Kasutaja konfidentsiaalsuse seisukohast ei pääse SageMaker Studio platvorm kunagi juurde ega salvesta kasutajaspetsiifilisi pilte.
Kui koolitus on lõppenud, näete järgmisi edulogi ridu:
Kohalik järeldus
Tehke järgmised toimingud.
- Juurutage SageMakeri lõpp-punkt, kasutades SageMakeri kohalikku režiimi.
Olge kannatlik, kuni pytorch-inference:2.1-cpu-py310
Dockeri pilt tõmmatakse. Tänu oma suurele suurusele (4.32 GB) võib see võtta paar minutit.
- Kutsuge testpilte kasutades kohapeal juurutatud SageMakeri lõpp-punkti.
Näete ennustatud klasse: konn, laev, auto ja lennuk:
- Kuna SageMaker Local lõpp-punkt on endiselt üleval, navigeerige tagasi avatud terminali aknasse ja loetlege töötavad konteinerid:
docker ps
Näete jooksmist pytorch-inference:2.1-cpu-py310
konteiner, mis toetab SageMakeri lõpp-punkti.
- SageMakeri kohaliku lõpp-punkti sulgemiseks ja töötava konteineri peatamiseks, kuna saate korraga käitada ainult ühte kohalikku lõpp-punkti, käivitage puhastuskood.
- Veendumaks, et Dockeri konteiner on maas, saate navigeerida avatud terminali aknasse, käivitada docker ps ja veenduda, et töötavaid konteinereid poleks.
- Kui näete konteinerit, mis töötab, käivitage
docker stop <CONTAINER_ID>
selle peatamiseks.
Näpunäiteid SageMakeri kohaliku režiimi kasutamiseks
Kui kasutate SageMakerit esimest korda, vaadake Treenige masinõppe mudeleid. Lisateavet mudelite juurutamise kohta SageMakeriga järelduste tegemiseks vt Kasutage järelduste tegemiseks mudeleid.
Pidage meeles järgmisi soovitusi:
- Andmekogumi ja mudeli laadimise mõistmiseks printige sisend- ja väljundfaile ja kaustu
- Kasutage kiireks testimiseks 1–2 epohhi ja väikeseid andmekogumeid
- Eelinstallige Dockerfile'i sõltuvused keskkonna seadistuse optimeerimiseks
- Eraldage silumiseks lõpp-punktides serialiseerimiskood
Konfigureerige Dockeri installimine elutsükli konfiguratsioonina
Saate määratleda Dockeri installiprotsessi elutsükli konfiguratsiooni (LCC) skriptina, et lihtsustada seadistamist iga kord, kui uus SageMaker Studio ruum käivitub. LCC-d on skriptid, mida SageMaker käitab sündmuste, näiteks ruumi loomise ajal. Vaadake jupyteri labor, koodiredaktorvõi SageMaker Studio Classic LCC seadistamine (kasutades docker install cli viitena), et rohkem teada saada.
Ehitage ja testige kohandatud Dockeri pilte SageMaker Studio ruumides
Selles etapis installite Dockeri JupyterLabi (või koodiredaktori) rakendusruumi ja kasutate Dockerit kohandatud Dockeri piltide koostamiseks, testimiseks ja avaldamiseks SageMaker Studio ruumidega. Ruumi kasutatakse mõne SageMaker Studio rakenduse salvestusruumi ja ressursivajaduste haldamiseks. Igal ruumil on 1:1 seos rakenduse eksemplariga. Iga loodud toetatud rakendus saab oma ruumi. SageMakeri ruumide kohta lisateabe saamiseks vaadake Suurendage Amazon SageMaker Studio tootlikkust: JupyterLab Spacesi ja generatiivsete AI tööriistade tutvustamine. Dockeri piltide ja artefaktide jaoks piisava salvestusruumi tagamiseks andke kindlasti uus ruum vähemalt 30 GB salvestusruumiga.
Installige Docker ruumi sisse
Dockeri CLI ja Docker Compose'i pistikprogrammi installimiseks JupyterLabi ruumis käivitage järgmised käsud GitHub repo. SageMakeri stuudio toetab ainult Dockeri versiooni 20.10.X.
Ehitage Dockeri pilte
Kinnitamaks, et Docker on installitud ja töötab teie JupyterLabi ruumis, käivitage järgmine kood:
JupyterLabi (või koodiredaktori) ruumis kohandatud Dockeri pildi loomiseks toimige järgmiselt.
- Looge tühi Dockeri fail:
touch Dockerfile
- Redigeerige faili Dockerfile järgmiste käskudega, mis loovad lihtsa kolvi veebiserveri kujutise baaspythonist:3.10.13-bullseye image, mis hostitud Dockeri jaotur:
Järgmine kood näitab näidiskolvi rakenduse faili sisu app.py
:
Lisaks saate värskendada Dockerfile'i viitekäske, et kaasata teie valitud paketid ja artefaktid.
- Dockeri kujutise loomine viite Dockerfile abil:
docker build --network sagemaker --tag myflaskapp:v1 --file ./Dockerfile .
Sisaldama --network
sagemaker oma dockeri ehitamise käsus, muidu ehitamine nurjub. Konteinereid ei saa käitada Dockeri vaikesillas ega kohandatud Dockeri võrkudes. Konteinereid käitatakse samas võrgus kui SageMaker Studio rakenduse konteiner. Kasutajad saavad võrgunime jaoks kasutada ainult sagemakerit.
- Kui teie ehitamine on lõpetatud, kontrollige, kas pilt on olemas. Märgistage järg uuesti ECR-pildiks ja lükake. Kui teil tekib lubadega probleeme, käivitage käsk aws ecr get-login-password… ja proovige Dockeri push/pull uuesti käivitada:
Testige Dockeri pilte
Kui Docker on installitud JupyterLabi (või koodiredaktori) SageMaker Studio ruumi, saate testida eelehitatud või kohandatud Dockeri pilte konteinerite (või konteinerite rakendustena). Selles jaotises kasutame Dockeri käivituskäsku, et varustada SageMaker Studio ruumis Dockeri konteinerid, et testida konteineriseeritud töökoormusi, nagu REST-veebiteenused ja Pythoni skriptid. Tehke järgmised sammud.
- Kui testpilti pole olemas, käivitage docker pull, et tõmmata pilt oma kohalikku masinasse:
sagemaker-user@default:~$ docker pull 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1
- Kui teil on autentimisega probleeme, käivitage järgmised käsud:
aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
- Looge oma töökoormuse testimiseks konteiner.
docker run --network sagemaker 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1
See loob uue konteineri eksemplari ja käivitab Dockeri ENTRYPOINTi abil määratletud rakenduse:
- Kontrollimaks, kas teie veebilõpp-punkt on aktiivne, navigeerige URL-ile
https://<sagemaker-space-id>.studio.us-east-2.sagemaker.aws/jupyterlab/default/proxy/6006/
.
Peaksite nägema järgmise ekraanipildiga sarnast JSON-vastust.
Koristage
Tarbetute tasude vältimiseks kustutage ressursid, mille lõite selle postituse näidete käitamisel:
- Valige oma SageMaker Studio domeenis Klassikaline stuudiokorter navigeerimispaanil, seejärel valige Peatus.
- Valige oma SageMaker Studio domeenis jupyteri labor or koodiredaktor valige navigeerimispaanil oma rakendus ja seejärel valige Peatus.
Järeldus
SageMaker Studio Local Mode ja Dockeri tugi võimaldavad arendajatel luua, testida ja itereerida ML-rakendusi kiiremini, ilma tööruumist lahkumata. Pakkudes kohest juurdepääsu testkeskkondadele ja -väljunditele, optimeerivad need võimalused töövooge ja parandavad tootlikkust. Proovige meie SageMaker Studio kohalikku mudelit ja Dockeri tuge kiire pardafunktsioon, mis võimaldab teil mõne minuti jooksul luua üksikutele kasutajatele uue domeeni. Jagage oma mõtteid kommentaaride jaotises!
Autoritest
Shweta Singh on AWS-i Amazon SageMaker masinõppe (ML) platvormimeeskonna vanem tootejuht, kes juhib SageMaker Python SDK-d. Ta on töötanud Amazonis mitmes tooterollis üle 5 aasta. Tal on bakalaureusekraad arvutitehnikas ja magistrikraad finantstehnikas, mõlemad New Yorgi ülikoolist
Eitan Sela on AWS-i generatiivse tehisintellekti ja masinõppe lahenduste arhitekt. Ta teeb koostööd AWS-i klientidega, et pakkuda juhiseid ja tehnilist abi, aidates neil AWS-is luua ja kasutada generatiivseid AI- ja masinõppelahendusi. Vabal ajal naudib Eitan sörkimist ja uusimate masinõppeartikleid lugemist.
Pranav Murthy on AWS-i AI/ML-i spetsialistilahenduste arhitekt. Ta keskendub sellele, et aidata klientidel masinõppe (ML) töökoormust SageMakerisse luua, koolitada, juurutada ja üle viia. Varem töötas ta pooljuhttööstuses, töötades välja suuri arvutinägemise (CV) ja loomuliku keele töötlemise (NLP) mudeleid, et täiustada pooljuhtprotsesse, kasutades nüüdisaegseid ML-tehnikaid. Vabal ajal meeldib talle malet mängida ja reisida. Pranavi leiate aadressilt LinkedIn.
Mufaddal Rohawala on AWS-i tarkvarainsener. Ta töötab Amazon SageMakeri SageMaker Python SDK teegi kallal. Vabal ajal naudib ta reisimist, vabaõhutegevust ja on jalgpallifänn.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- PlatoData.Network Vertikaalne generatiivne Ai. Jõustage ennast. Juurdepääs siia.
- PlatoAiStream. Web3 luure. Täiustatud teadmised. Juurdepääs siia.
- PlatoESG. Süsinik, CleanTech, Energia, Keskkond päikeseenergia, Jäätmekäitluse. Juurdepääs siia.
- PlatoTervis. Biotehnoloogia ja kliiniliste uuringute luureandmed. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/accelerate-ml-workflows-with-amazon-sagemaker-studio-local-mode-and-docker-support/