MLOps pode parecer o nome de um monstro peludo de um olho só, mas na verdade é uma sigla que significa sucesso na AI empresarial.
Uma abreviação para operações de machine learning, MLOps (Machine Learning Operations) é um conjunto de práticas recomendadas para que as empresas executem a AI com sucesso.
MLOps é um campo relativamente novo, pois o uso comercial da AI é bastante recente.
MLOps: Priorizando a AI Corporativa
O Big Bang da AI foi em 2012 quando um pesquisador ganhou um concurso de reconhecimento de imagens usando deep learning. A repercussão foi rápida.
Hoje, a AI traduz páginas da web e roteia automaticamente as chamadas de atendimento ao cliente. Ela ajuda hospitais a ler exames de raios X, bancos a calcular os riscos de crédito e varejistas a planejarem suas prateleiras para otimizar as vendas.
Em resumo, o machine learning, uma parte do amplo campo da AI, deve se tornar tão comum quanto as aplicações de software. É por isso que o processo de executar ML precisa ser tão sério quanto o trabalho de execução de sistemas de IT.
Machine Learning Chega ao DevOps
MLOps é modelado na disciplina existente de DevOps, a prática moderna de escrever, implementar e executar aplicações empresariais. O DevOps começou há uma década como uma maneira em que equipes opostas de desenvolvedores de software (os Devs) e de operações de IT (Ops) poderiam colaborar.
O MLOps adiciona à equipe os cientistas de dados, que preparam conjuntos de dados e criam modelos de AI que os analisam. Também são incluídos engenheiros de ML que executam esses conjuntos de dados nos modelos de maneiras disciplinadas e automatizadas.
É um grande desafio tanto no desempenho bruto quanto no rigor de gerenciamento. Os conjuntos de dados são enormes, crescentes e podem mudar em tempo real. Os modelos de AI exigem monitoramento cuidadoso por ciclos de experimentos, ajuste e retreinamento para manter a alta precisão.
Portanto, o MLOps precisa de uma poderosa infraestrutura de AI que pode ser dimensionada à medida que as empresas crescem. Para essa base, muitas empresas usam os sistemas NVIDIA DGX, o CUDA-X e outros componentes de software disponíveis no centro de software da NVIDIA, o NGC.
Acompanhamento do Ciclo de Vida para Cientistas de Dados
Com uma infraestrutura de AI instalada, um data center corporativo pode se basear nos seguintes elementos de um pacote de software MLOps:
- Fontes de dados e conjuntos de dados criados a partir delas
- Um repositório de modelos de AI marcados com seus históricos e atributos
- Um pipeline de ML automatizado que gerencia conjuntos de dados, modelos e experiências por seus ciclos de vida
- Contêineres de software, geralmente baseados em Kubernetes, para simplificar a execução desses trabalhos
É um conjunto potente de trabalhos relacionados para unir em um só processo.
Os cientistas de dados precisam da liberdade de cortar e colar conjuntos de dados de fontes externas e lagos de dados internos. Ainda assim, seu trabalho e esses conjuntos de dados precisam ser cuidadosamente rotulados e acompanhados.
Da mesma forma, eles precisam fazer experiências e iterar para criar ótimos modelos bem ajustados para a tarefa em questão. Para isso, são necessários sandboxes flexíveis e repositórios sólidos.
Eles também precisam de maneiras de trabalhar com os engenheiros de ML que executam os conjuntos de dados e modelos por protótipos, testes e produção. É um processo que exige automação e atenção aos detalhes para que modelos possam ser facilmente interpretados e reproduzidos.
Hoje, esses recursos estão se tornando disponíveis como parte dos serviços de computação em cloud. As empresas que veem o machine learning como estratégico estão criando seus próprios centros de excelência de AI usando serviços ou ferramentas do MLOps a partir de um conjunto cada vez maior de fornecedores.
Ciência de Dados na Produção em Escala
No início, empresas como Airbnb, Facebook, Google, NVIDIA e Uber tinham que criar esses próprios recursos.
“Tentamos usar código-fonte aberto o máximo possível, mas, em muitos casos, não havia uma solução para o que queríamos fazer em escala”, disse Nicolas Koumchatzky, Diretor de Infraestrutura de AI da NVIDIA.
“Quando eu ouvi o termo MLOps, percebi que é o que estamos criando agora e o que eu estava criando antes no Twitter”, ele acrescentou.
A equipe de Koumchatzky na NVIDIA desenvolveu o MagLev, o software MLOps que hospeda o NVIDIA DRIVE, nossa plataforma para criação e teste de veículos autônomos. Como parte de sua base para o MLOps, ele usa o NVIDIA Container Runtime e Apollo, um conjunto de componentes desenvolvidos na NVIDIA para gerenciar e monitorar contêineres Kubernetes executados em grandes clusters.
Estabelecendo a Base para MLOps na NVIDIA
A equipe de Koumchatzky executa seus trabalhos na infraestrutura interna de AI da NVIDIA com base em clusters de GPUs chamados DGX PODs. Antes de começar os trabalhos, a equipe de infraestrutura verifica se eles estão usando práticas recomendadas.
Primeiro, “tudo deve ser executado em um contêiner, o que evita uma quantidade inacreditável de dificuldades para buscar bibliotecas e tempos de execução que um software de AI precisa”, disse Michael Houston, cuja equipe cria os sistemas de AI da NVIDIA, incluindo o Selene, um DGX SuperPOD recentemente chamado de o computador industrial mais potente dos EUA.
Entre os outros pontos de verificação da equipe, os trabalhos devem:
- Iniciar contêineres com um mecanismo aprovado
- Provar que o trabalho pode ser executado em vários nós de GPU
- Mostrar dados de desempenho para identificar possíveis gargalos
- Mostrar os dados de criação de perfil para garantir que o software foi depurado
A maturidade das práticas de MLOps usadas em empresas hoje varia amplamente, de acordo com Edwin Webster, um cientista de dados que iniciou a prática de consultoria de MLOps há um ano para a Neal Analytics e escreveu um artigo definindo o MLOps. Em algumas empresas, os cientistas de dados guardam modelos em seus notebooks pessoais, outros procuram grandes fornecedores de serviços em cloud para um serviço completo, afirmou.
Duas Histórias de Sucesso com MLOps
Webster compartilhou histórias de sucesso de dois de seus clientes.
Um envolve um grande varejista que usou recursos de MLOps em um serviço de cloud público para criar um serviço de AI que reduziu o desperdício de 8 a 9 por cento com previsões diárias de quando reabastecer as prateleiras com produtos perecíveis. Uma equipe de cientistas de dados no varejista criou conjuntos de dados e modelos construídos; o serviço de cloud empacotou elementos-chave em contêineres e, em seguida, executou e gerenciou as tarefas de AI.
Em outro caso, um fabricante de computadores desenvolveu um software que usava a AI para prever quando seus notebooks precisariam de manutenção para instalar automaticamente as atualizações de software. Usando as práticas de MLOps estabelecidas e especialistas internos, o OEM gravou e testou seus modelos de AI em uma amostra de 3.000 notebooks. O fabricante de computadores agora fornece o software a seus maiores clientes.
Muitas, mas não todas, as empresas da Fortune 100 estão adotando o MLOps, afirmou Shubhangi Vashisth, uma analista sênior da área na Gartner. “Está ganhando espaço, mas ainda não é comum”, disse ela.
Vashisth é co-autora de um white paper que apresenta três etapas para começar a usar o MLOps: alinhar as partes interessadas sobre as metas, criar uma estrutura organizacional que define quem é o proprietário do que e, depois, definir responsabilidades e funções (a Gartner lista uma dúzia delas).
Atenção às Palavras de Efeito: AIOps, ITOA, DLOps, DataOps e Mais
Não se perca em um mar de palavras que cresceu ao longo do tempo. A indústria apostou claramente sua energia em torno do MLOps.
Por outro lado, AIOps é uma prática mais estreita de usar o machine learning para automatizar as funções de IT. Uma parte do AIOps é a análise de operações de IT, ou ITOA. Seu trabalho é examinar os dados que o AIOps gera para descobrir como melhorar as práticas de IT.
Da mesma forma, foram criados os termos DataOps e ModelOps para se referir às pessoas e aos processos de criação e gerenciamento de conjuntos de dados e modelos de AI, respectivamente. Essas são duas partes importantes do quebra-cabeça geral do MLOps.
Curiosamente, todos os meses milhares de pessoas pesquisam o significado de DLOps. Talvez imaginem que DLOps são operações de IT para deep learning. Mas o setor usa o termo MLOps, não DLOps, porque deep learning faz parte do mais amplo campo de machine learning.
Apesar das muitas consultas, é difícil encontrar qualquer coisa on-line sobre DLOps. Por outro lado, nomes conhecidos, como Google e Microsoft, bem como empresas em crescimento, como Iguazio e Paperspace, publicaram white papers detalhados sobre MLOps.
MLOps: Uma Miscelânia de Softwares e Serviços em Expansão
Aqueles que preferem deixar outra pessoa responsável pelo MLOps têm muitas opções.
Os principais provedores de serviços em cloud, como Alibaba, AWS e Oracle, são alguns dos muitos que oferecem serviços de ponta a ponta acessíveis do conforto de seu teclado.
Para os usuários que distribuem seu trabalho em vários clouds, o MLFlow da DataBricks oferece suporte a serviços de MLOps que trabalham com vários provedores e várias linguagens de programação, incluindo Python, R e SQL. Outras alternativas independentes de cloud incluem software de código aberto, como Polyaxon e KubeFlow.
As empresas que acreditam que a AI é um recurso estratégico que elas querem atrás do firewall podem escolher entre uma lista crescente de provedores de software MLOps. Em comparação com o código-fonte aberto, essas ferramentas normalmente adicionam recursos valiosos e são mais fáceis de serem colocadas em uso.
A NVIDIA certificou produtos de seis deles como parte de seu programa DGX-Ready Software:
- Allegro AI
- cnvrg.io
- Core Scientific
- Domino Data Lab
- Iguazio
- Paperspace
Os seis fornecedores oferecem software para gerenciar conjuntos de dados e modelos que podem trabalhar com Kubernetes e NGC.
Ainda não temos software pronto de MLOps.
A Gartner monitora cerca de uma dúzia de fornecedores oferecendo ferramentas de MLOps, incluindo ModelOp e Parallelm, agora parte da DataRobot, afirmou a analista Vashisth. Atenção às ofertas que não cobrem todo o processo, avisa ela. Elas forçam os usuários a importar e exportar dados entre programas que eles devem reunir sozinhos, um processo entediante e sujeito a erros.
A edge da rede, especialmente para nós desconectados ou com conexão parcial, é outra área pobre de MLOps por enquanto, afirmou Webster da Neal Analytics.
Koumchatzky, da NVIDIA, coloca ferramentas para curadoria e gerenciamento de conjuntos de dados no topo da sua lista de desejos para a comunidade.
“Pode ser difícil rotular, mesclar ou dividir conjuntos de dados ou exibir partes deles, mas há um ecossistema MLOps cada vez maior para lidar com isso. A NVIDIA os desenvolveu internamente, mas acho que isso ainda é subvalorizado pelo setor”, disse ele.
A longo prazo, o MLOps precisa do equivalente a IDEs, os ambientes integrados de desenvolvimento de software, como o Microsoft Visual Studio, dos quais os desenvolvedores de softwares dependem. Enquanto isso, Koumchatzky e sua equipe criaram suas próprias ferramentas para visualizar e depurar modelos de AI.
A boa notícia é que há muitos produtos para começar a usar o MLOps.
Além do software de seus parceiros, a NVIDIA oferece um conjunto de ferramentas de código-fonte aberto principalmente para gerenciar uma infraestrutura de AI baseada em seus sistemas DGX, e essa é a base para o MLOps. Essas ferramentas de software incluem:
- Foreman e MAAS (Metal as a Service) para provisionar sistemas individuais
- Ansible e Git para gerenciamento de configuração de clusters
- Data Center GPU Manager (DCGM) e NVIDIA System Management (NVSM) para monitoramento e relatórios
- NVIDIA Container Runtime para iniciar contêineres com reconhecimento de GPU e NVIDIA GPU Operator para simplificar o gerenciamento de GPUs em Kubernetes
- Triton Inference Server e TensorRT para implementar modelos de AI na produção
- E o DeepOps para scripts e instruções sobre como implementar e orquestrar todos os elementos acima
Muitos estão disponíveis no NGC e em outros repositórios de código-fonte aberto. Colocando esses ingredientes em uma receita de sucesso, a NVIDIA fornece uma arquitetura de referência para criar clusters de GPUs chamados DGX PODs.
Ao final, cada equipe precisa encontrar a combinação de produtos e práticas de MLOps que melhor se adapta aos seus casos de uso. Todos eles compartilham uma meta de criar uma maneira automatizada de executar a AI de maneira fluida como uma parte diária da vida digital de uma empresa.