Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken

Amazon SageMaker Studio biedt een volledig beheerde oplossing voor datawetenschappers om interactief machine learning (ML)-modellen te bouwen, trainen en implementeren. Naast de interactieve ML-ervaring zoeken datawerkers ook naar oplossingen om notebooks als kortstondige taken uit te voeren zonder de noodzaak om code te herstructureren als Python-modules of om DevOps-tools en best practices te leren om hun implementatie-infrastructuur te automatiseren. Enkele veelvoorkomende use-cases om dit te doen zijn:

  • Regelmatig lopende modelinferentie om rapporten te genereren
  • Het opschalen van een feature-engineeringstap nadat deze in Studio is getest op een subset van gegevens op een kleine instantie
  • Modellen opnieuw trainen en inzetten op een bepaalde cadans
  • Analyseren van uw team Amazon Sage Maker gebruik op een regelmatige cadans

Voorheen, toen datawetenschappers de code die ze interactief op notebooks hadden gebouwd, als batchtaken wilden uitvoeren, werden ze geconfronteerd met een steile leercurve met behulp van Amazon SageMaker-pijpleidingen, AWS Lambda, Amazon EventBridgeof andere oplossingen die moeilijk zijn in te stellen, te gebruiken en te beheren.

met SageMaker-notebooktaken, kunt u nu uw notebooks uitvoeren zoals ze zijn of op een geparametriseerde manier met slechts een paar simpele klikken vanuit de SageMaker Studio of SageMaker Studiolab koppel. U kunt deze notebooks volgens een schema of onmiddellijk uitvoeren. De eindgebruiker hoeft zijn bestaande notebookcode niet te wijzigen. Wanneer de taak is voltooid, kunt u de gevulde notitieblokcellen bekijken, inclusief eventuele visualisaties!

In dit bericht delen we hoe u uw SageMaker Studio-notebooks kunt operationaliseren als geplande notebooktaken.

Overzicht oplossingen

Het volgende diagram illustreert onze oplossingsarchitectuur. We gebruiken de vooraf geรฏnstalleerde SageMaker-extensie om notebooks onmiddellijk of volgens een schema als taak uit te voeren.

In de volgende secties doorlopen we de stappen voor het maken van een notitieblok, het parametriseren van cellen, het aanpassen van aanvullende opties en het plannen van uw taak. We voegen ook een voorbeeld van een use case toe.

Voorwaarden

Om SageMaker-notebooktaken te gebruiken, moet u een JupyterLab 3 JupyterServer-app in Studio uitvoeren. Raadpleeg voor meer informatie over het upgraden naar JupyterLab 3 Bekijk en update de JupyterLab-versie van een app vanuit de console. Zorg dat je Sluit SageMaker Studio af en werk het bij om de laatste updates op te halen.

Om taakdefinities te definiรซren die notebooks volgens een schema uitvoeren, moet u mogelijk extra machtigingen toevoegen aan uw SageMaker-uitvoeringsrol.

Voeg eerst een vertrouwensrelatie toe aan uw SageMaker-uitvoeringsrol die dit toestaat events.amazonaws.com om je rol op je te nemen:

{
    "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"
        }
    ]
}

Daarnaast moet u mogelijk een inline beleid maken en koppelen aan uw uitvoerende rol. Het onderstaande beleid is een aanvulling op het zeer toegeeflijke AmazonSageMakerFullAccess beleid. Zie voor een volledige en minimale set machtigingen Installeer beleid en machtigingen.

{
    "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/*/*"
        }
    ]
}

Maak een notitieboektaak

Om uw notebook te operationaliseren als een SageMaker-notebooktaak, kiest u de Maak een notitieboektaak icoon.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

U kunt ook uw notitieblok op het bestandssysteem kiezen (klik met de rechtermuisknop) en kiezen Notitiebloktaak maken.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

In het Baan creรซren sectie, kiest u gewoon het juiste instantietype voor uw geplande taak op basis van uw werklast: standaardinstanties, voor rekenkracht geoptimaliseerde instanties of versnelde computerinstanties die GPU's bevatten. U kunt elk van de instanties kiezen die beschikbaar zijn voor SageMaker-trainingstaken. Raadpleeg voor de volledige lijst met beschikbare exemplaren Amazon SageMaker-prijzen.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Wanneer een taak is voltooid, kunt u het uitvoernotitieblokbestand met de gevulde cellen bekijken, evenals de onderliggende logboeken van de taakuitvoeringen.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Parametreer cellen

Bij het verplaatsen van een notebook naar een productieworkflow is het belangrijk om dezelfde notebook opnieuw te kunnen gebruiken met verschillende parametersets voor modulariteit. U wilt bijvoorbeeld de locatie van de gegevensset of de hyperparameters van uw model parametriseren, zodat u hetzelfde notitieblok kunt hergebruiken voor veel verschillende modeltrainingen. SageMaker-notebooktaken ondersteunen dit via celtags. Kies eenvoudig het dubbele tandwielpictogram in het rechterdeelvenster en kies Tag toevoegen. Label vervolgens de tag als parameters.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Standaard gebruikt de uitvoering van de notebooktaak de parameterwaarden die in de notebook zijn opgegeven, maar u kunt deze ook wijzigen als een configuratie voor uw notebooktaak.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Configureer extra opties

Bij het maken van een notebooktaak kunt u het Extra opties sectie om uw taakdefinitie aan te passen. Studio detecteert automatisch de afbeelding of kernel die u in uw notebook gebruikt en selecteert deze vooraf voor u. Zorg ervoor dat u deze selectie heeft gevalideerd.

U kunt ook omgevingsvariabelen of opstartscripts opgeven om uw notebook-uitvoeringsomgeving aan te passen. Zie voor de volledige lijst met configuraties Extra opties.

Plan je baan

Kies om uw taak in te plannen Loop volgens een schema en stel een geschikt interval en tijd in. Dan kun je kiezen voor de Notebook-banen tabblad dat zichtbaar is na het kiezen van het startpictogram. Nadat de notebook is geladen, kiest u de Definities van notebooktaak tabblad om uw planning te pauzeren of te verwijderen.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Voorbeeld use case

Voor ons voorbeeld laten we een end-to-end ML-workflow zien die gegevens voorbereidt van een grondwaarheidsbron, een vernieuwd model uit die periode traint en vervolgens gevolgtrekkingen uitvoert op de meest recente gegevens om bruikbare inzichten te genereren. In de praktijk kunt u een volledige end-to-end-workflow uitvoeren, of gewoon een stap van uw workflow operationaliseren. U kunt een afspraak maken AWS lijm interactieve sessie voor dagelijkse gegevensvoorbereiding, of voer een batch-inferentietaak uit die grafische resultaten rechtstreeks in uw uitvoernotebook genereert.

Het volledige notitieboek voor dit voorbeeld is te vinden in onze SageMaker-voorbeelden GitHub-repository. De use case gaat ervan uit dat we een telecommunicatiebedrijf zijn dat op zoek is naar een notebook die waarschijnlijk klantverloop voorspelt op basis van een model dat is getraind met de meest recente gegevens die we beschikbaar hebben.

Om te beginnen verzamelen we de meest recent beschikbare klantgegevens en voeren we een voorbewerking uit:

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)

We trainen ons vernieuwde model op deze bijgewerkte trainingsgegevens om nauwkeurige voorspellingen te kunnen doen 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)

Omdat we dit notitieblok gaan plannen als een dagelijks rapport, willen we vastleggen hoe goed ons vernieuwde model heeft gepresteerd op onze validatieset, zodat we vertrouwen kunnen hebben in de toekomstige voorspellingen. De resultaten in de volgende schermafbeelding zijn afkomstig uit ons geplande gevolgtrekkingsrapport.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Ten slotte wil je de voorspelde resultaten van de data van vandaag vastleggen in een database, zodat er acties kunnen worden ondernomen op basis van de resultaten van dit model.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Nadat de notebook is begrepen, voelt u zich vrij om dit als een kortstondige taak uit te voeren met behulp van de Ren nu eerder beschreven optie of test de planningsfunctionaliteit.

Opruimen

Als u ons voorbeeld hebt gevolgd, zorg er dan voor dat u de planning van uw notebooktaak onderbreekt of verwijdert om te voorkomen dat er kosten in rekening worden gebracht.

Conclusie

Notebooks naar productie brengen met SageMaker-notebooktaken vereenvoudigt enorm het ongedifferentieerde zware werk dat datawerkers nodig hebben. Of u nu end-to-end ML-workflows plant of een stukje van de puzzel, we raden u aan om enkele notebooks in productie te nemen met behulp van SageMaker Studio of SageMaker Studio Lab! Zie voor meer informatie Op notebooks gebaseerde workflows.


Over de auteurs

Sean MorganSean Morgan is Senior ML Solutions Architect bij AWS. Hij heeft ervaring op het gebied van halfgeleiders en academisch onderzoek en gebruikt zijn ervaring om klanten te helpen hun doelen op AWS te bereiken. In zijn vrije tijd is Sean een actieve open source-bijdrager/-onderhouder en is hij de leider van de speciale belangengroep voor TensorFlow Addons.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Sumedha Swamy is Principal Product Manager bij Amazon Web Services. Hij leidt het SageMaker Studio-team om het in te bouwen in de favoriete IDE voor interactieve datawetenschaps- en data-engineeringworkflows. Hij heeft de afgelopen 15 jaar door klanten geobsedeerde consumenten- en bedrijfsproducten gebouwd met behulp van Machine Learning. In zijn vrije tijd fotografeert hij graag de verbazingwekkende geologie van het Amerikaanse zuidwesten.

Operationaliseer uw Amazon SageMaker Studio-notebooks als geplande notebooktaken PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Eduard Zon is een Senior SDE die werkt voor SageMaker Studio bij Amazon Web Services. Hij richt zich op het bouwen van een interactieve ML-oplossing en het vereenvoudigen van de klantervaring om SageMaker Studio te integreren met populaire technologieรซn in data-engineering en het ML-ecosysteem. In zijn vrije tijd is Edward een grote fan van kamperen, wandelen en vissen en brengt hij graag tijd door met zijn gezin.

Tijdstempel:

Meer van AWS-machine learning