Definição
Machine Learning Ops (MLOps) são um conjunto de práticas de fluxo de trabalho destinadas a otimizar o processo de implantação e manutenção de modelos de machine learning (ML).
Inspirado nos princípios do DevOps e GitOps, o MLOps busca estabelecer uma evolução contínua para integrar modelos de machine learning a processos de desenvolvimento de software. Ao adotar o MLOps, cientistas de dados, engenheiros e equipes de TI conseguem garantir simultaneamente que os modelos de aprendizado de máquina permaneçam precisos e atualizados, simplificando o ciclo iterativo de treinamento. Isso possibilita o monitoramento, retreinamento e implantação contínuos, permitindo que os modelos se ajustem às mudanças nos dados e mantenham um desempenho excelente com o passar do tempo.
Quais os benefícios de adotar o MLOps?
Os modelos de machine learning fazem previsões por meio da detecção de padrões nos dados. À medida que o modelo evolui e é exposto a informações com as quais não foi treinado, surge um problema chamado “desvio de dados". O desvio de dados acontecerá naturalmente com o tempo, conforme as propriedades estatísticas usadas para treinar um modelo de machine learning vão se tornando ultrapassadas. Isso pode afetar negativamente o negócio caso não seja analisado e corrigido.
Para evitar o desvio, é importante que as empresas monitorem seus modelos e mantenham um alto nível de precisão na previsão. As práticas de MLOps podem ajudar as equipes incrementando a qualidade e a precisão de um modelo preditivo, simplificando o processo de gerenciamento, evitando desvio de dados e aumentando a eficiência para os cientistas de dados.
Veja como o MLOps pode beneficiar sua empresa:
Reprodutibilidade: as empresas podem confiar na reprodutibilidade consistente de experimentos de ML porque o framework de MLOps ajuda a rastrear e gerenciar mudanças no código, nos dados e nos arquivos de configuração associados a diferentes modelos.
Integração e implantação contínuas (CI/CD): os frameworks de MLOps são integrados aos pipelines de CI/CD, viabilizando a automação de testes, validação e implantação. Isso incentiva uma cultura de melhoria contínua e agiliza os ciclos de desenvolvimento e entrega.
Cronogramas mais rápidos / mais colaboração: o MLOps facilita a colaboração entre os membros de uma equipe, eliminando obstáculos e aumentando a produtividade. Além disso, ao automatizar as tarefas manuais, as empresas podem implementar uma maior quantidade de modelos com mais agilidade e aprimorá-los com mais frequência para aumentar a precisão.
Redução de custo: realizar os ajustes e melhorias contínuas que a manutenção de um modelo preciso de ML exige é uma tarefa monótona, principalmente se for feita manualmente. Ao automatizar usando o MLOps, as empresas economizam recursos que de outra maneira seriam alocados para financiar trabalhos manuais demorados. Isso também diminui o risco de erros humanos e acelera o time to value por meio da otimização do processo de implantação.
Governança e conformidade aprimoradas: com as práticas de MLOps, as empresas podem aplicar medidas de segurança e garantir a conformidade com as regulamentações de privacidade de dados. O monitoramento do desempenho e da precisão também permite rastrear desvios nos modelos à medida que novos dados são integrados e agir proativamente para manter um alto nível de fidelidade ao longo do tempo.
Automatize e economize tempo com o MLOps
A adoção de práticas de MLOps elimina o trabalho manual relacionado ao monitoramento de modelos de machine learning ao mesmo tempo que assegura confiabilidade e desempenho contínuos. Ao facilitar a colaboração entre diferentes equipes, a prática de MLOps promove o desenvolvimento ágil e as decisões baseadas em dados.
O MLOps permite que todos os setores automatizem e simplifiquem o processo de desenvolvimento de machine learning. Os casos de uso para MLOps incluem:
Manutenção preditiva: prever falhas em equipamentos e programar manutenções de maneira proativa.
Detecção de fraudes: criar e implantar modelos que monitorem transações de maneira contínua para encontrar atividades suspeitas.
Processamento de Linguagem Natural (NLP): assegurar que aplicações como chatbots, tradutores e outros grandes modelos de linguagem (LLMs) tenham um desempenho eficaz e confiável.
Visão computacional: suporte a tarefas como análise de imagens médicas, detecção de objetos e direção autônoma.
Detecção de anomalias: identificar variações em relação ao padrão em vários contextos, como segurança de redes, processos industriais e dispositivos de IoT.
Saúde: implantar modelos para realizar diagnósticos de doenças, previsões de resultados dos pacientes e análises de imagens médicas.
Varejo: gerenciar o inventário, prever a demanda, otimizar os preços e aprimorar a experiência de compra dos clientes.
MLOps e DevOps
O MLOps pode ser considerado uma evolução do DevOps. Ele é baseado nos mesmos conceitos básicos de colaboração, automação e melhoria contínua, só que aplicados ao desenvolvimento de modelos de machine learning. Tanto o MLOps quanto o DevOps têm como objetivo aprimorar a colaboração com a equipe de operações de TI, cooperando com ela para gerenciar e manter softwares ou modelos de machine learning durante todo seu ciclo de vida.
O DevOps se concentra na automação de tarefas operacionais rotineiras e na padronização de ambientes para desenvolvimento e implantação. Já o MLOps é mais experimental por natureza e tem como foco explorar maneiras de gerenciar e manter pipelines de dados. Os dados usados nos modelos de machine learning estão em constante evolução, exigindo que o próprio modelo evolua junto com eles. Isso requer adaptação contínua e ajustes finos.
Teste, implantação e produção são diferentes no MLOps e no DevOps. Por isso, em projetos de machine learning, as equipes costumam recorrer a cientistas de dados que não são especializados em engenharia de software, mas que se concentram em experimentação, desenvolvimento de modelos e análise exploratória de dados. Algumas tarefas de MLOps que normalmente não são consideradas no DevOps incluem:
- Testes de validação dados, avaliação de qualidade do modelo treinado e validação do modelo.
- Criação de um pipeline de várias etapas para retreinar e implantar automaticamente um modelo de machine learning à medida que ele recebe novos dados.
- Acompanhamento de estatísticas resumidas dos seus dados e monitoramento o desempenho online do modelo para comunicar quando os valores desviam das expectativas.
Por fim, quando se trata da integração e implantação contínuas (CI/CD) no MLOps, a CI não se resume mais a testar e validar códigos e componentes (como acontece no DevOps). Na verdade, ela também significa testar e validar dados, esquemas de dados e modelos. A CD não tem mais a ver com um único pacote de software ou serviços, mas com um sistema (um pipeline de treinamento de machine learning) que vai implantar automaticamente outro serviço (serviço de modelo preditivo).
Como a Red Hat aborda as etapas do MLOps
Não há apenas uma maneira de criar e operacionalizar modelos de machine learning. No entanto, há uma necessidade constante de reunir e preparar dados, desenvolver modelos, transformar modelos em aplicações inteligentes habilitadas para IA e gerar receita com essas aplicações.
O Red Hat® OpenShift® inclui recursos essenciais para viabilizar o MLOps em data centers, na nuvem pública e na edge de maneira consistente. Isso acontece em cinco etapas:
Etapa 1: reunião/preparação de dados
Coleta, limpeza e rotulação dos dados estruturados ou não estruturados em um formato adequado para treinamento e teste de modelos de ML.
Etapa 2: treinamento do modelo
Os modelos de ML são treinados em notebooks Jupyter no Red Hat OpenShift.
Etapa 3: automação
O Red Hat OpenShift Pipelines oferece recursos de integração contínua orientada a eventos que ajuda a empacotar modelos de machine learning como imagens de container.
Etapa 4: implantação
O Red Hat OpenShift GitOps automatiza a implantação de modelos de machine learning em escala, em qualquer lugar, seja em uma infraestrutura pública, privada, híbrida ou na edge.
Etapa 5: monitoramento
Com as ferramentas oferecidas por nossos parceiros de ecossistema, sua equipe pode monitorar os modelos e atualizá-los com retreinamento e reimplantação, conforme necessário. À medida que novos dados são incorporados, o processo retorna à etapa 1, movendo-se continua e automaticamente pelas 5 etapas indefinidamente.
Introdução ao MLOps
É muito útil entender como seus fluxos de trabalho e processos se encaixam no escopo geral do MLOps, esteja você em uma fase exploratória da integração do machine learning em sua organização ou trabalhando com pipelines de ML há algum tempo. Normalmente, a maturidade de um processo de machine learning é categorizada em um de três níveis, dependendo do nível de automação presente no fluxo de trabalho.
MLOps nível 0: tudo é manual
As equipes que estão começando a usar o machine learning costumam trabalhar com um fluxo de trabalho totalmente manual. Nesse estágio, os cientistas de dados que criam o modelo estão desconectados dos engenheiros que o disponibilizam. Além disso, todas as etapas do processo (preparação de dados, treinamento do modelo, automação, implantação e monitoramento) são executadas sem automação. Não há integração contínua (CI) nem implantação contínua (CD). O controle de versões raramente é implantado, e quando há a implantação de um novo modelo, há uma chance maior de que ele não se adapte às mudanças.
MLOps nível 1: pipeline de ML automatizado
Vale a pena começar a implementar a automação no fluxo de trabalho se o modelo precisar ser ajustado a novos fatores de maneira proativa. Com um pipeline automatizado, novos dados são inseridos para treinamento contínuo (CT). Assim, o modelo pode acessar as informações mais relevantes para os serviços de previsão.
MLOps nível 2: sistema automatizado de CI/CD
Nesse estágio, as atualizações no modelo de ML são rápidas e confiáveis. O modelo é retreinado com dados novos diariamente (quando não a cada hora), e as atualizações são implantadas em milhares de servidores ao mesmo tempo. Com esse sistema, os cientistas de dados e engenheiros podem trabalhar de maneira otimizada em um ambiente colaborativo.
Desenvolver ou comprar?
Recursos e cronograma são fatores a serem considerados na hora de escolher se você vai desenvolver ou comprar uma plataforma de MLOps. Criar uma infraestrutura de machine learning funcional pode levar mais de um ano. Além disso, descobrir a maneira certa de criar um pipeline que realmente agregue valor à sua empresa pode demorar ainda mais. Também vale ressaltar que a manutenção de uma infraestrutura requer gerenciamento do ciclo de vida e uma equipe dedicada. Se sua equipe não possui todas as habilidades necessárias ou a capacidade para adquirir essas habilidades, investir em uma plataforma de MLOps completa pode ser a melhor solução.
Como a Red Hat pode ajudar
O portfólio de IA da Red Hat reúne os recursos comprovados do Red Hat OpenShift e do Red Hat OpenShift Data Science. Ele oferece uma plataforma empresarial de aplicações consistente e pronta para uso que ajuda os cientistas de dados e desenvolvedores a simplificar a integração entre IA e aplicações com segurança, consistência e em escala.
O Red Hat OpenShift AI inclui recursos essenciais para viabilizar o MLOps em data centers, na nuvem pública e na edge de maneira consistente.
O Kubeflow é um framework open source do Kubernetes usado no desenvolvimento, gerenciamento e execução de cargas de trabalho de machine learning (ML). Ao executar o Kubeflow no OpenShift, você padroniza operações de machine learning, organizando projetos e aproveitando o poder da cloud computing. Alguns dos principais casos de uso do Kubeflow incluem preparação de dados, treinamento de modelos, avaliação, otimização e implantação.