Amazon SageMaker Studio er et fuldt integreret udviklingsmiljø (IDE) til maskinlæring (ML) delvist baseret på JupyterLab 3. Studio tilbyder en webbaseret grænseflade til interaktivt at udføre ML-udviklingsopgaver, der er nødvendige for at forberede data og bygge, træne og implementere ML-modeller. I Studio kan du indlæse data, justere ML-modeller, flytte mellem trin for at justere eksperimenter, sammenligne resultater og implementere ML-modeller til slutninger.
AWS Cloud Development Kit (AWS CDK) er en open source softwareudviklingsramme til at skabe AWS CloudFormation stakke gennem automatisk CloudFormation skabelon generation. En stak er en samling af AWS-ressourcer, der kan opdateres, flyttes eller slettes programmatisk. AWS CDK konstruktioner er byggestenene i AWS CDK-applikationer, der repræsenterer planen til at definere cloud-arkitekturer.
Opsætning af Studio med AWS CDK er blevet en strømlinet proces. AWS CDK giver dig mulighed for at bruge native konstruktioner til at definere og implementere Studio ved hjælp af infrastruktur som kode (IaC), inklusive AWS identitets- og adgangsstyring (AWS IAM) tilladelser og ønskede cloud-ressourcekonfigurationer, alt sammen på ét sted. Denne udviklingstilgang kan bruges i kombination med andre almindelige bedste praksisser inden for softwareudvikling, såsom automatiserede kodeimplementeringer, tests og CI / CD-rørledninger. AWS CDK reducerer den tid, der kræves til at udføre typiske infrastrukturimplementeringsopgaver, mens overfladearealet for menneskelige fejl krympes gennem automatisering.
Dette indlæg guider dig gennem trinene til at komme i gang med at opsætte og implementere Studio for at standardisere ML-modeludvikling og samarbejde med andre ML-ingeniører og ML-forskere. Alle eksempler i indlægget er skrevet i programmeringssproget Python. AWS CDK tilbyder dog indbygget support til flere andre programmeringssprog som JavaScript, Java og C#.
Forudsætninger
For at komme i gang gælder følgende forudsætninger:
Klon GitHub-depotet
Lad os først klone og GitHub repository.
Når depotet er hentet med succes, kan du inspicere cdk-biblioteket, der indeholder følgende ressourcer:
- CDK – Indeholder de vigtigste cdk-ressourcer
- app.py – Hvor AWS CDK-stakken er defineret
- cdk.json – Indeholder metadata og funktionsflag
AWS CDK scripts
De to hovedfiler vil vi se på i cdk
undermappe er sagemaker_studio_construct.py
, sagemaker_studio_stack.py
. Lad os se på hver fil mere detaljeret.
Studio konstruktion fil
Studio-konstruktionen er defineret i sagemaker_studio_construct.py
fil.
Studio-konstruktionen tager udgangspunkt i virtuel privat sky (VPC), listede brugere, AWS-region og underliggende standardforekomsttype som parametre. Denne AWS CDK-konstruktion tjener følgende funktioner:
- Opretter Studio-domænet (
SageMakerStudioDomain
) - Indstiller IAM-rollen
sagemaker_studio_execution_role
medAmazonSageMakerFullAccess
nødvendige tilladelser for at oprette ressourcer. Tilladelser skal begrænses yderligere for at følge mindst privilegerede princippet for forbedret sikkerhed. - Indstiller Jupyter server app indstillinger – tager ind
JUPYTER_SERVER_APP_IMAGE_NAME
, der definerer det jupyter-server-3-beholderbillede, der skal bruges. - Indstiller kernel gateway app-indstillinger – tager ind
KERNEL_GATEWAY_APP_IMAGE_NAME
, der definerer datascience-2.0-beholderbilledet, der skal bruges. - Opretter en brugerprofil for hver anført bruger
Følgende kodestykke viser det relevante Studio-domæne AWS CloudFormation-ressourcer defineret i AWS CDK:
Følgende kodestykke viser brugerprofilerne oprettet fra AWS CloudFormation-ressourcer:
Studio stack-fil
Efter at konstruktionen er blevet defineret, kan du tilføje den ved at oprette en forekomst af klassen og sende de nødvendige argumenter inde i stakken. Stakken opretter AWS CloudFormation-ressourcerne som en del af én sammenhængende implementering. Dette betyder, at hvis mindst én cloud-ressource ikke oprettes, ruller CloudFormation-stakken eventuelle ændringer tilbage. Følgende kodestykke af Studio-konstruktionen instansierer inde i Studio-stakken:
Implementer AWS CDK-stakken
For at implementere din AWS CDK-stak skal du køre følgende kommandoer fra projektets rodmappe i dit terminalvindue:
aws configure
pip3 install -r requirements.txt
cdk bootstrap --app "python3 -m cdk.app"
cdk deploy --app "python3 -m cdk.app"
Gennemgå de ressourcer, som AWS CDK opretter på din AWS-konto, og vælg ja, når du bliver bedt om at implementere stakken. Vent på, at din stakimplementering er færdig. Dette tager typisk mindre end 5 minutter; tilføjelse af flere ressourcer vil dog forlænge implementeringstiden. Du kan også kontrollere implementeringsstatus på AWS CloudFormation konsol.
Når stakken er blevet implementeret, skal du kontrollere dens oplysninger ved at gå til Studio Kontrolpanel. Du bør se den SageMaker Studio-brugerprofil, du har oprettet.
Hvis du ominstallerer stakken, vil den tjekke for ændringer og udføre kun de nødvendige opdateringer af cloud-ressourcer. Dette kan for eksempel bruges til at tilføje brugere, eller ændre tilladelser af disse brugere uden at skulle genskabe alle de definerede cloud-ressourcer.
Ryd op
For at slette en stak skal du udføre følgende trin:
- På AWS CloudFormation-konsollen skal du vælge Stakke i navigationsruden.
- Åbn den stak, du vil slette.
- Vælg i ruden med stakdetaljer Slette.
- Vælg Slet stakken når du bliver bedt om det.
AWS CloudFormation vil slette de ressourcer, der blev oprettet, da stakken blev implementeret. Dette kan tage noget tid afhængigt af mængden af oprettede ressourcer.
Hvis du støder på problemer under disse oprydningstrin, skal du muligvis manuelt slette Studio-domænet først, før du gentager trinene i dette afsnit.
Konklusion
I dette indlæg viste vi, hvordan man bruger AWS cloud-native IaC-ressourcer til at bygge en let genbrugelig skabelon til Studio-implementeringer. SageMaker Studio er en fuldt integreret webbaseret IDE, der giver en visuel grænseflade til ML-udviklingsopgaver baseret på JupyterLab3. Med AWS CDK-stakke var vi i stand til at definere konstruktioner til opbygning af cloud-komponenter, der nemt kan ændres, redigeres eller slettes ved at foretage ændringer i den underliggende CloudFormation-stak.
For mere information om Amazon Studio, se Amazon SageMaker Studio.
Om forfatterne
Cory Hairston er softwareingeniør ved Amazon ML Solutions Lab. Han er ivrig efter at lære nye teknologier og udnytte denne information til at bygge genanvendelige softwareløsninger. Han er en ivrig kraftløfter og bruger sin fritid på at lave digital kunst.
Marcelo Aberle er ML-ingeniør i AWS AI-organisationen. Han leder MLOps indsats på Amazon ML Solutions Lab og hjælper kunder med at designe og implementere skalerbare ML-systemer. Hans mission er at guide kunder på deres ML-rejse i virksomheden og fremskynde deres ML-vej til produktion.
Yash Shah er Science Manager i Amazon ML Solutions Lab. Han og hans team af anvendte videnskabsmænd og maskinlæringsingeniører arbejder på en række af maskinlæringsbrugssager fra sundhedspleje, sport, bilindustrien og produktion.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. Adgang 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
- fremskynde
- adgang
- Konto
- AI
- Alle
- tillader
- Amazon
- Amazon ML Solutions Lab
- Amazon SageMaker
- Amazon SageMaker Studio
- beløb
- ,
- app
- applikationer
- anvendt
- Indløs
- tilgang
- fyrig
- OMRÅDE
- argumenter
- Kunst
- Automatiseret
- Automation
- automotive
- AWS
- AWS CloudFormation
- tilbage
- baseret
- bliver
- før
- BEDSTE
- bedste praksis
- mellem
- Blocks
- Bootstrap
- bygge
- Bygning
- indbygget
- tilfælde
- lave om
- Ændringer
- kontrollere
- Vælg
- Cloud
- kode
- SAMMENHÆNGENDE
- samarbejde
- samling
- kombination
- Fælles
- sammenligne
- fuldføre
- komponenter
- Konsol
- konstruere
- Container
- indeholder
- kontrol
- kontrolpanel
- skabe
- oprettet
- skaber
- Oprettelse af
- skabelse
- Kunder
- data
- Standard
- definere
- Afhængigt
- indsætte
- indsat
- implementering
- implementering
- implementeringer
- Design
- detail
- detaljer
- Udvikling
- digital
- digital kunst
- deaktiveret
- domæne
- ned
- hver
- nemt
- indsats
- møde
- ingeniør
- Engineering
- Ingeniører
- Enterprise
- Miljø
- fejl
- Ether (ETH)
- eksempel
- eksempler
- mislykkes
- Feature
- fyr
- File (Felt)
- Filer
- Fornavn
- følger
- efter
- Framework
- Gratis
- fra
- fuldt ud
- funktioner
- yderligere
- gateway
- generation
- få
- GitHub
- gå
- vejlede
- Guides
- have
- sundhedspleje
- hjælpe
- Hvordan
- How To
- Men
- HTML
- HTTPS
- menneskelig
- IAC
- IAM
- Identity
- billede
- gennemføre
- forbedret
- in
- oplysninger
- Infrastruktur
- installere
- instans
- integreret
- grænseflade
- spørgsmål
- IT
- Java
- JavaScript
- rejse
- json
- lab
- Sprog
- førende
- læring
- løftestang
- Børsnoterede
- belastning
- Se
- maskine
- machine learning
- Main
- Making
- leder
- Produktion
- midler
- Metadata
- minutter
- Mission
- ML
- MLOps
- model
- modeller
- modificeret
- mere
- bevæge sig
- flere
- indfødte
- Navigation
- nødvendig
- Behov
- Ny
- Nye teknologier
- Tilbud
- ONE
- open source
- Open source software
- organisation
- Andet
- brød
- panel
- parametre
- del
- Passing
- sti
- udføre
- udfører
- Tilladelser
- Place
- plato
- Platon Data Intelligence
- PlatoData
- Indlæg
- praksis
- Forbered
- forudsætninger
- princippet
- private
- behandle
- produktion
- Profil
- Profiler
- Programmering
- projekter
- giver
- Python
- rækkevidde
- reducerer
- region
- relevant
- Repository
- repræsenterer
- påkrævet
- Krav
- ressource
- Ressourcer
- Resultater
- genanvendelige
- roller
- ruller
- rod
- Kør
- sagemaker
- skalerbar
- Videnskab
- forskere
- rækkevidde
- Sektion
- sikkerhed
- SELV
- tjener
- sæt
- indstilling
- indstillinger
- bør
- Shows
- Software
- softwareudvikling
- Software Engineer
- software Engineering
- Løsninger
- nogle
- Sport
- stable
- Stakke
- påbegyndt
- Status
- Steps
- strømlinet
- Studio
- Succesfuld
- sådan
- support
- overflade
- systemet
- Systemer
- Tag
- tager
- opgaver
- hold
- Teknologier
- skabelon
- terminal
- tests
- deres
- Gennem
- tid
- til
- Tog
- typisk
- typisk
- underliggende
- opdateret
- opdateringer
- brug
- Bruger
- brugere
- Virtual
- vente
- web-baseret
- mens
- vilje
- inden for
- uden
- Arbejde
- skriftlig
- Din
- zephyrnet