Porque mudei de Machine Learning para todo o Big Data Pipeline!
Trabalhando com Ciência de dados desde 2017, tenho visto diversos clientes e projetos passarem pela minha tela. Existem algumas impressões e fatos que me fizeram deixar de trabalhar e estudar somente aprendizado de máquina para focar em todo o pipeline de Big Data, desde a limpeza e gerenciamento de dados, até a criação de modelos, Data Ops e todas as outras técnicas que precisamos para fazer com que o dado saia do “pântano” em que ele fica e esteja nas mãos de quem pode tomar decisões usando-os.
Existem 4 razões principais para que se faça essa mudança e tentarei resumi-las abaixo.
A primeira razão é:
1 Big Data Reasons: “Pessoas e negócios não entendem ou não tem acesso a todo o dado que precisam o tempo todo.”
Aqui na Deal, temos uma grande variedade de clientes, em sua grande maioria do mercado financeiro. Algumas demandas que temos recebido não possuem Datasets, Data Warehouses, Data Lakes ou até mesmo um banco de dados para Big Data Analytics.
Sendo assim, ajudá-los a construí modelos de machine learning envolve muito mais que recolher os dados, prepará-los, alimentar o modelo e tuná-lo para o melhor uso. Este processo inclui explicar o que é e para que estes dados servem, criar um pipeline para os dados, não só para Big Data Analytics ou visualização de dados, mas também para a criação de modelos.
A segunda razão é:
2 Big Data Reasons: “Modelos precisam ser implementados e utilizados em larga escala para que consigam ajudar negócios a crescer.”
E este é um ponto um pouco controverso, pois, ninguém realmente te ensina como utilizar um modelo em um curso de machine learning. O que eu quero dizer é, nós todos construímos diversos modelos com SK Learn, todos nós vimos lindas predições, porém, não havia uma alma para nos dizer: “Ei cara, como eu posso usar essa predição para exibir algo no front do meu app???”
Entender como disponibilizar predições para outros sistemas ou tornar um modelo disponível para outros softwares envolve muito mais de engenharia de software do que ciência de dados.
A terceira razão vai para os Pareto Lovers lendo este artigo:
3 Big Data Reasons: “Somente 20% (Algumas pessoas dizem 30%) do trabalho é feito por um Data Scientist, todo o resto é responsabilidade do dados que usamos.”
Pensar nisso me faz acreditar que não existe tarefa mais importante do que entender a origem dos dados, saber como ele foi transformado, como podemos enriquecer com mais informação e como esse dado chegou até as minhas mãos para que eu criasse o modelo.
Não estou querendo dizer que isto é uma tarefa fácil. Quando as coisas escalam e você passa a lidar com terabytes de dados em organizações multimilionárias e com um time de compliance olhando para cada uma das movimentações de dados, entender estas coisas pode ficar bem difícil.
Mas para entendermos como fazer ETLs, como transformar dados de forma consistente e fazer com que trabalhem em conjunto com seu modelo, saber estas coisas é um grande diferencial.
E por último, mas não menos importante:
4 Big Data Reasons: “Às vezes aprendizado de máquina não é a melhor resposta para todos os seus problemas.”
Não estou dizendo que o aprendizado de máquina não é uma das descobertas mais importantes do século 20, ou mesmo tentando te persuadir a não o usar e aprendê-lo. Só estou dizendo que, as vezes, as pessoas tendem a acreditar que o aprendizado de máquina é uma bala de prata, algo que você pode utilizar para resolver qualquer problema, simples ou difícil. E porque então ele não é…?
Bem, Artificial Intelligence é complicada, do ponto de vista de engenharia de software é uma solução difícil de manter, sendo não determinística, não é possível precisar exatamente como um modelo está desempenhando no mundo real já que não temos conjuntos anotados de dados de teste em tempo real, lembrando que os nossos dados de teste mudam ao longo do tempo e sem retreino um modelo envelhece.
Ao olhar mais profundamente, a natureza não determinística de um modelo de Machine Learning torna difícil determinar predições passadas ou manter uma boa governança sobre qual foi a predição que alguém recebeu como indicação para um próximo filme em uma playlist, por exemplo.
Outro ponto importante é que você precisa de dados… E quando digo dados, digo, MUITOS DADOS! Existem problemas que levariam anos para gerar a quantidade de dados, para anotá-los, mais um século. Sendo assim, as vezes é mais fácil determinar regras, escrevê-las e resolver o problema com modelos simples, ou até modelos matemáticos que podem entregar resultados em menos tempo e até ser utilizados como forma de preparar os dados para um modelo mais elaborado de Machine Learning.
Conhecer melhor todo o Big Data Pipeline faz com que possamos tomar melhores e maiores decisões sobre os dados com o qual lidamos, melhorando também nosso conhecimento de como obtê-lo, enriquecê-lo e usá-lo para criar melhores modelos.
Como conclusão este artigo foca em ajudar as pessoas a entender como a ciência de dados é, e deve ser mais que somente criar modelos, ela engloba a ideia de como podemos fazer com que nosso trabalho com dados tenha mais impacto e ajude mais pessoas a resolver problemas complexos. Ainda existe muito a ser estudado, a ser aprendido e a ser desenvolvido, mas por sorte, cada vez temos acesso a melhores ferramentas tecnologias e negócios para lidar! Sendo assim, vamos todos aprender e trabalhar pelos melhores resultados!