Autores: Cynthia Regina Herbst do Amaral Silva, Lucas Dalmedico Gessoni, Carlos Gomes de Carvalho Junior
O Automated Machine Learning, também conhecido como AutoML, se refere a ferramentas e serviços que abstraem os detalhes e conhecimentos necessários para se realizar Machine Learning (ML, Aprendizado de Máquina), automatizando tarefas necessárias para ocorrer a ML. Está relacionado a tendências de desenvolvimento “no-code” e “low-code”.
Geralmente, cobrem etapas de normalização de dados e engenharia de “features”; treinamento de modelos de diferentes tipos e com diferentes hiperparâmetros; avaliação e comparação de resultados. Também há outras ferramentas, bibliotecas e serviços que auxiliam nessas tarefas, porém com nível de abstração menor, e assim não são chamados de AutoML.
O AutoML tem como objetivo democratizar o acesso a ferramentas analíticas aos não-cientistas de dados, por possuir ferramentas que não necessitam de código ou pouquíssimo código, e podem ajudar os que já são especialistas a conseguirem resultados mais rápidos em casos mais simples.
Sistemas de AutoML
Abaixo descrevemos as principais diferenças entre soluções Open Source e proprietárias e citamos alguns exemplos de cada.
Diferenças entre Serviços Proprietários e Open Source
Serviços Proprietários
- Possuem Interface Gráfica e necessitam de pouco ou nenhum código para executar as tarefas;
- Abstraem preparação de infraestrutura, ambiente e deploy;
- Podem requerer conexão com internet para inferência;
- Indisponibilidade ou latência podem ser problemas;
- Alguns provedores tem serviço de anotação integrado (manual);
- Têm custos mais elevados.
Exemplos: Google Cloud Platform, Azure, AWS, etc
Ferramentas Open Source
- Distribuição livre;
- Permissão para modificações;
- Sem restrições quanto a interfaces, estilos e tecnologias;
- Sem custo adicional (apenas custo de servidor).
Exemplos: AutoGluon, AutoKeras, H2O, Ludwig, etc
Comparação de Ferramentas
Recentemente, o ELDORADO testou o uso de algumas ferramentas de AutoML. Para dados tabulares, as ferramentas Open Source tiveram resultados semelhantes a serviços pagos, porém para imagens a ferramenta paga teve resultado cerca de 1.5 vezes melhor. Segue abaixo uma tabela comparando algumas das características mais relevantes de cada ferramenta.
- Ferramenta: Nome da ferramenta avaliada;
- Tipo: Quais tipos de dados a ferramenta aceita;
- Open Source: Se a ferramenta tem código aberto ou não;
- Deploy: Se a ferramenta automatiza o deploy da aplicação;
- Acessível: As ferramentas com “Sim” possuem algum tipo de interface gráfica que aprimora a usabilidade, enquanto as com “Não” necessitam de algum tipo de código ou configuração adicional.
Vantagens e Desvantagens
Algumas das vantagens de utilizar AutoML, é que é preciso apenas conhecimento superficial de ML para se utilizar as ferramentas, automatizando passos de ML e diminuindo o tempo para se ter resultados iniciais. É possível utilizar em diferentes tipos de dados e problemas, podendo ser usado como baseline para pesquisas, com a possibilidade de incluir técnicas famosas (ex: Deep Neural Networks, Convolutional Neural Networks, Transformers). Algumas ferramentas possibilitam customizar modelos/layers.
Contudo, o AutoML pode não resolver o tipo de problema desejado, tendo uma customização que pode ser limitada ou dificultada, ou pode não obter resultado bom o bastante para o problema, precisando da intervenção de especialistas. Além disso, não evitará a necessidade de esforço para se obter e preparar dados adequados para aprendizado de máquina.
Quando compensa usar AutoML?
Principalmente quando se está trabalhando com dados estruturados e problemas simples, como regressão e classificação. As equipes sem conhecimento prévio em ML são as que mais podem se beneficiar, devido a sua acessibilidade para iniciantes, embora ainda seja importante conhecer os conceitos essenciais e não eliminar esforços para a obtenção e análise de dados.
Atualmente, o AutoML possui diversas limitações, principalmente as que estão relacionadas ao processamento de texto, imagens, vídeo e voz. Outra coisa a se considerar é que o AutoML é um campo relativamente novo e algumas das principais ferramentas como segmentação de objetos, detecção de anomalias, forecasting, entre outras, ainda não estão completamente desenvolvidas.
Referências e Recomendações
AutoML.org: Grupo de pesquisa das Universidade de Freiburg e Universidade de Leibnitz Hannover dedicado a AutoML
Tutorial NeurIPS 2018: Palestra AutoML do congresso NeurIPS 2018
https://youtube.videoken.com/embed/5A4xbv5nd8c
Cursos:
https://ki-campus.org/courses/automl-luh2021
https://github.com/ML-course/automl
https://university.datarobot.com/automl-i