Use este identificador para citar ou linkar para este item:
http://www.monografias.ufop.br/handle/35400000/4784
Título: | Learning Orchestra AutoML : Pycaret and Autokeras operated using a RESTful API and modeled as atomic pipeline steps. |
Autor(es): | Ferreira, Jonatas Miguel Avelino |
Orientador(es): | Lima, Joubert de Castro Ribeiro, Gabriel de Oliveira |
Membros da banca: | Lima, Joubert de Castro Ribeiro, Gabriel de Oliveira Silva, Pedro Henrique Lopes Silva, Rodrigo César Pedrosa |
Palavras-chave: | Mineração de dados Sistema distribuído Arquitetura orientada a serviços Computação em nuvem Pipeline Orquestração de contêineres Aprendizado de máquina automatizado Application programming interface |
Data do documento: | 2022 |
Referência: | FERREIRA, Jonatas Miguel Avelino. Learning Orchestra AutoML: Pycaret and Autokeras operated using a RESTful API and modeled as atomic pipeline steps. 2022. 66. Monografia (Graduação em Ciência da Computação) - Instituto de Ciências Exatas e Biológicas, Universidade Federal de Ouro Preto, Ouro Preto, 2022. |
Resumo: | A atividade de um cientista de dados normalmente funciona em um processo iterativo composto pelas seguintes atividades: coleta de dados disponíveis, realização de análise exploratória de dados, limpeza/enriquecimento desses dados, construção de modelos, validação de suas previsões e implantação de resultados. As ferramentas de Automated Machine Learning (AutoML), como Katib, Pycaret, AutoKeras e ML-JAR, são utilizadas hoje em dia para simplificar ou mesmo eliminar algumas das atividades citadas anteriormente. Consequentemente, o cientista de dados pode se concentrar em validações e atividades de ajuste de parâmetros, por exemplo. Infelizmente, hoje em dia não existe uma API com suporte para múltiplas ferramentas AutoML. As mais modernas ferramentas de pipeline Machine Learning (ML), como TFX, Spark, Kubeflow ou Ray, são compatíveis com muitos ML-Toolkits, como TensorFlow, Scikit-learn, Pytorch, MXNet e outros, mas nenhum deles oferece suporte a diferentes ferramentas AutoML. Essa lacuna pode aumentar o custo de desenvolvimento e implantação de pipelines ML. Outro aspecto importante nas ferramentas de pipeline ML existentes, é sua incapacidade de executar etapas de pipeline separadas (transformação de dados, exploração, treinamento, ajuste ou qualquer outra etapa). Eles executam todo o pipeline e, muitas vezes, utilizando somente a memória RAM. Esse comportamento limita tanto a utilização da parada antecipada (Early Stopping) de etapas do pipeline quanto a reexecução de etapas do pipeline armazenadas em volumes de um ambiente de nuvem, o que significa que tais etapas não foram armazenados apenas na RAM. Este trabalho apresenta a primeira API para operar as ferramentas Pycaret e Autokeras AutoML. O cientista de dados agora pode desenvolver seus pipelines de dados usando notebooks e várias chamadas de API RESTful interoperáveis para serviços AutoML. Este trabalho também resolve todo o problema de execução do pipeline, que também é executado utilizando apenas a memória RAM por Pycaret e AutoKeras. Agora, etapas únicas do pipeline AutoML podem ser executadas separadamente em diferentes contêineres e salvas em um volume específico do cluster. Para implementar tais inovações e executar as etapas restantes do pipeline ML, como coletar dados, explorar, limpar e enriquecer dados, bem como o salvamento automático das saídas das etapas mencionadas anteriormente, estendemos o núcleo da ferramenta Learning Orchestra services, permitindo a execução de serviços AutoML. Learning Orchestra é uma ferramenta de pipeline ML com suporte para as ferramentas Spark MLlib, Scikit-learn e TensorFlow ML. Avaliamos o impacto dos serviços de API apresentados em relação à execução das ferramentas AutoML diretamente de notebooks, como Zeppelin e Jupyter. Os resultados demonstraram quase nenhum impacto em termos de tempo de execução do serviço de nossa API e um aumento médio de 250MB na utilização de RAM quando utilizado nossa solução distribuída. |
Resumo em outra língua: | The data scientist activity normally works in an iterative process composed of the following activities: gathering available data, performing exploratory data analysis, cleaning/enriching those data, building models, validating their predictions, and deploying results. The Automated Machine Learning (AutoML) tools, like Katib, Pycaret, AutoKeras and ML-JAR, are used nowadays to simplify or even eliminate some of the activities cited before. Consequently, the data scientist can concentrate in validations and parameter tuning activities, for instance. Unfortunately, nowadays there is no API with a support for multiple AutoML tools. The state-of-the-art Machine Learning (ML) pipeline tools, like TFX, Spark, Kubeflow or Ray, support many ML-Toolkits, like TensorFlow, Scikit-learn, Pytorch, MXNet and others, but none of them support distinct AutoML tools. Such a lacuna can increase the cost of developing and deploying ML pipelines. Another important aspect in the existing ML pipeline tools is their incapacity to run separated pipeline steps (data transformation, exploration, training, tuning or any other step). They run the entire pipeline and very often in RAM-only mode. This behavior limits both early pipeline stops and the re-execution of steps of the pipeline stored in volumes of a cloud environment, which means stored not only in RAM. This work presents the first RESTful API to operate Pycaret and Autokeras AutoML tools. The data scientist can now develop their data pipelines using notebooks and several interoperable RESTful API calls for AutoML services. This work also solves the entire pipeline run problem, which was performed in RAM-only mode. Now, single AutoML pipeline steps can run separately in different containers and saved in a specific volume of the cluster. To implement both improvements, we extend the Learning Orchestra tool core services, enabling it to perform also AutoML services. The Learning Orchestra is a ML pipeline tool with support for Spark MLlib, Scikit-learn and TensorFlow ML Toolkits. We have evaluated the impact of the presented API services against the execution of the AutoML tools directly from notebooks, like Zeppelin and Jupyter. The results demonstrated almost no impact in terms of service runtime of our API and an average increase of 250MB in RAM utilization for MongoDB support when our solution is selected. |
URI: | http://www.monografias.ufop.br/handle/35400000/4784 |
Aparece nas coleções: | Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
MONOGRAFIA_LearningOrchestraAutoML.pdf | 543,75 kB | Adobe PDF | Visualizar/Abrir |
Este item está licenciado sob uma Licença Creative Commons