Jupyters bärbara datorer är mycket gynnade av dataforskare för deras förmåga att interaktivt bearbeta data, bygga ML-modeller och testa dessa modeller genom att dra slutsatser om data. Det finns dock scenarier där dataforskare kanske föredrar att övergå från interaktiv utveckling på bärbara datorer till batchjobb. Exempel på sådana användningsfall är att skala upp ett funktionsteknikjobb som tidigare testades på ett litet exempeldataset på en liten notebook-instans, köra nattliga rapporter för att få insikter i affärsmått och omskola ML-modeller enligt ett schema när ny data blir tillgänglig.
Att migrera från interaktiv utveckling på bärbara datorer till batchjobb krävde att du kopierade kodavsnitt från anteckningsboken till ett skript, paketerade skriptet med alla dess beroenden i en behållare och schemalagda att behållaren skulle köras. För att köra det här jobbet upprepade gånger enligt ett schema var du tvungen att konfigurera, konfigurera och övervaka molninfrastruktur för att automatisera driftsättningar, vilket resulterade i en avledning av värdefull tid bort från grundläggande datavetenskapliga utvecklingsaktiviteter.
För att hjälpa till att förenkla processen att gå från interaktiva bärbara datorer till batch-jobb, i december 2022, Amazon SageMaker Studio och Studio Lab introducerade möjligheten att köra bärbara datorer som schemalagda jobb, med hjälp av anteckningsbokbaserade arbetsflöden. Du kan nu använda samma kapacitet för att köra dina Jupyter-anteckningsböcker från vilken JupyterLab-miljö som helst som t.ex. Amazon SageMaker notebook-instanser och JupyterLab som körs på din lokala dator. SageMaker tillhandahåller ett tillägg med öppen källkod som kan installeras på alla JupyterLab-miljöer och användas för att köra anteckningsböcker som tillfälliga jobb och enligt ett schema.
I det här inlägget visar vi dig hur du kör dina anteckningsböcker från din lokala JupyterLab-miljö som schemalagda anteckningsboksjobb på SageMaker.
Lösningsöversikt
Lösningsarkitekturen för att schemalägga anteckningsbokjobb från valfri JupyterLab-miljö visas i följande diagram. SageMaker-tillägget förväntar sig att JupyterLab-miljön har giltiga AWS-referenser och behörigheter för att schemalägga anteckningsbokjobb. Vi diskuterar stegen för att ställa in autentiseringsuppgifter och AWS identitets- och åtkomsthantering (IAM) behörigheter senare i det här inlägget. Förutom att IAM-användaren och den antagna rollsessionen schemalägger jobbet, måste du också tillhandahålla en roll för den anteckningsbok-jobbinstans som ska anta för åtkomst till dina data i Amazon enkel lagringstjänst (Amazon S3) eller att ansluta till Amazon EMR kluster efter behov.
I de följande avsnitten visar vi hur du ställer in arkitekturen och installerar tillägget med öppen källkod, kör en anteckningsbok med standardkonfigurationerna och även använder de avancerade parametrarna för att köra en anteckningsbok med anpassade inställningar.
Förutsättningar
För det här inlägget antar vi en lokalt värd JupyterLab-miljö. Du kan också följa samma installationssteg för en miljö som är värd i molnet.
Följande steg förutsätter att du redan har en giltig Python 3- och JupyterLab-miljö (denna tillägg fungerar med JupyterLab v3.0 eller högre).
installera AWS-kommandoradsgränssnitt (AWS CLI) om du inte redan har det installerat. Ser Installera eller uppdatera den senaste versionen av AWS CLI för instruktioner.
Ställ in IAM-uppgifter
Du behöver en IAM-användare eller en aktiv IAM-rollsession för att skicka SageMaker-anteckningsbokjobb. För att ställa in dina IAM-uppgifter kan du konfigurera AWS CLI med dina AWS-uppgifter för din IAM-användare, eller anta en IAM-roll. För instruktioner om hur du ställer in dina autentiseringsuppgifter, se Konfigurera AWS CLI. IAM-huvudmannen (användare eller antagen roll) behöver följande behörigheter för att schemalägga anteckningsbokjobb. För att lägga till policyn till din huvudman, se Lägger till IAM-identitetsbehörigheter.
Om dina anteckningsbok-jobb behöver krypteras med kundhanterade AWS nyckelhanteringstjänst (AWS KMS)-nycklar, lägg till policyförklaringen som tillåter AWS KMS-åtkomst också. För ett exempel på policy, se Installera policyer och behörigheter för lokala Jupyter-miljöer.
Ställ in en IAM-roll för anteckningsbokens jobbinstans
SageMaker kräver en IAM-roll för att köra jobb för användarens räkning, som att köra anteckningsboken. Den här rollen bör ha tillgång till de resurser som krävs för att den bärbara datorn ska slutföra jobbet, till exempel tillgång till data i Amazon S3.
Schemaläggartillägget söker automatiskt efter IAM-roller i AWS-kontot, med prefixet SagemakerJupyterScheduler
för att köra anteckningsboken.
För att skapa en IAM-roll, skapa en verkställande roll för Amazon SageMaker med AmazonSageMakerFullAccess
politik. Namnge rollen SagemakerJupyterSchedulerDemo
, eller ange ett namn med det förväntade prefixet.
Efter att rollen har skapats, på Förtroendeförhållanden fliken, välj Redigera förtroendepolicy. Ersätt den befintliga förtroendepolicyn med följande:
Smakämnen AmazonSageMakerFullAccess
policyn är ganska tillåtande och är i allmänhet att föredra för att experimentera och komma igång med SageMaker. Vi rekommenderar starkt att du skapar en policy med minsta omfattning för framtida arbetsbelastningar i enlighet med bästa säkerhetspraxis i IAM. För den minsta uppsättning behörigheter som krävs för notebook-jobbet, se Installera policyer och behörigheter för lokala Jupyter-miljöer.
Installera tillägget
Öppna en terminal på din lokala dator och installera tillägget genom att köra följande kommando:
När det här kommandot har körts kan du starta JupyterLab genom att köra jupyter lab.
Om du installerar tillägget från JupyterLab-terminalen, starta om Jupyter-servern för att ladda tillägget. Du kan starta om Jupyter-servern genom att välja Stäng på Fil menyn från ditt JupyterLab och starta JupyterLab från din kommandorad genom att köra jupyter lab
.
Skicka in ett anteckningsbokjobb
Efter att tillägget har installerats i din miljö kan du köra vilken fristående anteckningsbok som helst som ett tillfälligt jobb. Låt oss skicka in en enkel "Hello world"-anteckningsbok som körs som ett schemalagt jobb.
- På Fil meny, välj Nya och Notebook.
- Ange följande innehåll:
När tillägget har installerats kommer du att se ikonen för schemaläggning för anteckningsboken på anteckningsboken.
- Välj ikonen för att skapa ett anteckningsboksjobb.
Alternativt kan du högerklicka på anteckningsboken i din filutforskare och välja Skapa anteckningsbok jobb.
- Ange jobbnamn, indatafil, beräkningstyp och ytterligare parametrar.
- Lämna de återstående inställningarna på standardinställningarna och välj Skapa.
När jobbet har schemalagts omdirigeras du till Anteckningsbok jobb fliken, där du kan se listan över anteckningsbok-jobb och deras status, och se anteckningsbokens utdata och loggar efter att jobbet är klart. Du kan också komma åt det här anteckningsbokens jobbfönster från startprogrammet, som visas i följande skärmdump.
Avancerade konfigurationer
Från din lokala dator körs bärbara datorer automatiskt på SageMaker Base Python-bilden, som är den officiella Python 3.8-bilden från Docker Hub med Boto3 och AWS CLI inkluderat. I verkliga fall måste datavetare installera specifika paket eller ramverk för sina bärbara datorer. Det finns tre sätt att uppnå en reproducerbar miljö:
- På det enklaste alternativet kan du installera paketen och ramverken direkt på den första cellen i din bärbara dator.
- Du kan också tillhandahålla ett initialiseringsskript i Ytterligare alternativ sektionen, som pekar på ett bash-skript på din lokala lagring som körs av anteckningsboken när den bärbara datorn startar. I följande avsnitt visar vi ett exempel på hur man använder initialiseringsskript för att installera paket.
- Slutligen, om du vill ha maximal flexibilitet i att konfigurera din körmiljö, kan du bygga din egen anpassade bild med en Python3-kärna, tryck bilden till Amazon Elastic Container Registry (Amazon ECR), och tillhandahåll ECR-bild-URI till ditt bärbara jobb under Ytterligare alternativ. ECR-bilden bör följa kraven för SageMaker-bilder, som anges i Anpassade SageMaker-bildspecifikationer.
Dessutom kan ditt företag sätta upp skyddsräcken som att köra jobb i internetfritt läge inom en Amazon VPC, använda en anpassad minst privilegierad roll för jobbet och upprätthålla kryptering. Du kan ange sådana konfigurationer för dina notebook-jobb i Ytterligare alternativ avsnitt också. För en detaljerad lista över avancerade konfigurationer, se Ytterligare alternativ.
Lägg till ett initialiseringsskript
För att visa upp initialiseringsskriptet kör vi nu provanteckningsboken för Studio-anteckningsbokjobb som är tillgängliga på GitHub. För att köra den här anteckningsboken måste du installera de nödvändiga paketen genom ett initialiseringsskript. Slutför följande steg:
- Kör följande kommando från din JupyterLab-terminal för att ladda ner filen:
- På Fil meny, välj Nya och Textfil.
- Ange följande innehåll i din fil och spara filen under namnet
init-script.sh
: - Välja
scheduled-example.ipynb
från din filutforskare för att öppna anteckningsboken. - Välj ikonen för anteckningsbokens jobb för att schemalägga anteckningsboken och expandera Ytterligare alternativ sektion.
- För Plats för initialiseringsskript, ange hela sökvägen till ditt skript.
Du kan också valfritt anpassa in- och utdata S3-mapparna för ditt bärbara jobb. SageMaker skapar en inmatningsmapp på en angiven S3-plats för att lagra indatafilerna och skapar en S3-utgångsmapp där notebook-utdata lagras. Du kan ange kryptering, IAM-roll och VPC-konfigurationer här. Ser Begränsningar och överväganden för anpassade bild- och VPC-specifikationer.
- För nu, uppdatera helt enkelt initialiseringsskriptet, välj Spring nu för schemat och välj Skapa.
När jobbet är klart kan du se anteckningsboken med utgångar och utdataloggen under Utdatafiler, som visas i följande skärmdump. I utdataloggen bör du kunna se initialiseringsskriptet körs innan du kör anteckningsboken.
För att ytterligare anpassa din arbetsmiljö för din bärbara dator kan du använda din egen bild genom att ange ECR-URI för din anpassade bild. Om du tar med din egen bild, se till att du installerar en Python3-kärna när du bygger din bild. För ett exempel på dockerfil som kan köra en anteckningsbok med TensorFlow, se följande kod:
Slutsats
I det här inlägget visade vi dig hur du kör dina anteckningsböcker från vilken JupyterLab-miljö som helst som är värd lokalt som SageMaker-utbildningsjobb, med hjälp av SageMaker Jupyter-schemaläggaren. Att kunna köra anteckningsböcker på ett huvudlöst sätt, enligt ett schema, minskar avsevärt odifferentierade tunga lyft för dataforskarna, som att omstrukturera anteckningsböcker till Python-skript, konfigurera Amazon EventBridge händelseutlösare och skapande AWS Lambda funktioner eller SageMaker pipelines för att starta utbildningsjobben. SageMaker anteckningsbok-jobb körs på begäran, så du betalar bara för den tid som anteckningsboken körs, och du kan använda anteckningsbok-jobbtillägget för att se anteckningsbokens utdata när som helst från din JupyterLab-miljö. Vi uppmuntrar dig att prova schemalagda anteckningsbokjobb och ta kontakt med Machine Learning & AI community på re:Post för feedback!
Om författarna
Bhadrinath Pani är en mjukvaruutvecklingsingenjör på Amazon Web Services, som arbetar på Amazon SageMaker interaktiva ML-produkter, med över 12 års erfarenhet av mjukvaruutveckling över domäner som fordon, IoT, AR/VR och datorseende. För närvarande är hans huvudfokus på att utveckla verktyg för maskininlärning som syftar till att förenkla upplevelsen för datavetare. På sin fritid gillar han att umgås med sin familj och utforska skönheten i Pacific Northwest.
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.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoAiStream. Web3 Data Intelligence. Kunskap förstärkt. Tillgång här.
- Minting the Future med Adryenn Ashley. Tillgång här.
- Köp och sälj aktier i PRE-IPO-företag med PREIPO®. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/schedule-your-notebooks-from-any-jupyterlab-environment-using-the-amazon-sagemaker-jupyterlab-extension/
- : har
- :är
- :var
- $UPP
- 100
- 12
- 202
- 2022
- 7
- 77
- 8
- a
- förmåga
- Able
- Om oss
- tillgång
- Tillgång till data
- tillgänglig
- överensstämmelse
- Konto
- Uppnå
- tvärs
- Handling
- aktiv
- aktiviteter
- lägga till
- Dessutom
- Annat
- avancerat
- Efter
- AI
- AI / ML
- syftar
- Alla
- tillåter
- tillåta
- redan
- också
- amason
- Amazon SageMaker
- Amazon Web Services
- an
- och
- vilken som helst
- AR / VR
- arkitektur
- ÄR
- AS
- antas
- At
- automatisera
- automatiskt
- fordonsindustrin
- tillgänglig
- bort
- AWS
- bas
- bash
- BE
- Skönhet
- blir
- innan
- Där vi får lov att vara utan att konstant prestera,
- BÄST
- bästa praxis
- Blockera
- Föra
- SLUTRESULTAT
- Byggnad
- företag
- by
- KAN
- fall
- Välja
- välja
- cloud
- molninfrastruktur
- koda
- COM
- samfundet
- fullborda
- Compute
- dator
- Datorsyn
- tillstånd
- konfigurationer
- Kontakta
- Behållare
- innehåll
- Kärna
- skapa
- skapas
- skapar
- Skapa
- referenser
- För närvarande
- beställnings
- kund
- Kunder
- skräddarsy
- datum
- datavetenskap
- December
- Standard
- Efterfrågan
- distributioner
- detaljerad
- utveckla
- Utveckling
- direkt
- diskutera
- Visa
- Vidarekoppling
- Hamnarbetare
- domäner
- inte
- ner
- ladda ner
- effekt
- uppmuntra
- krypterad
- kryptering
- driva
- ingenjör
- Teknik
- säkerställa
- ange
- Företag
- företagskunder
- Miljö
- miljöer
- Eter (ETH)
- händelse
- händelser
- alla
- exempel
- exempel
- utförande
- befintliga
- Bygga ut
- förväntat
- förväntar
- erfarenhet
- explorer
- Utforska
- förlängning
- ganska
- familj
- Leverans
- Fil
- Filer
- Förnamn
- Flexibilitet
- Fokus
- följer
- efter
- För
- ramar
- Fri
- från
- full
- funktioner
- ytterligare
- framtida
- Få
- allmänhet
- få
- kraftigt
- hade
- Har
- he
- tung
- tunga lyft
- hjälpa
- hjälpte
- här
- här.
- högre
- höggradigt
- hans
- värd
- Hur ser din drömresa ut
- How To
- Men
- html
- http
- HTTPS
- Nav
- IAM
- IKON
- Identitet
- if
- bild
- bilder
- importera
- in
- innefattar
- ingår
- Infrastruktur
- ingång
- insikter
- installera
- Installationen
- installerad
- installera
- exempel
- instruktioner
- interaktiva
- in
- introducerade
- iot
- IT
- DESS
- Jobb
- Lediga jobb
- Nyckel
- nycklar
- lab
- senare
- senaste
- inlärning
- lyft
- tycka om
- linje
- Lista
- Noterade
- läsa in
- lokal
- lokalt
- läge
- log
- Lång
- UTSEENDE
- älskar
- Maskinen
- maskininlärning
- Huvudsida
- Framställning
- förvaltade
- ledning
- sätt
- matplotlib
- maximal
- Maj..
- Meny
- Metrics
- kanske
- minsta
- ML
- Mode
- modeller
- mc
- rörliga
- Mystery
- namn
- Behöver
- behövs
- behov
- Nya
- anteckningsbok
- bärbara datorer
- nu
- numpy
- of
- tjänsteman
- on
- endast
- öppet
- öppen källkod
- Alternativet
- or
- produktion
- över
- övervaka
- egen
- stilla havet
- paket
- paket
- pandor
- parametrar
- brinner
- bana
- Betala
- behörigheter
- Plattformar
- plato
- Platon Data Intelligence
- PlatonData
- Strategier
- policy
- Inlägg
- praxis
- föredra
- föredragen
- tidigare
- Principal
- process
- Produkter
- ge
- ger
- Tryck
- Python
- RE
- verkliga världen
- minskar
- Förhållanden
- Återstående
- UPPREPAT
- ersätta
- Rapport
- Obligatorisk
- Krav
- Kräver
- resurs
- Resurser
- resulterande
- omskolning
- Högerklicka
- Roll
- roller
- Körning
- rinnande
- kör
- SA
- sagemaker
- SageMaker-rörledningar
- Samma
- Exempeldatauppsättning
- Save
- skalning
- scenarier
- tidtabellen
- planerad
- Schemalagda jobb
- schemaläggning
- Vetenskap
- vetenskapsmän
- skript
- Sök
- §
- sektioner
- säkerhet
- se
- service
- Tjänster
- session
- in
- inställning
- inställningar
- hon
- skall
- show
- visa
- visade
- visas
- Enkelt
- förenkla
- förenkla
- helt enkelt
- Small
- So
- Mjukvara
- mjukvaruutveckling
- lösning
- Lösningar
- specifik
- specifikationer
- specificerade
- Spendera
- starta
- igång
- Starta
- startar
- .
- status
- Steg
- förvaring
- lagra
- lagras
- starkt
- studio
- skicka
- Framgångsrikt
- sådana
- grupp
- tensorflow
- terminal
- testa
- den där
- Smakämnen
- deras
- Där.
- Dessa
- detta
- tre
- Genom
- tid
- till
- verktyg
- Utbildning
- övergång
- sann
- Litar
- prova
- Typ
- under
- Uppdatering
- uppdatering
- URI
- användning
- Begagnade
- Användare
- med hjälp av
- Värdefulla
- version
- utsikt
- syn
- vill
- var
- sätt
- we
- webb
- webbservice
- VÄL
- när
- som
- med
- inom
- arbetsflöden
- arbetssätt
- fungerar
- år
- dig
- Din
- zephyrnet