Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di training d'insieme basata su AutoGluon PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di formazione ensemble basata su AutoGluon

Pilota automatico Amazon SageMaker ha aggiunto una nuova modalità di allenamento che supporta l'insieme di modelli basato su AutoGluone. La modalità di formazione dell'ensemble in Autopilot addestra diversi modelli di base e combina le loro previsioni utilizzando lo stacking del modello. Per set di dati inferiori a 100 MB, la modalità di addestramento dell'insieme crea rapidamente modelli di apprendimento automatico (ML) con elevata precisione, fino a otto volte più veloce della modalità di addestramento di ottimizzazione degli iperparametri (HPO) con 250 prove e fino a 5.8 volte più veloce della modalità di addestramento HPO con 100 prove. Supporta un'ampia gamma di algoritmi, tra cui LightGBM, CatBoost, XGBoost, Random Forest, Extra Trees, modelli lineari e reti neurali basate su PyTorch e FastAI.

Come AutoGluon crea modelli di ensemble

AutoGluon-Tabulare (AGT) è un popolare framework AutoML open source che addestra modelli ML altamente accurati su set di dati tabulari. A differenza dei framework AutoML esistenti, che si concentrano principalmente sulla selezione di modelli e iperparametri, AGT riesce assemblando più modelli e impilandoli in più livelli. Il comportamento predefinito di AGT può essere riassunto come segue: dato un set di dati, AGT addestra vari modelli di base che vanno dagli alberi potenziati standard alle reti neurali personalizzate sul set di dati. Le previsioni dei modelli di base vengono utilizzate come funzionalità per costruire un modello di impilamento, che apprende il peso appropriato di ciascun modello di base. Con questi pesi appresi, il modello di stacking combina quindi le previsioni del modello di base e restituisce le previsioni combinate come set finale di previsioni.

Come funziona la modalità di addestramento dell'insieme di Autopilot

Set di dati diversi hanno caratteristiche adatte per algoritmi diversi. Dato un set di dati con caratteristiche sconosciute, è difficile sapere in anticipo quali algoritmi funzioneranno meglio su un set di dati. Con questo in mente, i data scientist che utilizzano AGT creano spesso più configurazioni personalizzate con un sottoinsieme di algoritmi e parametri. Eseguono queste configurazioni su un determinato set di dati per trovare la configurazione migliore in termini di prestazioni e latenza di inferenza.

Autopilot è un prodotto ML low-code che crea automaticamente i migliori modelli ML per i tuoi dati. Nella nuova modalità di addestramento dell'ensemble, Autopilot seleziona un set ottimale di configurazioni AGT ed esegue più prove per restituire il modello migliore. Queste prove vengono eseguite in parallelo per valutare se le prestazioni di AGT possono essere ulteriormente migliorate, in termini di metriche oggettive o latenza di inferenza.

Risultati osservati utilizzando i benchmark OpenML

Per valutare i miglioramenti delle prestazioni, abbiamo utilizzato set di dati di benchmark OpenML con dimensioni variabili da 0.5 a 100 MB ed eseguito 10 prove AGT con diverse combinazioni di algoritmi e configurazioni di iperparametri. I test hanno confrontato la modalità di allenamento dell'ensemble con la modalità HPO con 250 prove e la modalità HPO con 100 prove. La tabella seguente confronta il tempo di esecuzione complessivo dell'esperimento Autopilot (in minuti) tra le due modalità di addestramento per varie dimensioni di set di dati.

Dimensione set di dati Modalità HPO (250 prove) Modalità HPO (100 prove) Modalità ensemble (10 prove) Miglioramento del runtime con HPO 250 Miglioramento del runtime con HPO 100
< 1 MB 121.5 min 88.0 min 15.0 min 8.1x 5.9x
1–10 MB 136.1 min 76.5 min 25.8 min 5.3x 3.0x
10–100 MB 152.7 min 103.1 min 60.9 min 2.5x 1.7x

Per confrontare le prestazioni dei problemi di classificazione multiclasse, utilizziamo l'accuratezza, per i problemi di classificazione binaria utilizziamo il punteggio F1 e per i problemi di regressione utilizziamo R2. I guadagni nelle metriche oggettive sono mostrati nelle tabelle seguenti. Abbiamo osservato che la modalità di formazione dell'insieme ha funzionato meglio della modalità di formazione HPO (sia 100 che 250 prove).

Si noti che la modalità ensemble mostra un miglioramento coerente rispetto alla modalità HPO con 250 prove indipendentemente dalle dimensioni del set di dati e dai tipi di problemi.

La tabella seguente confronta l'accuratezza per problemi di classificazione multi-classe (più alto è migliore).

Dimensione set di dati Modalità HPO (250 prove) Modalità HPO (100 prove) Modalità ensemble (10 prove) Percentuale di miglioramento rispetto a HPO 250
< 1 MB 0.759 0.761 0.771 1.46%
1–5 MB 0.941 0.935 0.957 1.64%
5–10 MB 0.639 0.633 0.671 4.92%
10–50 MB 0.998 0.999 0.999 0.11%
51–100 MB 0.853 0.852 0.875 2.56%

La tabella seguente confronta i punteggi F1 per problemi di classificazione binaria (più alto è meglio).

Dimensione set di dati Modalità HPO (250 prove) Modalità HPO (100 prove) Modalità ensemble (10 prove) Percentuale di miglioramento rispetto a HPO 250
< 1 MB 0.801 0.807 0.826 3.14%
1–5 MB 0.59 0.587 0.629 6.60%
5–10 MB 0.886 0.889 0.898 1.32%
10–50 MB 0.731 0.736 0.754 3.12%
51–100 MB 0.503 0.493 0.541 7.58%

La tabella seguente confronta R2 per problemi di regressione (più alto è meglio).

Dimensione set di dati Modalità HPO (250 prove) Modalità HPO (100 prove) Modalità ensemble (10 prove) Percentuale di miglioramento rispetto a HPO 250
< 1 MB 0.717 0.718 0.716 0%
1–5 MB 0.803 0.803 0.817 2%
5–10 MB 0.590 0.586 0.614 4%
10–50 MB 0.686 0.688 0.684 0%
51–100 MB 0.623 0.626 0.631 1%

Nelle sezioni successive, mostreremo come utilizzare la nuova modalità di addestramento dell'insieme in Autopilot per analizzare i set di dati e creare facilmente modelli ML di alta qualità.

Panoramica del set di dati

Usiamo il Set di dati Titanic per prevedere se un determinato passeggero è sopravvissuto o meno. Questo è un problema di classificazione binaria. Ci concentriamo sulla creazione di un esperimento di pilota automatico utilizzando la nuova modalità di addestramento dell'ensemble e confrontiamo i risultati del punteggio F1 e del tempo di esecuzione complessivo con un esperimento di pilota automatico utilizzando la modalità di addestramento HPO (100 prove).

Nome colonna Descrizione
Passeggero Numero identificativo
Sopravvissuto Sopravvivenza
Classe P Classe del biglietto
Nome Nome del passeggero
Sesso Sesso
Età Età in anni
Sibsp Numero di fratelli o coniugi a bordo del Titanic
Toppa Numero di genitori o figli a bordo del Titanic
Standard Numero del biglietto
tariffa Tariffa passeggero
Cabina Numero di cabina
Imbarcato Porto di imbarcazione

Il set di dati ha 890 righe e 12 colonne. Contiene informazioni demografiche sui passeggeri (età, sesso, classe del biglietto e così via) e la colonna target Sopravvissuto (sì/no).

Prerequisiti

Completa i seguenti passaggi prerequisiti:

  1. Assicurati di disporre di un account AWS, proteggi l'accesso per accedere all'account tramite il Console di gestione AWSe Gestione dell'identità e dell'accesso di AWS (IAM) autorizzazioni da utilizzare Amazon Sage Maker ed Servizio di archiviazione semplice Amazon (Amazon S3) risorse.
  2. Scarica la Set di dati Titanic ed caricalo in un bucket S3 nel tuo account.
  3. Esegui l'onboarding in un dominio SageMaker e accedi Amazon Sage Maker Studio per utilizzare il pilota automatico. Per istruzioni, fare riferimento Integrazione nel dominio Amazon SageMaker. Se stai utilizzando Studio esistente, esegui l'upgrade a ultima versione di Studio per utilizzare la nuova modalità di allenamento dell'ensemble.

Crea un esperimento di pilota automatico con la modalità di addestramento dell'insieme

Quando il set di dati è pronto, puoi inizializzare un esperimento Autopilot in Studio. Per le istruzioni complete, fare riferimento a Crea un esperimento Amazon SageMaker Autopilot. Crea un esperimento Autopilot fornendo un nome per l'esperimento, l'input dei dati e specificando i dati di destinazione da prevedere nel file Esperimento e dettagli sui dati sezione. Facoltativamente, puoi specificare il rapporto di dispersione dei dati e la creazione automatica della posizione di output di Amazon S3.

Per il nostro caso d'uso, forniamo un nome per l'esperimento, inseriamo la posizione di Amazon S3 e scegliamo Sopravvissuto come bersaglio. Manteniamo la suddivisione automatica abilitata e sovrascriviamo la posizione di output Amazon S3 predefinita.

Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di training d'insieme basata su AutoGluon PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Successivamente, specifichiamo il metodo di allenamento in Metodo di allenamento sezione. Puoi lasciare che Autopilot selezioni automaticamente la modalità di allenamento utilizzando Automatico in base alle dimensioni del set di dati o selezionare manualmente la modalità di addestramento per l'ensemble o l'HPO. I dettagli su ciascuna opzione sono i seguenti:

  • Automatico – Autopilot sceglie automaticamente la modalità Enembling o HPO in base alle dimensioni del set di dati. Se il set di dati è maggiore di 100 MB, Autopilot sceglie HPO, altrimenti sceglie l'ensemble.
  • assemblaggio – Utilizza il pilota automatico AutoGluone's tecnica di insieme per addestrare diversi modelli di base e combinare le loro previsioni utilizzando lo stacking del modello in un modello predittivo ottimale.
  • Ottimizzazione dell'iperparametro – Autopilot trova la versione migliore di un modello ottimizzando gli iperparametri utilizzando la tecnica di ottimizzazione bayesiana ed eseguendo processi di addestramento sul set di dati. HPO seleziona gli algoritmi più rilevanti per il tuo set di dati e seleziona la migliore gamma di iperparametri per ottimizzare i modelli.

Per il nostro caso d'uso, selezioniamo assemblaggio come la nostra modalità di allenamento.

Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di training d'insieme basata su AutoGluon PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Dopo questo, si procede al Distribuzione e impostazioni avanzate sezione. Qui, deselezioniamo il Distribuzione automatica opzione. Sotto impostazioni avanzate, puoi specificare il tipo di problema ML che desideri risolvere. Se non viene fornito nulla, Autopilot determina automaticamente il modello in base ai dati forniti. Poiché il nostro è un problema di classificazione binaria, scegliamo Classificazione binaria come il nostro tipo di problema e F1 come nostra metrica oggettiva.

Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di training d'insieme basata su AutoGluon PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Infine, esaminiamo le nostre selezioni e scegliamo Crea esperimento.

Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di training d'insieme basata su AutoGluon PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

A questo punto, è possibile lasciare Studio e tornare più tardi per controllare il risultato, che puoi trovare sul file Esperimenti menu.

Lo screenshot seguente mostra i risultati finali del nostro lavoro di pilota automatico in modalità di addestramento dell'ensemble titanic-ens.

Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di training d'insieme basata su AutoGluon PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

È possibile visualizzare le prove multiple che sono state tentate dall'autopilota nella modalità di addestramento dell'insieme. Ogni prova restituisce il modello migliore dal pool di esecuzioni di modelli individuali e di esecuzioni di modelli complessi impilati.

Per spiegarlo ulteriormente, supponiamo che la prova 1 abbia considerato tutti gli otto algoritmi supportati e utilizzato lo stacking del livello 2. Creerà internamente i singoli modelli per ciascun algoritmo nonché i modelli di ensemble ponderati con stack di livello 0, livello 1 e livello 2 Tuttavia, l'output della prova 1 sarà il miglior modello dal pool di modelli creati.

Allo stesso modo, consideriamo che la prova 2 abbia raccolto solo algoritmi di potenziamento basati su albero. In questo caso, la prova 2 creerà internamente tre modelli individuali per ciascuno dei tre algoritmi, nonché i modelli di ensemble ponderati e restituirà il modello migliore dalla sua esecuzione.

Il modello finale restituito da una prova può essere o meno un modello di insieme ponderato, ma la maggior parte delle prove molto probabilmente restituirà il modello di insieme più ponderato. Infine, sulla base della metrica obiettivo selezionata, verrà identificato il miglior modello tra tutte le 10 prove.

Nell'esempio precedente, il nostro miglior modello era quello con il punteggio F1 più alto (la nostra metrica oggettiva). Vengono mostrate anche molte altre metriche utili, tra cui accuratezza, accuratezza bilanciata, precisione e richiamo. Nel nostro ambiente, il runtime end-to-end per questo esperimento Autopilot è stato di 10 minuti.

Crea un esperimento di pilota automatico con la modalità di addestramento HPO

Ora eseguiamo tutti i passaggi sopra indicati per creare un secondo esperimento di pilota automatico con il metodo di addestramento HPO (predefinito 100 prove). A parte la selezione del metodo di allenamento, che è ora Ottimizzazione dell'iperparametro, tutto il resto rimane lo stesso. In modalità HPO, è possibile specificare il numero di prove impostando Max candidati per impostazioni avanzate per Runtime, ma ti consigliamo di lasciare questo valore predefinito. Non fornendo alcun valore Max candidati eseguirà 100 prove HPO. Nel nostro ambiente, il runtime end-to-end per questo esperimento Autopilot è stato di 2 ore.

Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di training d'insieme basata su AutoGluon PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Confronto delle metriche di runtime e prestazioni

Vediamo che per il nostro set di dati (meno di 1 MB), non solo la modalità di allenamento dell'insieme è stata 12 volte più veloce della modalità di allenamento HPO (da 120 minuti a 10 minuti), ma ha anche prodotto punteggi F1 migliorati e altre metriche delle prestazioni.

Modalità allenamento Punteggio F1 Precisione Precisione equilibrata AUC Precisione Richiamo Perdita di registro Runtime
Modalità d'insieme - Weighted Ensemble 0.844 0.878 0.865 0.89 0.912 0.785 0.394 10 min
Modalità HPO – XGBoost 0.784 0.843 0.824 0.867 0.831 0.743 0.428 120 min

Inferenza

Ora che abbiamo un modello vincente, possiamo entrambi distribuirlo a un endpoint per l'inferenza in tempo reale or utilizzare le trasformazioni batch per fare previsioni sul set di dati senza etichetta che abbiamo scaricato in precedenza.

Sommario

Puoi eseguire i tuoi esperimenti Autopilot più velocemente senza alcun impatto sulle prestazioni con la nuova modalità di addestramento dell'insieme per set di dati inferiori a 100 MB. Per iniziare, creare un esperimento SageMaker Autopilot sulla console di Studio e selezionare assemblaggio come modalità di addestramento o lasciare che Autopilot deduca automaticamente la modalità di addestramento in base alle dimensioni del set di dati. Puoi fare riferimento al Guida di riferimento dell'API CreateAutoMLJob per gli aggiornamenti all'API e l'aggiornamento a ultima versione di Studio per utilizzare la nuova modalità di allenamento dell'ensemble. Per ulteriori informazioni su questa funzione, vedere Supporto del modello, parametri e convalida con Amazon SageMaker Autopilot e per saperne di più su Autopilot, visita il .


Circa gli autori

Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di training d'insieme basata su AutoGluon PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Janisha Anand è un Senior Product Manager nel team SageMaker Low/No Code ML, che include SageMaker Autopilot. Le piace il caffè, resta attiva e trascorre del tempo con la sua famiglia.

Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di training d'insieme basata su AutoGluon PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Saket Sathè è un Senior Applied Scientist nel team di SageMaker Autopilot. È appassionato di costruire la prossima generazione di algoritmi e sistemi di apprendimento automatico. Oltre al lavoro, ama leggere, cucinare, bere ramen e giocare a badminton.

Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di training d'insieme basata su AutoGluon PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Abhishek Singh è un ingegnere software per il team di pilota automatico in AWS. Ha più di 8 anni di esperienza come sviluppatore di software ed è appassionato di creare soluzioni software scalabili che risolvano i problemi dei clienti. Nel tempo libero, ad Abhishek piace rimanere attivo facendo escursioni o partecipando a partite di calcio.

Amazon SageMaker Autopilot è fino a otto volte più veloce con la nuova modalità di training d'insieme basata su AutoGluon PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Vadim Omelčenko è un Senior AI/ML Solutions Architect che è appassionato di aiutare i clienti AWS a innovare nel cloud. La sua precedente esperienza IT era prevalentemente sul campo.

Timestamp:

Di più da Apprendimento automatico di AWS