Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati

Amazon Sage Maker Studio fornisce una soluzione completamente gestita per i data scientist per creare, addestrare e distribuire in modo interattivo modelli di machine learning (ML). Oltre all'esperienza ML interattiva, i data worker cercano anche soluzioni per eseguire i notebook come lavori effimeri senza la necessità di eseguire il refactoring del codice come moduli Python o apprendere gli strumenti DevOps e le best practice per automatizzare la loro infrastruttura di distribuzione. Alcuni casi d'uso comuni per eseguire questa operazione includono:

  • Eseguire regolarmente l'inferenza del modello per generare report
  • Ridimensionamento di una fase di ingegneria delle funzionalità dopo aver eseguito il test in Studio rispetto a un sottoinsieme di dati su una piccola istanza
  • Riqualificazione e distribuzione dei modelli con una certa cadenza
  • Analizzando la tua squadra Amazon Sage Maker utilizzo con cadenza regolare

In precedenza, quando i data scientist volevano prendere il codice che avevano creato in modo interattivo sui notebook ed eseguirli come processi batch, si trovavano di fronte a una ripida curva di apprendimento utilizzando Pipeline di Amazon SageMaker, AWS Lambda, Amazon EventBridge, o altre soluzioni che sono difficili da configurare, utilizzare e gestire.

Con Lavori notebook SageMaker, ora puoi eseguire i tuoi taccuini così come sono o in modo parametrizzato con pochi semplici clic da SageMaker Studio o SageMaker Studio Lab interfaccia. Puoi eseguire questi notebook in base a una pianificazione o immediatamente. Non è necessario che l'utente finale modifichi il codice del notebook esistente. Quando il lavoro è completo, puoi visualizzare le celle del notebook popolate, incluse eventuali visualizzazioni!

In questo post, condividiamo come rendere operativi i tuoi notebook SageMaker Studio come lavori notebook pianificati.

Panoramica della soluzione

Il seguente diagramma illustra l'architettura della nostra soluzione. Utilizziamo l'estensione SageMaker preinstallata per eseguire i notebook come lavoro immediatamente o in base a una pianificazione.

Nelle sezioni seguenti, esaminiamo i passaggi per creare un notebook, parametrizzare le celle, personalizzare le opzioni aggiuntive e pianificare il lavoro. Includiamo anche un caso d'uso di esempio.

Prerequisiti

Per utilizzare i processi notebook SageMaker, è necessario eseguire un'app JupyterServer JupyterLab 3 all'interno di Studio. Per ulteriori informazioni su come eseguire l'aggiornamento a JupyterLab 3, fare riferimento a Visualizza e aggiorna la versione JupyterLab di un'app dalla console. Assicurarsi di Chiudi e aggiorna SageMaker Studio per raccogliere gli ultimi aggiornamenti.

Per definire le definizioni dei processi che eseguono i notebook in base a una pianificazione, potrebbe essere necessario aggiungere ulteriori autorizzazioni al ruolo di esecuzione di SageMaker.

Innanzitutto, aggiungi una relazione di fiducia al tuo ruolo di esecuzione SageMaker che lo consenta events.amazonaws.com per assumere il tuo ruolo:

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

Inoltre, potrebbe essere necessario creare e collegare una policy inline al proprio ruolo di esecuzione. La seguente politica è supplementare a quella molto permissiva AmazonSageMakerFullAccess politica. Per un set completo e minimo di autorizzazioni vedere Installa criteri e autorizzazioni.

{
    "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 un lavoro sul taccuino

Per rendere operativo il tuo notebook come processo notebook SageMaker, scegli il file Crea un lavoro sul taccuino icona.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

In alternativa, puoi scegliere (fare clic con il pulsante destro del mouse) sul tuo notebook nel file system e scegliere Crea lavoro notebook.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Nel Crea lavoro sezione, scegli semplicemente il tipo di istanza giusto per il tuo lavoro pianificato in base al tuo carico di lavoro: istanze standard, istanze ottimizzate per il calcolo o istanze di calcolo accelerato che contengono GPU. Puoi scegliere una qualsiasi delle istanze disponibili per i lavori di formazione SageMaker. Per l'elenco completo delle istanze disponibili, fare riferimento a Prezzi di Amazon SageMaker.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Al termine di un processo, è possibile visualizzare il file notebook di output con le relative celle popolate, nonché i registri sottostanti delle esecuzioni del processo.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Parametrizza le celle

Quando si sposta un notebook in un flusso di lavoro di produzione, è importante poter riutilizzare lo stesso notebook con diversi set di parametri per la modularità. Ad esempio, potresti voler parametrizzare la posizione del set di dati o gli iperparametri del tuo modello in modo da poter riutilizzare lo stesso notebook per molti training di modelli distinti. I lavori notebook SageMaker supportano questo tramite i tag di cella. Basta scegliere l'icona a doppio ingranaggio nel riquadro di destra e scegliere Aggiungi Tag. Quindi etichetta il tag come parametri.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Per impostazione predefinita, l'esecuzione del processo notebook utilizza i valori dei parametri specificati nel notebook, ma in alternativa è possibile modificarli come configurazione per il processo notebook.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Configura opzioni aggiuntive

Quando si crea un processo notebook, è possibile espandere il file Opzioni aggiuntive sezione per personalizzare la definizione del lavoro. Studio rileverà automaticamente l'immagine o il kernel che stai utilizzando nel tuo notebook e lo preselezionerà per te. Assicurati di aver convalidato questa selezione.

È inoltre possibile specificare variabili di ambiente o script di avvio per personalizzare l'ambiente di esecuzione del notebook. Per l'elenco completo delle configurazioni, vedere Opzioni aggiuntive.

Pianifica il tuo lavoro

Per programmare il tuo lavoro, scegli Eseguire su un programma e impostare un intervallo e un tempo appropriati. Quindi puoi scegliere il Lavori per notebook scheda visibile dopo aver scelto l'icona home. Dopo che il notebook è stato caricato, scegli il file Definizioni di lavoro per notebook scheda per mettere in pausa o rimuovere la pianificazione.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Caso d'uso di esempio

Per il nostro esempio, mostriamo un flusso di lavoro ML end-to-end che prepara i dati da una fonte di verità di base, addestra un modello aggiornato da quel periodo di tempo e quindi esegue l'inferenza sui dati più recenti per generare approfondimenti fruibili. In pratica, potresti eseguire un flusso di lavoro end-to-end completo o semplicemente rendere operativo un passaggio del tuo flusso di lavoro. Puoi programmare un Colla AWS sessione interattiva per la preparazione quotidiana dei dati o eseguire un processo di inferenza batch che genera risultati grafici direttamente nel notebook di output.

Il taccuino completo per questo esempio può essere trovato nel nostro Esempi di SageMaker Repository GitHub. Il caso d'uso presuppone che siamo una società di telecomunicazioni che sta cercando di pianificare un notebook che preveda il probabile tasso di abbandono dei clienti sulla base di un modello addestrato con i dati più recenti disponibili.

Per iniziare, raccogliamo i dati dei clienti disponibili più di recente ed eseguiamo alcune pre-elaborazioni su di essi:

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)

Formiamo il nostro modello aggiornato su questi dati di addestramento aggiornati per fare previsioni accurate su 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)

Poiché pianificheremo questo taccuino come rapporto giornaliero, vogliamo acquisire le prestazioni del nostro modello aggiornato sul nostro set di convalida in modo da poter essere sicuri delle sue previsioni future. I risultati nello screenshot seguente provengono dal nostro report di inferenza pianificato.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Infine, si desidera acquisire i risultati previsti dei dati odierni in un database in modo che le azioni possano essere intraprese in base ai risultati di questo modello.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Dopo aver compreso il notebook, sentiti libero di eseguirlo come un lavoro temporaneo utilizzando il file Corri adesso opzione descritta in precedenza o testare la funzionalità di pianificazione.

ripulire

Se hai seguito il nostro esempio, assicurati di sospendere o eliminare la pianificazione del lavoro del notebook per evitare di incorrere in addebiti continui.

Conclusione

Portare i notebook in produzione con i lavori per notebook SageMaker semplifica enormemente il lavoro pesante indifferenziato richiesto dai data worker. Che tu stia pianificando flussi di lavoro ML end-to-end o un pezzo del puzzle, ti invitiamo a mettere in produzione alcuni notebook utilizzando SageMaker Studio o SageMaker Studio Lab! Per saperne di più, vedi Flussi di lavoro basati su notebook.


Circa gli autori

Sean MorganSean Morgan è Senior ML Solutions Architect presso AWS. Ha esperienza nel campo dei semiconduttori e della ricerca accademica e usa la sua esperienza per aiutare i clienti a raggiungere i loro obiettivi su AWS. Nel suo tempo libero Sean è un collaboratore/mantenitore open source attivo ed è il capo di un gruppo di interesse speciale per TensorFlow Addons.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Sumedha Swami è Principal Product Manager presso Amazon Web Services. Guida il team di SageMaker Studio per integrarlo nell'IDE preferito per i flussi di lavoro di data science e ingegneria dei dati interattivi. Ha trascorso gli ultimi 15 anni a creare prodotti consumer e aziendali ossessionati dai clienti utilizzando Machine Learning. Nel tempo libero gli piace fotografare la straordinaria geologia del sud-ovest americano.

Rendi operativi i tuoi notebook Amazon SageMaker Studio come processi notebook pianificati PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Edoardo Sole è un Senior SDE che lavora per SageMaker Studio presso Amazon Web Services. Si concentra sulla creazione di soluzioni ML interattive e sulla semplificazione dell'esperienza del cliente per integrare SageMaker Studio con le tecnologie più diffuse nell'ingegneria dei dati e nell'ecosistema ML. Nel suo tempo libero, Edward è un grande fan del campeggio, delle escursioni e della pesca e si diverte a passare il tempo con la sua famiglia.

Timestamp:

Di più da Apprendimento automatico di AWS