Grandes dados tabulares e AutoAI
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


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_fit
recursos; 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

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 notebook
que contém o código para continuar treinando em todos os lotes de dados.
O caderno
O notebook gerado usa um torch
compatível DataLoader
chamado 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.
- Snap Machine Learning
- Documentação do Watson AutoAI
- cadernos de exemplo