Distribuisci modelli di apprendimento automatico creati in Amazon SageMaker Canvas agli endpoint in tempo reale di Amazon SageMaker

Distribuisci modelli di apprendimento automatico creati in Amazon SageMaker Canvas agli endpoint live di Amazon SageMaker

Amazon SageMaker Canvas supporta ora il rilascio di modelli di machine learning (ML) su endpoint di inferenza in tempo reale, consentendo di portare i modelli di ML in produzione e guidare azioni basate su informazioni potenziate da ML. SageMaker Canvas è un ambiente senza codice che consente agli analisti e ai data scientist non professionisti di generare previsioni accurate di ML per le loro esigenze aziendali.

Fino ad ora, SageMaker Canvas forniva la possibilità di valutare un modello di ML, generare previsioni in blocco ed eseguire analisi di what-if all’interno del suo ambiente interattivo. Ma ora è anche possibile distribuire i modelli su endpoint di Amazon SageMaker per inferenze in tempo reale, rendendo semplice consumare le previsioni del modello e portare azioni al di fuori dell’ambiente di SageMaker Canvas. La possibilità di distribuire direttamente i modelli di ML da SageMaker Canvas elimina la necessità di esportare, configurare, testare e distribuire manualmente i modelli di ML in produzione, riducendo così la complessità e risparmiando tempo. Inoltre, rende l’operazionalizzazione dei modelli di ML più accessibile alle persone, senza la necessità di scrivere codice.

In questo articolo, ti guideremo nel processo per distribuire un modello in SageMaker Canvas su un endpoint in tempo reale.

Panoramica della soluzione

Per il nostro caso d’uso, assumiamo il ruolo di un utente aziendale nel dipartimento marketing di un operatore di telefonia mobile, e abbiamo creato con successo un modello di ML in SageMaker Canvas per identificare i clienti con il potenziale rischio di churn. Grazie alle previsioni generate dal nostro modello, vogliamo ora spostarlo dall’ambiente di sviluppo alla produzione. Per semplificare il processo di distribuzione del nostro endpoint del modello per l’elaborazione, distribuiamo direttamente i modelli di ML da SageMaker Canvas, eliminando così la necessità di esportare, configurare, testare e distribuire manualmente i modelli di ML in produzione. Ciò aiuta a ridurre la complessità, risparmiare tempo e rendere l’operazionalizzazione dei modelli di ML più accessibile alle persone, senza la necessità di scrivere codice.

I passaggi del workflow sono i seguenti:

  1. Carica un nuovo dataset con la popolazione di clienti attuale in SageMaker Canvas. Per l’elenco completo delle origini dati supportate, consulta Importa dati in Canvas.
  2. Crea modelli di ML e analizza le metriche delle loro prestazioni. Per istruzioni, consulta Crea un modello personalizzato e Valutazione delle prestazioni del tuo modello in Amazon SageMaker Canvas.
  3. Distribuisci la versione del modello approvata come un endpoint per l’elaborazione in tempo reale.

Puoi eseguire questi passaggi in SageMaker Canvas senza scrivere una singola riga di codice.

Prerequisiti

Per questa procedura guidata, assicurati che siano soddisfatti i seguenti prerequisiti:

  1. Per distribuire versioni del modello su endpoint di SageMaker, l’amministratore di SageMaker Canvas deve concedere le necessarie autorizzazioni all’utente di SageMaker Canvas, che è possibile gestire nel dominio di SageMaker che ospita la tua applicazione di SageMaker Canvas. Per ulteriori informazioni, consulta Gestione delle autorizzazioni in Canvas.
  2. Implementare i prerequisiti menzionati in Prevedi il churn dei clienti usando il machine learning senza codice con Amazon SageMaker Canvas.

Ora dovresti avere tre versioni del modello addestrate su dati storici di previsione del churn in Canvas:

  • V1 addestrato con tutte le 21 caratteristiche e configurazione di creazione rapida con un punteggio del modello del 96,903%
  • V2 addestrato con tutte le 19 caratteristiche (rimosse le caratteristiche di telefono e stato) e configurazione di creazione rapida e una precisione migliorata del 97,403%
  • V3 addestrato con configurazione di creazione standard con un punteggio del modello del 97,103%

Utilizza il modello di previsione del churn dei clienti

Abilita Mostra metriche avanzate sulla pagina dei dettagli del modello e verifica le metriche obiettivo associate a ciascuna versione del modello in modo da poter selezionare il modello con le prestazioni migliori da distribuire su SageMaker come endpoint.

In base alle metriche di performance, selezioniamo la versione 2 da distribuire.

Configura le impostazioni di distribuzione del modello, come il nome della distribuzione, il tipo di istanza e il numero di istanze.

Come punto di partenza, Canvas consiglierà automaticamente il miglior tipo di istanza e il numero di istanze per la distribuzione del tuo modello. Puoi modificarlo in base alle esigenze del tuo carico di lavoro.

Puoi testare l’endpoint di inferenza di SageMaker direttamente da SageMaker Canvas.

Puoi modificare i valori di input utilizzando l’interfaccia utente di SageMaker Canvas per inferire ulteriori predizioni di churn.

Ora passiamo a Amazon SageMaker Studio e controlliamo l’endpoint distribuito.

Apri un notebook in SageMaker Studio e esegui il codice seguente per inferire l’endpoint del modello distribuito. Sostituisci il nome dell’endpoint del modello con il tuo nome dell’endpoint di modello.

import boto3, sysimport pandas as pdendpoint_name = "canvas-customer-churn-prediction-model"sm_rt = boto3.Session().client('runtime.sagemaker')payload = [['PA',163,806,403-2562, 'no', 'yes', 300, 8.16, 3, 7.57,3.93,4,6.5,4.07,100,5.11,4.92,6,5.67,3]]body = pd.DataFrame(payload).to_csv(header=False, index=False).encode("utf-8")response = sm_rt.invoke_endpoint(EndpointName=endpoint_name, Body=body, ContentType="text/csv",Accept="application/json")response = response['Body'].read().decode("utf-8")print(response)

Il nostro endpoint modello originale utilizza un’istanza ml.m5.xlarge e un conteggio di istanze di 1. Ora, supponiamo che ti aspetti che il numero di utenti finali che utilizzano il tuo endpoint di modello aumenti e desideri fornire una capacità di calcolo maggiore. Puoi fare ciò direttamente da SageMaker Canvas scegliendo Aggiorna configurazione.

Pulizia

Per evitare addebiti futuri, elimina le risorse create durante la lettura di questo articolo. Ciò include il logout da SageMaker Canvas e l’eliminazione di un endpoint SageMaker configurato. SageMaker Canvas addebita per la durata della sessione e consigliamo di fare il logout da SageMaker Canvas quando non lo si utilizza. Consulta Esegui il logout da Amazon SageMaker Canvas per ulteriori dettagli.

Conclusioni

In questo articolo abbiamo discusso di come SageMaker Canvas possa distribuire modelli di machine learning su endpoint di inferenza in tempo reale, consentendoti di portare i tuoi modelli di machine learning in produzione e prendere azioni basate su informazioni potenziate da machine learning. Nel nostro esempio, abbiamo mostrato come un analista possa creare rapidamente un modello di machine learning predittivo altamente accurato senza scrivere alcun codice, distribuirlo su SageMaker come endpoint e testare il modello endpoint da SageMaker Canvas, così come da un notebook di SageMaker Studio.

Per iniziare il tuo percorso di machine learning con bassa codifica o senza codifica, consulta Amazon SageMaker Canvas.

Un ringraziamento speciale a tutti coloro che hanno contribuito al lancio: Prashanth Kurumaddali, Abishek Kumar, Allen Liu, Sean Lester, Richa Sundrani e Alicia Qi.