Amazon SageMaker Studio er et fullt integrert utviklingsmiljø (IDE) for maskinlæring (ML) delvis basert på JupyterLab 3. Studio tilbyr et nettbasert grensesnitt for interaktivt å utføre ML-utviklingsoppgaver som kreves for å forberede data og bygge, trene og distribuere ML-modeller. I Studio kan du laste inn data, justere ML-modeller, flytte mellom trinnene for å justere eksperimenter, sammenligne resultater og distribuere ML-modeller for slutninger.
De AWS skyutviklingssett (AWS CDK) er et programvareutviklingsrammeverk med åpen kildekode å lage AWS skyformasjon stabler gjennom automatisk CloudFormation-mal generasjon. En stabel er en samling av AWS-ressurser som kan oppdateres, flyttes eller slettes programmatisk. AWS CDK konstruerer er byggesteinene til AWS CDK-applikasjoner, som representerer planen for å definere skyarkitekturer.
Å sette opp Studio med AWS CDK har blitt en strømlinjeformet prosess. AWS CDK lar deg bruke native konstruksjoner for å definere og distribuere Studio ved å bruke infrastruktur som kode (IaC), inkludert AWS identitets- og tilgangsadministrasjon (AWS IAM) tillatelser og ønskede skyressurskonfigurasjoner, alt på ett sted. Denne utviklingstilnærmingen kan brukes i kombinasjon med andre vanlige beste praksiser innen programvareutvikling, for eksempel automatisert kodedistribusjon, tester og CI / CD-rørledninger. AWS CDK reduserer tiden som kreves for å utføre typiske infrastrukturdistribusjonsoppgaver, samtidig som overflatearealet for menneskelige feil krymper gjennom automatisering.
Dette innlegget guider deg gjennom trinnene for å komme i gang med å sette opp og distribuere Studio for å standardisere ML-modellutvikling og samarbeid med andre ML-ingeniører og ML-forskere. Alle eksemplene i innlegget er skrevet i programmeringsspråket Python. AWS CDK tilbyr imidlertid innebygd støtte for flere andre programmeringsspråk som JavaScript, Java og C#.
Forutsetninger
For å komme i gang gjelder følgende forutsetninger:
Klon GitHub-depotet
La oss først klone de GitHub repository.
Når depotet er hentet, kan du inspisere cdk-katalogen som inneholder følgende ressurser:
- CDK – Inneholder de viktigste cdk-ressursene
- app.py – Hvor AWS CDK-stakken er definert
- cdk.json – Inneholder metadata og funksjonsflagg
AWS CDK-skript
De to hovedfilene vi ønsker å se på i cdk
underkatalog er sagemaker_studio_construct.py
og sagemaker_studio_stack.py
. La oss se på hver fil mer detaljert.
Studio konstruksjonsfil
Studiokonstruksjonen er definert i sagemaker_studio_construct.py
filen.
Studio-konstruksjonen tar inn virtuell privat sky (VPC), oppførte brukere, AWS-region og underliggende standard forekomsttype som parametere. Denne AWS CDK-konstruksjonen tjener følgende funksjoner:
- Oppretter Studio-domenet (
SageMakerStudioDomain
) - Angir IAM-rollen
sagemaker_studio_execution_role
medAmazonSageMakerFullAccess
tillatelser som kreves for å opprette ressurser. Tillatelser må begrenses ytterligere for å følge minste privilegium-prinsippet for forbedret sikkerhet. - Angir innstillinger for Jupyter-serverappen – tar inn
JUPYTER_SERVER_APP_IMAGE_NAME
, som definerer jupyter-server-3-beholderbildet som skal brukes. - Angir kjernegateway-appinnstillinger – tar inn
KERNEL_GATEWAY_APP_IMAGE_NAME
, som definerer datascience-2.0-beholderbildet som skal brukes. - Oppretter en brukerprofil for hver oppført bruker
Følgende kodebit viser de relevante Studio-domene AWS CloudFormation-ressursene definert i AWS CDK:
Følgende kodebit viser brukerprofilene som er opprettet fra AWS CloudFormation-ressurser:
Studio stack-fil
Etter at konstruksjonen er definert, kan du legge den til ved å lage en forekomst av klassen og sende de nødvendige argumentene inne i stabelen. Stabelen oppretter AWS CloudFormation-ressursene som en del av én sammenhengende distribusjon. Dette betyr at hvis minst én skyressurs ikke blir opprettet, ruller CloudFormation-stakken tilbake eventuelle endringer som er utført. Følgende kodebit av Studio-konstruksjonen instansierer inne i Studio-stakken:
Distribuer AWS CDK-stakken
For å distribuere AWS CDK-stabelen, kjør følgende kommandoer fra prosjektets rotkatalog i terminalvinduet:
aws configure
pip3 install -r requirements.txt
cdk bootstrap --app "python3 -m cdk.app"
cdk deploy --app "python3 -m cdk.app"
Se gjennom ressursene AWS CDK oppretter i AWS-kontoen din og velg ja når du blir bedt om å distribuere stabelen. Vent til stabeldistribusjonen er ferdig. Dette tar vanligvis mindre enn 5 minutter; Men å legge til flere ressurser vil forlenge distribusjonstiden. Du kan også sjekke distribusjonsstatusen på AWS CloudFormation-konsoll.
Når stabelen har blitt distribuert, sjekk informasjonen ved å gå til Studio-kontrollpanelet. Du bør se SageMaker Studio-brukerprofilen du opprettet.
Hvis du omdistribuerer stabelen, vil den se etter endringer, og utfører bare de nødvendige skyressursoppdateringene. Dette kan for eksempel brukes til å legge til brukere, eller endre tillatelser for disse brukerne uten å måtte gjenskape alle de definerte skyressursene.
Opprydding
For å slette en stabel, fullfør følgende trinn:
- Velg på AWS CloudFormation-konsollen Stabler i navigasjonsruten.
- Åpne stabelen du vil slette.
- Velg i stabeldetaljruten Delete.
- Velg Slett stabel når du blir bedt om det.
AWS CloudFormation vil slette ressursene som ble opprettet da stabelen ble distribuert. Dette kan ta litt tid avhengig av mengden ressurser som opprettes.
Hvis du støter på problemer under disse oppryddingstrinnene, kan det hende du må slette Studio-domenet manuelt først før du gjentar trinnene i denne delen.
konklusjonen
I dette innlegget viste vi hvordan du bruker AWS skybaserte IaC-ressurser for å bygge en enkelt gjenbrukbar mal for Studio-implementeringer. SageMaker Studio er en fullt integrert nettbasert IDE som gir et visuelt grensesnitt for ML-utviklingsoppgaver basert på JupyterLab3. Med AWS CDK-stabler var vi i stand til å definere konstruksjoner for å bygge ut skykomponenter som enkelt kan endres, redigeres eller slettes ved å gjøre endringer i den underliggende CloudFormation-stakken.
For mer informasjon om Amazon Studio, se Amazon SageMaker Studio.
Om forfatterne
Cory Hairston er programvareingeniør ved Amazon ML Solutions Lab. Han er ivrig etter å lære nye teknologier og utnytte denne informasjonen til å bygge gjenbrukbare programvareløsninger. Han er en ivrig kraftløfter og bruker fritiden sin på å lage digital kunst.
Marcelo Aberle er en ML-ingeniør i AWS AI-organisasjonen. Han leder MLOps innsats ved Amazon ML Solutions Lab, og hjelper kunder med å designe og implementere skalerbare ML-systemer. Hans oppgave er å veilede kunder på deres ML-reise for bedrifter og akselerere deres ML-vei til produksjon.
Yash Shah er Science Manager i Amazon ML Solutions Lab. Han og teamet hans av anvendte forskere og maskinlæringsingeniører jobber med en rekke brukstilfeller for maskinlæring fra helsevesen, sport, bil og produksjon.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/set-up-amazon-sagemaker-studio-with-jupyter-lab-3-using-the-aws-cdk/
- 1
- 100
- a
- I stand
- Om oss
- akselerere
- adgang
- Logg inn
- AI
- Alle
- tillater
- Amazon
- Amazon ML Solutions Lab
- Amazon SageMaker
- Amazon SageMaker Studio
- beløp
- og
- app
- søknader
- anvendt
- Påfør
- tilnærming
- flammende
- AREA
- argumenter
- Kunst
- Automatisert
- Automatisering
- automotive
- AWS
- AWS skyformasjon
- tilbake
- basert
- bli
- før du
- BEST
- beste praksis
- mellom
- Blocks
- Bootstrap
- bygge
- Bygning
- innebygd
- saker
- endring
- Endringer
- sjekk
- Velg
- Cloud
- kode
- SAMMENHENGENDE
- samarbeid
- samling
- kombinasjon
- Felles
- sammenligne
- fullføre
- komponenter
- Konsoll
- konstruere
- Container
- inneholder
- kontroll
- kontrollpanelet
- skape
- opprettet
- skaper
- Opprette
- skaperverket
- Kunder
- dato
- Misligholde
- definere
- avhengig
- utplassere
- utplassert
- utplasserings
- distribusjon
- distribusjoner
- utforming
- detalj
- detaljer
- Utvikling
- digitalt
- digital kunst
- deaktivert
- domene
- ned
- hver enkelt
- lett
- innsats
- møte
- ingeniør
- Ingeniørarbeid
- Ingeniører
- Enterprise
- Miljø
- feil
- Eter (ETH)
- eksempel
- eksempler
- mislykkes
- Trekk
- kar
- filet
- Filer
- Først
- følge
- etter
- Rammeverk
- Gratis
- fra
- fullt
- funksjoner
- videre
- gateway
- generasjonen
- få
- GitHub
- skal
- veilede
- Guider
- å ha
- helsetjenester
- hjelpe
- Hvordan
- Hvordan
- Men
- HTML
- HTTPS
- menneskelig
- IAC
- IAM
- Identitet
- bilde
- iverksette
- forbedret
- in
- informasjon
- Infrastruktur
- installere
- f.eks
- integrert
- Interface
- saker
- IT
- Java
- Javascript
- reise
- JSON
- lab
- Språk
- ledende
- læring
- utnytte
- oppført
- laste
- Se
- maskin
- maskinlæring
- Hoved
- Making
- leder
- produksjon
- midler
- metadata
- minutter
- Oppdrag
- ML
- MLOps
- modell
- modeller
- modifisert
- mer
- flytte
- flere
- innfødt
- Navigasjon
- nødvendig
- Trenger
- Ny
- Ny teknologi
- Tilbud
- ONE
- åpen kildekode
- Programvare med åpen kildekode
- organisasjon
- Annen
- brød
- panel
- parametere
- del
- Passerer
- banen
- utføre
- utfører
- tillatelser
- Sted
- plato
- Platon Data Intelligence
- PlatonData
- Post
- praksis
- Forbered
- forutsetninger
- prinsipp
- privat
- prosess
- Produksjon
- Profil
- Profiler
- Programmering
- prosjekter
- gir
- Python
- område
- reduserer
- region
- relevant
- Repository
- representerer
- påkrevd
- Krav
- ressurs
- Ressurser
- Resultater
- gjenbruk
- Rolle
- ruller
- root
- Kjør
- sagemaker
- skalerbar
- Vitenskap
- forskere
- omfang
- Seksjon
- sikkerhet
- SELV
- serverer
- sett
- innstilling
- innstillinger
- bør
- Viser
- Software
- programvareutvikling
- Software Engineer
- software engineering
- Solutions
- noen
- Sports
- stable
- Stabler
- startet
- status
- Steps
- strømlinjeformet
- studio
- vellykket
- slik
- støtte
- overflaten
- system
- Systemer
- Ta
- tar
- oppgaver
- lag
- Technologies
- mal
- terminal
- tester
- De
- deres
- Gjennom
- tid
- til
- Tog
- typisk
- typisk
- underliggende
- oppdatert
- oppdateringer
- bruke
- Bruker
- Brukere
- virtuelle
- vente
- Web-basert
- mens
- vil
- innenfor
- uten
- Arbeid
- skrevet
- Din
- zephyrnet