Grandes dados tabulares e AutoAI

Dec 01 2022
escrito por: Lukasz Cmielowski, PhD, Thomas Parnell No Cloud Pak for Data 4.6, o Watson Studio AutoAI está apresentando suporte para grandes dados tabulares.

escrito por: Lukasz Cmielowski, PhD , Thomas Parnell

No Cloud Pak for Data 4.6, o Watson Studio AutoAI está introduzindo suporte para grandes dados tabulares . Conjuntos de dados de até 100 GB são consumidos usando a combinação de agrupamento e aprendizado incremental. A adoção de BatchedTreeEnsembleClassifier e BatchedTreeEnsembleRegressor do Snap Machine Learning permite adicionar recursos “ partial_fit() ” (treinamento em lotes) a algoritmos clássicos:

Classificadores

  • ExtraTreesClassifier
  • Classificador XGB
  • LightGBMClassifier
  • RandomForestClassifier
  • SnapRandomForestClassifier
  • SnapBoostingMachineClassifier
  • ExtraTreesRegressor
  • LightGBMRegressor
  • RandomForestRegressor
  • SnapBoostingMachineRegressor
  • SnapRandomForestRegressor
  • XGBRegressor
Fluxograma da arquitetura BatchedTreeEnsemble.
Benchmarking BatchedTreeEnsemble no conjunto de dados Criteo.

Novos estimadores de conjunto (BatchedTreeEnsemble) foram adicionados à lista de estimadores. O experimento AutoAI produz um quinto pipeline (BatchedTreeEnsemble) para cada estimador compatível. Esse pipeline extra tem partial_fitrecursos; ele pode ser treinado em lotes de dados. O notebook gerado por AutoAI " Notebook de aprendizado incremental " contém o código para continuar treinando o modelo usando todos os lotes de dados.

O fluxo

Grande suporte a dados tabulares — o fluxo

O AutoAI usa uma amostra de dados para criar os pipelines BatchedTreeEnsemble. O tipo de amostragem pode ser modificado pelo usuário. Os tipos de amostragem suportados são: first values(lendo os dados desde o início até o ponto de corte) stratified,e random. A técnica de amostragem padrão é definida como random.

Em seguida, AutoAI produz o Incremental learning notebookque contém o código para continuar treinando em todos os lotes de dados.

O caderno

O notebook gerado usa um torchcompatível DataLoaderchamado ExperimentIterableDataset. Este carregador de dados pode trabalhar com várias fontes de dados como: DB2, PostgreSQL, Amazon S3, Snowflake e muito mais .

Na próxima etapa, o código baixa o modelo BatchedTreeEnsemble do experimento AutoAI concluído usando o get_pipeline()método.

Por fim, o modelo é treinado usando todos os lotes de dados ( partial_fit()). Curva de aprendizado, escalabilidade e desempenho de gráficos de modelo são exibidos.

O notebook pode ser facilmente personalizado para:

  • use um carregador de dados diferente (deve retornar lotes de dados como Pandas DataFrames)
  • oferece suporte à função de pontuação personalizada (métricas) durante o treinamento baseado em lote
  • inclua restrições de parada de aprendizado (por exemplo, pare se a precisão do modelo atingir um limite específico)
  • ser executado fora do ecossistema do Watson Studio (por exemplo, infraestrutura local)
  • Suporte para grandes conjuntos de dados tabulares sem a necessidade de recursos extras
  • Opção de parar e continuar treinando a qualquer momento e em qualquer infraestrutura
  • Transparência total e flexibilidade do procedimento de treinamento
  • Modele o armazenamento e a implantação com apenas algumas linhas de código.
  1. Snap Machine Learning
  2. Documentação do Watson AutoAI
  3. cadernos de exemplo