MACHINE LEARNING

Lean Machine Learning: realidade ou ficção?

Machine Learning é uma área relativamente nova e complexa. Mas isso não significa que não pode ser cada vez mais simplificada. E, na Neurotech, a gente consegue isso se impondo o desafio de deixar os processos cada vez mais lean, ou seja, mais enxutos, mais inteligentes, mais ágeis. Essa postura começou até antes do conceito lean ser popularizado pelo movimento de startups. Como algumas pessoas me perguntam como conseguimos fazer isso, resolvi detalhar aqui.

Em 2003, vendo a dificuldade de desenvolver soluções de Machine Learning que funcionassem na prática (já que a maioria dos projetos falhava), resolvemos criar na Neurotech uma metodologia para criação de soluções em Machine Learning. Metodologia essa que foi muito baseada nas melhores práticas do mercado internacional, mas com o foco também de trazer um pouco a realidade brasileira.

Pois bem, criamos os 9 passos descritos abaixo (em resumo). Eles mostram como sair do entendimento do negócio até a entrada em produção usando soluções de IA.

  • Pré-Levantamento: a fase de pré-levantamento marca o início do projeto para o squad. Nessa fase é feito o planejamento interno do projeto, assim como o planejamento do início do relacionamento com o cliente. O objetivo é garantir que o cliente, equipe do projeto e o comercial tenham um entendimento comum do processo. Responsável: Product Manager.
  • Levantamento: o objetivo é identificar os objetivos do cliente a partir da perspectiva do negócio. Essa fase é muito importante para o sucesso do projeto, uma vez que o mau entendimento dos objetivos do projeto pode gerar respostas certas para perguntas erradas. Responsável: Product Manager.
  • Montagem da Visão dos Dados: é a etapa em que os dados brutos são transformados em uma visão de dados para aplicação do algoritmo de Machine Learning. É importante também para limpeza, transformação e coleta de dados externos. Responsável: Engenheiro de Dados.
  • Homologação dos Dados: essa fase marca a homologação dos dados por parte do cliente e é essencial para a boa continuidade do projeto. Normalmente, entregue através de uma análise exploratória em sobre os dados. Responsável: Engenheiro de Dados e/ou Analista de Dados
  • Preparação dos Dados: marca o início da preparação dos dados para fase de aplicação do algoritmo. É basicamente a transformação dos dados originais para um formato que o algoritmo de Machine Learning possa ser utilizado. Responsável: Cientista de Dados/Estatístico.
  • Algoritmo de Machine Learning: seleciona o algoritmo de Machine Learning a ser utilizado, processo que deve ser baseado nos objetivos da empresa identificados na fase de levantamento. Os parâmetros utilizados nessa fase devem ser documentados e escolhidos de tal forma que o modelo não tenha overfiting. Responsável: Cientista de Dados/Estatístico.
  • Avaliação de Desempenho: o objetivo dessa fase é avaliar o nível de precisão do algoritmo, com foco no negócio do cliente e nos indicadores identificados na fase de levantamento. Responsável: Product Manager.
  • Implantação (API): deixa o modelo construído disponível para o consumo. Importante aqui é saber o dimensionamento da arquitetura para suportar a demanda do cliente (seja através de usuários ou de requisitos). Responsável: Engenheiro de software
  • Planejamento/acompanhamento: monitora o modelo em produção ao longo da sua vida para definir o momento ideal para o retreinamento ou recalibragem do mesmo. Responsável: Product Manager.

Se tiver dúvidas sobre os papéis, escrevi um artigo falando sobre squads de alto desempenho em Ciência de Dados. Confira aqui.

Pois bem, posso dizer que a metodologia ou processo, sintetizada em um manual ou playbook, nos ajudou muito a padronizar, treinar e entregar valor para os nossos clientes. É essencial que cada etapa seja sempre revisada à medida que o tempo passa e que novas tecnologias apareçam.

Aplicando a “vibe” lean startup em Ciências de Dados

Por volta de 2009, em paralelo ao momento das startups, surgiram novas metodologias baseadas no lean, como o Lean Startup (Steve Blank e Eric Ries), com a mentalidade de entregar valor o mais rápido possível (“Se você não tiver vergonha da sua primeira versão do seu produto no lançamento, é porque você demorou muito para lançar” – Reid Hoffman). Ao mesmo tempo, novas tecnologias como Deep Learning começaram a surgir e, juntas, ganharam força sob o chamado Automatic Feature Engineering.

A reflexão que vinha era como podemos fazer isso no mundo de Ciência de Dados?
E o desafio que veio em seguida foi fazer com que a metodologia criada, usada e
evoluída desde 2003, entregasse ainda mais valor?

A resposta para essa pergunta sempre esteve com a gente. Em 2006, ao receber a visita de um grande banco em Recife, criamos o que ficou chamado de “Rodada de Almoço”. O cliente chegou até a nossa sede, nos entregou uma base de dados no início do dia e, ao final do almoço, quando voltamos para Neurotech, o modelo de Machine Learning, na época uma combinação de regressão logística com Redes Neurais Backpropagation, já estava com os resultados.

A Rodada de Almoço passou a ser um mantra na Neurotech. Assim que recebemos a base, rodamos um modelo para ter um “cheiro” do resultado. Isso significava passar por todas as etapas rapidamente para entender o valor da solução o mais rápido possível. Depois do “cheiro”, saberíamos o quão longe ou perto estávamos do resultado final desejado pelo cliente na etapa de levantamento.

Da Rodada de Almoço à Rodada do Cafezinho

Pois bem, com a criação do NeuroLake em 2015, em que o Machine Learning era disponibilizado como serviço na nuvem e não mais on premise (dentro da casa do cliente), nos perguntamos: será que a Rodada do Almoço poderia virar uma Rodada do Cafezinho? Será que, na verdade, tudo poderia ser automatizado e a entrega de valor, que antes acontecia em 1 dia, passaria a ser em 1 hora? A resposta é simples:

Sim, nos desafiamos mais uma vez e
criamos modelos automatizados de Machine Learning.

Em poucas horas ou minutos (depende do tamanho da base de dados), saímos do dado bruto ao modelo em produção. Claro, entrar em produção depende de uma revisão humana , mas já estamos preparados para sair dos dados brutos para o modelo em produção em questão de minutos/horas. Então, acredito que podemos, sim, dizer que Lean Machine Learning é realidade!

Na Rodada do Cafezinho, assim como nos demais modelos, basicamente o tempo depende do processamento de máquina — que, como já falei em outros posts, demorava 2 semanas em 2003 para treinar um modelo com 50 mil linhas e 100 variáveis e hoje leva poucas horas/minutos para treinar com 12 milhões de linhas e milhares de variáveis.

Com todas essas evoluções, não tem como não pensar: qual vai ser o papel do cientista de dados no futuro? Para mim, principalmente entender o negócio (a dor do cliente) e conseguir “juntar” os blocos de Machine Learning disponíveis para resolver o problema.

E você, o que acha? Já faz treinamento automático na sua empresa? O quão longe está?

Fonte: Lean Machine Learning