Dataforskere har brug for et konsistent og reproducerbart miljø for maskinlæring (ML) og datavidenskabelige arbejdsbelastninger, der muliggør styring af afhængigheder og er sikker. AWS Deep Learning-containere leverer allerede forudbyggede Docker-billeder til træning og servering af modeller i almindelige rammer såsom TensorFlow, PyTorch og MXNet. For at forbedre denne oplevelse annoncerede vi en offentlig betaversion af SageMaker open source-distributionen ved 2023 JupyterCon. Dette giver en samlet end-to-end ML-oplevelse på tværs af ML-udviklere med varierende ekspertiseniveauer. Udviklere behøver ikke længere at skifte mellem forskellige rammebeholdere for at eksperimentere, eller når de flytter fra lokale JupyterLab-miljøer og SageMaker-notebooks til produktionsjob på SageMaker. Open-source SageMaker Distribution understøtter de mest almindelige pakker og biblioteker til datavidenskab, ML og visualisering, såsom TensorFlow, PyTorch, Scikit-learn, Pandas og Matplotlib. Du kan begynde at bruge beholderen fra Amazon ECR Public Gallery starter i dag.
I dette indlæg viser vi dig, hvordan du kan bruge SageMaker open source-distributionen til hurtigt at eksperimentere med dit lokale miljø og nemt promovere dem til job på SageMaker.
Løsningsoversigt
For vores eksempel viser vi træning af en billedklassificeringsmodel ved hjælp af PyTorch. Vi bruger KMNIST datasæt tilgængeligt offentligt på PyTorch. Vi træner en neural netværksmodel, tester modellens ydeevne og udskriver til sidst træningen og testtabet. Den fulde notesbog til dette eksempel er tilgængelig i SageMaker Studio Lab eksempler repository. Vi begynder at eksperimentere på en lokal bærbar computer ved hjælp af open source-distributionen, flyt den til Amazon SageMaker Studio for at bruge en større forekomst, og planlæg derefter notesbogen som et notesbogsjob.
Forudsætninger
Du har brug for følgende forudsætninger:
Indstil dit lokale miljø
Du kan direkte begynde at bruge open source-distributionen på din lokale bærbare computer. For at starte JupyterLab skal du køre følgende kommandoer på din terminal:
Du kan erstatte ECR_IMAGE_ID
med nogen af de billedtags, der er tilgængelige i Amazon ECR Public Gallery, eller vælg latest-gpu
tag, hvis du bruger en maskine, der understøtter GPU.
Denne kommando vil starte JupyterLab og give en URL på terminalen, f.eks http://127.0.0.1:8888/lab?token=<token>
. Kopier linket og indtast det i din foretrukne browser for at starte JupyterLab.
Konfigurer Studio
Studio er et end-to-end integreret udviklingsmiljø (IDE) til ML, der lader udviklere og dataforskere bygge, træne, implementere og overvåge ML-modeller i stor skala. Studio tilbyder en omfattende liste over førstepartsbilleder med almindelige rammer og pakker, såsom Data Science, TensorFlow, PyTorch og Spark. Disse billeder gør det nemt for dataforskere at komme i gang med ML ved blot at vælge en ramme og en instanstype efter eget valg til beregning.
Du kan nu bruge SageMaker open source-distributionen på Studio ved hjælp af Studio's medbring dit eget billede funktion. For at tilføje open source-distributionen til dit SageMaker-domæne skal du udføre følgende trin:
- Tilføj open source-distributionen til din kontos Amazon Elastic Container Registry (Amazon ECR) repository ved at køre følgende kommandoer på din terminal:
- Opret et SageMaker-billede og vedhæft billedet til Studio-domænet:
- Start Studio på SageMaker-konsollen ved at vælge dit domæne og eksisterende brugerprofil.
- Genstart eventuelt Studio ved at følge trinene i Luk og opdater SageMaker Studio.
Download notesbogen
Download prøvenotesbogen lokalt fra GitHub repo.
Åbn notesbogen i dit valg af IDE, og tilføj en celle i begyndelsen af den notesbog, der skal installeres torchsummary
. Det torchsummary
pakken er ikke en del af distributionen, og installation af denne på notebook'en vil sikre, at notebook'en kører ende til anden. Vi anbefaler at bruge conda
or micromamba
at styre miljøer og afhængigheder. Tilføj følgende celle til notesbogen, og gem notesbogen:
Eksperimenter på den lokale notesbog
Upload notesbogen til den JupyterLab UI, du startede ved at vælge upload-ikonet som vist på det følgende skærmbillede.
Når det er uploadet, skal du starte cv-kmnist.ipynb
notesbog. Du kan begynde at køre cellerne med det samme uden at skulle installere nogen afhængigheder såsom fakkel, matplotlib eller ipywidgets.
Hvis du fulgte de foregående trin, kan du se, at du kan bruge distributionen lokalt fra din bærbare computer. I næste trin bruger vi den samme distribution på Studio for at udnytte Studios funktioner.
Flyt eksperimentet til Studio (valgfrit)
Lad os eventuelt promovere eksperimentet til Studio. En af fordelene ved Studio er, at de underliggende computerressourcer er fuldt elastiske, så du nemt kan ringe de tilgængelige ressourcer op eller ned, og ændringerne sker automatisk i baggrunden uden at afbryde dit arbejde. Hvis du ønskede at køre den samme notesbog fra tidligere på et større datasæt og computerforekomst, kan du migrere til Studio.
Naviger til den Studio UI, du lancerede tidligere, og vælg uploadikonet for at uploade notesbogen.
Når du har startet notesbogen, bliver du bedt om at vælge billede og instanstype. På kernel launcher skal du vælge sagemaker-runtime
som billedet og en ml.t3.medium
eksempel, vælg derefter Type.
Du kan nu køre notebook'en fra ende til anden uden at have brug for ændringer på notesbogen fra dit lokale udviklingsmiljø til Studio notesbøger!
Planlæg notesbogen som et job
Når du er færdig med dine eksperimenter, giver SageMaker flere muligheder for at produktionsalisere din notebook, såsom træningsjob og SageMaker-pipelines. En sådan mulighed er at køre selve den bærbare computer direkte som et ikke-interaktivt, planlagt notesbogsjob ved hjælp af SageMaker notebook job. For eksempel vil du måske gerne genoptræne din model med jævne mellemrum, eller få slutninger om indgående data med jævne mellemrum og generere rapporter til forbrug af dine interessenter.
Fra Studio skal du vælge notesbogsjob-ikonet for at starte notesbogjobbet. Hvis du har installeret notebook-jobudvidelsen lokalt på din bærbare computer, kan du også planlægge notebooken direkte fra din bærbare computer. Se Installationsvejledning for at konfigurere notebook-jobudvidelsen lokalt.
Notebook-jobbet bruger automatisk ECR-billed-URI'en for open source-distributionen, så du direkte kan planlægge notebook-jobbet.
Vælg Kør efter tidsplanen, vælg et skema, for eksempel hver uge om lørdagen, og vælg Opret. Du kan også vælge Løb nu hvis du vil se resultaterne med det samme.
Når det første notebook-job er fuldført, kan du se notebook-output direkte fra Studio UI ved at vælge Notesbog under Output filer.
Yderligere overvejelser
Ud over at bruge det offentligt tilgængelige ECR-billede direkte til ML-arbejdsbelastninger, tilbyder open source-distributionen følgende fordele:
- Dockerfilen, der bruges til at bygge billedet, er tilgængelig offentligt for udviklere, så de kan udforske og bygge deres egne billeder. Du kan også arve dette billede som basisbilledet og installere dine brugerdefinerede biblioteker for at få et reproducerbart miljø.
- Hvis du ikke er vant til Docker og foretrækker at bruge Conda-miljøer på dit JupyterLab-miljø, tilbyder vi en
env.out
fil for hver af de offentliggjorte versioner. Du kan bruge instruktionerne i filen til at oprette dit eget Conda-miljø, der vil efterligne det samme miljø. Se f.eks. CPU-miljøfilen cpu.env.out. - Du kan bruge GPU-versionerne af billedet til at køre GPU-kompatible arbejdsbelastninger såsom deep learning og billedbehandling.
Ryd op
Udfør følgende trin for at rydde op i dine ressourcer:
- Hvis du har planlagt, at din notesbog skal køre efter en tidsplan, skal du sætte tidsplanen på pause eller slette den på Definitioner af bærbare job fanen for at undgå at betale for fremtidige job.
- Luk alle Studio-apps ned for at undgå at betale for ubrugt computerbrug. Se Luk ned og opdater Studio-apps for at få vejledning.
- Slet eventuelt Studio-domænet, hvis du har oprettet et.
Konklusion
At opretholde et reproducerbart miljø på tværs af forskellige stadier af ML-livscyklussen er en af de største udfordringer for dataforskere og udviklere. Med SageMaker open source-distributionen leverer vi et billede med gensidigt kompatible versioner af de mest almindelige ML-frameworks og pakker. Distributionen er også open source, hvilket giver udviklere gennemsigtighed i pakkerne og byggeprocesserne, hvilket gør det nemmere at tilpasse deres egen distribution.
I dette indlæg viste vi dig, hvordan du bruger distributionen på dit lokale miljø, på Studio og som containeren til dine træningsjob. Denne funktion er i øjeblikket i offentlig beta. Vi opfordrer dig til at prøve dette og dele din feedback og problemer på offentligt GitHub-lager!
Om forfatterne
Durga Sury er en ML Solutions Architect på Amazon SageMaker Service SA-teamet. Hun brænder for at gøre machine learning tilgængelig for alle. I sine 4 år hos AWS har hun været med til at opsætte AI/ML-platforme til virksomhedskunder. Når hun ikke arbejder, elsker hun motorcykelture, mysterieromaner og lange gåture med sin 5-årige husky.
Ketan Vijayvargiya er senior softwareudviklingsingeniør i Amazon Web Services (AWS). Hans fokusområder er machine learning, distribuerede systemer og open source. Uden for arbejdet kan han godt lide at bruge sin tid på at være selvvært og nyde naturen.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- EVM Finans. Unified Interface for Decentralized Finance. Adgang her.
- Quantum Media Group. IR/PR forstærket. Adgang her.
- PlatoAiStream. Web3 Data Intelligence. Viden forstærket. Adgang her.
- Kilde: https://aws.amazon.com/blogs/machine-learning/get-started-with-the-open-source-amazon-sagemaker-distribution/
- :har
- :er
- :ikke
- $OP
- 1
- 10
- 100
- 11
- 2023
- 7
- 9
- a
- Om
- tilgængelig
- tværs
- tilføje
- Desuden
- Yderligere
- Fordel
- fordele
- AI / ML
- Alle
- allerede
- også
- Amazon
- Amazon SageMaker
- Amazon Web Services
- Amazon Web Services (AWS)
- an
- ,
- annoncerede
- enhver
- app
- apps
- ER
- områder
- AS
- At
- vedhæfte
- automatisk
- til rådighed
- undgå
- AWS
- baggrund
- bund
- baseret
- BE
- Begyndelse
- beta
- mellem
- Største
- browser
- bygge
- by
- CAN
- KAT
- Celler
- udfordringer
- Ændringer
- valg
- Vælg
- vælge
- klassificering
- KOM
- Fælles
- kompatibel
- fuldføre
- Compute
- Konfiguration
- konsekvent
- Konsol
- forbrug
- Container
- Beholdere
- skabe
- oprettet
- For øjeblikket
- skik
- Kunder
- tilpasse
- data
- datalogi
- datasæt
- dyb
- dyb læring
- Standard
- indsætte
- beskrive
- udviklere
- Udvikling
- forskellige
- direkte
- distribueret
- distribuerede systemer
- fordeling
- Docker
- domæne
- færdig
- ned
- hver
- tidligere
- lettere
- nemt
- muliggør
- tilskynde
- ende
- ende til ende
- ingeniør
- sikre
- Indtast
- Enterprise
- Miljø
- miljøer
- Hver
- alle
- eksempel
- eksempler
- eksisterende
- erfaring
- eksperiment
- ekspertise
- udforske
- eksport
- udvidelse
- omfattende
- Feature
- Funktionalitet
- tilbagemeldinger
- File (Felt)
- Endelig
- Fornavn
- Fokus
- efterfulgt
- efter
- Til
- Framework
- rammer
- fra
- fuld
- fuldt ud
- fremtiden
- generere
- få
- GitHub
- GPU
- Have
- have
- he
- hjulpet
- hende
- hans
- Hvordan
- How To
- HTML
- HTTPS
- ICON
- if
- billede
- Billedklassificering
- billeder
- straks
- Forbedre
- in
- Indgående
- installere
- installeret
- installation
- instans
- anvisninger
- integreret
- ind
- spørgsmål
- IT
- selv
- Job
- Karriere
- jpg
- json
- lab
- laptop
- større
- lancere
- lanceret
- læring
- Lets
- niveauer
- biblioteker
- livscyklus
- ligesom
- synes godt om
- LINK
- Liste
- lokale
- lokalt
- Logge på
- Lang
- længere
- off
- elsker
- maskine
- machine learning
- lave
- Making
- administrere
- styring
- matplotlib
- måske
- migrere
- ML
- model
- modeller
- Overvåg
- mest
- motorcykel
- bevæge sig
- flere
- gensidigt
- Mystery
- navn
- Natur
- Behov
- behøve
- netværk
- neurale netværk
- Ny
- næste
- ingen
- notesbog
- nu
- of
- Tilbud
- on
- ONE
- åbent
- open source
- Option
- Indstillinger
- or
- vores
- ud
- uden for
- egen
- pakke
- pakker
- pandaer
- del
- lidenskabelige
- pause
- betale
- ydeevne
- Place
- Platforme
- plato
- Platon Data Intelligence
- PlatoData
- Indlæg
- foretrække
- foretrækkes
- forudsætninger
- private
- Processer
- forarbejdning
- produktion
- Profil
- fremme
- give
- giver
- leverer
- offentlige
- offentligt
- offentliggjort
- Skub ud
- Python
- pytorch
- hurtigt
- anbefaler
- erstatte
- Rapporter
- Repository
- Krav
- Ressourcer
- Resultater
- Kør
- kører
- s
- SA
- sagemaker
- SageMaker Pipelines
- samme
- lørdag
- Gem
- Scale
- planlægge
- planlagt
- Videnskab
- forskere
- scikit-lære
- sikker
- se
- senior
- tjeneste
- Tjenester
- servering
- sæt
- indstillinger
- Del
- hun
- Vis
- udstillingsvindue
- viste
- vist
- Simpelt
- ganske enkelt
- So
- Software
- softwareudvikling
- Løsninger
- Kilde
- Spark
- tilbringe
- etaper
- interessenter
- starte
- påbegyndt
- Starter
- Trin
- Steps
- Studio
- sådan
- Understøtter
- Kontakt
- Systemer
- TAG
- Tag
- hold
- tensorflow
- terminal
- prøve
- at
- deres
- Them
- derefter
- Disse
- de
- denne
- tid
- til
- i dag
- fakkel
- Tog
- Kurser
- Gennemsigtighed
- prøv
- typen
- ui
- underliggende
- forenet
- ubrugt
- Opdatering
- uploadet
- URL
- Brug
- brug
- anvendte
- Bruger
- bruger
- ved brug af
- udgave
- Specifikation
- visualisering
- ønsker
- ønskede
- we
- web
- webservices
- uge
- hvornår
- vilje
- med
- uden
- Arbejde
- arbejder
- år
- Du
- Din
- zephyrnet