Olemme iloisia voidessamme julkistaa kaksi uutta ominaisuutta Amazon SageMaker Studio joka nopeuttaa iteratiivista kehitystä koneoppimisen (ML) käyttäjille: Local Mode ja Docker-tuki. ML-mallin kehittämiseen liittyy usein hitaita iteraatiosyklejä, kun kehittäjät vaihtavat koodauksen, koulutuksen ja käyttöönoton välillä. Jokainen vaihe edellyttää etälaskentaresurssien käynnistymistä, mikä viivästyttää toteutusten validointia ja palautteen saamista muutoksista.
Paikallisen tilan avulla kehittäjät voivat nyt kouluttaa ja testata malleja, virheenkorjauskoodia ja validoida päästä päähän -putkistoja suoraan SageMaker Studio -kannettavassa ilmentymässä ilman, että heidän tarvitsee pyörittää etälaskentaresursseja. Tämä lyhentää iterointisykliä minuuteista sekunteihin, mikä lisää kehittäjien tuottavuutta. SageMaker Studio -kannettavien Docker-tuki antaa kehittäjille mahdollisuuden rakentaa vaivattomasti Docker-säilöjä ja käyttää valmiiksi rakennettuja säilöjä, mikä tarjoaa johdonmukaisen kehitysympäristön koko tiimille ja välttää aikaa vievän asennuksen ja riippuvuuksien hallinnan.
Paikallinen tila ja Docker-tuki tarjoavat virtaviivaistetun työnkulun koodimuutosten validointiin ja mallien prototyyppien luomiseen käyttämällä paikallisia säilöjä, jotka toimivat SageMaker Studio -muistikirjassa.
ilmentymä. Tässä viestissä opastamme sinua määrittämään paikallisen tilan SageMaker Studiossa, suorittamaan esimerkkikoulutustyön ja ottamaan mallin käyttöön Amazon Sage Maker päätepiste SageMaker Studio -muistikirjasta.
SageMaker Studion paikallinen tila
SageMaker Studio esittelee paikallisen tilan, jonka avulla voit suorittaa SageMaker-koulutus-, päättely-, erämuunnos- ja prosessointitöitä suoraan JupyterLab-, Code Editor- tai SageMaker Studio Classic-muistikirjan esiintymissä ilman etälaskentaresursseja. Paikallisen tilan käytön etuja ovat:
- Työnkulkujen välitön validointi ja testaus suoraan integroiduissa kehitysympäristöissä (IDE)
- Nopeampi iterointi paikallisten ajojen avulla pienemmissä töissä tulosteiden tarkastamiseksi ja ongelmien varhaisessa tunnistamisessa
- Parannettu kehitys- ja virheenkorjaustehokkuus eliminoi etäkoulutuksen töiden odottamisen
- Välitön palaute koodin muutoksista ennen täydellisten töiden suorittamista pilvessä
Seuraava kuva havainnollistaa työnkulkua SageMakerin Local Mode -tilassa.
Jos haluat käyttää paikallista tilaa, aseta instance_type='local'
kun suoritat SageMaker Python SDK -töitä, kuten koulutusta ja päätelmiä. Tämä suorittaa ne SageMaker Studion IDE:idesi käyttämissä ilmentymissä sen sijaan, että hallittaisiin pilviresursseja.
Vaikka tietyt ominaisuudet, kuten hajautettu koulutus, ovat saatavilla vain pilvessä, Local Mode poistaa tarpeen vaihtaa konteksteja nopeita iteraatioita varten. Kun olet valmis hyödyntämään SageMakerin koko tehoa ja laajuutta, voit suorittaa työnkulkuasi saumattomasti pilvessä.
Docker-tuki SageMaker Studiossa
SageMaker Studio mahdollistaa nyt myös Docker-säilöjen rakentamisen ja käyttämisen paikallisesti SageMaker Studio -muistikirjan ilmentymässä. Tämän uuden ominaisuuden avulla voit rakentaa ja validoida Docker-kuvia SageMaker Studiossa ennen kuin käytät niitä SageMaker-koulutukseen ja johtopäätöksiin.
Seuraava kaavio havainnollistaa korkean tason Docker-orkesteriarkkitehtuuria SageMaker Studiossa.
SageMaker Studion Docker-tuen avulla voit:
- Rakenna Docker-säiliöitä integroiduilla malleilla ja riippuvuuksilla suoraan SageMaker Studiossa
- Poista ulkoisten Docker-rakennusprosessien tarve kuvien luomisen yksinkertaistamiseksi
- Suorita säilöjä paikallisesti toiminnallisuuden tarkistamiseksi ennen mallien käyttöönottoa tuotantoon
- Käytä paikallisia säiliöitä uudelleen, kun otat ne käyttöön SageMakerissa koulutusta ja isännöintiä varten
Vaikka joitain kehittyneitä Docker-ominaisuuksia, kuten monisäilöjä ja mukautettuja verkkoja, ei tueta tätä kirjoitettaessa, ydin build and run -toiminnot ovat käytettävissä nopeuttamaan säilöjen kehittämistä oman säilön (BYOC) työnkulkua varten.
Edellytykset
Jotta voit käyttää paikallista tilaa SageMaker Studio -sovelluksissa, sinun on täytettävä seuraavat edellytykset:
- Kuvien hakemiseen kohteesta Amazonin elastisten säiliörekisteri (Amazon ECR), ECR-kuvaa isännöivän tilin on annettava käyttäjän käyttöoikeus Identiteetin ja käyttöoikeuksien hallinnan (IAM) rooli. Verkkotunnuksen roolin on myös sallittava Amazon ECR:n käyttö.
- Jos haluat ottaa paikallistilan ja Dockerin ominaisuudet käyttöön, sinun on asetettava
EnableDockerAccess
parametrin arvoksi tosi verkkotunnukselleDockerSettings
käyttäen AWS-komentoriviliitäntä (AWS CLI). Tämän ansiosta verkkotunnuksen käyttäjät voivat käyttää Local Mode- ja Docker-ominaisuuksia. Oletusarvoisesti Paikallinen tila ja Docker on poistettu käytöstä SageMaker Studiossa. Kaikki olemassa olevat SageMaker Studio -sovellukset on käynnistettävä uudelleen, jotta Docker-palvelupäivitys tulee voimaan. Seuraavassa on esimerkki AWS CLI -komennosta SageMaker Studio -toimialueen päivittämiseen:
- Sinun on päivitettävä SageMaker IAM -rooli, jotta voit push Docker -kuvia Amazon ECR:lle:
Suorita Python-tiedostoja SageMaker Studio -tiloissa käyttämällä paikallista tilaa
SageMaker Studio JupyterLab ja Code Editor (perustuu Code-OSS, Visual Studio Code – avoin lähdekoodi), laajentaa SageMaker Studiota, jotta voit kirjoittaa, testata, korjata ja suorittaa analytiikkaa ja ML-koodia käyttämällä suosittua kevyttä IDE:tä. Lisätietoja SageMaker Studion IDE:iden käytön aloittamisesta on kohdassa Paranna tuottavuutta Amazon SageMaker Studiossa: Esittelyssä JupyterLab Spaces ja generatiiviset tekoälytyökalut ja Uusi – Code-OSS VS Code Open Source -koodieditori, joka on nyt saatavilla Amazon SageMaker Studiossa. Suorita seuraavat vaiheet:
- Luo uusi pääte.
- Asenna Docker CLI ja Docker Compose -laajennus seuraavien ohjeiden mukaisesti GitHub repo. Jos ketjutetut komennot epäonnistuvat, suorita komennot yksi kerrallaan.
Sinun on päivitettävä SageMaker SDK uusimpaan versioon.
- ajaa
pip install sagemaker -Uq
terminaalissa.
Vain koodieditoria varten sinun on asetettava Python-ympäristö toimimaan nykyisessä päätteessä.
- Koodieditorissa osoitteessa Tiedosto-valikko¸ valitse Asetukset ja Asetukset.
- Etsi ja valitse Pääte: Suorita tiedostohakemistossa.
- Avaa koodieditorissa tai JupyterLabissa
scikit_learn_script_mode_local_training_and_serving
kansio ja suoritascikit_learn_script_mode_local_training_and_serving.py
tiedosto.
Voit suorittaa skriptin valitsemalla ajaa koodieditorissa tai käyttämällä CLI:tä JupyterLab-päätteessä. Näet kuinka mallia koulutetaan paikallisesti. Sitten otat mallin käyttöön paikallisesti SageMaker-päätepisteeseen ja lasket neliövirheen (RMSE
).
Simuloi harjoittelua ja päätelmiä SageMaker Studio Classicissa käyttämällä paikallista tilaa
Voit myös käyttää muistikirjaa SageMaker Studio Classicissa pienen mittakaavan harjoittelun suorittamiseen CIFAR10
Käytä paikallista tilaa, ota malli käyttöön paikallisesti ja tee päättely.
Määritä muistikirjasi
Voit määrittää muistikirjan suorittamalla seuraavat vaiheet:
- Avaa SageMaker Studio Classic ja kloonaa seuraava GitHub repo.
- Avaa
pytorch_local_mode_cifar10.ipynb notebook in blog/pytorch_cnn_cifar10
.
- varten Kuva, valitse
PyTorch 2.1.0 Python 3.10 CPU Optimized
.
Varmista, että muistikirjasi näyttää oikean ilmentymän ja ytimen valinnan.
- Avaa pääte valitsemalla Käynnistä terminaali nykyisessä SageMaker-kuvassa.
- Asenna Docker CLI ja Docker Compose -laajennus seuraavien ohjeiden mukaisesti GitHub repo.
Koska käytät SageMaker Studio Classicin Dockeria, poista sudo suorittaessasi komentoja, koska pääte toimii jo superkäyttäjän alla. SageMaker Studio Classicin asennuskomennot riippuvat SageMaker Studio -sovelluksen kuvakäyttöjärjestelmästä. Esimerkiksi DLC-pohjaiset kehyskuvat ovat Ubuntu-pohjaisia, joissa seuraavat ohjeet toimisivat. Debian-pohjaisen kuvan, kuten DataScience Images, tapauksessa sinun on kuitenkin noudatettava seuraavia ohjeita GitHub repo. Jos ketjutetut komennot epäonnistuvat, suorita komennot yksi kerrallaan. Sinun pitäisi nähdä Docker-versio.
- Jätä pääteikkuna auki, palaa muistikirjaan ja aloita sen suorittaminen solu kerrallaan.
Varmista, että käytät solua pip install -U sagemaker
joten käytät SageMaker Python SDK:n uusinta versiota.
Paikallinen koulutus
Kun aloitat paikallisen SageMaker-harjoitustyön suorittamisen, näet seuraavat lokirivit:
Tämä osoittaa, että koulutus suoritettiin paikallisesti Dockerin avulla.
Ole kärsivällinen, kun pytorch-training:2.1-cpu-py310
Docker-kuva vedetään. Suuren kokonsa (5.2 Gt) vuoksi se voi kestää muutaman minuutin.
Docker-kuvat tallennetaan SageMaker Studio -sovelluksen juuritaltiolle, joka ei ole loppukäyttäjien käytettävissä. Ainoa tapa käyttää Docker-kuvia ja olla vuorovaikutuksessa niiden kanssa on esillä olevien Docker API -toimintojen kautta.
Käyttäjien luottamuksellisuuden näkökulmasta SageMaker Studio -alusta ei koskaan käytä tai tallenna käyttäjäkohtaisia kuvia.
Kun koulutus on suoritettu, voit nähdä seuraavat menestyslokin rivit:
Paikallinen päättely
Suorita seuraavat vaiheet:
- Ota SageMaker-päätepiste käyttöön SageMaker Local Mode -tilan avulla.
Ole kärsivällinen, kun pytorch-inference:2.1-cpu-py310
Docker-kuva vedetään. Suuren kokonsa (4.32 Gt) vuoksi se voi kestää muutaman minuutin.
- Kutsu SageMaker-päätepiste, joka on otettu käyttöön paikallisesti testikuvien avulla.
Näet ennustetut luokat: sammakko, laiva, auto ja lentokone:
- Koska SageMaker Local -päätepiste on edelleen käytössä, siirry takaisin avoimeen pääteikkunaan ja luettele käynnissä olevat säilöt:
docker ps
Voit nähdä juoksun pytorch-inference:2.1-cpu-py310
kontti, joka tukee SageMaker-päätepistettä.
- Jos haluat sulkea SageMakerin paikallisen päätepisteen ja pysäyttää käynnissä olevan säilön, koska voit suorittaa vain yhden paikallisen päätepisteen kerrallaan, suorita puhdistuskoodi.
- Varmistaaksesi, että Docker-säilö on alhaalla, voit navigoida avautuvaan pääteikkunaan, suorittaa Docker ps:n ja varmistaa, ettei käynnissä olevia säiliöitä ole.
- Jos näet kontin käynnissä, aja
docker stop <CONTAINER_ID>
lopettaa se.
Vinkkejä SageMaker Local Mode -tilan käyttöön
Jos käytät SageMakeria ensimmäistä kertaa, katso Kouluta koneoppimismalleja. Lisätietoja mallien käyttöönotosta SageMakerin päättelyä varten on kohdassa Ota mallit käyttöön johtopäätösten tekemiseksi.
Muista seuraavat suositukset:
- Tulosta syöttö- ja tulostustiedostoja ja kansioita ymmärtääksesi tietojoukon ja mallin lataamisen
- Käytä 1–2 aikajaksoa ja pieniä tietojoukkoja nopeaan testaukseen
- Esiasenna riippuvuudet Docker-tiedostoon ympäristön asennuksen optimoimiseksi
- Eristä serialisointikoodi päätepisteistä virheenkorjausta varten
Määritä Docker-asennus elinkaaren kokoonpanoksi
Voit määrittää Dockerin asennusprosessin Lifecycle Configuration (LCC) -komentosarjaksi yksinkertaistaaksesi asennusta aina, kun uusi SageMaker Studio -tila käynnistyy. LCC:t ovat skriptejä, joita SageMaker suorittaa tapahtumien, kuten tilan luomisen, aikana. Viittaavat jupyter lab, Koodieditoritai SageMaker Studio Classic LCC-asetukset (käyttäen docker install cli viitteenä) saadaksesi lisätietoja.
Rakenna ja testaa mukautettuja Docker-kuvia SageMaker Studio -tiloissa
Tässä vaiheessa asennat Dockerin JupyterLab (tai Code Editor) -sovellustilaan ja käytät Dockeria mukautettujen Docker-kuvien luomiseen, testaamiseen ja julkaisemiseen SageMaker Studio -tilojen kanssa. Välilyöntejä käytetään joidenkin SageMaker Studio -sovellusten tallennus- ja resurssitarpeiden hallintaan. Jokaisella tilalla on 1:1-suhde sovelluksen esiintymän kanssa. Jokainen luotu tuettu sovellus saa oman tilansa. Lisätietoja SageMaker-tiloista on kohdassa Paranna tuottavuutta Amazon SageMaker Studiossa: Esittelyssä JupyterLab Spaces ja generatiiviset tekoälytyökalut. Varmista, että varaat uuden tilan, jossa on vähintään 30 Gt tallennustilaa, jotta Docker-kuville ja esineille on riittävästi tallennustilaa.
Asenna Docker tilaan
Asenna Docker CLI ja Docker Compose -laajennus JupyterLab-tilaan suorittamalla komennot seuraavassa GitHub repo. SageMaker Studio tukee vain Dockerin versiota 20.10.X.
Rakenna Docker-kuvia
Varmista, että Docker on asennettu ja toimii JupyterLab-tilassa, suorittamalla seuraava koodi:
Voit rakentaa mukautetun Docker-kuvan JupyterLab- (tai koodieditori) -tilaan suorittamalla seuraavat vaiheet:
- Luo tyhjä Docker-tiedosto:
touch Dockerfile
- Muokkaa Docker-tiedostoa seuraavilla komennoilla, jotka luovat yksinkertaisen pullon verkkopalvelimen kuvan peruspythonista:3.10.13-bullseye-kuva isännöi Docker-napa:
Seuraava koodi näyttää esimerkkipullon sovellustiedoston sisällön app.py
:
Lisäksi voit päivittää viite Dockerfile-komennot sisältämään valitsemasi paketit ja artefaktit.
- Luo Docker-kuva käyttämällä Docker-viitetiedostoa:
docker build --network sagemaker --tag myflaskapp:v1 --file ./Dockerfile .
Sisältää --network
sagemaker Docker build -komennossa, muuten koonti epäonnistuu. Säilöjä ei voi käyttää Dockerin oletussillassa tai mukautetuissa Docker-verkoissa. Säilöjä ajetaan samassa verkossa kuin SageMaker Studio -sovellussäilö. Käyttäjät voivat käyttää sagemakeria vain verkon nimenä.
- Kun rakennus on valmis, tarkista, onko kuva olemassa. Merkitse rakennelma uudelleen ECR-kuvaksi ja paina. Jos kohtaat lupaongelmia, suorita aws ecr get-login-password… -komento ja yritä suorittaa Docker push/pull uudelleen:
Testaa Docker-kuvia
Kun Docker on asennettu JupyterLab (tai Code Editor) SageMaker Studio -tilaan, voit testata valmiiksi rakennettuja tai mukautettuja Docker-kuvia konteina (tai säiliösovelluksina). Tässä osiossa käytämme Docker run -komentoa Docker-säilöjen järjestämiseen SageMaker Studio -tilan sisällä säiliöiden, kuten REST-verkkopalveluiden ja Python-komentosarjojen, testaamiseen. Suorita seuraavat vaiheet:
- Jos testikuvaa ei ole olemassa, suorita Docker pull vetääksesi kuvan paikalliseen koneeseen:
sagemaker-user@default:~$ docker pull 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1
- Jos kohtaat todennusongelmia, suorita seuraavat komennot:
aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
- Luo säilö työkuorman testaamiseksi:
docker run --network sagemaker 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1
Tämä pyörittää uuden säilön ilmentymän ja suorittaa Dockerin ENTRYPOINT:n avulla määritellyn sovelluksen:
- Jos haluat testata, onko verkkopäätepisteesi aktiivinen, siirry URL-osoitteeseen
https://<sagemaker-space-id>.studio.us-east-2.sagemaker.aws/jupyterlab/default/proxy/6006/
.
Sinun pitäisi nähdä seuraavan kuvakaappauksen kaltainen JSON-vastaus.
Puhdistaa
Voit välttää tarpeettomia kuluja poistamalla resurssit, jotka loit suorittaessasi tämän viestin esimerkkejä:
- Valitse SageMaker Studio -verkkotunnuksessasi Klassinen studio navigointiruudussa ja valitse sitten stop.
- Valitse SageMaker Studio -verkkotunnuksessasi jupyter lab or Koodieditori valitse navigointiruudusta sovelluksesi ja valitse sitten stop.
Yhteenveto
SageMaker Studion paikallistila ja Docker-tuki antavat kehittäjille mahdollisuuden rakentaa, testata ja iteroida ML-toteutuksia nopeammin poistumatta työtilastaan. Tarjoamalla välittömän pääsyn testiympäristöihin ja -tuloksiin nämä ominaisuudet optimoivat työnkulkuja ja parantavat tuottavuutta. Kokeile SageMaker Studion paikallista malli- ja Docker-tukea käyttämällä meidän nopea sisäänrakennettu ominaisuus, jonka avulla voit luoda uuden verkkotunnuksen yksittäisille käyttäjille muutamassa minuutissa. Jaa ajatuksesi kommenttiosiossa!
Tietoja Tekijät
Shweta Singh on vanhempi tuotepäällikkö Amazon SageMaker Machine Learning (ML) -alustatiimissä AWS:ssä, johtavassa SageMaker Python SDK:ssa. Hän on työskennellyt useissa tuoterooleissa Amazonissa yli 5 vuoden ajan. Hänellä on kandidaatin tutkinto tietotekniikassa ja maisterin tutkinto rahoitustekniikassa, molemmat New Yorkin yliopistosta
Eitan Sela on AWS:n generatiivisen tekoälyn ja koneoppimisen asiantuntijaratkaisujen arkkitehti. Hän työskentelee AWS-asiakkaiden kanssa tarjotakseen ohjausta ja teknistä tukea, mikä auttaa heitä rakentamaan ja käyttämään generatiivisia tekoäly- ja koneoppimisratkaisuja AWS:ssä. Vapaa-ajallaan Eitan nauttii lenkkeilystä ja uusimpien koneoppimisartikkelien lukemisesta.
Pranav Murthy on AI/ML Specialist Solutions -arkkitehti AWS:ssä. Hän keskittyy auttamaan asiakkaita rakentamaan, kouluttamaan, ottamaan käyttöön ja siirtämään koneoppimistyökuormia SageMakeriin. Aiemmin hän työskenteli puolijohdeteollisuudessa kehittäen suuria tietokonenäön (CV) ja luonnollisen kielen prosessointimalleja (NLP) puolijohdeprosessien parantamiseksi käyttämällä uusinta ML-tekniikkaa. Vapaa-ajallaan hän pelaa shakkia ja matkustaa. Löydät Pranavin osoitteesta LinkedIn.
Mufaddal Rohawala on ohjelmistosuunnittelija AWS:ssä. Hän työskentelee SageMaker Python SDK -kirjastossa Amazon SageMakerille. Vapaa-ajallaan hän nauttii matkustamisesta, ulkoilusta ja on jalkapallofani.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/accelerate-ml-workflows-with-amazon-sagemaker-studio-local-mode-and-docker-support/