Machine learning automatizado (AutoML)

Se você está iniciando um novo projeto de machine learning (ML), talvez esteja se perguntando se o treinamento manual for a única opção para criar um modelo de machine learning. Com o treinamento manual, você escreve código usando um framework de ML para criar um modelo. Durante nesse processo, você escolhe quais algoritmos explorar e ajustar de forma iterativa e os hiperparâmetros para encontrar o modelo certo.

É claro que o treinamento de modelos 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.
Figura 1. Fluxo de trabalho simples da análise detalhada de machine learning.

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 realizar 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 profissionais especializados habilidades. 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, fazer esse trabalho manualmente pode não ser nem mesmo viável.

Felizmente, algumas etapas no desenvolvimento do modelo podem ser automatizadas para reduzir a trabalho repetitivo e a necessidade de habilidades especializadas. Automatizar é o assunto deste módulo sobre machine learning 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. A automação pode ajudar no fluxo de trabalho de ML, mas as tarefas que são frequentemente associados ao AutoML são aqueles incluídos no ciclo de desenvolvimento do modelo como mostrado na Figura 1. Essas tarefas repetitivas incluem:

  • Engenharia de dados
    • Engenharia de atributos.
    • Seleção de atributos.
  • Treinamento
    • Identificar um algoritmo de ML apropriado.
    • 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.