Ciência de Dados: da academia ao mercado de trabalho
A interseção entre a academia e o mercado de trabalho na área de ciência de dados e machine learning é maravilhosa — e complexa. Enquanto em projetos pessoais e competições somos convidados a nos concentrar na elaboração de algoritmos inovadores e na obtenção de pontuações impressionantes e precisas, no ambiente empresarial, os desafios vão muito além da simples construção de modelos.
Algumas leituras recentes despertaram esta reflexão sobre as principais diferenças entre a construção de algoritmos em contextos acadêmicos/portfólios pessoais e sua construção dentro de grandes corporações. A engenharia de software pode desempenhar um papel crucial na implementação prática de sistemas de ML.
Para entender melhor tais diferenças, recorro ao excelente livro “Designing Machine Learning Systems”, de Chip Huyen. Ela oferece insights valiosos sobre as complexidades envolvidas na implementação de sistemas de Machine Learning em ambientes de produção.
Escalabilidade versus manutenção
Uma das diferenças fundamentais é a ênfase na escalabilidade e na manutenção dos sistemas que acontece no mercado de trabalho. Por outro lado, há a busca constante pela otimização de métricas, que costuma dominar o cenário acadêmico/competições/portfólio.
Enquanto os desafios propostos em competições como Kaggle geralmente envolvem aprimorar um único modelo para maximizar a precisão, ou outra métrica de desempenho, no mercado de ciência de dados os profissionais enfrentam a tarefa de integrar estes modelos em sistemas maiores, lidando com preocupações como escalabilidade, eficiência computacional, explicabilidade da solução e manutenção a longo prazo. Isso significa que, sim, muitas vezes abre-se mão de alguns pontos percentuais de precisão, ou até da escolha do próprio modelo, por uma integração mais fluida com o sistema como um todo.
Individual versus equipe
O livro também ressalta a importância da colaboração interdisciplinar e da comunicação eficaz no ambiente de trabalho. Os cientistas de dados frequentemente precisam colaborar com engenheiros de software, analistas de negócios e outros profissionais para desenvolver soluções que atendam às necessidades e restrições do negócio.
Essa colaboração contrasta fortemente com a natureza mais ‘individualista’ do ambiente acadêmico ou de competições. Isso porque muitas vezes os participantes trabalham de forma independente para desenvolver suas soluções.
Manutenção de dados
No entanto, uma das diferenças mais significativas entre a abordagem acadêmica e a prática profissional está na etapa de preparação e manutenção dos dados. Em projetos pessoais ou desafios, muitas vezes o foco está principalmente na modelagem em si. Grande parte do tempo e dos recursos são dedicados à experimentação com algoritmos, técnicas de feature engineering e otimização de hiperparâmetros. Portanto, essa abordagem tende a subestimar a importância da qualidade dos dados e todo o tempo gasto em sua preparação, labelização, validação com negócio e afins.
Mas vale lembrar que a necessidade de garantir a qualidade e a consistência dos dados não é apenas um obstáculo inicial. Ela persiste ao longo de todo o ciclo de vida do sistema de ML. Um aspecto particularmente relevante é o conceito de “model drift” (mudança do modelo). Ele refere-se à deterioração do desempenho do modelo ao longo do tempo devido a possíveis variações nos dados de entrada. Essas mudanças podem ser causadas por uma variedade de fatores, como alterações nos padrões de comportamento dos usuários ou alterações nas condições operacionais. Lidar com model drift requer uma vigilância contínua e estratégias de monitoramento eficazes, além de uma manutenção proativa dos modelos em produção.
Engenharia de Software
Em resumo, foi pensando em todas essas diferenças, e após atuar o último ano inteiro em um projeto focado em manutenção e monitoramento de modelos, que optei por fazer uma especialização em Engenharia de Software. A habilidade de compreender e aplicar os princípios de ES em projetos de Machine Learning permite esse olhar além da simples construção de modelos e aborda os desafios mais amplos associados à implementação de soluções de IA em ambientes reais.
Uma das principais vantagens de se aprofundar no universo Ops é a capacidade de desenvolver sistemas de ML mais robustos e escaláveis. Aprofundar o conhecimento em práticas de desenvolvimento de software amplia a visão. Também possibilita a adoção de uma abordagem mais estruturada e modular na concepção e na implementação de pipelines de dados e modelos. Isso torna os sistemas mais fáceis de dar manutenção e escalar à medida que as demandas do negócio podem evoluir.
Habilidades para a Ciência de Dados
Hoje temos o papel do Engenheiro de Machine Learning. Profundamente imerso com engenharia de dados e de software, traz esse olhar para os processos de implementação e MLOps de forma muito mais ativa do que o Cientista de Dados.
Contudo, reforço que essas são habilidades que todos os profissionais da Ciência de Dados se beneficiariam em ter. Elas proporcionam uma compreensão mais abrangente das melhores práticas em termos de testes e de integração contínua e entrega contínua (CI/CD). E isso é fundamental para garantir a qualidade e a confiabilidade do modelo. Também ampliam o olhar em termos do trade off custos x escalabilidade, facilidade na manutenção do ciclo de vida x complexidade e até no entendimento dos usuários sobre o funcionamento da solução. Dependendo do negócio, essa pode ser a métrica mais importante.
São conhecimentos que te tornam mais capacitado para desenvolver modelos de forma útil e absolutamente viável para a empresa que irá implementá-lo. E no final do dia, é sobre isso.
Leticia Gerola é especialista em Ciência de dados na Programmers. Sua principal responsabilidade é liderar e implementar projetos de Machine Learning em uma ampla gama de clientes de diversos setores do mercado por meio de tecnologia em nuvem. Com uma transição de carreira do jornalismo para a área de dados, tem paixão por novos projetos envolvendo Inteligência Artificial e MLOps. Nos momentos de lazer, Leticia surfa nas praias do litoral de São Paulo e participa de rodas de capoeira da capital.