Dataforskere trenger et konsistent og reproduserbart miljø for maskinlæring (ML) og datavitenskapelige arbeidsbelastninger som gjør det mulig å administrere avhengigheter og er sikkert. AWS Deep Learning-beholdere leverer allerede forhåndsbygde Docker-bilder for opplæring og servering av modeller i vanlige rammeverk som TensorFlow, PyTorch og MXNet. For å forbedre denne opplevelsen kunngjorde vi en offentlig betaversjon av SageMaker åpen kildekode-distribusjon på 2023 JupyterCon. Dette gir en enhetlig ende-til-ende ML-opplevelse på tvers av ML-utviklere med varierende ekspertisenivå. Utviklere trenger ikke lenger å bytte mellom ulike rammeverksbeholdere for eksperimentering, eller når de går fra lokale JupyterLab-miljøer og SageMaker-notatbøker til produksjonsjobber på SageMaker. SageMaker Distribution med åpen kildekode støtter de vanligste pakkene og bibliotekene for datavitenskap, ML og visualisering, som TensorFlow, PyTorch, Scikit-learn, Pandas og Matplotlib. Du kan begynne å bruke beholderen fra Amazon ECR Public Gallery starter i dag.
I dette innlegget viser vi deg hvordan du kan bruke SageMaker åpen kildekode-distribusjon til raskt å eksperimentere med ditt lokale miljø og enkelt promotere dem til jobber på SageMaker.
Løsningsoversikt
For eksempelet vårt viser vi opplæring av en bildeklassifiseringsmodell ved hjelp av PyTorch. Vi bruker KMNIST datasett tilgjengelig offentlig på PyTorch. Vi trener en nevrale nettverksmodell, tester modellens ytelse, og til slutt skriver vi ut treningen og testtapet. Den fullstendige notatboken for dette eksemplet er tilgjengelig i SageMaker Studio Lab eksempler repository. Vi starter eksperimentering på en lokal bærbar datamaskin ved hjelp av åpen kildekode-distribusjon, flytt den til Amazon SageMaker Studio for å bruke en større forekomst, og planlegg deretter notatboken som en notatbokjobb.
Forutsetninger
Du trenger følgende forutsetninger:
Sett opp ditt lokale miljø
Du kan begynne å bruke åpen kildekode-distribusjonen på din lokale bærbare datamaskin. For å starte JupyterLab, kjør følgende kommandoer på terminalen din:
Du kan erstatte ECR_IMAGE_ID
med noen av bildekodene som er tilgjengelige i Amazon ECR Public Gallery, eller velg latest-gpu
tag hvis du bruker en maskin som støtter GPU.
Denne kommandoen vil starte JupyterLab og gi en URL på terminalen, som http://127.0.0.1:8888/lab?token=<token>
. Kopier lenken og skriv den inn i din foretrukne nettleser for å starte JupyterLab.
Sett opp Studio
Studio er et ende-til-ende integrert utviklingsmiljø (IDE) for ML som lar utviklere og dataforskere bygge, trene, distribuere og overvåke ML-modeller i stor skala. Studio tilbyr en omfattende liste over førstepartsbilder med vanlige rammer og pakker, som Data Science, TensorFlow, PyTorch og Spark. Disse bildene gjør det enkelt for dataforskere å komme i gang med ML ved ganske enkelt å velge et rammeverk og forekomsttype for databehandling.
Du kan nå bruke SageMaker åpen kildekode-distribusjon på Studio ved å bruke Studios ta med ditt eget bilde trekk. For å legge til åpen kildekode-distribusjon til SageMaker-domenet ditt, fullfør følgende trinn:
- Legg til åpen kildekode-distribusjon til kontoen din Amazon Elastic Container Registry (Amazon ECR) repository ved å kjøre følgende kommandoer på terminalen din:
- Lag et SageMaker-bilde og legg ved bildet til Studio-domenet:
- På SageMaker-konsollen starter du Studio ved å velge ditt domene og eksisterende brukerprofil.
- Du kan eventuelt starte Studio på nytt ved å følge trinnene i Slå av og oppdater SageMaker Studio.
Last ned notatboken
Last ned eksempelnotisboken lokalt fra GitHub repo.
Åpne den bærbare datamaskinen i ditt valg av IDE og legg til en celle i begynnelsen av den bærbare datamaskinen for å installere torchsummary
. De torchsummary
pakken er ikke en del av distribusjonen, og å installere denne på den bærbare datamaskinen vil sikre at den kjører ende til ende. Vi anbefaler å bruke conda
or micromamba
å administrere miljøer og avhengigheter. Legg til følgende celle i notatboken og lagre notatboken:
Eksperimenter på den lokale notatboken
Last opp notatboken til JupyterLab-grensesnittet du startet ved å velge opplastingsikonet som vist i følgende skjermbilde.
Når den er lastet opp, start cv-kmnist.ipynb
notisbok. Du kan begynne å kjøre cellene umiddelbart, uten å måtte installere noen avhengigheter som lommelykt, matplotlib eller ipywidgets.
Hvis du fulgte de foregående trinnene, kan du se at du kan bruke distribusjonen lokalt fra den bærbare datamaskinen. I neste trinn bruker vi samme distribusjon på Studio for å dra nytte av Studios funksjoner.
Flytt eksperimentet til Studio (valgfritt)
La oss eventuelt fremme eksperimenteringen til Studio. En av fordelene med Studio er at de underliggende dataressursene er helt elastiske, slik at du enkelt kan ringe de tilgjengelige ressursene opp eller ned, og endringene skjer automatisk i bakgrunnen uten å avbryte arbeidet ditt. Hvis du ønsker å kjøre den samme notatboken fra tidligere på et større datasett og dataforekomst, kan du migrere til Studio.
Naviger til Studio-grensesnittet du startet tidligere, og velg opplastingsikonet for å laste opp notatboken.
Etter at du har startet notatblokken, blir du bedt om å velge bilde og forekomsttype. På kjernestarteren velger du sagemaker-runtime
som bildet og en ml.t3.medium
eksempel, velg deretter Plukke ut.
Du kan nå kjøre den bærbare PC-en fra ende til annen uten at du trenger noen endringer på den fra ditt lokale utviklingsmiljø til Studio-notatbøker!
Planlegg notatboken som en jobb
Når du er ferdig med eksperimenteringen, gir SageMaker flere alternativer for å produksjonalisere den bærbare datamaskinen, for eksempel opplæringsjobber og SageMaker-rørledninger. Et slikt alternativ er å kjøre selve den bærbare datamaskinen direkte som en ikke-interaktiv, planlagt notatbok-jobb ved hjelp av SageMaker bærbare jobber. Det kan for eksempel være lurt å omskolere modellen med jevne mellomrom, eller få slutninger om innkommende data med jevne mellomrom og generere rapporter for forbruk av interessentene dine.
Fra Studio velger du ikonet for den bærbare jobben for å starte den bærbare jobben. Hvis du har installert utvidelsen for bærbare jobber lokalt på den bærbare datamaskinen, kan du også planlegge den bærbare datamaskinen direkte fra den bærbare datamaskinen. Se Installasjonsveiledning for å sette opp utvidelsen for bærbare jobber lokalt.
Den bærbare jobben bruker automatisk ECR-bilde-URIen til åpen kildekode-distribusjonen, slik at du direkte kan planlegge den bærbare jobben.
Velg Kjør etter planen, velg en tidsplan, for eksempel hver uke på lørdag, og velg Skape. Du kan også velge Løp nå hvis du vil se resultatene umiddelbart.
Når den første bærbare jobben er fullført, kan du se utdataene direkte fra Studio UI ved å velge bærbare etter Utdatafiler.
Ytterligere hensyn
I tillegg til å bruke det offentlig tilgjengelige ECR-bildet direkte for ML-arbeidsbelastninger, tilbyr åpen kildekodedistribusjonen følgende fordeler:
- Dockerfilen som brukes til å bygge bildet er tilgjengelig offentlig for utviklere å utforske og bygge sine egne bilder. Du kan også arve dette bildet som basisbildet og installere dine egendefinerte biblioteker for å få et reproduserbart miljø.
- Hvis du ikke er vant til Docker og foretrekker å bruke Conda-miljøer på JupyterLab-miljøet ditt, tilbyr vi en
env.out
fil for hver av de publiserte versjonene. Du kan bruke instruksjonene i filen for å lage ditt eget Conda-miljø som vil etterligne det samme miljøet. Se for eksempel CPU-miljøfilen cpu.env.out. - Du kan bruke GPU-versjonene av bildet til å kjøre GPU-kompatible arbeidsbelastninger som dyp læring og bildebehandling.
Rydd opp
Fullfør følgende trinn for å rydde opp i ressursene dine:
- Hvis du har planlagt at den bærbare datamaskinen skal kjøre etter en tidsplan, stans eller slett planen på Definisjoner av notatbokjobber fanen for å unngå å betale for fremtidige jobber.
- Slå av alle Studio-apper for å unngå å betale for ubrukt databruk. Se Slå av og oppdater Studio-apper for instruksjoner.
- Eventuelt kan du slette Studio-domenet hvis du opprettet et.
konklusjonen
Å opprettholde et reproduserbart miljø på tvers av ulike stadier av ML-livssyklusen er en av de største utfordringene for dataforskere og utviklere. Med SageMaker åpen kildekode-distribusjon gir vi et bilde med gjensidig kompatible versjoner av de vanligste ML-rammeverkene og -pakkene. Distribusjonen er også åpen kildekode, og gir utviklere åpenhet i pakkene og byggeprosessene, noe som gjør det enklere å tilpasse sin egen distribusjon.
I dette innlegget viste vi deg hvordan du bruker distribusjonen på ditt lokale miljø, på Studio og som beholderen for treningsjobbene dine. Denne funksjonen er for øyeblikket i offentlig beta. Vi oppfordrer deg til å prøve dette ut og dele tilbakemeldinger og problemer på offentlig GitHub-depot!
Om forfatterne
Durga Sury er en ML Solutions Architect på Amazon SageMaker Service SA-teamet. Hun brenner for å gjøre maskinlæring tilgjengelig for alle. I løpet av sine 4 år i AWS har hun vært med på å sette opp AI/ML-plattformer for bedriftskunder. Når hun ikke jobber, elsker hun motorsykkelturer, mysterieromaner og lange turer med sin 5 år gamle husky.
Ketan Vijayvargiya er en senior programvareutviklingsingeniør i Amazon Web Services (AWS). Fokusområdene hans er maskinlæring, distribuerte systemer og åpen kildekode. Utenfor jobben bruker han gjerne tiden på å være selvvert og nyte naturen.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- EVM Finans. Unified Interface for desentralisert økonomi. Tilgang her.
- Quantum Media Group. IR/PR forsterket. Tilgang her.
- PlatoAiStream. Web3 Data Intelligence. Kunnskap forsterket. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/get-started-with-the-open-source-amazon-sagemaker-distribution/
- : har
- :er
- :ikke
- $OPP
- 1
- 10
- 100
- 11
- 2023
- 7
- 9
- a
- Om oss
- tilgjengelig
- tvers
- legge til
- tillegg
- Ytterligere
- Fordel
- fordeler
- AI / ML
- Alle
- allerede
- også
- Amazon
- Amazon SageMaker
- Amazon Web Services
- Amazon Web Services (AWS)
- an
- og
- annonsert
- noen
- app
- apps
- ER
- områder
- AS
- At
- feste
- automatisk
- tilgjengelig
- unngå
- AWS
- bakgrunn
- basen
- basert
- BE
- Begynnelsen
- beta
- mellom
- Biggest
- nett~~POS=TRUNC leseren~~POS=HEADCOMP
- bygge
- by
- CAN
- CAT
- Celler
- utfordringer
- Endringer
- valg
- Velg
- velge
- klassifisering
- COM
- Felles
- kompatibel
- fullføre
- Beregn
- Konfigurasjon
- konsistent
- Konsoll
- forbruk
- Container
- Containere
- skape
- opprettet
- I dag
- skikk
- Kunder
- tilpasse
- dato
- datavitenskap
- datasett
- dyp
- dyp læring
- Misligholde
- utplassere
- beskrive
- utviklere
- Utvikling
- forskjellig
- direkte
- distribueres
- distribuerte systemer
- distribusjon
- Docker
- domene
- gjort
- ned
- hver enkelt
- Tidligere
- enklere
- lett
- muliggjør
- oppmuntre
- slutt
- ende til ende
- ingeniør
- sikre
- Enter
- Enterprise
- Miljø
- miljøer
- Hver
- alle
- eksempel
- eksempler
- eksisterende
- erfaring
- eksperiment
- ekspertise
- utforske
- eksportere
- forlengelse
- omfattende
- Trekk
- Egenskaper
- tilbakemelding
- filet
- Endelig
- Først
- Fokus
- fulgt
- etter
- Til
- Rammeverk
- rammer
- fra
- fullt
- fullt
- framtid
- generere
- få
- GitHub
- GPU
- Ha
- å ha
- he
- hjulpet
- her
- hans
- Hvordan
- Hvordan
- HTML
- HTTPS
- ICON
- if
- bilde
- Bildeklassifisering
- bilder
- umiddelbart
- forbedre
- in
- Innkommende
- installere
- installerte
- installere
- f.eks
- instruksjoner
- integrert
- inn
- saker
- IT
- selv
- Jobb
- Jobb
- jpg
- JSON
- lab
- laptop
- større
- lansere
- lansert
- læring
- Lar
- nivåer
- bibliotekene
- Livssyklus
- i likhet med
- liker
- LINK
- Liste
- lokal
- lokalt
- Logg inn
- Lang
- lenger
- tap
- elsker
- maskin
- maskinlæring
- gjøre
- Making
- administrer
- administrerende
- matplotlib
- kunne
- migrere
- ML
- modell
- modeller
- Overvåke
- mest
- motorsykkel
- flytte
- flere
- gjensidig
- Mystery
- navn
- Natur
- Trenger
- trenger
- nettverk
- nevrale nettverket
- Ny
- neste
- Nei.
- bærbare
- nå
- of
- Tilbud
- on
- ONE
- åpen
- åpen kildekode
- Alternativ
- alternativer
- or
- vår
- ut
- utenfor
- egen
- pakke
- pakker
- pandaer
- del
- lidenskapelig
- pause
- betalende
- ytelse
- Sted
- Plattformer
- plato
- Platon Data Intelligence
- PlatonData
- Post
- trekker
- trekkes
- forutsetninger
- Skrive ut
- privat
- Prosesser
- prosessering
- Produksjon
- Profil
- fremme
- gi
- gir
- gi
- offentlig
- offentlig
- publisert
- Skyv
- Python
- pytorch
- raskt
- anbefaler
- erstatte
- Rapporter
- Repository
- Krav
- Ressurser
- Resultater
- Kjør
- rennende
- s
- SA
- sagemaker
- SageMaker-rørledninger
- samme
- lørdag
- Spar
- Skala
- planlegge
- planlagt
- Vitenskap
- forskere
- scikit lære
- sikre
- se
- senior
- tjeneste
- Tjenester
- servering
- sett
- innstillinger
- Del
- hun
- Vis
- presentere
- viste
- vist
- Enkelt
- ganske enkelt
- So
- Software
- programvareutvikling
- Solutions
- kilde
- Spark
- bruke
- stadier
- interessenter
- Begynn
- startet
- Start
- Trinn
- Steps
- studio
- slik
- Støtter
- Bytte om
- Systemer
- TAG
- Ta
- lag
- tensorflow
- terminal
- test
- Det
- De
- deres
- Dem
- deretter
- Disse
- de
- denne
- tid
- til
- i dag
- lommelykt
- Tog
- Kurs
- Åpenhet
- prøve
- typen
- ui
- underliggende
- enhetlig
- ubrukt
- Oppdater
- lastet opp
- URL
- bruk
- bruke
- brukt
- Bruker
- bruker
- ved hjelp av
- versjon
- Se
- visualisering
- ønsker
- ønsket
- we
- web
- webtjenester
- uke
- når
- vil
- med
- uten
- Arbeid
- arbeid
- år
- Du
- Din
- zephyrnet