MAGI: A Plataforma de Machine Learning da ViaHub

Iago Modesto Brandão
casasbahiatech
Published in
7 min readJul 21, 2023

Escrito por: Time MLOps

Introdução

Em um mundo onde a quantidade de modelos de Machine Learning cresce de forma exponencial, a importância de uma Plataforma que acompanhe todo o seu ciclo de vida se torna cada vez mais necessária, principalmente em empresas com diversos modelos produtivos de Machine Learning.

Quando falamos em modelagem e implantação, temos algo ainda mais desafiador, pois cada modelo possui requisitos únicos de tratamento, treinamento, implementação, monitoramento e manutenção. Gerenciar todos esses processos de forma manualmente pode ser uma tarefa extremamente difícil e propensa a erros, o que pode implicar no rastreamento e reprodutibilidade dos modelos, gerando perdas significativas ao negócio como um todo, perdas que podem envolver desde mau gerenciamento de tempo, desperdício de recursos a impactos negativos na tomada de decisões baseadas em dados solidários por estes modelos.

Mas afinal, o que é uma Plataforma de ML?

Uma Plataforma de Machine Learning tem como objetivo sanar as dores complexas mencionadas anteriormente, gerenciando a integralidade do ciclo de vida do modelo, desde o estágio de desenvolvimento, com ferramentas de gerenciamento de modelos, telemetria e reuso de recursos, ganhando amplo destaque na etapa produtiva, onde existe grande carência, como o processo de implantação protegido e monitoramento sistêmico de modelos, dados e KPIs.

MAGI

Apresentaremos a MAGI, a Plataforma de ML da ViaHub, uma Plataforma de ML idealizada para abranger de ponta a ponta as necessidades dos nossos cientistas de dados com produtos desenhados especificamente para o contexto de Machine Learning.

Dentre essas necessidades, destaca-se a de obter a tranquilidade de que seus modelos estão rodando de forma segura, escalável e observável, permitindo que invistam seu tempo no desenvolvimento de novos modelos ou melhoria de modelos já existentes. Além disso, a confiabilidade é um ponto importante, saber que seu modelo continua entregando dados é um ponto importante.

Para atender todas essas necessidades, temos três módulos na plataforma que se integram, sendo eles a Casper, Balthasar e Melchior. Cada um deles com seus produtos. A seguir, vamos detalhar melhor sobre a composição dos módulos e produtos MAGI.

Curiosidade: A MAGI tem uma identidade visual que foi inspirada nos supercomputadores do anime Neon Genesis Evangelion.

Casper

Sempre que falamos de MLOps, associamos à fazer deploy de modelos em produção, não é mesmo? 🤭

O módulo Casper busca atender as dores relacionadas ao deploy de modelos. Desenvolvido com o objetivo de ser robusto, escalável, reprodutível e ágil, tudo isso utilizando as melhores práticas e tecnologias do mercado.

Os produtos da Casper são o Deploy propriamente dito e as Esteiras de CI/CD associadas a este.

Esteiras CI/CD (Continuous Integration/Continuous Deployment)

Fazer deploy manualmente é uma atitude do passado, né? 🤭

As Esteiras de CI/CD foram instruídas para ganhar velocidade, escalabilidade e reprodutibilidade no deploy, além de eliminar o desperdício de tempo e recursos por utilizar padronização de código e boas práticas de software.

Utilizamos principalmente o GitHub Actions para realizar nossas funções de CI/CD. Para saber mais detalhadamente como operar nossas esteiras, acesse este artigo.

Deploy

Manter o código dos modelos rodando na próprio laptop parece seguro para sua empresa? 🫣

O processo de deploy da MAGI foi desenhado para ser confiável, rápido e auditável, reduzindo o tempo necessário para colocar modelos em produção e minimizando o risco de erros e falhas.

"Depois que padronizamos nosso processo, o tempo até o deploy caiu de 2 semanas para apenas 3 dias" (Engenheiro de ML)

Para saber mais detalhadamente como funcionam nossas esteiras, acesse este artigo.

Melchior

Mesmo levando o homem até a Lua, de nada adianta um foguete que não consiga ser monitorado e ter sua saúde verificada. Com modelos é a exata mesma coisa 🌕

O módulo Melchior é focado no aumento da qualidade dos modelos produtivos por meio da observabilidade. A Melchior possui produtos relacionados telemetria e monitoramento de tabelas, drift de modelos e drift de dados.

Monitoramento de Drift (Modelos, Dados e KPIs)

Felizmente (ou não), a realidade muda, e com ela, os dados também mudam, por que os modelos se mantém os mesmo? 👀

O drift é um fenômeno que acontece sempre que a mudança na distribuição dos dados históricos e atuais acontece

O Monitoramento de Drift é um produto que busca monitorar a saúde de modelos, dados e métricas de negócio em produção, disponibilizando o ferramental estatístico necessário para suportar este monitoramento.

Em essência, o Monitoramento de Drift busca dar visibilidade de quando o conteúdo de um conjunto de dados pode ter sofrido mudanças ao decorrer do tempo, significando uma mudança de comportamento ou uma falha no processo de cálculo do dado, ou ainda dar visibilidade de quando um modelo de ML está perdendo poder preditivo e precisa ser reavaliado.

"O monitoramento de drift pode não só monitorar modelos, mas também entender quando KPIs de negócio se alteram significantemente" (Gerente de Dados)

Temos disponibilizados dentro do Monitoramento de Drift diversas funções estatísticas implementadas em PySpark, como KS (Kolmogorov Smirnov), PSI (Population Stability Index), Performance Tracker e Domain Classifier.

Telemetria

Sabe quando acontece alguma coisa em produção, mas você não sabe o que houve? 👻 Para os modelos, esse é o mundo sem Telemetria

A Telemetria busca gerar de forma simplificada informações para a visibilidade de Fluxos de ML existentes na ViaHub. O processo de telemetria foi pensado para ser o mais amigável, fácil e ágil para os usuários, sendo bem prático para usuários de Python.

"Usar a telemetria é muito prático, você pode monitorar a sua aplicação facilmente"

Para obter informações de saúde das aplicações de ML, a Telemetria Melchior pode ser utilizada de forma genérica, adicionando apenas os decoradores e metadados do projeto, as funções do código de ML passam a ser armazenadas e analisadas.

Data Quality

Sabe aquele erro silencioso que só a sua área cliente vai conseguir capturar 🫣? Então, ela pode se monitorada com nosso processo de Data Quality

O Monitoramento de Tabelas (Data Quality) busca monitorar falhas silenciosas geradas por anomalias e desvios nos dados de saída de Modelos de ML, evitando assim que execuções defeituosas sejam passadas despercebidas.

Como exemplo, um caso anômalo que seria uma falha silenciosa que executaria com sucesso é de uma tabela que sempre acrescenta diariamente 1,5 milhões de novos registros, se essa tabela passasse a receber apenas 200 mil novos registros por dia, ou pior, recebesse 2,1 milhões novos registros na execução, um alerta precisa ser gerado para investigar a causa. O Monitoramento de Tabelas realiza este papel.

"Conseguimos deixar nossas entregas de Engenharia de Dados mais robustas usando o Data Quality ao aplicar de forma simples o Monitoramento de Tabelas Melchior" (Engenheiro de Dados)

Com esses recursos, é possível detectar e corrigir problemas rapidamente, garantindo que os dados estejam sempre operando com alta qualidade e precisão.

Balthasar

Como todo bom marinheiro, conhecer o mar é imprescindível 🛳

O módulo Balthasar busca as melhores ferramentas que podem compor o ciclo de desenvolvimento de modelos, tendo atualmente o produto Feature Store.

Feature Store

Já pensou em uma biblioteca com as melhores informações de todos os tempos, mas desorganizada 📚? A Feature Store organiza e centraliza isso.

A Feature Store é uma solução para gerenciar e compartilhar features usadas pelos modelos de machine learning, ajudando a reduzir a complexidade e o tempo necessário para desenvolver modelos de machine learning, além de aumentar a reutilização de features e melhorar a consistência e qualidade dos dados usados pelos modelos.

“Conseguimos rastrear toda a linhagem da nossa feature, agora sempre que uma alteração precisa ser feita sabemos qual modelo pode ser impactado” (Analista de Dados)

Considerações finais

A MAGI, que é a Plataforma de Machine Learning da Viahub, representa um avanço significativo para o amadurecimento do gerenciamento do ciclo de vida de modelos de machine learning em produção, oferecendo recursos inovadores e uma abordagem completa para implementação de modelos de machine learning em produção, desde a fase de desenvolvimento até a fase de operação. Isso ajuda a reduzir o tempo necessário para colocar modelos em produção, melhorar a qualidade e confiabilidade dos modelos, e reduzir o risco de falhas e erros.

Com a MAGI, o time de dados tem uma ferramenta poderosa para acelerar o desenvolvimento e a operação de modelos de machine learning, ajudando a transformar dados em insights valiosos e melhorar a eficiência de negócios em diversas áreas.

Vem pra Viahub!

Confira nossas vagas em https://viahub.gupy.io/

Referências

Kreuzberger, D., Kühl, N., & Hirschl, S. (2023). Machine learning operations (mlops): Overview, definition, and architecture. IEEE Access.

https://arxiv.org/ftp/arxiv/papers/2205/2205.02302.pdf

Symeonidis, G., Nerantzis, E., Kazakis, A., & Papakostas, G. A. (2022, January). MLOps-definitions, tools and challenges. In 2022 IEEE 12th Annual Computing and Communication Workshop and Conference (CCWC) (pp. 0453–0460). IEEE.
https://arxiv.org/pdf/2201.00162.pdf

Google Cloud (2023). MLOps: pipelines de entrega contínua e automação no aprendizado de máquina
https://cloud.google.com/architecture/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning?hl=pt-br#mlops_level_0_manual_process

--

--

Iago Modesto Brandão
casasbahiatech

Passionate by tech and all possibilities, come with us to learn more and develop the next step of the world?