Amazon SageMaker Studio er det første fullt integrerte utviklingsmiljøet (IDE) for maskinlæring (ML). Studio tilbyr et enkelt nettbasert visuelt grensesnitt der du kan utføre alle ML-utviklingstrinn som kreves for å forberede data, samt bygge, trene og distribuere modeller. Livssykluskonfigurasjoner er shell-skript som utløses av Studio-livssyklushendelser, for eksempel å starte en ny Studio-notatbok. Du kan bruke livssykluskonfigurasjoner for å automatisere tilpasning for Studio-miljøet ditt. Denne tilpasningen inkluderer installasjon av tilpassede pakker, konfigurering av utvidelser for bærbare datamaskiner, forhåndsinnlasting av datasett og oppsett av kildekodelagre. Som administrator for et Studio-domene kan det for eksempel være lurt spar kostnader ved å la bærbare apper slås av automatisk etter lange perioder med inaktivitet.
De AWS skyutviklingssett (AWS CDK) er et rammeverk for å definere skyinfrastruktur gjennom kode og klargjøre den gjennom AWS skyformasjon stabler. 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.
I dette innlegget viser vi hvordan du bruker AWS CDK til å sette opp Studio, bruke Studio livssykluskonfigurasjoner og aktivere tilgangen for dataforskere og utviklere i organisasjonen din.
Løsningsoversikt
Modulariteten til livssykluskonfigurasjoner lar deg bruke dem på alle brukere i et domene eller på spesifikke brukere. På denne måten kan du sette opp livssykluskonfigurasjoner og referere til dem i Studio kjernegateway eller Jupyter-server raskt og konsekvent. Kjernen gateway er inngangspunktet for å samhandle med en notebook-forekomst, mens Jupyter-serveren representerer Studio-forekomsten. Dette gjør at du kan bruke DevOps beste praksis og møte standarder for sikkerhet, samsvar og konfigurasjon på tvers av alle AWS-kontoer og -regioner. For dette innlegget bruker vi Python som hovedspråk, men koden kan enkelt endres til andre AWS CDK-støttede språk. For mer informasjon, se Arbeider med AWS CDK.
Forutsetninger
For å komme i gang, sørg for at du har følgende forutsetninger:
Klon GitHub-depotet
Først klone de GitHub repository.
Når du kloner depotet, kan du observere at vi har et klassisk AWS CDK-prosjekt med katalogen studio-lifecycle-config-construct
, som inneholder konstruksjonen og ressursene som kreves for å lage livssykluskonfigurasjoner.
AWS CDK konstruerer
Filen vi ønsker å inspisere er aws_sagemaker_lifecycle.py
. Denne filen inneholder SageMakerStudioLifeCycleConfig
konstruksjon vi bruker for å sette opp og lage livssykluskonfigurasjoner.
De SageMakerStudioLifeCycleConfig
konstruksjon gir rammeverket for å bygge livssykluskonfigurasjoner ved hjelp av en tilpasset AWS Lambda funksjon og skallkode lest inn fra en fil. Konstruksjonen inneholder følgende parametere:
- ID – Navnet på det aktuelle prosjektet.
- studio_livssyklus_innhold - Det base64 kodet innhold.
- studio_lifecycle_tags – Etiketter du tildeler for å organisere Amazon-ressurser. De legges inn som nøkkelverdi-par og er valgfrie for denne konfigurasjonen.
- studio_lifecycle_config_app_type -
JupyterServer
er for den unike serveren selv, ogKernelGateway
app tilsvarer en kjørende SageMaker-bildebeholder.
For mer informasjon om Studio-notebook-arkitekturen, se Dykk dypt inn i Amazon SageMaker Studio Notebooks-arkitekturen.
Følgende er en kodebit av Studio-livssykluskonfigurasjonen (aws_sagemaker_lifecycle.py
):
Etter at du har importert og installert konstruksjonen, kan du bruke den. Følgende kodebit viser hvordan du oppretter en livssykluskonfigurasjon ved å bruke konstruksjonen i en stabel enten i app.py
eller en annen konstruksjon:
Distribuer AWS CDK-konstruksjoner
For å distribuere din AWS CDK-stabel, kjør følgende kommandoer på stedet der du klonet depotet.
Kommandoen kan være python
istedenfor python3
avhengig av banekonfigurasjonene dine.
- Lag et virtuelt miljø:
- For macOS/Linux, bruk
python3 -m venv .cdk-venv
. - For Windows, bruk
python3 -m venv .cdk-venv
.
- For macOS/Linux, bruk
- Aktiver det virtuelle miljøet:
- For macOS/Linux, bruk
source .cdk-venvbinactivate
. - For Windows, bruk
.cdk-venv/Scripts/activate.bat
. - For PowerShell, bruk
.cdk-venv/Scripts/activate.ps1
.
- For macOS/Linux, bruk
- Installer de nødvendige avhengighetene:
pip install -r requirements.txt
pip install -r requirements-dev.txt
- På dette tidspunktet kan du valgfritt syntetisere CloudFormation-malen for denne koden:
- Distribuer løsningen med følgende kommandoer:
aws configure
cdk bootstrap
cdk deploy
Når stabelen er vellykket distribuert, bør du kunne se stabelen på CloudFormation-konsollen.
Du vil også kunne se livssykluskonfigurasjonen på SageMaker-konsollen.
Velg livssykluskonfigurasjonen for å se skallkoden som kjører, samt eventuelle tagger du har tildelt.
Fest Studio-livssykluskonfigurasjonen
Det er flere måter å koble til en livssykluskonfigurasjon. I denne delen presenterer vi to metoder: bruk av AWS-administrasjonskonsoll, og programmatisk ved å bruke infrastrukturen som tilbys.
Fest livssykluskonfigurasjonen ved hjelp av konsollen
For å bruke konsollen, fullfør følgende trinn:
- Velg på SageMaker-konsollen Domener i navigasjonsruten.
- Velg domenenavnet du bruker og gjeldende brukerprofil, og velg deretter Rediger.
- Velg livssykluskonfigurasjonen du vil bruke og velg Fest.
Herfra kan du også angi det som standard.
Fest livssykluskonfigurasjonen programmatisk
Du kan også hente ARN-en til Studio-livssykluskonfigurasjonen opprettet av konstruksjonen og koble den til Studio-konstruksjonen programmatisk. Følgende kode viser livssykluskonfigurasjonen ARN som sendes til en Studio-konstruksjon:
Rydd opp
Fullfør trinnene i denne delen for å rydde opp i ressursene dine.
Slett Studio-livssykluskonfigurasjonen
For å slette livssykluskonfigurasjonen, fullfør følgende trinn:
- Velg på SageMaker-konsollen Konfigurasjoner av studiolivssyklus i navigasjonsruten.
- Velg livssykluskonfigurasjonen, og velg deretter Delete.
Slett AWS CDK-stabelen
Når du er ferdig med ressursene du opprettet, kan du ødelegge AWS CDK-stakken ved å kjøre følgende kommando på stedet der du klonet depotet:
Når du blir bedt om å bekrefte slettingen av stabelen, skriv inn yes
.
Du kan også slette stabelen på AWS CloudFormation-konsollen med følgende trinn:
- Velg på AWS CloudFormation-konsollen Stabler i navigasjonsruten.
- Velg stabelen du vil slette.
- Velg i stabeldetaljruten Delete.
- Velg Slett stabel når du blir bedt om det.
Hvis du får feil, kan det hende du må slette noen ressurser manuelt, avhengig av kontokonfigurasjonen.
konklusjonen
I dette innlegget diskuterte vi hvordan Studio fungerer som en IDE for ML-arbeidsbelastninger. Studio tilbyr livssykluskonfigurasjonsstøtte, som lar deg sette opp tilpassede shell-skript for å utføre automatiserte oppgaver, eller sette opp utviklingsmiljøer ved lansering. Vi brukte AWS CDK-konstruksjoner for å bygge infrastrukturen for den tilpassede ressurs- og livssykluskonfigurasjonen. Konstruksjoner syntetiseres til CloudFormation-stabler som deretter distribueres for å lage det egendefinerte ressurs- og livssyklusskriptet som brukes i Studio og notebookkjernen.
For mer informasjon, besøk Amazon SageMaker Studio.
Om forfatterne
Cory Hairston er programvareingeniør med Amazon ML Solutions Lab. Han jobber for tiden med å tilby gjenbrukbare programvareløsninger.
Alex Chirayath er senior maskinlæringsingeniør ved Amazon ML Solutions Lab. Han leder team av dataforskere og ingeniører for å bygge AI-applikasjoner for å møte forretningsbehov.
Gouri Pandeshwar er ingeniørsjef ved Amazon ML Solutions Lab. Han og teamet hans av ingeniører jobber med å bygge gjenbrukbare løsninger og rammeverk som hjelper til med å akselerere bruken av AWS AI/ML-tjenester for kunders forretningsbruk.
- 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/use-the-aws-cdk-to-deploy-amazon-sagemaker-studio-lifecycle-configurations/