MLOps (Machine Learning and Operations) no Azure

O MLOps (Machine Learning e Operations), de forma similar ao DevOps, é a combinação de práticas e ferramentas que permitem aos times de Data Science e Operações melhorar a implementação de modelos, através da governança de modelos de ML (Machine Learning) e IA, monitoramento, validação, colaboração e comunicação.

MLOps-MSFT
Figura: Microsoft Azure – MLOps

Isso porque segundo Gartner, muitas empresas estão desenvolvendo modelos de Machine Learning, mas apenas 47% deles são publicados em produção. E ainda 88% das iniciativas de IA possuem dificuldades para passar do estágio de teste.

Azure ML é composto de interfaces web e SDK que faz o treinamento e deploy do modelo. O processo (figura abaixo) envolve a gestão dos dados, limpeza dos dados, escrevendo e executando experimentos, publicando os modelos para coletar os dados reais (em produção) e aplicar melhorias nos modelos.

MLOps

  • Experiment: os cientistas de dados realizam diversos experimentos, evoluindo e coletando dados, a procura de respostas para as necessidades do negócio. Fundamento nos conceitos de DevOps e da Engenharia de Software, o MLOps sugere práticas para evitar a promoção de modelos mal escritos a outros ambientes.
  • Develop: o treinamento dos algoritmos (Azure ML Training Services), ETL (Data pipelines) e as práticas de CI/CD para criação dos Pipelines (Azure DevOps Pipelines) de deploy dos experimentos construídos de ML.
  • Operate: inference, monitoramento (com uso de analyse/profile, app telemetry, etc.), testes automatizados e data feedback loop para aprendizado com os dados que levam a melhorias nos modelos.

 

Vantagens

Com os times trabalhando juntos (cientistas de dados e operações), encorajam as operações de negócio data-driven, reduzindo o gap entre a descoberta de insights e ações de implementação. Algumas das vantagens são:

  • Reprodutibilidade e auditabilidade: a criação dos modelos em pipelines específicos e reproduzíveis, possibilitando rollbacks (em caso de erros) e auditorias, caso seja necessário algum rastreamento.

  • Validação: herda conceitos de DevOps como validações automáticas, testes, profiling e gestão de ambientes.

  • Habilita automação e observabilidade ao realizar novas implementações. Permite a comparação entre predicted x expected performance. Coleta as informações que servem de treinamentos aos modelos para melhorias futuras.

 

Fases do MLOps

O framework DevOps para soluções AI no Azure pode ser macro representado dessa forma:

Azure-AI-solutions

E compreende quatro principais fases entre a criação até a implantação dos modelos:

  1. Criação e treinamento dos modelos: use o treinamento com pipelines de aprendizado para criar pipelines reproduzíveis, reunindo todas as etapas (da preparação de dados à avaliação do modelo).
  2. Implantação de modelos: empacotamos o modelo para implantação e a criação de perfil para ajudar a configurar memória, CPU e validar os modelos.

  3. Automatizar o aprendizado E2E: atualizar frequentemente os modelos com Azure Machine Learning e GitHub, testar e implementar continuamente com outros aplicativos e serviços.

  4. Trilha de auditoria: coletar os dados de ponta a ponta para estabelecer uma trilha de auditoria. Por exemplo: dados do publicador dos modelos, data de implementação, uso em produção, etc.

fases-MLOpsFigura: Microsoft Azure – MLOps (adaptada)

 

 

Digital Decoupling – atividades na cadeia de valor

book-unlocking-customer-value-chain O termo Digital Decoupling, abordado no livro Unlocking the Customer Value Chain traz conceitos importantes sobre a cadeia de valor das empresas e como os consumidores lidam com elas, responsáveis por produtos ou serviços do nosso interesse.

Tudo isso é considerado como o principal eixo da 3ª onda de disrupção digital, por conta dos impactos em diversas áreas como varejo, bancário e transportes.

E o que seria “desacoplar” então?

Está muito relacionado a evoluir os elementos de TI (de sistemas legados) que estão na cadeia de geração de valor e receita, mantendo os elementos que são commodities. E assim, quebrar os elos existentes das atividades na cadeia de valor.

Os sistemas legados não vão desaparecer de imediato! Por isso, a estratégia de desacoplar é muito relevante, considerando que existem milhares de aplicações, regras de negócio e dados que ainda pertencem aos legados.

vantagem é de habilitar a entrega contínua e processos de inovação sem precisar da migração completa dos sistemas legados.

Digital Decoupling

Utiliza metodologias de desenvolvimento, novas tecnologias e métodos de acesso para permitir a construção de novos apps diante dos legados. Entre algumas características do digital decoupling:

  • Arquitetura escalável e flexível para habilitar agilidade e inovação as empresas;
  • Inclui recursos como data lakes, microsserviços, APIs, RPA, DevOps, etc.
  • Permite a entrega de valor frequente

O propósito é desacoplar o sistema core, através de migração das funcionalidades (ou até mesmo de sistemas, caso esteja inserido em um ecossistema) e dados para novas plataformas baseadas em serviços. Por exemplo, o ecossistema educacional que pode ser aberto a provedores de serviços terceiros, permitindo assim criar novas jornadas e experiência de uso aos clientes.

digital-decoupling

Os principais enablers do Digital Decoupling são:

  • APIs: tem por finalidade, integrar sistemas de forma simplificada e padronizada, prover segurança dos dados e facilitar a troca de informações entre aplicações. Pode ser consumido por apps, aplicações externas, dispositivos IoT, etc. A camada de integração é abstraída do sistema legado e compartilhada com todos os canais, provendo um catálogo de serviços reutilizáveis.
  • Decoupling data: permitir a cultura Data Driven através do uso de Fábrica de dados – gestão eficaz dos dados, Big, Fast e Small Data, e também da implementação do Data Driven Analytics. Criar uma plataforma de dados que permite “desbloquear” o potencial dos dados armazenados, utilizando APIs, ML/AI, Data Lake e Smart Views.
  • Infrastructure & Architecture: garantir a alta disponibilidade, segurança e escalabilidade. O Smart Messaging é uma camada recomendada para processamento de “eventos” e filas de mensagens (real time & event based) ou quando necessita da gestão de grandes volumes. Também contempla os serviços de monitoramento das aplicações e cloud services.

A estratégia de desacoplamento em seu ecossistema pode levar a bons resultados, tais como: arquitetura exponencial, gestão de custos e diminuição de débito técnico. Atualmente, muitas organizações adotaram a estrutura “produtizada” com times multifuncionais. E assim, o Digital Decoupling com elementos de valor desacoplados e foco na estrutura operacional deve ser a próxima evolução de como vamos entregar valor para nossos clientes.

digital-decoupling-evolucao