Ferramentas especializadas para o desenvolvimento de aprendizado de máquina e governança de modelos estão se tornando essenciais

Ferramentas especializadas para o desenvolvimento de aprendizado de máquina e governança de modelos estão se tornando essenciais


Por que as empresas estão se voltando para ferramentas especializadas de aprendizado de máquina, como o MLflow.

Há alguns anos, começamos a publicar artigos (consulte “Recursos relacionados” no final deste post) sobre os desafios enfrentados pelas equipes de dados à medida que eles começam a realizar mais projetos de aprendizado de máquina (ML). Ao longo do caminho, descrevemos um novo cargo e título – engenheiro de aprendizado de máquina – focado em criar produtos de dados e fazer a ciência de dados funcionar na produção, um papel que estava começando a surgir na área da Baía de São Francisco há dois anos. Naquela época, não havia ferramentas populares destinadas a resolver os problemas enfrentados pelas equipes encarregadas de colocar em prática o aprendizado de máquina.

Cerca de 10 meses atrás, a Databricks anunciou o MLflow, um novo projeto de código aberto para o gerenciamento do desenvolvimento de aprendizado de máquina (divulgação completa: Ben Lorica é consultor da Databricks). Nós pensamos que, dada a falta de alternativas claras de código aberto, o MLflow tinha uma boa chance de ganhar tração, e isso provou ser o caso. Em um período de tempo relativamente curto, o MLflow acumulou mais de 3.300 estrelas no GitHub e 80 colaboradores de mais de 40 empresas. Mais significativamente, mais de 200 empresas estão usando o MLflow.

Então, por que esse novo projeto de código aberto ressoa com cientistas de dados e engenheiros de aprendizado de máquina? Lembre-se dos seguintes atributos-chave de um projeto de aprendizado de máquina:

  • Ao contrário do software tradicional, onde o objetivo é atender a uma especificação funcional, no ML o objetivo é otimizar uma métrica.
  • A qualidade não depende apenas do código, mas também dos dados, ajustes, atualizações regulares e reciclagem.
  • Os envolvidos com o ML geralmente querem experimentar novas bibliotecas, algoritmos e fontes de dados – e, portanto, é preciso ser capaz de colocar esses novos componentes em produção.

O sucesso do MLflow pode ser atribuído a uma “interface aberta” leve que permite aos usuários conectar suas bibliotecas favoritas de aprendizado de máquina e a disponibilidade de três componentes que os usuários podem escolher e escolher (isto é, eles podem usar um, dois ou todos os três da seguinte):

Componentes MLflow
Figura 1. Imagem de Matei Zaharia; usado com permissão.

O fato de poder escolher quais componentes do MLflow usar significa que o projeto é capaz de atender rapidamente às necessidades de um conjunto diversificado de usuários. Com base em uma pesquisa que fizemos sobre os usuários do MLflow, aqui estão alguns dos casos de uso mais populares:

  • Acompanhando e gerenciando grandes números de experimentos de aprendizado de máquina: o MLflow é útil para um cientista de dados individual que rastreia seus próprios experimentos, mas também é projetado para ser usado por empresas com grandes equipes de desenvolvedores de aprendizado de máquina que o utilizam para rastrear milhares de modelos.
  • O MLflow está sendo usado para gerenciar pipelines de aprendizado de máquina em várias etapas.
  • Embalagem do modelo: as empresas estão usando o MLflow para incorporar lógica e dependências personalizadas como parte da abstração do pacote de um modelo antes de implantá-lo em seu ambiente de produção (exemplo: um sistema de recomendação pode ser programado para não exibir certas imagens para menores).

A próxima versão 0.9.0 tem muitos novos recursos, incluindo suporte para armazenamentos de banco de dados para o MLflow Tracking Server, o que facilitará para as grandes equipes consultar e rastrear experimentos em andamento e anteriores.

Ainda estamos nos primórdios das ferramentas de suporte às equipes que desenvolvem modelos de aprendizado de máquina. Além do MLflow, existem startups como Comet.ml e Verta.ai que estão construindo ferramentas para aliviar pontos problemáticos semelhantes. Como o desenvolvimento de software começa a se assemelhar ao desenvolvimento de ML nos próximos anos, esperamos ver mais investimentos em ferramentas.

Governança de modelos

As empresas precisam considerar seriamente as ferramentas aprimoradas para o desenvolvimento de modelos de aprendizado de máquina, muitas das quais fazem parte de conjuntos de ferramentas mais ambiciosos. O aprendizado de máquina não pode ser limitado a pesquisadores com doutorado; não há o suficiente deles. O aprendizado de máquina está em processo de democratização; ferramentas que possibilitam aos desenvolvedores de software construir e treinar modelos são essenciais para esse processo.

Também dissemos que o número de modelos de aprendizado de máquina implantados na produção aumentará drasticamente: muitos aplicativos serão criados a partir de muitos modelos e muitas organizações desejarão automatizar muitos aspectos diferentes de seus negócios. E esses modelos envelhecerão e precisarão ser treinados periodicamente. Nós nos acostumamos com a necessidade de governança e proveniência de dados, entendendo e controlando
bancos de dados que são combinados em um aplicativo moderno baseado em dados. Agora estamos percebendo que o mesmo é verdadeiro para modelos também. As empresas precisarão acompanhar os modelos que estão construindo e os modelos que têm em produção.

Startups como Datatron Estamos começando a usar o termo “modelo de governança” para descrever a tarefa de rastrear e gerenciar modelos, e eles estão começando a construir ferramentas de governança de modelo em seus pacotes de produtos. Este termo descreve os processos que empresas e grandes empresas estão começando a usar para entender as várias iniciativas e equipes de projetos de ML que estão trabalhando. Os reguladores também estão sinalizando seu interesse em produtos que dependem de IA e aprendizado de máquina, portanto, sistemas para gerenciar o desenvolvimento de ML serão necessários para cumprir a legislação futura. Aqui estão alguns dos elementos que vão desempenhar um papel na construção de uma solução de governança de modelos:

  • Um banco de dados para autorização e segurança: quem tem acesso de leitura / gravação a determinados modelos
  • Um catálogo ou um banco de dados que lista modelos, incluindo quando eles foram testados, treinados e implantados
  • Metadados e artefatos necessários para as auditorias: como exemplo, a saída dos componentes do MLflow será muito pertinente para auditorias
  • Sistemas para implantação, monitoramento e alerta: quem aprovou e levou o modelo para a produção, quem é capaz de monitorar seu desempenho e receber alertas, e quem é responsável por isso
  • Um painel que fornece exibições personalizadas para todos os principais (operações, engenheiros da ML, cientistas de dados, proprietários de empresas)

Desenvolvedores de software tradicionais há muito tempo têm ferramentas para gerenciar seus projetos. Essas ferramentas servem funções como controle de versão, gerenciamento de biblioteca, automação de implantação e muito mais. Os engenheiros de aprendizado de máquina conhecem e usam todas essas ferramentas, mas não são suficientes. Estamos começando a ver as ferramentas adequadas aos recursos que os engenheiros de aprendizado de máquina precisam, incluindo ferramentas para governança de modelos, acompanhamento de experimentos e modelos de embalagem para que os resultados sejam repetíveis. O próximo grande passo na democratização do aprendizado de máquina é torná-lo mais gerenciável: não apenas soluções artesanais artesanais, mas soluções que tornam o aprendizado de máquina gerenciável e implantável em escala empresarial.

Recursos Relacionados:

  • “O que são engenheiros de aprendizado de máquina?”: Um novo papel focado na criação de produtos de dados e no trabalho da ciência de dados na produção

  • “O que significa aprendizado de máquina para desenvolvimento de software”
  • “Automação profunda em aprendizado de máquina”
  • “O que é ciência de dados hardcore – na prática?”: A anatomia de uma arquitetura para levar a ciência de dados à produção

  • “Lições aprendidas transformando modelos de aprendizado de máquina em produtos e serviços reais”
  • Harish Doddi sobre “Simplificando o gerenciamento do ciclo de vida de aprendizado de máquina”
  • Jesse Anderson e Paco Nathan em “O que os engenheiros de aprendizado de máquina precisam saber”
  • “Engenheiros de dados versus cientistas de dados”

Continue lendo Ferramentas especializadas para desenvolvimento de aprendizado de máquina e governança de modelos estão se tornando essenciais.