Grandi dati tabulari e AutoAI

Dec 01 2022
scritto da: Lukasz Cmielowski, PhD, Thomas Parnell In Cloud Pak for Data 4.6, Watson Studio AutoAI sta introducendo il supporto per dati tabulari di grandi dimensioni.

scritto da: Lukasz Cmielowski, PhD , Thomas Parnell

In Cloud Pak for Data 4.6, Watson Studio AutoAI sta introducendo il supporto per dati tabulari di grandi dimensioni . I set di dati fino a 100 GB vengono consumati utilizzando la combinazione di ensemble e apprendimento incrementale. L'adozione di BatchedTreeEnsembleClassifier e BatchedTreeEnsembleRegressor da Snap Machine Learning consente di aggiungere funzionalità " partial_fit() " (addestramento sui batch) agli algoritmi classici:

Classificatori

  • Classificatore ExtraTrees
  • Classificatore XGB
  • Classificatore LightGBM
  • RandomForestClassifier
  • SnapRandomForestClassifier
  • SnapBoostingMachineClassifier
  • ExtraTreesRegressor
  • LightGBMRegressor
  • RandomForestRegressor
  • SnapBoostingMachineRegressor
  • SnapRandomForestRegressor
  • XGBRegressor
Diagramma di flusso dell'architettura BatchedTreeEnsemble.
Benchmarking di BatchedTreeEnsemble su set di dati Criteo.

Nuovi stimatori di ensemble (BatchedTreeEnsemble) sono stati aggiunti all'elenco di stimatori. L'esperimento AutoAI produce una quinta pipeline (BatchedTreeEnsemble) per ogni stimatore supportato. Quella pipeline extra ha partial_fitcapacità; può essere addestrato su batch di dati. Il notebook generato da AutoAI " Notebook di apprendimento incrementale " contiene il codice per continuare ad addestrare il modello utilizzando tutti i batch di dati.

Il flusso

Ampio supporto per dati tabulari: il flusso

AutoAI utilizza un campione di dati per creare le pipeline BatchedTreeEnsemble. Il tipo di campionamento può essere modificato dall'utente. I tipi di campionamento supportati sono: first values(lettura dei dati dall'inizio fino al punto limite) stratified,e random. La tecnica di campionamento predefinita è impostata su random.

Successivamente, AutoAI produce il Incremental learning notebookfile che contiene il codice per continuare l'addestramento su tutti i batch di dati.

Il notebook

Il notebook generato utilizza un torchfile . Questo caricatore di dati può funzionare con varie origini dati come: DB2, PostgreSQL, Amazon S3, Snowflake e altro ancora .DataLoaderExperimentIterableDataset

Nel passaggio successivo, il codice scarica il modello BatchedTreeEnsemble dall'esperimento AutoAI completato utilizzando il get_pipeline()metodo.

Infine, il modello viene addestrato utilizzando tutti i batch di dati ( partial_fit()). Vengono visualizzati la curva di apprendimento, la scalabilità e le prestazioni dei grafici modello.

Il taccuino può essere facilmente personalizzato per:

  • utilizzare un caricatore di dati diverso (deve restituire batch di dati come Pandas DataFrames)
  • supportare la funzione segnapunti personalizzata (metriche) durante l'addestramento basato su batch
  • includere vincoli di arresto dell'apprendimento (ad esempio, interrompere se l'accuratezza del modello raggiunge una soglia specifica)
  • essere eseguito al di fuori dell'ecosistema Watson Studio (ad es. infrastruttura locale)
  • Supporto per set di dati tabulari di grandi dimensioni senza la necessità di risorse aggiuntive
  • Possibilità di interrompere e continuare la formazione in qualsiasi momento e su qualsiasi infrastruttura
  • Piena trasparenza e flessibilità dell'iter formativo
  • Archiviazione e distribuzione del modello con poche righe di codice.
  1. Apprendimento automatico a scatto
  2. Documentazione Watson AutoAI
  3. Esempi di quaderni