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 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. Em prática, criar um modelo de machine learning do protótipo à produção envolve tarefas repetitivas e habilidades especializadas. Um ML exploratório simples será mais ou menos assim:

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, você normalmente precisa explorar diferentes combinações de algoritmos e hiperparâmetros para identificar o modelo mais apropriado. No treinamento manual, você escreve códigos especializados para treinar o modelo e, em seguida, ajustar o código para realizar experimentos com diferentes algoritmos e hiperparâmetros para encontrar o melhor modelo. Para consultas de pesquisa projetos, esse processo manual pode não ser um problema, mas, para projetos maiores, e repetitivas podem levar muito tempo.

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 podem ter 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?

O AutoML é um processo de automatização determinadas tarefas em um fluxo de trabalho de machine learning. Pense no AutoML como um conjunto de ferramentas e tecnologias que tornam a criação modelos de machine learning mais rápidos e acessíveis para 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.
    • Como selecionar os melhores hiperparâmetros.
  • Análise
    • Avaliar as métricas geradas durante o treinamento com base em testes e conjuntos de dados de validação.

Com o AutoML, você pode se concentrar nos problemas e dados de ML em vez de nos atributos como selecionar, ajustar os hiperparâmetros e escolher o algoritmo certo.