Afinal, o que é o #MLOps e por que é tão importante para Ciência de Dados?

Afinal, o que é o #MLOps e por que é tão importante para Ciência de Dados?

Primeiro fazer a engenharia do dado e o famoso feature engineering até ter um dataset bem organizado e num formato perfeito para ser utilizado num treinamento do modelo ideal, após horas de análise sobre o problema inicial do seu cliente.

E então vem o treinamento do modelo - e mesmo nos modelos tradicionais ou indo ao Deep Leaning, à ânsia da espera pelo resultado é a mesma. Depois de alguns ajustes e do famoso fine tuning do modelo o resultado chega, a acurácia é a ideal de acordo com o que foi proposto inicialmente pelo cliente e a alegria da entrega de valor é iminentemente...

Mas aí chega a grande pergunta do cliente:


Quando entra em produção?

E então surgem as dúvidas:

Produção? Como assim? Consigo rodar o Jupyter Notebook aqui na minha máquina. Posso te entregar um .pickle do modelo, pode ser? Ah, o Keras e o Fast.ai permitem exportar o modelo, mas no formato deles. Te atende?

O famoso 'funciona na minha máquina'!

Não, claro que não atende!

O cliente quer ver o modelo em produção, sendo utilizado por todas as áreas da empresa e de preferência mostrando os resultados plausíveis e agregando valor ao negócio.

E aí então que se chega num termo muito importante para Ciência de Dados: o MLOps.


Conhecendo um pouco mais sobre o MLOps

Por trás de toda a hype ao se agregar a sigla “Ops” ao final de alguma abreviação, tem uma grande vertente na área de Ciência de Dados que é a da preocupação por operacionalizar um modelo treinado. Em termos mais técnicos, é fazer o deploy dos modelos em produção, tornando-os utilizáveis de fato para a empresa.

Com isso, mais desafios passam a fazer parte da área e mostram que a Ciência de Dados deve sim ir muito além dos Jupyter Notebooks.

Devemos sim nos preocupar com controle de versão e passar a utilizar no dia a dia termos como 'Git Commit -m “”' e 'Git Push'. Temos que ter um repositório de códigos, utilizando-os a cada projeto!

O Docker também é nosso aliado e sim, funciona muito bem com o Flask ou com o Django - acredite, por experiência própria nunca mais quero utilizar máquinas virtuais depois da minha primeira API em Flask.

Além do Docker, ambientes em Cloud devem ser utilizados para a orquestração e gerenciamento das nossas aplicações. O Kubernetes (e os seus K8s) são ideais e o Cientista de Dados passa a conhecer comandos como o incrível 'kubectl get pod'.

E os resultados obtidos da aplicação que está operando o modelo? Como utilizá-los para uma retroalimentar este mesmo modelo afim de realizar um novo treinamento, dessa vez com dados reais de produção?

E o gerenciamento de informação? Podemos utilizar uma collection do MongoDB para isso?

Mongo? De verdade? Mesmo? Hahaha...


Não foi fornecido texto alternativo para esta imagem

A evolução da Ciência de Dados passa sim pelo MLOps!

Escalabilidade, tempo de resposta e disponibilidade da aplicação são pontos importantes que devemos nos preocupar. Para o cliente, o importante é ter a aplicação funcionando e o modelo disponível para utilização.

Portanto sim, é imprescindível que nós, Cientista de Dados, nos tornemos cada vez mais responsáveis por aquilo que criamos. Treinar um modelo pode ser considerado como somente a primeira parte para fazer com que a aplicação como um todo esteja disponível para o cliente e de verdade agregue valor para o negócio.

O MLOps deve sim se tornar mais frequente nas empresas que estão apostando e enxergando a Ciência de Dados como área transformadora dos seus negócios. E cabe a nós, Cientistas de Dados, nos preocupar com a utilização dos nossos modelos.

Do início ao fim!

Walner de Oliveira

Data Scientist: CREA-31211/D-DF

5 a

Muito importante esse assunto. Parabéns em divulgá-lo

Entre para ver ou adicionar um comentário

Outras pessoas também visualizaram

Conferir tópicos