ADVISIA Analytics
Insights Letter

Os desafios não técnicos de Machine Learning Operations (MLOps)

Machine Learning Operations (MLOps) é a combinação de processos e ferramentas com o propósito de facilitar o desenvolvimento, teste, e implementação de produtos de Machine Learning (Aprendizado de Máquina). Seu principal objetivo é garantir agilidade, simplicidade e robustez em todas as fases do ciclo de vida de projetos de Machine Learning (ML). Esse artigo explora a importância de MLOps para as empresas e os desafios não técnicos enfrentados para sua implementação bem-sucedida.

MLOps

Figura 1: Ciclo padrão de um projeto de Ciência de Dados, e etapas em que MLOps agrega valor

(Fonte: ADVISIA Analytics, adaptada de diferentes materiais)

A importância de MLOps

A transformação que ML pode trazer para uma empresa ou até mesmo um setor da economia é inquestionável. Diversos segmentos do mercado estão sendo ou já foram revolucionados muito rapidamente pela aplicação de algoritmos de aprendizado de máquina em larga escala.

Os exemplos disso são inúmeros: A Uber otimizou rotas e preços usando algoritmos de ML para prever o tempo das corridas e os locais que terão maior demanda, revolucionando o transporte; o Spotify aprimorou a indústria de música com recomendações personalizadas baseadas em dados do usuário; a Amazon melhorou suas operações com previsões de demanda e sistemas de recomendação; mais recentemente o ChatGPT da OpenAI, com seu uso inovador da linguagem natural, está impactando diferentes indústrias!

Nesses cases apresentadostemos exemplos de modelos e algoritmos de ML em produção, ou seja, que são executados de forma automática e contínua, com dados antes nunca vistos, resultando em um retorno contínuo. Isso não quer dizer que modelos que não estejam em produção não tragam benefícios, entretanto, eles serão menores que os de um modelo produtizado.

Dito isso, vale ressaltar que produtizar um projeto não é uma tarefa simples. Pesquisas¹ mostram que das empresas que dizem ter projetos de Ciência de Dados, apenas 50% das empresas conseguem colocar esses projetos em produção entre 30 e 90 dias.

Esse tempo pode até parecer aceitável, mas atualmente, onde inovações são cada vez mais frequentes, e sabendo que 14% das empresas respondentes conseguem produtizar seus projetos em até uma semana, esse número já não é mais tão aceitável assim. Vale ressaltar também que isso vale para um modelo. Agora se o número de modelos aumentar, qual o impacto no tempo de produtização?

tempo gasto para colocar um projeto em produção

Figura 2: Tempo relatado por diferentes empresas como necessário para colocar um modelo em produção

(Fonte: ADVISIA Analytics, adaptada de: Algorithmia¹)

O que acaba escapando do entendimento de muitos é que o código de ML de um projeto é apenas um dos componentes da solução, como podemos ver na Figura 3. Por este motivo, produtizar projetos de ML ainda é um desafio para muitas empresas, logo, a importância de se entender o que é, e, aplicar MLOps, cujo objetivo é facilitar que os projetos desenvolvidos e validados vão para produção rapidamente, e possam trazer valor de forma contínua para as empresas.

Figura 3: Componentes de um sistema que suporta um projeto de ML em produção

Figura 3: Componentes de um sistema que suporta um projeto de ML em produção

(Fonte: ADVISIA Analytics, adaptada de: Google²)

Como aplicar MLOps e começar

Tendo um pouco mais de clareza do que é, para que serve, e sua importância, podemos começar a entender como usar e ter Machine Learning Operations nas empresas. Pela definição, sabemos que esse é um assunto complexo, e que depende da combinação de ferramentas (programas de computador, plataformas etc.), pessoas, processos e cultura.

A fim de realmente aproveitar todos os benefícios que podem ser proporcionados, precisamos entender as duas pontas, a parte técnica e a parte de pessoas. Do lado mais ferramental, a primeira decisão que deve ser tomada é sobre “make-or-buy”, sendo necessário avaliar se faz mais sentido construir a arquitetura de MLOps internamente, ou adquirir uma solução pronta já disponível no mercado. Ambas as opções possuem pontos positivos e de atenção, e isso por si só vale uma discussão mais aprofundada. Entretanto, nesse artigo vamos focar nos desafios não técnicos.

Pessoas

Na Figura 3 fica evidente que para um projeto de ML ir para produção exige a combinação de conhecimentos de diferentes áreas. Sendo possível listar, ainda observando a Figura, TI, ao falar de Infraestrutura, DevOps, em automação, Engenharia de Software, em teste e debugging, Engenharia de Dados, em extração de dados e Ciência de Dados, na parte de Machine Learning.

Ou seja, o primeiro desafio do lado de pessoas está em montar um time que tenha todas essas competências. Não é necessário que se tenha experts em todos os assuntos, entretanto o time de MLOps deve entender minimamente sobre todas elas, de tal forma que consiga pelo menos conversar com experts dessas 5 áreas.

Importante destacar também que estamos buscando pessoas com mentalidade de criação de produtos. Esse time vai construir e definir soluções e padrões que serão utilizadas pelos cientistas de dados da empresa. Ele não vai necessariamente colocar projetos em produção, mas sim garantir que os cientistas, analistas de dados e negócio ganhem autonomia e agilidade nas suas atividades. É interessante então que o time de Machine Learning Operations veja o resto da companhia como seus clientes.

O desafio aqui está em conseguir montar um time com conhecimentos de várias áreas, que consiga se relacionar bem com o resto da empresa e tenha uma mentalidade de criação de produtos, com o usuário final sempre em mente.

No final, existem três formas de se montar esse time. A primeira é utilizando os profissionais que já se tem dentro da empresa, ou contratando. A segunda seria contratando uma consultoria que já tem expertise no assunto que vai construir ou configurar as ferramentas necessárias e depois repassar o conhecimento gerado. Por fim, a terceira forma seria uma combinação da primeira e da segunda, onde se monta um time interno e acelera seu desenvolvimento com um parceiro externo mais experiente.

Com o time de MLOps definido, o próximo desafio é como fazer com que as mudanças que estarão por vir sejam aceitas e utilizadas no longo prazo. Como disponibilizar as ferramentas construídas, definir treinamentos e comunicar o que foi feito.

Processos MLOps

Pela nossa experiência, a maioria das empresas tem áreas de ciência de dados descentralizadas, ou seja, mais de um time ou squads de ciência de dados. Caso a empresa não esteja madura com relação aos seus processos e padrões o resultado é uma falta de padrões entre esses diversos times, de tal forma que cada equipe tem seu framework para desenvolver projetos, sua forma de documentar o que foi feito, seu processo para lidar com novos projetos e sua forma de colocar projetos em produção.

Entretanto, todos esses fatos ainda podem acontecer em empresas com uma única equipe de cientistas de dados se não existirem padrões e processos claros e bem documentados.

Isso tudo tem um impacto significativo, mas que muitas vezes é difícil de se perceber. Essa falta de diretrizes claras dificulta a troca de conhecimento entre os times e indivíduos, pois cada projeto tem um padrão; pode gerar retrabalho, visto que se pode não saber quais projetos já foram realizados, resultando em projetos similares sendo realizados; e até torna o processo de produtização demorado, visto que cada projeto pode rodar em soluções diferentes, o que requer diferentes ajustes para cada projeto.

Dessa forma, o time de MLOps deve sistematizar esses pontos, definindo padrões para a estrutura dos projetos (ex: estrutura padrão de pastas, deixando códigos sempre no mesmo local), padrões de escrita de código (ex: nomes aceitáveis de variáveis), framework de desenvolvimento, documentação esperada (ex: arquivo de README para todo projeto), processo de produtização de projetos (ex: validação do código, da documentação, realização de testes, monitoramento do projeto.), papéis e responsabilidades (ex: data owner, model owner, TI, MLOps) e a infraestrutura de produção (ex: Azure Machine Learning, Kubernets etc.). Essas simples mudanças já facilitam a troca de conhecimento, início de projetos, handover e produtização, aumentando a produtividade de todos os envolvidos no desenvolvimento dos projetos.

O desafio dessa etapa está em conseguir definir os processos que façam sentido para a sua organização, que tenham propósito, não sendo apenas mais uma camada de burocracia, e conseguir garantir que eles sejam seguidos. Explicar o motivo por trás desses novos processos e MLOps ter o apoio de cargos mais altos, ou a autonomia para exigir que esses processos costumam facilitar que eles sejam seguidos.

Cultura

Ao lidar com pessoas e processos, invariavelmente esbarra-se na cultura. Portanto, antes de iniciar a implementar MLOps em uma empresa é necessário ter clareza sobre sua cultura, a fim de planejar a execução, diminuindo ao máximo os possíveis atritos. 

É importante ter isso em mente, pois essa implementação requer que as equipes estejam dispostas a adotar novos processos, tenham cada vez mais colaborações multidisciplinares e uma mentalidade voltada para produtos, o que pode ser uma mudança.

Logo, comunicar claramente os benefícios, frequentemente e garantir o comprometimento de todos os níveis da organização são essenciais para enfrentar esse desafio cultural em MLOps.

Os desafios não técnicos de MLOps: Pessoas, Processos e Cultura

Figura 4: Os desafios não técnicos de MLOps: Pessoas, Processos e Cultura

(Fonte: ADVISIA Analytics)

Conclusão

A implementação bem-sucedida do MLOps exige uma abordagem holística, que transcende a expertise técnica. Superar os desafios não técnicos — formar equipes colaborativas, estabelecer processos eficazes e cultivar uma cultura de apoio — é fundamental para desbloquear todo o potencial de MLOps, e colher os benefícios que a aplicação de Machine Learning pode trazer para as empresas.

Referências

¹ Building vs Buying a Machine Learning Plataform, ebook by Algorithmia, a DataRobot Company

² https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning

Gustavo Machado

Associate Data Science
ADVISIA Analytics

Formando em Matemática Aplicada e Computacional pela Universidade Estadual de Campinas, atualmente é Associate Data Scientist da ADVISIA Analytics. Possui vasta experiência em projetos de MLOps e otimização. Além disso, é proficiente em diferentes linguagens de programação, possui conhecimentos sobre as três maiores clouds públicas e em engenharia de software. Seu foco é aplicar essas habilidades para ajudar os clientes em sua transformação digital e produtizar os projetos desenvolvidos.

Conheça as soluções da ADVISIA Analytics

Oferecemos soluções especializadas nesse campo, caso tenha interesse em saber mais sobre nossas ferramentas entre em contato conosco hoje mesmo!

ADVISIA Analytics

Count on our team of experts to achieve the digital transformation of your company.

Conte com o nosso time de especialistas para alcançar a transformação digital da sua empresa.