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:
- 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.
- Scarica la Set di dati Titanic ed caricalo in un bucket S3 nel tuo account.
- 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.
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.
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.
Infine, esaminiamo le nostre selezioni e scegliamo Crea esperimento.
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.
È 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.
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
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.
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.
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.
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.
- AI
- oh arte
- generatore d'arte
- un robot
- Amazon Sage Maker
- Pilota automatico Amazon SageMaker
- intelligenza artificiale
- certificazione di intelligenza artificiale
- intelligenza artificiale nel settore bancario
- robot di intelligenza artificiale
- robot di intelligenza artificiale
- software di intelligenza artificiale
- Apprendimento automatico di AWS
- blockchain
- conferenza blockchain ai
- geniale
- intelligenza artificiale conversazionale
- criptoconferenza ai
- dall's
- apprendimento profondo
- google ai
- machine learning
- Platone
- platone ai
- Platone Data Intelligence
- Gioco di Platone
- PlatoneDati
- gioco di plato
- scala ai
- sintassi
- zefiro