A gestão de desenvolvimento de modelos de machine studying, seja por empresas com alta maturidade em dados, seja por consultorias com projetos em empresas de menor maturidade sempre representou um grande desafio.
Diferente de projetos de software program, onde tanto requisitos de desenvolvimento como regras de entregas podem ser definidos e delineados no início do projeto com grau alto de precisão possibilitando que estes sejam pontuados e ‘fatiados’ com alta assertividade no início, projetos que envolvem desenvolvimento de modelos (sejam estes explicativos ou preditivos) carregam em si um desafio a parte pelo fato do output ultimate depender da variedade, abrangência e qualidade dos dados e estes muitas vezes são desconhecidos até que se inicie o projeto em si.
Além disso, a partir do domínio e conhecimento dos dados, a solução à ser implantada pode variar muito, seja por limitações e características dos dados, seja por características e limitações que a área ou o time de negócio exigem como resultado ultimate (formato de entrega, explicabilidade, velocidade de atualização e and so forth. ).
Existem alguns frameworks que descrevem as etapas de um projeto de dados/analytics como Semma, KDD, Crisp-dm e o próprio ciclo PDCA. Ainda asim, a complexidade e o tempo de cada uma das etapas (independente do framework) pode variar muito uma vez que cada projetos possui características, dados, tecnologias e pessoas específicas.
Dado a breve descrição deste cenário, como definir expectativas em relação a valor à ser entregue e prazo em projetos que envolvam desenvolvimento de modelos de machine studying?
R. Mentalidade de produtos.
Mas o que são produtos e como isso se conecta com modelos de machine studying?
Para nos ajudar na resposta desta pergunta, vamos primeiramente usar um produto físico como exemplo: carros.
Vamos listar as características dos carros, pensando neles de forma abrangente, como produtos.
1. Resolvem um problema prático: Carros existem para resolver um desafio de locomoções de pessoas e coisas entre lugares que não são viáveis de se chegar a pé, ou na ausência de animais.
2. Público alvo explicito: Carros são para todos aqueles que tem que se locomover distâncias consideráveis, possuem capacidade de aprender a dirigir (são aptos) e possuem dinheiro para comprá-los e mante-los.
3. Versões: Carros possuem uma variedade de versões diferentes, destinados àdiferentes finalidades. Todos cumprem um mesmo objetivo: ir de um ponto A a um ponto B mais rápido que a pé, mas alguns podem levar cargas, alguns são mais potentes e melhores para estradas, outros performam melhor em terrenos acidentados, outros carregam 7 pessoas enquanto alguns carregam apenas 2.
4. Evolução continua: Quando surgiram, existia apenas um modelo com características constantes pois tanto a tecnologia quanto os materiais disponíveis eram limitados. Conforme a maturidade do mercado evoluiu, carros se especializaram e hoje temos caminhonetes, motos, carros de luxo, caminhões e and so forth. Todos com públicos e características distintas e com desafios próprios para resolução.
Quando pensamos em modelos de machine studying, o que precisamos é transportar esta mentalidade de produtos que definimos com os carros para os projetos/produtos de dados que estamos lidando. Vamos tentar fazer um paralelo de como cada um dos 4 itens citados se interagem com projetos de dados:
- Resolvem um problema prático: Qual o actual desafio que estamos tentando resolver utilizando machine studying? Aqui precisamos tomar cuidado para focarmos no desafio de negócio e não no desafio técnico. Por que este é um desafio legítimo? Qual métrica ou indicador utilizaremos para saber que atingimos nosso objetivo?
- Público alvo explicito: Quando falamos em modelos de machine studying, público alvo tem duas visões: 1. Quem está sendo considerado para o desenvolvimento da inteligência? Ex. Clientes ativos nos últimos 180d, clientes inadimplentes, não clientes e and so forth. e 2. Quem irá usar o modelo na prática. Qual área irá consumir o output? Essa pessoa consegue avaliar o resultado? Em que formato precisa receber e and so forth.? A definição destes dois públicos é essencial.
- Versões: Em qual versão estamos e para qual versão estamos indo? Qual o objetivo e dados disponíveis para esta versão? Qual a diferença que esta versão trará em relação ao estado atual? Como eu garanto entrega de valor em negócio?
- Melhoria Continua: Quais as limitações atuais das versão que estamos trabalhando? Como iremos evoluir no tempo e qual a prioridade de evolução? Seja em dados, tecnologia, ambiente, negócios e and so forth. Com quem validaremos estas evoluções?
Utilizando uma mentalidade de produtos, se torna mais prático estruturarmos e fatiarmos projetos de machine studying e tangibilizar expectativas e prazos. Sem uma mentalidade de produtos corremos o risco de estarmos em ‘desenvolvimento contínuo’ no sentido negativo da expressão,: com a sensação de excesso de trabalho, baixa entrega de valor e características e limitações não explícitas.
Por último, assim como um carro, um projeto de machine studying para de fato extrair todo seu potencial, precisar de feito por um time multidisciplinar e não por um único ‘unicórnio’. O desenvolvimento de um carro demanda designers, engenheiros, mecânicos, pintores e and so forth. O desenvolvimento de projetos de machine studying demandam engenheiros de dados, analistas, cientistas, engenheiros de machine studying e and so forth. Tentar simplificar um único tremendous projeto em um único perfil é subestimar a complexidade e abrangência da entrega.