Artigo Assinado por: Neylson Crepalde – CTO da A3Data


Se olharmos para o cenário das empresas brasileiras, o ecossistema de startups, prestando atenção em seus projetos de analytics e inteligência artificial, facilmente veremos que o Brasil já possui um certo ponto de maturidade no que diz respeito à qualidade de seus profissionais. Hoje, boa parte dos cientistas de dados brasileiros possuem conhecimento consolidado tanto em tecnologia quanto na parte metodológica necessária para soluções de Machine Learning. Eles sabem escolher o algoritmo mais adequado para cada tipo de situação, entendem claramente a estrutura do código para executar suas soluções em diferentes plataformas, são capazes de traduzir problemas de negócio em soluções analíticas e se comunicar bem. Em suma, as pessoas “sabem fazer”.

Do lado das empresas, já é história aquela época em que os recrutadores buscavam a figura do “Cientista de Dados Unicórnio” (em sua maioria, pelo menos), que desenvolvia processos ETL, modelava tabelas de dados, desenvolvia modelos de Machine Learning, executava testes de hipóteses, elaborava dashboards, cuidou da implantação de soluções em ambiente de produção e até falou sobre as grandes filosofias de vida… Uma vez entendido que esse “unicórnio” não escala (e é uma figura incrivelmente rara, se é que existe), as organizações perceberam que a maneira mais ágil de colocar suas soluções analíticas em funcionamento é reunindo equipes analíticas contendo as diversas competências necessárias para o sucesso dos projetos. Também compreenderam (de forma bastante diferente do passado) que a diversidade é crucial para desenvolver soluções mais criativas e inovadoras. A figura do unicórnio foi dividida em diversos profissionais (Analista, Arquiteto, Engenheiro de Dados, Cientista de Dados, Engenheiro de Machine Learning, por exemplo) o que demonstra um maior grau de maturidade na área.

Porém, quando se trata de ter processos para garantir eficiência e agilidade em projetos de Machine Learning durante todo o seu ciclo de vida, meu amigo, estamos uma bagunça! Segundo a revista Forbes, 87% dos projetos de Machine Learning nunca chegam à produção. No Brasil não é diferente: vários projetos ambiciosos e inovadores de Machine Learning com equipes incríveis não conseguem produzir valor porque as organizações simplesmente não possuem processos bem estruturados.

A engenharia de software é uma área da computação que busca resolver o problema de processos relativos à construção e implementação de artefatos de software. Há algumas décadas, métodos, processos e técnicas têm sido aplicados para melhorar o ciclo de vida das aplicações. O problema de tais processos nas organizações, porém, não é um problema novo… é um problema antigo. Esta questão torna-se mais complicada quando este velho problema encontra uma nova área, como o desenvolvimento de aplicações de Inteligência Artificial. A percepção dos profissionais da área é clara: as soluções atuais não são suficientes para resolver esses problemas antigos.

Situações comuns neste cenário são:

  • equipes de análise se desenvolvendo de forma completamente desintegrada (cada uma com sua própria linguagem de programação, framework, estilo de programação);
  • falta de controle de qualidade dos códigos causando depuração super longa (que pode durar semanas);
  • separação entre o código de experimentação e o código que realmente entrará em produção causando um enorme tempo de refatoração antes da implantação;
  • configuração de ambientes, de servidores, de estrutura de nuvem (quando disponível) totalmente manual;
  • necessidade de testes automatizados em tempo real (testes A/B);
  • a necessidade de SysOps acompanhar todas as decisões e detalhes de execução dos algoritmos (imagine isso hoje em dia que temos toda uma crise de COVID-19);

Entre muitos outros.

Em nossa experiência, a A3Data encontrou essas e outras diversas situações desafiadoras. Para ajudar nossos clientes a desenvolver as melhores soluções da forma mais ágil possível, adotamos algumas boas práticas como:

  • padronização de estrutura de código e frameworks usados para Machine Learning;
  • diminuindo a quantidade de código escrito reutilizando o máximo possível de código já escrito;
  • adotar um sistema de governança e controle de dados e modelos na fase de experimentação, incluindo suas métricas e principais artefatos;
  • iniciar o desenvolvimento já tendo em mente que o código vai para produção diminuindo a distância entre “código de experimentação” e “código de produção”;
  • fazer controle de versão das soluções implementadas;
  • fazer o controle de qualidade do código elaborado pela equipe;
  • gerenciar de forma inteligente projetos de equipes de Machine Learning;
  • aplicando integração contínua e entrega contínua de soluções.

Ao adotar essas boas práticas, desenvolvemos algumas soluções próprias para facilitar o dia a dia das equipes de Ciência de Dados. Essas soluções foram compiladas em um framework que se tornava um pouco mais maduro a cada novo projeto.

Agora, o framework ganhou um nome! Hermione tornou-se open source e está disponível para amplo uso pela comunidade. O nome não foi escolhido à toa. Veio de uma personagem conhecida: uma sensacional, empoderada, educada, inteligente e perspicaz menina, cuja principal missão era ajudar seus amigos! Não poderíamos ter escolhido um nome melhor para representar o nosso posicionamento em relação ao lugar da mulher na tecnologia! #CodeLikeAGirl

Como cientistas de dados, também queremos um mercado de dados ágil, altamente sofisticado e desenvolvido, onde as empresas possam utilizar soluções de ponta para competir no cenário nacional e internacional. Queremos ver as equipes de ciência de dados trabalhando de forma integrada, colaborativa, automatizada e segura. Queremos ver cada vez mais pessoas nas organizações capacitadas e imersas numa cultura orientada por dados.

Hermione é uma de nossas contribuições para isso. Ela auxilia em algumas dessas boas práticas citadas acima, facilita o processo de “produção” de soluções de Machine Learning e é altamente adaptável às necessidades do seu projeto ou da sua equipe. As equipes de Ciência de Dados ganharam um grande aliado para otimizar seus processos e garantir que seus projetos não se tornem “mais um” na conta de fracassos da revista Forbes.

Notícias

O grande risco de fracasso dos projetos de ciência de dados