Dataforskare behöver en konsekvent och reproducerbar miljö för maskininlärning (ML) och datavetenskapliga arbetsbelastningar som möjliggör hantering av beroenden och är säker. AWS Deep Learning-behållare tillhandahåller redan förbyggda Docker-bilder för utbildning och servering av modeller i vanliga ramverk som TensorFlow, PyTorch och MXNet. För att förbättra denna upplevelse tillkännagav vi en offentlig betaversion av SageMaker open source-distribution vid 2023 JupyterCon. Detta ger en enhetlig end-to-end ML-upplevelse för ML-utvecklare med olika kompetensnivåer. Utvecklare behöver inte längre byta mellan olika ramverksbehållare för experiment, eller när de går från lokala JupyterLab-miljöer och SageMaker-anteckningsböcker till produktionsjobb på SageMaker. SageMaker Distribution med öppen källkod stöder de vanligaste paketen och biblioteken för datavetenskap, ML och visualisering, såsom TensorFlow, PyTorch, Scikit-learn, Pandas och Matplotlib. Du kan börja använda behållaren från Amazon ECR Public Gallery börjar idag.
I det här inlägget visar vi dig hur du kan använda SageMaker open source-distribution för att snabbt experimentera med din lokala miljö och enkelt marknadsföra dem till jobb på SageMaker.
Lösningsöversikt
För vårt exempel visar vi upp utbildning av en bildklassificeringsmodell med PyTorch. Vi använder KMNIST dataset tillgängligt offentligt på PyTorch. Vi tränar en neural nätverksmodell, testar modellens prestanda och skriver slutligen ut träningen och testförlusten. Den fullständiga anteckningsboken för detta exempel finns tillgänglig i SageMaker Studio Labs exempelförråd. Vi börjar experimentera på en lokal bärbar dator med öppen källkodsdistribution, flytta den till Amazon SageMaker Studio för att använda en större instans och schemalägg sedan anteckningsboken som ett anteckningsbok-jobb.
Förutsättningar
Du behöver följande förutsättningar:
Ställ in din lokala miljö
Du kan direkt börja använda open source-distributionen på din lokala bärbara dator. För att starta JupyterLab, kör följande kommandon på din terminal:
Du kan ersätta ECR_IMAGE_ID
med någon av bildtaggarna som finns tillgängliga i Amazon ECR Public Gallery, eller välj latest-gpu
taggen om du använder en maskin som stöder GPU.
Detta kommando startar JupyterLab och ger en URL på terminalen, som http://127.0.0.1:8888/lab?token=<token>
. Kopiera länken och ange den i din föredragna webbläsare för att starta JupyterLab.
Konfigurera Studio
Studio är en heltäckande integrerad utvecklingsmiljö (IDE) för ML som låter utvecklare och datavetare bygga, träna, distribuera och övervaka ML-modeller i stor skala. Studio tillhandahåller en omfattande lista över förstapartsbilder med vanliga ramverk och paket, som Data Science, TensorFlow, PyTorch och Spark. Dessa bilder gör det enkelt för datavetare att komma igång med ML genom att helt enkelt välja ramverk och instanstyp för beräkning.
Du kan nu använda SageMaker open source-distribution på Studio med Studios ta med din egen bild funktion. För att lägga till öppen källkodsdistribution till din SageMaker-domän, utför följande steg:
- Lägg till distributionen med öppen källkod till ditt kontos Amazon Elastic Container Registry (Amazon ECR) repository genom att köra följande kommandon på din terminal:
- Skapa en SageMaker-bild och bifoga bilden till Studio-domänen:
- Starta Studio på SageMaker-konsolen genom att välja din domän och befintlig användarprofil.
- Du kan också starta om Studio genom att följa stegen i Stäng av och uppdatera SageMaker Studio.
Ladda ner anteckningsboken
Ladda ner provanteckningsboken lokalt från GitHub repo.
Öppna anteckningsboken i ditt val av IDE och lägg till en cell i början av anteckningsboken för att installera torchsummary
. De torchsummary
paketet är inte en del av distributionen, och om du installerar detta på notebook-datorn säkerställs att notebook-datorn körs från början till slut. Vi rekommenderar att du använder conda
or micromamba
att hantera miljöer och beroenden. Lägg till följande cell i anteckningsboken och spara anteckningsboken:
Experimentera med den lokala anteckningsboken
Ladda upp anteckningsboken till JupyterLab-gränssnittet som du startade genom att välja uppladdningsikonen som visas i följande skärmdump.
När den har laddats upp startar du cv-kmnist.ipynb
anteckningsbok. Du kan börja köra cellerna omedelbart, utan att behöva installera några beroenden såsom torch, matplotlib eller ipywidgets.
Om du följde de föregående stegen kan du se att du kan använda distributionen lokalt från din bärbara dator. I nästa steg använder vi samma distribution på Studio för att dra nytta av Studios funktioner.
Flytta experimentet till Studio (valfritt)
Låt oss eventuellt marknadsföra experimentet till Studio. En av fördelarna med Studio är att de underliggande beräkningsresurserna är helt elastiska, så att du enkelt kan ringa de tillgängliga resurserna upp eller ner, och ändringarna sker automatiskt i bakgrunden utan att avbryta ditt arbete. Om du vill köra samma anteckningsbok från tidigare på en större datauppsättning och datorinstans kan du migrera till Studio.
Navigera till Studio-gränssnittet som du startade tidigare och välj uppladdningsikonen för att ladda upp anteckningsboken.
När du har startat anteckningsboken blir du ombedd att välja bild och instanstyp. På kernel launcher, välj sagemaker-runtime
som bilden och en ml.t3.medium
instans, välj sedan Välja.
Du kan nu köra anteckningsboken från början till slut utan att behöva några ändringar på anteckningsboken från din lokala utvecklingsmiljö till Studio-anteckningsböcker!
Schemalägg anteckningsboken som ett jobb
När du är klar med ditt experiment, erbjuder SageMaker flera alternativ för att produktionsalisera din bärbara dator, till exempel utbildningsjobb och SageMaker-pipelines. Ett sådant alternativ är att direkt köra själva anteckningsboken som ett icke-interaktivt, schemalagt anteckningsbokjobb med hjälp av SageMaker anteckningsbok jobb. Till exempel kanske du vill omskola din modell med jämna mellanrum, eller få slutsatser om inkommande data med jämna mellanrum och generera rapporter för konsumtion av dina intressenter.
Från Studio väljer du ikonen för anteckningsboken för att starta anteckningsboken. Om du har installerat tillägget anteckningsbok jobb lokalt på din bärbara dator, kan du också schemalägga anteckningsboken direkt från din bärbara dator. Ser Installationsguide för att ställa in tillägget för notebook-jobb lokalt.
Notebook-jobbet använder automatiskt ECR-bild-URI för distributionen med öppen källkod, så att du direkt kan schemalägga anteckningsboken.
Välja Kör enligt schemat, välj ett schema, till exempel varje vecka på lördag, och välj Skapa. Du kan också välja Spring nu om du vill se resultatet direkt.
När det första anteckningsbokjobbet är klart kan du se anteckningsbokens utdata direkt från Studio UI genom att välja Notebook under Utdatafiler.
Ytterligare överväganden
Förutom att använda den allmänt tillgängliga ECR-bilden direkt för ML-arbetsbelastningar, erbjuder open source-distributionen följande fördelar:
- Dockerfilen som används för att bygga bilden är tillgänglig offentligt för utvecklare att utforska och bygga sina egna bilder. Du kan också ärva den här bilden som basbild och installera dina anpassade bibliotek för att få en reproducerbar miljö.
- Om du inte är van vid Docker och föredrar att använda Conda-miljöer på din JupyterLab-miljö, tillhandahåller vi en
env.out
fil för var och en av de publicerade versionerna. Du kan använda instruktionerna i filen för att skapa din egen Conda-miljö som kommer att efterlikna samma miljö. Se till exempel CPU-miljöfilen cpu.env.out. - Du kan använda GPU-versionerna av bilden för att köra GPU-kompatibla arbetsbelastningar som djupinlärning och bildbehandling.
Städa upp
Utför följande steg för att rensa upp dina resurser:
- Om du har schemalagt din anteckningsbok att köras enligt ett schema, pausa eller ta bort schemat på Anteckningsbokens jobbdefinitioner fliken för att slippa betala för framtida jobb.
- Stäng av alla Studio-appar för att undvika att betala för oanvänd datoranvändning. Ser Stäng av och uppdatera Studio-appar för instruktioner.
- Ta bort Studio-domänen om du skapade en.
Slutsats
Att upprätthålla en reproducerbar miljö över olika stadier av MLs livscykel är en av de största utmaningarna för datavetare och utvecklare. Med SageMaker open source-distribution tillhandahåller vi en bild med ömsesidigt kompatibla versioner av de vanligaste ML-ramverken och paketen. Distributionen är också öppen källkod, vilket ger utvecklare insyn i paketen och byggprocesser, vilket gör det lättare att anpassa sin egen distribution.
I det här inlägget visade vi dig hur du använder distributionen på din lokala miljö, på Studio och som behållare för dina träningsjobb. Den här funktionen är för närvarande i offentlig beta. Vi uppmuntrar dig att prova detta och dela med dig av dina synpunkter och frågor om offentligt GitHub-förråd!
Om författarna
Durga Sury är en ML Solutions Architect på Amazon SageMaker Service SA-teamet. Hon brinner för att göra maskininlärning tillgängligt för alla. Under sina fyra år på AWS har hon hjälpt till att sätta upp AI/ML-plattformar för företagskunder. När hon inte jobbar älskar hon motorcykelturer, mysterieromaner och långa promenader med sin 4-åriga husky.
Ketan Vijayvargiya är Senior Software Development Engineer inom Amazon Web Services (AWS). Hans fokusområden är maskininlärning, distribuerade system och öppen källkod. Utanför jobbet ägnar han gärna sin tid åt att vara självvärd och njuta av naturen.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- EVM Finans. Unified Interface for Decentralized Finance. Tillgång här.
- Quantum Media Group. IR/PR förstärkt. Tillgång här.
- PlatoAiStream. Web3 Data Intelligence. Kunskap förstärkt. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/get-started-with-the-open-source-amazon-sagemaker-distribution/
- : har
- :är
- :inte
- $UPP
- 1
- 10
- 100
- 11
- 2023
- 7
- 9
- a
- Om Oss
- tillgänglig
- tvärs
- lägga till
- Dessutom
- Annat
- Fördel
- fördelar
- AI / ML
- Alla
- redan
- också
- amason
- Amazon SageMaker
- Amazon Web Services
- Amazon Web Services (AWS)
- an
- och
- meddelade
- vilken som helst
- app
- appar
- ÄR
- områden
- AS
- At
- bifoga
- automatiskt
- tillgänglig
- undvika
- AWS
- bakgrund
- bas
- baserat
- BE
- Börjar
- beta
- mellan
- störst
- webbläsare
- SLUTRESULTAT
- by
- KAN
- KATT
- Celler
- utmaningar
- Förändringar
- val
- Välja
- välja
- klassificering
- COM
- Gemensam
- kompatibel
- fullborda
- Compute
- konfiguration
- konsekvent
- Konsol
- konsumtion
- Behållare
- Behållare
- skapa
- skapas
- För närvarande
- beställnings
- Kunder
- skräddarsy
- datum
- datavetenskap
- datauppsättningar
- djup
- djupt lärande
- Standard
- distribuera
- beskriva
- utvecklare
- Utveckling
- olika
- direkt
- distribueras
- distribuerade system
- fördelning
- Hamnarbetare
- domän
- gjort
- ner
- varje
- Tidigare
- lättare
- lätt
- möjliggör
- uppmuntra
- änden
- början till slut
- ingenjör
- säkerställa
- ange
- Företag
- Miljö
- miljöer
- Varje
- alla
- exempel
- exempel
- befintliga
- erfarenhet
- experimentera
- expertis
- utforska
- export
- förlängning
- omfattande
- Leverans
- Funktioner
- återkoppling
- Fil
- Slutligen
- Förnamn
- Fokus
- följt
- efter
- För
- Ramverk
- ramar
- från
- full
- fullständigt
- framtida
- generera
- skaffa sig
- GitHub
- GPU
- Har
- har
- he
- hjälpte
- här
- hans
- Hur ser din drömresa ut
- How To
- html
- HTTPS
- IKON
- if
- bild
- Bildklassificering
- bilder
- blir omedelbart
- förbättra
- in
- Inkommande
- installera
- installerad
- installera
- exempel
- instruktioner
- integrerade
- in
- problem
- IT
- sig
- Jobb
- Lediga jobb
- jpg
- json
- lab
- laptop
- större
- lansera
- lanserades
- inlärning
- Lets
- nivåer
- bibliotek
- livscykel
- tycka om
- gillar
- LINK
- Lista
- lokal
- lokalt
- logga in
- Lång
- längre
- förlust
- älskar
- Maskinen
- maskininlärning
- göra
- Framställning
- hantera
- hantera
- matplotlib
- kanske
- migrera
- ML
- modell
- modeller
- Övervaka
- mest
- mc
- flytta
- multipel
- ömsesidigt
- Mystery
- namn
- Natur
- Behöver
- behöver
- nät
- neurala nätverk
- Nya
- Nästa
- Nej
- anteckningsbok
- nu
- of
- Erbjudanden
- on
- ONE
- öppet
- öppen källkod
- Alternativet
- Tillbehör
- or
- vår
- ut
- utanför
- egen
- paket
- paket
- pandor
- del
- brinner
- paus
- betalar
- prestanda
- Plats
- Plattformar
- plato
- Platon Data Intelligence
- PlatonData
- Inlägg
- föredra
- föredragen
- förutsättningar
- Skriva ut
- privat
- processer
- bearbetning
- Produktion
- Profil
- främja
- ge
- ger
- tillhandahålla
- allmän
- publicly
- publicerade
- Tryck
- Python
- pytorch
- snabbt
- rekommenderar
- ersätta
- Rapport
- Repository
- Krav
- Resurser
- Resultat
- Körning
- rinnande
- s
- SA
- sagemaker
- SageMaker-rörledningar
- Samma
- lördag
- Save
- Skala
- tidtabellen
- planerad
- Vetenskap
- vetenskapsmän
- scikit lära
- säkra
- se
- senior
- service
- Tjänster
- portion
- in
- inställningar
- Dela
- hon
- show
- visa
- visade
- visas
- Enkelt
- helt enkelt
- So
- Mjukvara
- mjukvaruutveckling
- Lösningar
- Källa
- Gnista
- spendera
- stadier
- intressenter
- starta
- igång
- Starta
- Steg
- Steg
- studio
- sådana
- Stöder
- Växla
- System
- MÄRKA
- Ta
- grupp
- tensorflow
- terminal
- testa
- den där
- Smakämnen
- deras
- Dem
- sedan
- Dessa
- de
- detta
- tid
- till
- i dag
- brännaren
- Tåg
- Utbildning
- Öppenhet
- prova
- Typ
- ui
- underliggande
- enhetlig
- oanvänd
- Uppdatering
- uppladdad
- URL
- Användning
- användning
- Begagnade
- Användare
- användningar
- med hjälp av
- version
- utsikt
- visualisering
- vill
- ville
- we
- webb
- webbservice
- vecka
- när
- kommer
- med
- utan
- Arbete
- arbetssätt
- år
- Om er
- Din
- zephyrnet