Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Använd dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsboksjobb

Amazon SageMaker Studio tillhandahåller en helt hanterad lösning för datavetare för att interaktivt bygga, träna och distribuera modeller för maskininlärning (ML). Utöver den interaktiva ML-upplevelsen söker dataarbetare också lösningar för att köra bärbara datorer som tillfälliga jobb utan att behöva omstrukturera kod som Python-moduler eller lära sig DevOps-verktyg och bästa praxis för att automatisera sin distributionsinfrastruktur. Några vanliga användningsfall för att göra detta inkluderar:

  • Regelbundet körande modellinferens för att generera rapporter
  • Skala upp ett funktionstekniksteg efter att ha testat i Studio mot en delmängd av data på en liten instans
  • Omskolning och utplacering av modeller på viss kadens
  • Analysera ditt lags Amazon SageMaker användning på en vanlig kadens

Tidigare, när dataforskare ville ta koden de byggde interaktivt på bärbara datorer och köra dem som batchjobb, ställdes de inför en brant inlärningskurva med Amazon SageMaker-rörledningar, AWS Lambda, Amazon EventBridge, eller andra lösningar som är svåra att installera, använda och hantera.

Med SageMaker anteckningsbok jobb, kan du nu köra dina anteckningsböcker som de är eller på ett parametriserat sätt med bara några enkla klick från SageMaker Studio eller SageMaker Studio Lab gränssnitt. Du kan köra dessa anteckningsböcker enligt ett schema eller direkt. Det finns inget behov för slutanvändaren att ändra sin befintliga notebook-kod. När jobbet är klart kan du se de fyllda anteckningsbokens celler, inklusive eventuella visualiseringar!

I det här inlägget delar vi med oss ​​av hur du operationaliserar dina SageMaker Studio-anteckningsböcker som schemalagda anteckningsboksjobb.

Lösningsöversikt

Följande diagram illustrerar vår lösningsarkitektur. Vi använder det förinstallerade SageMaker-tillägget för att köra bärbara datorer som ett jobb omedelbart eller enligt ett schema.

I följande avsnitt går vi igenom stegen för att skapa en anteckningsbok, parametrisera celler, anpassa ytterligare alternativ och schemalägga ditt jobb. Vi inkluderar också ett exempel på användningsfall.

Förutsättningar

För att använda SageMaker anteckningsbok-jobb måste du köra en JupyterLab 3 JupyterServer-app i Studio. För mer information om hur du uppgraderar till JupyterLab 3, se Visa och uppdatera JupyterLab-versionen av en app från konsolen. Var säker på att Stäng av och uppdatera SageMaker Studio för att hämta de senaste uppdateringarna.

För att definiera jobbdefinitioner som kör anteckningsböcker enligt ett schema kan du behöva lägga till ytterligare behörigheter till din SageMaker-exekveringsroll.

Lägg först till en förtroenderelation till din SageMaker-exekveringsroll som tillåter events.amazonaws.com att ta på dig din roll:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "sagemaker.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

Dessutom kan du behöva skapa och bifoga en inline-policy till din verkställande roll. Nedanstående policy är ett komplement till det mycket tillåtande AmazonSageMakerFullAccess politik. För en komplett och minimal uppsättning behörigheter, se Installationspolicyer och behörigheter.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "events:TagResource",
                "events:DeleteRule",
                "events:PutTargets",
                "events:DescribeRule",
                "events:PutRule",
                "events:RemoveTargets",
                "events:DisableRule",
                "events:EnableRule"
            ],
            "Resource": "*",
            "Condition": {
              "StringEquals": {
                "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true"
              }
            }
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "events.amazonaws.com"
                }
            }
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "sagemaker:ListTags",
            "Resource": "arn:aws:sagemaker:*:*:user-profile/*/*"
        }
    ]
}

Skapa ett anteckningsboksjobb

För att operationalisera din anteckningsbok som ett SageMaker anteckningsbok-jobb, välj Skapa ett anteckningsboksjobb ikonen.

Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Alternativt kan du välja (högerklicka) din anteckningsbok i filsystemet och välja Skapa anteckningsbokjobb.

Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

I Skapa jobb sektionen, välj helt enkelt rätt instanstyp för ditt schemalagda jobb baserat på din arbetsbelastning: standardinstanser, beräkningsoptimerade instanser eller accelererade beräkningsinstanser som innehåller GPU:er. Du kan välja vilken som helst av de instanser som är tillgängliga för SageMaker-utbildningsjobb. För en fullständig lista över tillgängliga instanser, se Amazon SageMaker Prissättning.

Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

När ett jobb är klart kan du se utdatafilen för anteckningsboken med dess fyllda celler, såväl som de underliggande loggarna från jobbkörningarna.

Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Parameterisera celler

När du flyttar en anteckningsbok till ett produktionsarbetsflöde är det viktigt att kunna återanvända samma anteckningsbok med olika uppsättningar parametrar för modularitet. Du kanske till exempel vill parametrisera datauppsättningsplatsen eller hyperparametrarna för din modell så att du kan återanvända samma anteckningsbok för många olika modellträningar. SageMaker anteckningsbok jobb stöder detta genom celltaggar. Välj helt enkelt den dubbla kugghjulsikonen i den högra rutan och välj Lägg till tagg. Märk sedan taggen som parametrar.

Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Som standard använder körningen av notebook-jobbet de parametervärden som anges i notebook-datorn, men alternativt kan du ändra dessa som en konfiguration för ditt notebook-jobb.

Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Konfigurera ytterligare alternativ

När du skapar ett anteckningsboksjobb kan du utöka Ytterligare alternativ avsnitt för att anpassa din jobbdefinition. Studio kommer automatiskt att upptäcka bilden eller kärnan du använder i din anteckningsbok och förvälja den åt dig. Se till att du har validerat detta val.

Du kan också ange miljövariabler eller startskript för att anpassa din notebookkörningsmiljö. För hela listan över konfigurationer, se Ytterligare alternativ.

Schemalägg ditt jobb

För att schemalägga ditt jobb, välj Kör enligt ett schema och ställ in ett lämpligt intervall och tid. Sedan kan du välja Anteckningsbok jobb fliken som är synlig när du har valt hemikonen. När anteckningsboken har laddats väljer du Anteckningsbokens jobbdefinitioner fliken för att pausa eller ta bort ditt schema.

Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Exempel på användningsfall

Som exempel visar vi upp ett heltäckande ML-arbetsflöde som förbereder data från en grundsanningskälla, tränar en uppdaterad modell från den tidsperioden och sedan kör slutsatser om de senaste uppgifterna för att generera handlingsbara insikter. I praktiken kan du köra ett komplett end-to-end-arbetsflöde eller helt enkelt operationalisera ett steg i ditt arbetsflöde. Du kan schemalägga en AWS-lim interaktiv session för daglig dataförberedelse, eller kör ett batch slutledningsjobb som genererar grafiska resultat direkt i din utdata-anteckningsbok.

Den fullständiga anteckningsboken för detta exempel finns i vår SageMaker Exempel GitHub-förråd. Användningsfallet förutsätter att vi är ett telekommunikationsföretag som funderar på att schemalägga en anteckningsbok som förutsäger trolig kundförlust baserat på en modell som tränats med den senaste informationen vi har tillgänglig.

Till att börja med samlar vi in ​​den senast tillgängliga kunddatan och utför en viss förbearbetning av den:

import pandas as pd
from synthetic_data import generate_data

previous_two_weeks_data = generate_data(5000, label_known=True)
todays_data = generate_data(300, label_known=False)

processed_prior_data = process_data(previous_two_weeks_data, label_known=True)
processed_todays_data = process_data(todays_data, label_known=False)

Vi tränar vår uppdaterade modell på denna uppdaterade träningsdata för att göra korrekta förutsägelser om todays_data:

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import f1_score, confusion_matrix, ConfusionMatrixDisplay

y = np.ravel(processed_prior_data[["Churn"]])
x = processed_prior_data.drop(["Churn"], axis=1)

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)

clf = RandomForestClassifier(n_estimators=int(number_rf_estimators), criterion="gini")
clf.fit(x_train, y_train)

Eftersom vi kommer att schemalägga den här anteckningsboken som en daglig rapport, vill vi fånga hur bra vår uppdaterade modell presterade på vår valideringsuppsättning så att vi kan vara säkra på dess framtida förutsägelser. Resultaten i följande skärmdump är från vår planerade slutledningsrapport.

Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Slutligen vill du fånga de förutspådda resultaten av dagens data i en databas så att åtgärder kan vidtas baserat på resultaten av denna modell.

Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

När anteckningsboken har förstått, kör gärna detta som ett tillfälligt jobb med hjälp av Spring nu alternativ som beskrivits tidigare eller testa schemaläggningsfunktionen.

Städa upp

Om du följde vårt exempel, se till att pausa eller ta bort schemat för ditt anteckningsbokjobb för att undvika löpande avgifter.

Slutsats

Att ta bärbara datorer till produktion med SageMaker bärbara jobb förenklar de odifferentierade tunga lyft som krävs av dataarbetare avsevärt. Oavsett om du planerar end-to-end ML-arbetsflöden eller en bit av pussel, uppmuntrar vi dig att sätta några anteckningsböcker i produktion med SageMaker Studio eller SageMaker Studio Lab! För att lära dig mer, se Notebook-baserade arbetsflöden.


Om författarna

Sean MorganSean Morgan är Senior ML Solutions Architect på AWS. Han har erfarenhet inom halvledarforskning och akademisk forskning och använder sin erfarenhet för att hjälpa kunder att nå sina mål på AWS. På sin fritid är Sean en aktiv bidragsgivare/underhållare av öppen källkod och är specialintressegruppledare för TensorFlow Addons.

Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Sumedha Swamy är huvudproduktchef på Amazon Web Services. Han leder SageMaker Studio-teamet för att bygga in det i IDE-valet för interaktiv datavetenskap och arbetsflöden för datateknik. Han har ägnat de senaste 15 åren åt att bygga kundbesatta konsument- och företagsprodukter med hjälp av maskininlärning. På fritiden gillar han att fotografera den fantastiska geologin i sydvästra USA.

Operationalisera dina Amazon SageMaker Studio-anteckningsböcker som schemalagda anteckningsbokjobb PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Edward Sun är en Senior SDE som arbetar för SageMaker Studio på Amazon Web Services. Han är fokuserad på att bygga interaktiv ML-lösning och förenkla kundupplevelsen för att integrera SageMaker Studio med populära teknologier inom datateknik och ML-ekosystem. På sin fritid är Edward ett stort fan av camping, vandring och fiske och tycker om att spendera tid med sin familj.

Tidsstämpel:

Mer från AWS maskininlärning