Grandes données tabulaires et AutoAI

Dec 01 2022
écrit par : Lukasz Cmielowski, PhD, Thomas Parnell Dans Cloud Pak for Data 4.6, Watson Studio AutoAI introduit la prise en charge des données tabulaires volumineuses.

écrit par : Lukasz Cmielowski, PhD , Thomas Parnell

Dans Cloud Pak for Data 4.6, Watson Studio AutoAI introduit la prise en charge des données tabulaires volumineuses . Des ensembles de données allant jusqu'à 100 Go sont consommés en utilisant la combinaison de l'assemblage et de l'apprentissage incrémentiel. L'adoption de BatchedTreeEnsembleClassifier et BatchedTreeEnsembleRegressor de Snap Machine Learning permet d'ajouter des fonctionnalités « partial_fit() » (apprentissage sur les lots) aux algorithmes classiques :

Classificateurs

  • ExtraTreesClassifier
  • Classificateur XGB
  • LightGBMClassifier
  • RandomForestClassifier
  • SnapRandomForestClassifier
  • SnapBoostingMachineClassifier
  • ExtraTreesRegressorExtraTreesRegressor
  • LightGBMRegressor
  • RandomForestRegressor
  • SnapBoostingMachineRegressor
  • SnapRandomForestRegressor
  • XGBRégresseur
Organigramme de l'architecture BatchedTreeEnsemble.
Analyse comparative de BatchedTreeEnsemble sur le jeu de données Criteo.

De nouveaux estimateurs d'ensemble (BatchedTreeEnsemble) ont été ajoutés à la liste des estimateurs. L'expérience AutoAI produit un cinquième pipeline (BatchedTreeEnsemble) pour chaque estimateur pris en charge. Ce pipeline supplémentaire a partial_fitdes capacités ; il peut être formé sur des lots de données. Le notebook généré par AutoAI " Incremental learning notebook " contient le code permettant de continuer à former le modèle en utilisant tous les lots de données.

Le flux

Prise en charge de grandes données tabulaires - le flux

AutoAI utilise un échantillon de données pour créer les pipelines BatchedTreeEnsemble. Le type d'échantillonnage peut être modifié par l'utilisateur. Les types d'échantillonnage pris en charge sont : first values(lecture des données du début jusqu'au point de coupure) stratified,et random. La technique d'échantillonnage par défaut est définie sur random.

Ensuite, AutoAI produit le Incremental learning notebookqui contient le code pour continuer la formation sur tous les lots de données.

Le cahier

Le bloc-notes généré utilise un torchfichier compatible DataLoaderappelé ExperimentIterableDataset. Ce chargeur de données peut fonctionner avec diverses sources de données telles que : DB2, PostgreSQL, Amazon S3, Snowflake , etc.

À l'étape suivante, le code télécharge le modèle BatchedTreeEnsemble à partir de l'expérience AutoAI terminée à l'aide de la get_pipeline()méthode.

Enfin, le modèle est entraîné à l'aide de tous les lots de données ( partial_fit()). La courbe d'apprentissage, l'évolutivité et les performances des modèles de graphiques sont affichées.

Le carnet peut être facilement personnalisé pour :

  • utiliser un chargeur de données différent (doit renvoyer des lots de données sous forme de Pandas DataFrames)
  • prendre en charge la fonction de scoreur personnalisé (métriques) pendant la formation par lots
  • inclure des contraintes d'arrêt d'apprentissage (par exemple, arrêt si la précision du modèle atteint un seuil spécifique)
  • être exécuté en dehors de l'écosystème Watson Studio (par exemple, l'infrastructure locale)
  • Prise en charge de grands ensembles de données tabulaires sans avoir besoin de ressources supplémentaires
  • Possibilité d'arrêter et de continuer la formation à tout moment et sur n'importe quelle infrastructure
  • Transparence totale et flexibilité de la procédure de formation
  • Stockage et déploiement de modèles avec seulement quelques lignes de code.
  1. Apprentissage automatique instantané
  2. Documentation Watson AutoAI
  3. Exemples de cahiers