Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate

Amazon SageMaker Studio oferă o soluție complet gestionată pentru oamenii de știință de date pentru a construi, antrena și implementa în mod interactiv modele de învățare automată (ML). Pe lângă experiența interactivă ML, lucrătorii de date caută, de asemenea, soluții pentru a rula notebook-uri ca joburi efemere, fără a fi nevoie să refactorizeze codul ca module Python sau să învețe instrumentele DevOps și cele mai bune practici pentru a-și automatiza infrastructura de implementare. Unele cazuri comune de utilizare pentru a face acest lucru includ:

  • Se rulează regulat inferența modelului pentru a genera rapoarte
  • Creșterea unei etape de inginerie a caracteristicilor după ce ați testat în Studio cu un subset de date dintr-o instanță mică
  • Reantrenarea și implementarea modelelor pe o anumită cadență
  • Analizând echipa ta Amazon SageMaker utilizare pe o cadență obișnuită

Anterior, când oamenii de știință de date doreau să ia codul pe care l-au construit interactiv pe notebook-uri și să-l ruleze ca joburi în lot, s-au confruntat cu o curbă abruptă de învățare folosind Pipelines Amazon SageMaker, AWS Lambdas, Amazon EventBridge, Sau alte solutii care sunt dificil de configurat, utilizat și gestionat.

cu Locuri de muncă pentru notebook-uri SageMaker, acum puteți rula notebook-urile așa cum sunt sau într-un mod parametrizat, cu doar câteva clicuri simple din SageMaker Studio sau SageMaker Studio Lab interfata. Puteți rula aceste caiete după un program sau imediat. Nu este nevoie ca utilizatorul final să-și modifice codul de notebook existent. Când lucrarea este finalizată, puteți vizualiza celulele blocnotesului populate, inclusiv orice vizualizări!

În această postare, vă împărtășim cum să vă operaționalizați notebook-urile SageMaker Studio ca lucrări de notebook programate.

Prezentare generală a soluțiilor

Următoarea diagramă ilustrează arhitectura soluției noastre. Folosim extensia SageMaker preinstalată pentru a rula notebook-uri ca o sarcină imediat sau conform unui program.

În secțiunile următoare, parcurgem pașii pentru a crea un blocnotes, a parametriza celulele, a personaliza opțiunile suplimentare și a vă programa jobul. Includem, de asemenea, un exemplu de caz de utilizare.

Cerințe preliminare

Pentru a utiliza joburile de notebook SageMaker, trebuie să rulați o aplicație JupyterLab 3 JupyterServer în Studio. Pentru mai multe informații despre cum să faceți upgrade la JupyterLab 3, consultați Vizualizați și actualizați versiunea JupyterLab a unei aplicații din consolă. Asigurați-vă că Închideți și actualizați SageMaker Studio pentru a prelua cele mai recente actualizări.

Pentru a defini definiții de job care rulează notebook-uri într-un program, poate fi necesar să adăugați permisiuni suplimentare la rolul dvs. de execuție SageMaker.

În primul rând, adăugați o relație de încredere rolului dvs. de execuție SageMaker care vă permite events.amazonaws.com să-ți asumi rolul:

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

În plus, poate fi necesar să creați și să atașați o politică inline rolului dvs. de execuție. Politica de mai jos este suplimentară față de cea foarte permisivă AmazonSageMakerFullAccess politică. Pentru un set complet și minim de permisiuni vezi Instalați politici și permisiuni.

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

Creați o lucrare de notebook

Pentru a opera blocnotesul dvs. ca o lucrare de blocnotes SageMaker, alegeți Creați o lucrare de notebook icon.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Alternativ, puteți alege (faceți clic dreapta) blocnotesul dvs. pe sistemul de fișiere și alegeți Creați job pentru notebook.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

În Creați loc de muncă secțiunea, alegeți pur și simplu tipul de instanță potrivit pentru jobul dvs. programat în funcție de volumul de lucru: instanțe standard, instanțe optimizate pentru calcul sau instanțe de calcul accelerate care conțin GPU. Puteți alege oricare dintre instanțele disponibile pentru joburile de formare SageMaker. Pentru lista completă a instanțelor disponibile, consultați Prețuri Amazon SageMaker.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Când o lucrare este finalizată, puteți vizualiza fișierul blocnotes de ieșire cu celulele sale populate, precum și jurnalele subiacente din rulările jobului.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Parametrizați celulele

Când mutați un notebook într-un flux de lucru de producție, este important să puteți reutiliza același notebook cu seturi diferite de parametri pentru modularitate. De exemplu, poate doriți să parametrizați locația setului de date sau hiperparametrii modelului dvs., astfel încât să puteți reutiliza același blocnotes pentru multe antrenamente de model distincte. Lucrările de notebook SageMaker acceptă acest lucru prin etichete de celule. Pur și simplu alegeți pictograma roată dublă din panoul din dreapta și alegeți Adaugă etichetă. Apoi etichetați eticheta ca parametri.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

În mod implicit, executarea jobului pentru notebook folosește valorile parametrilor specificate în notebook, dar, alternativ, le puteți modifica ca configurație pentru jobul pentru notebook.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Configurați opțiuni suplimentare

Când creați o lucrare de notebook, puteți extinde Opțiuni suplimentare secțiune pentru a vă personaliza definiția postului. Studio va detecta automat imaginea sau nucleul pe care îl utilizați în blocnotes și îl va preselecta pentru dvs. Asigurați-vă că ați validat această selecție.

De asemenea, puteți specifica variabile de mediu sau scripturi de pornire pentru a personaliza mediul de rulare a notebook-ului. Pentru lista completă a configurațiilor, consultați Opțiuni suplimentare.

Programează-ți jobul

Pentru a vă programa jobul, alegeți Rulați după un program și setați un interval și un timp adecvat. Apoi puteți alege Lucrări de notebook filă care este vizibilă după alegerea pictogramei de pornire. După ce este încărcat blocnotesul, alegeți Definiții job pentru notebook pentru a întrerupe sau a elimina programul.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Exemplu de caz de utilizare

Pentru exemplul nostru, prezentăm un flux de lucru ML end-to-end care pregătește date dintr-o sursă de adevăr de la sol, antrenează un model reîmprospătat din acea perioadă de timp și apoi rulează inferențe pe cele mai recente date pentru a genera informații utile. În practică, puteți rula un flux de lucru complet, de la capăt la capăt, sau pur și simplu să operaționalizați o etapă a fluxului dvs. de lucru. Puteți programa un AWS Adeziv sesiune interactivă pentru pregătirea zilnică a datelor sau rulați un job de inferență în lot care generează rezultate grafice direct în blocnotesul dvs. de ieșire.

Caietul complet pentru acest exemplu poate fi găsit în pagina noastră SageMaker Exemple de depozit GitHub. Cazul de utilizare presupune că suntem o companie de telecomunicații care urmărește să programeze un notebook care prezice rata probabilă a clienților pe baza unui model antrenat cu cele mai recente date pe care le avem disponibile.

Pentru început, adunăm cele mai recente date disponibile despre clienți și efectuăm unele preprocesări pe acestea:

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)

Antrenăm modelul nostru reîmprospătat pe aceste date de antrenament actualizate pentru a face predicții precise 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)

Deoarece vom programa acest caiet ca un raport zilnic, dorim să surprindem cât de bine a funcționat modelul nostru reîmprospătat pe setul nostru de validare, astfel încât să putem avea încredere în previziunile sale viitoare. Rezultatele din următoarea captură de ecran sunt din raportul nostru de inferență programat.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

În cele din urmă, doriți să capturați rezultatele prezise ale datelor de astăzi într-o bază de date, astfel încât să poată fi întreprinse acțiuni pe baza rezultatelor acestui model.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

După ce notebook-ul este înțeles, nu ezitați să rulați acest lucru ca o lucrare efemeră folosind Fugi acum opțiunea descrisă mai devreme sau testați funcționalitatea de programare.

A curăța

Dacă ați urmat exemplul nostru, asigurați-vă că întrerupeți sau ștergeți programul de lucru pentru notebook-ul dvs. pentru a evita cheltuielile curente.

Concluzie

Aducerea notebook-urilor în producție cu joburile de notebook-uri SageMaker simplifică considerabil sarcinile grele nediferențiate cerute de lucrătorii de date. Indiferent dacă programați fluxuri de lucru ML de la capăt la capăt sau o piesă a puzzle-ului, vă încurajăm să puneți câteva notebook-uri în producție folosind SageMaker Studio sau SageMaker Studio Lab! Pentru a afla mai multe, vezi Fluxuri de lucru bazate pe notebook.


Despre autori

Sean MorganSean Morgan este arhitect senior de soluții ML la AWS. Are experiență în domeniul semiconductorilor și al cercetării academice și își folosește experiența pentru a ajuta clienții să-și atingă obiectivele pe AWS. În timpul său liber, Sean este un colaborator/menținător cu sursă deschisă activ și este liderul grupului de interese speciale pentru TensorFlow Addons.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Sumedha Swamy este manager de produs principal la Amazon Web Services. El conduce echipa SageMaker Studio pentru a-l construi în IDE-ul ales pentru fluxurile de lucru interactive de știință a datelor și de inginerie a datelor. El și-a petrecut ultimii 15 ani construind produse pentru consumatori și întreprinderi obsedați de clienți folosind Machine Learning. În timpul liber îi place să fotografieze geologia uimitoare a sud-vestului american.

Operaționalizați notebook-urile Amazon SageMaker Studio ca lucrări de notebook programate PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Edward Sun este un SDE senior care lucrează pentru SageMaker Studio la Amazon Web Services. El se concentrează pe construirea de soluții interactive ML și simplificarea experienței clienților pentru a integra SageMaker Studio cu tehnologii populare în ingineria datelor și ecosistemul ML. În timpul său liber, Edward este un mare fan al campingului, al drumețiilor și al pescuitului și se bucură de timpul petrecut cu familia sa.

Timestamp-ul:

Mai mult de la Învățare automată AWS