Se você está iniciando um novo projeto de aprendizado de máquina (ML), talvez se pergunte se o treinamento manual é sua única opção para criar um modelo de aprendizado de máquina. Com o treinamento manual, você escreve código usando um framework de ML para criar um modelo. Durante esse processo, você escolhe quais algoritmos serão usados e ajusta iterativamente os hiperparâmetros para encontrar o modelo certo.
É claro que o treinamento do modelo não é a única coisa que você precisa considerar. Na prática, a criação de um modelo de aprendizado de máquina do protótipo à produção envolve tarefas repetitivas e habilidades especializadas. Um fluxo de trabalho de ML exploratório simples tem esta aparência:
![Figura 1. Um fluxo de trabalho simples de machine learning.](https://developers.google.cn/static/machine-learning/crash-course/automl/images/ml-workflow.png?authuser=5&hl=pt-br)
Tarefas repetitivas: o fluxo de trabalho de ML pode envolver trabalho repetitivo e experimentação. Por exemplo, durante o desenvolvimento do modelo, normalmente é necessário explorar diferentes combinações de algoritmos e hiperparâmetros para identificar o modelo mais adequado. Com o treinamento manual, você escreve um código especializado para treinar o modelo e, em seguida, ajustar o código para executar experimentos com diferentes algoritmos e hiperparâmetros de ML para encontrar o melhor modelo. Para projetos pequenos ou exploratórios, esse processo manual pode não ser um problema, mas, para projetos maiores, essas tarefas repetitivas podem ser demoradas.
Habilidades especializadas: o desenvolvimento manual de um modelo de ML envolve habilidades especializadas. Na prática, nem toda equipe que planeja desenvolver um modelo de machine learning tem essas habilidades. Se uma equipe não tiver um cientista de dados dedicado, talvez não seja viável fazer esse trabalho manualmente.
Felizmente, algumas etapas do desenvolvimento de modelos podem ser automatizadas para reduzir a carga de trabalho repetitivo e a necessidade de habilidades especializadas. A automação dessas tarefas é o tema deste módulo sobre aprendizado de máquina automatizado (AutoML).
O que é o AutoML?
AutoML é um processo de automatização de determinadas tarefas em um fluxo de trabalho de machine learning. O AutoML é um conjunto de ferramentas e tecnologias que tornam a criação de modelos de aprendizado de máquina mais rápida e acessível a um grupo maior de usuários. Embora a automação possa ajudar em todo o fluxo de trabalho de ML, as tarefas que geralmente são associadas ao AutoML são as incluídas no ciclo de desenvolvimento de modelos mostrado na Figura 1. Essas tarefas repetitivas incluem:
- Engenharia de dados
- Engenharia de atributos.
- Seleção de atributos.
- Treinamento
- Identificar um algoritmo de ML adequado.
- Selecionar os melhores hiperparâmetros.
- Análise
- Avaliar as métricas geradas durante o treinamento com base em conjuntos de dados de teste e de validação.
Com o AutoML, você pode se concentrar no problema e nos dados de ML em vez de selecionar atributos, ajustar hiperparâmetros e escolher o algoritmo certo.