Costruisci e valuta modelli di apprendimento automatico con configurazioni avanzate utilizzando la bacheca dei modelli SageMaker Canvas

Creazione e valutazione di modelli di apprendimento automatico con configurazioni avanzate tramite il dashboard dei modelli SageMaker Canvas

Amazon SageMaker Canvas è un ambiente senza codice che consente ad analisti e data scientist dilettanti di generare previsioni accurate di machine learning (ML) per le loro esigenze aziendali. A partire da oggi, SageMaker Canvas supporta configurazioni avanzate di creazione di modelli, come la selezione di un metodo di addestramento (ensemble o ottimizzazione degli iperparametri) e algoritmi, la personalizzazione dell’addestramento e del rapporto di divisione dei dati di convalida e l’impostazione di limiti sul numero di iterazioni di autoML e il tempo di esecuzione del lavoro, consentendo agli utenti di personalizzare le configurazioni di creazione del modello senza dover scrivere una singola riga di codice. Questa flessibilità può fornire uno sviluppo di modelli più robusto e informativo. Gli stakeholder non tecnici possono utilizzare le funzionalità senza codice con le impostazioni predefinite, mentre i data scientist dilettanti possono sperimentare vari algoritmi e tecniche di ML, aiutandoli a capire quali metodi funzionano meglio per i loro dati e ottimizzare per garantire la qualità e le prestazioni del modello.

Oltre alle configurazioni di creazione di modelli, SageMaker Canvas fornisce ora anche una classifica dei modelli. Una classifica dei modelli consente di confrontare le principali metriche di prestazione (ad esempio, accuratezza, precisione, richiamo e punteggio F1) per diverse configurazioni di modelli al fine di identificare il miglior modello per i tuoi dati, migliorando così la trasparenza nella creazione del modello e aiutandoti a prendere decisioni informative sulle scelte di modelli. Puoi anche visualizzare l’intero flusso di lavoro di creazione del modello, compresi i passaggi di pre-elaborazione suggeriti, gli algoritmi e l’intervallo degli iperparametri in un notebook. Per accedere a queste funzionalità, esci e rientra in SageMaker Canvas e scegli Configura modello durante la creazione dei modelli.

In questo post, ti guidiamo attraverso il processo per utilizzare le nuove configurazioni avanzate di creazione del modello di SageMaker Canvas per avviare un addestramento di ensemble e ottimizzazione degli iperparametri (HPO).

Panoramica della soluzione

In questa sezione, ti mostriamo istruzioni passo passo per le nuove configurazioni avanzate di creazione del modello di SageMaker Canvas per avviare un addestramento di ensemble e ottimizzazione degli iperparametri (HPO) per analizzare il nostro dataset, creare modelli di ML di alta qualità e vedere la classifica dei modelli per decidere quale modello pubblicare per l’uso in tempo reale. SageMaker Canvas può selezionare automaticamente il metodo di addestramento in base alla dimensione del dataset, oppure puoi selezionarlo manualmente. Le scelte sono le seguenti:

  • Ensemble: Utilizza la libreria AutoGluon per addestrare diversi modelli di base. Per trovare la migliore combinazione per il tuo dataset, la modalità ensemble esegue 10 prove con diverse impostazioni di modelli e metaparametri. Quindi combina questi modelli utilizzando un metodo di ensemble stacking per creare un modello predittivo ottimale. In modalità ensemble, SageMaker Canvas supporta i seguenti tipi di algoritmi di machine learning:
    • Light GBM: Un framework ottimizzato che utilizza algoritmi basati su alberi con boosting del gradiente. Questo algoritmo utilizza alberi che crescono in ampiezza anziché in profondità ed è altamente ottimizzato per la velocità.
    • CatBoost: Un framework che utilizza algoritmi basati su alberi con boosting del gradiente. Ottimizzato per gestire variabili categoriche.
    • XGBoost: Un framework che utilizza algoritmi basati su alberi con boosting del gradiente che cresce in profondità anziché in ampiezza.
    • Random forest: Un algoritmo basato su alberi che utilizza diversi alberi decisionali su sottocampioni casuali dei dati con sostituzione. Gli alberi vengono divisi in nodi ottimali a ogni livello. Le decisioni di ciascun albero vengono mediate insieme per evitare l’overfitting e migliorare le previsioni.
    • Extra trees: Un algoritmo basato su alberi che utilizza diversi alberi decisionali sull’intero dataset. Gli alberi vengono divisi casualmente a ogni livello. Le decisioni di ciascun albero vengono mediate per evitare l’overfitting e migliorare le previsioni. Extra trees aggiungono un grado di randomizzazione rispetto all’algoritmo random forest.
    • Modelli lineari: Un framework che utilizza un’equazione lineare per modellare la relazione tra due variabili nei dati osservati.
    • Neural network torch: Un modello di rete neurale implementato con Pytorch.
    • Neural network fast.ai: Un modello di rete neurale implementato con fast.ai.
  • Ottimizzazione degli iperparametri (HPO): SageMaker Canvas trova la migliore versione di un modello ottimizzando gli iperparametri utilizzando l’ottimizzazione bayesiana o l’ottimizzazione multi-fidelity durante l’esecuzione di lavori di addestramento sul tuo dataset. La modalità HPO seleziona gli algoritmi più rilevanti per il tuo dataset e seleziona il miglior intervallo di iperparametri da ottimizzare per i tuoi modelli. Per ottimizzare i tuoi modelli, la modalità HPO esegue fino a 100 prove (predefinito) per trovare le migliori impostazioni degli iperparametri nell’intervallo selezionato. Se la dimensione del tuo dataset è inferiore a 100 MB, SageMaker Canvas utilizza l’ottimizzazione bayesiana. SageMaker Canvas sceglie l’ottimizzazione multi-fidelity se il tuo dataset è più grande di 100 MB. Nell’ottimizzazione multi-fidelity, le metriche vengono continuamente emesse dai contenitori di addestramento. Una prova che sta performando male rispetto a una metrica di obiettivo selezionata viene interrotta in anticipo. Una prova che performa bene riceve più risorse. In modalità HPO, SageMaker Canvas supporta i seguenti tipi di algoritmi di machine learning:
  • Apprendista lineare: Un algoritmo di apprendimento supervisionato che può risolvere problemi di classificazione o regressione.
  • XGBoost: Un algoritmo di apprendimento supervisionato che cerca di prevedere accuratamente una variabile target combinando un insieme di stime da un insieme di modelli più semplici e deboli.
  • Algoritmo di deep learning: Una rete neurale artificiale a perceptron multistrato (MLP) e feedforward. Questo algoritmo può gestire dati non linearmente separabili.
  • Auto: SageMaker Canvas sceglie automaticamente la modalità ensemble o la modalità HPO in base alla dimensione del tuo dataset. Se il tuo dataset è più grande di 100 MB, SageMaker Canvas sceglie HPO. Altrimenti, sceglie la modalità ensemble.

Prerequisiti

Per questo post, è necessario completare i seguenti prerequisiti:

  1. Avere un account AWS.
  2. Configurare SageMaker Canvas. Vedi Prerequisiti per la configurazione di Amazon SageMaker Canvas.
  3. Scaricare il classico dataset del Titanic sul tuo computer locale.

Creare un modello

Ti guideremo nell’uso del dataset del Titanic e di SageMaker Canvas per creare un modello che prevede quali passeggeri sono sopravvissuti al naufragio del Titanic. Si tratta di un problema di classificazione binaria. Ci concentreremo sulla creazione di un esperimento Canvas utilizzando la modalità di addestramento dell’ensemble e confrontiamo i risultati del punteggio F1 e del tempo totale di esecuzione con un esperimento SageMaker Canvas utilizzando la modalità di addestramento HPO (100 tentativi).

Nome colonna Descrizione
Passengerid Numero di identificazione
Survivied Sopravvivenza
Pclass Classe del biglietto
Nome Nome del passeggero
Sex Sesso
Age Età in anni
Sibsp Numero di fratelli o coniugi a bordo del Titanic
Parch Numero di genitori o figli a bordo del Titanic
Ticket Numero del biglietto
Fare Tariffa del passeggero
Cabin Numero della cabina
Emarked Porto di imbarco

Il dataset del Titanic ha 890 righe e 12 colonne. Contiene informazioni demografiche sui passeggeri (età, sesso, classe del biglietto, ecc.) e la colonna target Survived (sì/no).

  1. Inizia importando il dataset in SageMaker Canvas. Chiamalo Titanic.
  2. Seleziona il dataset del Titanic e scegli Crea nuovo modello. Inserisci un nome per il modello, seleziona Analisi predittiva come tipo di problema e scegli Crea.
  3. Sotto Seleziona una colonna da prevedere, utilizza il menu a discesa della colonna target per selezionare Survived. La colonna target Survived è di tipo binario con valori 0 (non sopravvissuto) e 1 (sopravvissuto).

Configurare ed eseguire il modello

Nel primo esperimento, configurerai SageMaker Canvas per eseguire un training di ensemble sul dataset, con l’accuratezza come metrica obiettivo. Un punteggio di accuratezza più elevato indica che il modello sta facendo più predizioni corrette, mentre un punteggio di accuratezza più basso suggerisce che il modello sta commettendo più errori. L’accuratezza funziona bene per dataset bilanciati. Per il training di ensemble, seleziona XGBoost, Random Forest, CatBoost e Modelli Lineari come algoritmi. Lascia la divisione dei dati al default 80/20 per il training e la validazione. Infine, configura il job di training per eseguirsi per un massimo di 1 ora.

  1. Inizia scegliendo Configurare il modello.
  2. Questo apre una finestra modale per Configurare il modello. Seleziona Avanzate dalla barra di navigazione.
  3. Inizia la configurazione del tuo modello selezionando Metrica obiettivo. Per questo esperimento, seleziona Accuratezza. Il punteggio di accuratezza ti dice quanto spesso le predizioni del modello sono corrette nel complesso.
  4. Seleziona Metodo di training e algoritmi e seleziona Ensemble. I metodi di ensemble nel machine learning prevedono la creazione di più modelli e poi combinare per produrre risultati migliorati. Questa tecnica viene utilizzata per aumentare l’accuratezza delle previsioni sfruttando i punti di forza di diversi algoritmi. I metodi di ensemble sono noti per produrre soluzioni più accurate di quanto farebbe un singolo modello, come dimostrato in varie competizioni di machine learning e applicazioni reali.
  5. Seleziona i vari algoritmi da utilizzare per l’ensemble. Per questo esperimento, seleziona XGBoost, Lineare, CatBoost e Random Forest. Cancella tutti gli altri algoritmi.
  6. Seleziona Train/Validazione split dalla barra di navigazione. Per questo esperimento, lascia la divisione di training e validazione di default al 80/20. La prossima iterazione dell’esperimento utilizzerà una divisione diversa per verificare se si ottiene una migliore performance del modello.
  7. Seleziona Max candidati e tempo di esecuzione dalla barra di navigazione e impostato il Max job runtime su 1 ora e scegli Salva.
  8. Scegli Build standard per avviare la build.

In questo punto, SageMaker Canvas sta avviando il training del modello sulla base della configurazione che hai fornito. Poiché hai specificato un tempo massimo di esecuzione per il job di training di 1 ora, SageMaker Canvas impiegherà fino a un’ora per completare il training del modello.

Revisione dei risultati

Al termine del lavoro di addestramento, SageMaker Canvas ti riporta automaticamente alla vista Analizza e mostra i risultati delle metriche obiettivo che hai configurato per l’esperimento di addestramento del modello. In questo caso, puoi vedere che l’accuratezza del modello è del 86,034 percento.

  1. Scegli il pulsante a freccia per comprimere accanto a Classifica dei modelli per esaminare i dati sulle prestazioni del modello.
  2. Seleziona la scheda Punteggi per approfondire le informazioni sull’accuratezza del modello. Il modello addestrato riporta di poter predire correttamente il 89,72 percento delle volte i passeggeri che non sono sopravvissuti.
  3. Seleziona la scheda Metriche avanzate per valutare ulteriori dettagli sulle prestazioni del modello. Inizia selezionando Tabella delle metriche per vedere i dettagli delle metriche come F1, Precisione, Recall, e AUC.
  4. SageMaker Canvas aiuta anche a visualizzare la Matrice di confusione per il modello addestrato.
  5. e visualizza la Curva di precisione-richiamo. Un AUPRC di 0,86 indica un’alta accuratezza nella classificazione, che è buona.
  6. Scegli Classifica dei modelli per confrontare le principali metriche di prestazione (come accuratezza, precisione, recall e punteggio F1) per diversi modelli valutati da SageMaker Canvas per determinare il miglior modello per i dati, in base alla configurazione impostata per questo esperimento. Il modello predefinito con le migliori prestazioni è evidenziato con l’etichetta di modello predefinito sulla classifica dei modelli.
  7. Puoi utilizzare il menu contestuale sul lato per approfondire i dettagli di ciascuno dei modelli o per rendere un modello predefinito. Seleziona Visualizza dettagli del modello sul secondo modello nella classifica per vedere i dettagli.
  8. SageMaker Canvas cambia la vista per mostrare i dettagli del modello candidato selezionato. Mentre i dettagli del modello predefinito sono già disponibili, la vista dettagli del modello alternativo richiede 10-15 minuti per mostrare i dettagli.

Creare un secondo modello

Ora che hai costruito, eseguito e revisionato un modello, costruiamo un secondo modello per il confronto.

  1. Torna alla vista predefinita del modello scegliendo X nell’angolo superiore. Ora, scegli Aggiungi versione per creare una nuova versione del modello.
  2. Seleziona il set di dati di Titanic che hai creato inizialmente, quindi scegli Seleziona set di dati.

SageMaker Canvas carica automaticamente il modello con la colonna target già selezionata. In questo secondo esperimento, passi all’addestramento HPO per vedere se produce risultati migliori per il set di dati. Per questo modello, mantieni le stesse metriche obiettive (accuratezza) per il confronto con il primo esperimento e usa l’algoritmo XGBoost per l’addestramento HPO. Cambi la divisione dei dati per addestramento e validazione al 70/30 e configuri il numero massimo di candidati e il tempo di esecuzione per il lavoro HPO a 20 candidati e 1 ora di tempo massimo di esecuzione.

Configurare ed eseguire il modello

  1. Inizia il secondo esperimento scegliendo Configura modello per configurare i dettagli dell’addestramento del tuo modello.
  2. Nella finestra Configura modello, seleziona Metrica obiettivo nel riquadro di navigazione. Per la Metrica obiettivo, utilizza il menu a discesa per selezionare Accuratezza, in modo da poter vedere e confrontare tutti gli output delle versioni affiancati.
  3. Seleziona Metodo di addestramento e algoritmi. Seleziona ottimizzazione degli iperparametri per il metodo di addestramento. Quindi, scorri verso il basso per selezionare gli algoritmi.
  4. Seleziona XGBoost per l’algoritmo. XGBoost fornisce un boosting basato su alberi paralleli che risolve rapidamente ed accuratamente molti problemi di data science e offre una vasta gamma di iperparametri che possono essere regolati per migliorare e sfruttare appieno il modello XGBoost.
  5. Seleziona Divisione dei dati. Per questo modello, imposta la divisione dei dati per addestramento e validazione al 70/30.
  6. Seleziona Numero massimo di candidati e tempo di esecuzione e imposta i valori per il lavoro HPO a 20 per il Numero massimo di candidati e 1 ora per il Tempo massimo di esecuzione del lavoro. Scegli Salva per terminare la configurazione del secondo modello.
  7. Ora che hai configurato il secondo modello, scegli Build standard per avviare l’addestramento.

SageMaker Canvas utilizza la configurazione per avviare il lavoro di HPO. Come il primo lavoro, questo lavoro di addestramento durerà fino a un’ora per completarsi.

Rivedi i risultati

Quando il lavoro di addestramento HPO è completo (o scade il tempo di esecuzione massimo), SageMaker Canvas mostra l’output del lavoro di addestramento basato sul modello predefinito e mostra il punteggio di accuratezza del modello.

  1. Scegli Classifica modelli per visualizzare l’elenco di tutti i 20 modelli candidati dell’esecuzione di addestramento HPO. Il miglior modello, basato sull’obiettivo di trovare la migliore accuratezza, è segnato come predefinito.

Sebbene l’accuratezza del modello predefinito sia la migliore, un altro modello dall’esecuzione di addestramento HPO ha un punteggio della curva ROC (AUC) più alto. Il punteggio AUC viene utilizzato per valutare le prestazioni di un modello di classificazione binaria. Un AUC più alto indica che il modello è migliore nel distinguere tra le due classi, con 1 che rappresenta un punteggio perfetto e 0.5 che indica una congettura casuale.

  1. Utilizza il menu contestuale per rendere il modello con l’AUC più alto il modello predefinito. Seleziona il menu contestuale per quel modello e seleziona l’opzione Cambia in modello predefinito nel menu a linea come mostrato nella Figura 31 che segue.

SageMaker Canvas impiega alcuni minuti per cambiare il modello selezionato nel nuovo modello predefinito per la versione 2 dell’esperimento e spostarlo in cima all’elenco dei modelli.

Confronta i modelli

A questo punto, hai due versioni del tuo modello e puoi visualizzarle affiancate andando su I miei modelli in SageMaker Canvas.

  1. Seleziona Predici la sopravvivenza sul Titanic per vedere le versioni disponibili del modello.
  2. Ci sono due versioni e le loro prestazioni vengono visualizzate in un formato tabellare per il confronto affiancato.
  3. Puoi vedere che la versione 1 del modello (che è stata addestrata utilizzando algoritmi di ensemble) ha una migliore accuratezza. Ora puoi utilizzare SageMaker Canvas per generare un notebook SageMaker, con codice, commenti e istruzioni, per personalizzare i test di AutoGluon ed eseguire il flusso di lavoro SageMaker Canvas senza scrivere una singola riga di codice. Puoi generare il notebook SageMaker scegliendo il menu contestuale e selezionando Visualizza notebook.
  4. Il notebook SageMaker appare in una finestra pop-up. Il notebook ti aiuta a ispezionare e modificare i parametri proposti da SageMaker Canvas. Puoi selezionare interattivamente una delle configurazioni proposte da SageMaker Canvas, modificarla ed eseguire un lavoro di elaborazione per addestrare modelli sulla base della configurazione selezionata nell’ambiente SageMaker Studio.

Inferenza

Ora che hai identificato il miglior modello, puoi usare il menu contestuale per deployarlo su un endpoint per l’inferenza in tempo reale.

Oppure usa il menu contestuale per rendere operativo il tuo modello di machine learning (ML) in produzione, registrandolo nel registro modelli di SageMaker.

Pulizia

Per evitare addebiti futuri, elimina le risorse create durante la lettura di questo post. SageMaker Canvas addebita per la durata della sessione e consigliamo di disconnettersi da SageMaker Canvas quando non lo si utilizza.

Vedi Disconnessione da Amazon SageMaker Canvas per ulteriori dettagli.

Conclusioni

SageMaker Canvas è uno strumento potente che democratizza il machine learning, rivolgendosi sia agli interessati non tecnici che ai data scientist cittadini. Le nuove funzionalità introdotte, inclusa la configurazione avanzata della costruzione del modello e la leaderboard del modello, elevano la flessibilità e la trasparenza della piattaforma. Ciò ti consente di adattare i tuoi modelli di machine learning alle specifiche esigenze aziendali senza dover affrontare il codice. La capacità di personalizzare metodi di addestramento, algoritmi, suddivisioni dei dati e altri parametri ti permette di sperimentare con diverse tecniche di machine learning, favorendo una comprensione più approfondita delle prestazioni del modello.

L’introduzione della leaderboard del modello è un miglioramento significativo, fornendo una panoramica chiara delle principali metriche di performance per diverse configurazioni. Questa trasparenza consente agli utenti di prendere decisioni informate riguardo alle scelte e alle ottimizzazioni del modello. Mostrando l’intero flusso di lavoro di costruzione del modello, inclusi i passaggi di preprocessamento suggeriti, gli algoritmi e gli intervalli di iperparametri in un notebook, SageMaker Canvas facilita una comprensione completa del processo di sviluppo del modello.

Per iniziare il tuo percorso di machine learning con poco codice o senza codice, vedi Amazon SageMaker Canvas.

Un ringraziamento speciale a tutti coloro che hanno contribuito al lancio:

Esha Dutta, Ed Cheung, Max Kondrashov, Allan Johnson, Ridhim Rastogi, Ranga Reddy Pallelra, Ruochen Wen, Ruinong Tian, Sandipan Manna, Renu Rozera, Vikash Garg, Ramesh Sekaran e Gunjan Garg