Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab

Nylig, den Amazon SageMaker Studio lansert en enkel måte å kjøre bærbare datamaskiner som batch-jobber som kan kjøres på en gjentakende tidsplan. Amazon SageMaker Studio Lab støtter også denne funksjonen, slik at du kan kjøre notatbøker som du utvikler i SageMaker Studio Lab i AWS-kontoen din. Dette lar deg raskt skalere maskinlæringseksperimentene dine (ML) med større datasett og kraftigere forekomster, uten å måtte lære noe nytt eller endre én kodelinje.

I dette innlegget leder vi deg gjennom engangsforutsetningen for å koble Studio Lab-miljøet ditt til en AWS-konto. Deretter leder vi deg gjennom trinnene for å kjøre notatbøker som en batchjobb fra Studio Lab.

Løsningsoversikt

Studio Lab inkorporerte samme utvidelse som Studio, som er basert på Jupyter åpen kildekode-utvidelse for planlagte notatbøker. Denne utvidelsen har flere AWS-spesifikke parametere, som beregningstypen. I Studio Lab blir en planlagt notatbok først kopiert til en Amazon enkel lagringstjeneste (Amazon S3)-bøtte i AWS-kontoen din, og kjør deretter til det planlagte tidspunktet med den valgte beregningstypen. Når jobben er fullført, skrives utdataene til en S3-bøtte, og AWS-beregningen stoppes fullstendig, noe som forhindrer løpende kostnader.

Forutsetninger

For å bruke Studio Lab-notebook-jobber, trenger du administrativ tilgang til AWS-kontoen du skal koble til (eller hjelp fra noen med denne tilgangen). I resten av dette innlegget antar vi at du er AWS-administratoren. Hvis det ikke er tilfelle, be administratoren eller kontoeieren om å gjennomgå disse trinnene med deg.

Opprett en SageMaker-utførelsesrolle

Vi må sørge for at AWS-kontoen har en AWS identitets- og tilgangsadministrasjon (IAM) SageMaker utførelsesrolle. Denne rollen brukes av SageMaker-ressurser i kontoen, og gir tilgang fra SageMaker til andre ressurser i AWS-kontoen. I vårt tilfelle kjører våre notatbokjobber med disse tillatelsene. Hvis SageMaker har blitt brukt tidligere i denne kontoen, kan det hende en rolle allerede eksisterer, men den har kanskje ikke alle tillatelsene som kreves. Så la oss gå videre og lage en ny.

Følgende trinn må bare gjøres én gang, uavhengig av hvor mange SageMaker Studio Lab-miljøer som får tilgang til denne AWS-kontoen.

  1. Velg på IAM-konsollen Roller i navigasjonsruten.
  2. Velg Skape rolle.
  3. Til Klarert enhetstype, plukke ut AWS-tjeneste.
  4. Til Brukssaker for andre AWS-tjenester, velg SageMaker.
  5. Plukke ut SageMaker – Utførelse.
  6. Velg neste.
  7. Se gjennom tillatelsene, og velg deretter neste.Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  8. Til Rollenavn, skriv inn et navn (for dette innlegget bruker vi sagemaker-execution-role-notebook-jobs).
  9. Velg Skape rolle.
  10. Noter deg rollen ARN.

Rollen ARN vil være i form av arn:aws:iam::[account-number]:role/service-role/[role-name] og kreves i Studio Lab-oppsettet.

Opprett en IAM-bruker

For at et Studio Lab-miljø skal få tilgang til AWS, må vi opprette en IAM-bruker i AWS og gi den nødvendige tillatelser. Vi må da lage et sett med tilgangsnøkler for den brukeren og gi dem til Studio Lab-miljøet.

Dette trinnet bør gjentas for hvert SageMaker Studio Lab-miljø som vil få tilgang til denne AWS-kontoen.

Vær oppmerksom på at administratorer og AWS-kontoeiere bør sørge for at godt utformet sikkerhetspraksis i størst mulig grad følges. For eksempel bør brukertillatelser alltid begrenses, og tilgangsnøkler bør roteres regelmessig for å minimere virkningen av kompromittering av legitimasjon.

I denne bloggen viser vi hvordan du bruker AmazonSageMakerFullAccess administrert politikk. Denne policyen gir bred tilgang til Amazon SageMaker som kan gå utover det som kreves. Detaljer om AmazonSageMakerFullAccess kan finnes her..

Selv om Studio Lab benytter bedriftssikkerhet, bør det bemerkes at Studio Labs brukerlegitimasjon ikke utgjør en del av AWS-kontoen din, og derfor er for eksempel ikke underlagt AWS-passordet eller MFA-retningslinjene.

For å begrense tillatelsene så mye som mulig, oppretter vi en brukerprofil spesielt for denne tilgangen.

  1. Velg på IAM-konsollen brukere i navigasjonsruten.
  2. Velg Legg til brukere.
  3. Til brukernavn, skriv inn et navn. Det er god praksis å bruke et navn som er knyttet til en enkeltperson som skal bruke denne kontoen; dette hjelper hvis du gjennomgår revisjonslogger.
  4. Til Velg AWS -tilgangstype, plukke ut Tilgangsnøkkel – Programmatisk tilgang.
  5. Velg Neste: Tillatelser.Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  6. Velg Legg ved eksisterende retningslinjer direkte.
  7. Søk etter og velg AmazonSageMakerFullAccess.Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  8. Søk etter og velg AmazonEventBridgeFullAccess.Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  9. Velg Neste: Tagger.
  10. Velg Neste: Gjennomgang.
  11. Bekreft retningslinjene dine, og velg deretter Opprett bruker.Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Den siste siden av brukeropprettingsprosessen skal vise deg brukerens tilgangsnøkler. La denne fanen være åpen, fordi vi ikke kan navigere tilbake hit og vi trenger disse detaljene.
  12. Åpne en ny nettleserfane i Studio Lab.
  13. filet meny, velg Ny Launcher, velg deretter terminal.Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
  14. På kommandolinjen skriver du inn følgende kode:
    aws configure

  15. Skriv inn følgende kode:
    1. Skriv inn verdiene fra IAM-konsollsiden for din tilgangsnøkkel-ID og hemmelige tilgangsnøkkel.
    2. Til Default region name, Tast inn us-west-2.
    3. Permisjon Default output format as text.
      (studiolab) studio-lab-user@default:~$ aws configure 
      AWS Access Key ID []: 01234567890
      AWS Secret Access Key []: ABCDEFG1234567890ABCDEFG
      Default region name []: us-west-2
      Default output format [text]: 
      
      (studiolab) studio-lab-user@default:~$

Gratulerer, Studio Lab-miljøet ditt skal nå være konfigurert for å få tilgang til AWS-kontoen. For å teste tilkoblingen, utfør følgende kommando:

aws sts get-caller-identity

Denne kommandoen skal returnere detaljer om IAM-brukeren du har konfigurert til å bruke.

Opprett en notatbokjobb

Notebook-jobber opprettes ved hjelp av Jupyter-notatbøker i Studio Lab. Hvis den bærbare datamaskinen din kjører i Studio Lab, kan den kjøres som en bærbar jobb (med flere ressurser og tilgang til AWS-tjenester). Det er imidlertid et par ting å se etter.

Hvis du har installert pakker for å få den bærbare datamaskinen til å fungere, legg til kommandoer for å laste disse pakkene i en celle øverst på den. Ved å bruke et &-symbol i starten av hver linje, vil koden sendes til kommandolinjen for å kjøre. I det følgende eksempelet bruker den første cellen pip for å installere PyTorch-biblioteker:

%%capture
%pip install torch
%pip install torchvision

Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Vår notatbok vil generere en trent PyTorch-modell. Med vår vanlige kode lagrer vi modellen i filsystemet i Studio Labs.

Når vi kjører dette som en bærbar jobb, må vi lagre modellen et sted vi kan få tilgang til den etterpå. Den enkleste måten å gjøre dette på er å lagre modellen i Amazon S3. Vi opprettet en S3-bøtte for å lagre modellene våre, og bruker en annen kommandolinjecelle til å kopiere objektet inn i bøtta.

Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai. Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Vi bruker AWS kommandolinjegrensesnitt (AWS CLI) her for å kopiere objektet. Vi kan også bruke AWS SDK for Python (Boto3) hvis vi ønsket å ha en mer sofistikert eller automatisert kontroll av filnavnet. Foreløpig vil vi sørge for at vi endrer filnavnet hver gang vi kjører notatboken slik at modellene ikke blir overskrevet.

Nå er vi klare til å lage notatbokjobben.

  1. Velg (høyreklikk) navnet på notatboken, og velg deretter Opprett notatbokjobb.Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
    Hvis dette menyvalget mangler, må du kanskje oppdatere Studio Lab-miljøet. For å gjøre dette, åpne Terminal fra startprogrammet og kjør følgende kode:
    conda deactivate && conda env remove —name studiolab

  2. Deretter starter du JupyterLab-forekomsten på nytt ved å velge Amazon SageMaker Studio Lab fra toppmenyen, og velg deretter Start JupyterLab på nytt. Alternativt kan du gå til prosjektsiden og slå av og starte kjøretiden på nytt.
  3. Lag jobb side, for Beregningstype, velg beregningstypen som passer for jobben din.

    For mer informasjon om de forskjellige typene datakapasitet, inkludert kostnad, se Amazon SageMaker-priser (velge On-Demand-priser og naviger til Kurs fanen. Du må kanskje også sjekke kvotetilgjengeligheten til beregningstypen i AWS-kontoen din. For mer informasjon om tjenestekvoter, se: AWS-tjenestekvoter.For dette eksemplet har vi valgt en ml.p3.2xlarge-instans, som tilbyr 8 vCPU, 61 GB minne og en Tesla V100 GPU.Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

    Hvis det ikke er noen advarsler på denne siden, bør du være klar til å gå. Hvis det er advarsler, kontroller for å sikre at riktig rolle ARN er spesifisert i Ekstra alternativer. Denne rollen skal samsvare med ARN-en til SageMaker-utførelsesrollen vi opprettet tidligere. ARN-en er i formatet arn:aws:iam::[account-number]:role/service-role/[role-name].

    Det er andre alternativer tilgjengelig innenfor Ekstra alternativer; for eksempel kan du velge et bestemt bilde og en kjerne som kanskje allerede har konfigurasjonen du trenger uten å måtte installere flere biblioteker.

  4. Hvis du vil kjøre denne notatboken etter en tidsplan, velg Kjør etter en tidsplan og spesifiser hvor ofte du vil at jobben skal kjøre.Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Vi vil at denne notatboken skal kjøre én gang, så vi velger Løp nå.
  5. Velg Opprett.
    Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Notebook-jobbliste

De Notebook-jobber siden viser alle jobbene som kjører for øyeblikket og de som har kjørt tidligere. Du finner denne listen fra startprogrammet (velg, filet, Ny Launcher), og velg deretter Notebook-jobber i Annen seksjon.

Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Når den bærbare jobben er fullført, vil du se statusen endres til Completed (bruke Last alternativ hvis nødvendig). Du kan deretter velge nedlastingsikonet for å få tilgang til utdatafilene.

Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Når filene er lastet ned, kan du se gjennom notatboken sammen med kodeutdata- og utdataloggen. I vårt tilfelle, fordi vi la til kode for å tidsbestemme kjøringen av treningscellen, kan vi se hvor lang tid treningsjobben tok – 16 minutter og 21 sekunder, noe som er mye raskere enn om koden hadde kjørt inne i Studio Lab (1 time) , 38 minutter, 55 sekunder). Faktisk kjørte hele notatboken på 1,231 sekunder (litt over 20 minutter) til en pris på under $1.30 (USD).

Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

W kan nå øke antall epoker og justere hyperparametrene for å forbedre tapsverdien til modellen, og sende inn en ny bærbar jobb.

konklusjonen

I dette innlegget viste vi hvordan du bruker Studio Lab notatbokjobber for å skalere ut koden vi utviklet i Studio Lab og kjøre den med flere ressurser i en AWS-konto.

Ved å legge til AWS-legitimasjon til Studio Lab-miljøet vårt, kan vi ikke bare få tilgang til notatbokjobber, men vi kan også få tilgang til andre ressurser fra en AWS-konto rett fra Studio Lab-notatbøkene våre. Ta en titt på AWS SDK for Python.

Denne ekstra muligheten til Studio Lab løfter grensene for typene og størrelsene på prosjekter du kan oppnå. Fortell oss hva du bygger med denne nye muligheten!


Om forfatterne

Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Mike Chambers er en utvikleradvokat for AI og ML hos AWS. Han har brukt de siste 7 årene på å hjelpe utbyggere med å lære sky, sikkerhet og ML. Opprinnelig fra Storbritannia, er Mike en lidenskapelig tedrikker og Lego-bygger.

Kjør notatbøker som batchjobber i Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Vertikalt søk. Ai. Michele Monclova er hovedproduktsjef hos AWS på SageMaker-teamet. Hun er en innfødt New Yorker og Silicon Valley-veteran. Hun brenner for innovasjoner som forbedrer livskvaliteten vår.

Tidstempel:

Mer fra AWS maskinlæring