Pular para o conteúdo principal

MLOps Stacks: processo de desenvolvimento de modelos como código

Este artigo descreve como o MLOps Stacks permite que o senhor implemente o processo de desenvolvimento e implantação como código em um repositório com controle de origem. Ele também descreve os benefícios do desenvolvimento de modelos na plataforma Databricks Data Intelligence, uma plataforma única que unifica todas as etapas do processo de desenvolvimento e implantação de modelos.

O que é MLOps Stacks?

Com o MLOps Stacks, todo o processo de desenvolvimento de modelos é implementado, salvo e rastreado como código em um repositório com controle de origem. Automatizar o processo dessa forma facilita implantações mais repetíveis, previsíveis e sistemáticas e possibilita a integração com seu processo de CI/CD. Representar o processo de desenvolvimento do modelo como código permite que o senhor implante o código em vez de implantar o modelo. A implantação do código automatiza a capacidade de criar o modelo, facilitando muito o retreinamento do modelo quando necessário.

Ao criar um projeto usando MLOps Stacks, o senhor define os componentes do seu processo de desenvolvimento e implantação ML, como Notebook a ser usado para recurso de engenharia, treinamento, teste e implantação, pipeline para treinamento e teste, espaço de trabalho a ser usado em cada estágio e CI/CD fluxo de trabalho usando GitHub Actions ou Azure DevOps para teste e implantação automatizados do seu código.

O ambiente criado pelo MLOps Stacks implementa o fluxo de trabalho do MLOps recomendado pela Databricks. Você pode personalizar o código para criar pilhas que correspondam aos processos ou requisitos da sua organização.

Como funciona o MLOps Stacks?

O senhor usa a CLI da Databricks para criar um MLOps Stack. Para obter instruções passo a passo, consulte Databricks ativo Bundles for MLOps Stacks.

Quando o senhor inicia um projeto MLOps Stacks, o software o orienta na inserção dos detalhes de configuração e cria um diretório contendo os arquivos que compõem o projeto. Esse diretório, ou pilha, implementa o fluxo de trabalho de MLOps de produção recomendado pela Databricks. Os componentes mostrados no diagrama foram criados para você, e você só precisa editar os arquivos para adicionar seu código personalizado.

Diagrama de componentes do MLOps Stacks

No diagrama:

  • R: Um cientista de dados ou engenheiro de ML inicializa o projeto usando databricks bundle init mlops-stacks. Ao inicializar o projeto, o senhor pode optar por configurar os componentes de código ML (normalmente usados por data scientists), os componentes CI/CD (normalmente usados pelos engenheiros de ML ) ou ambos.
  • B: Os engenheiros da ML configuram os segredos da Databricks entidade de serviço para CI/CD.
  • C: data scientists desenvolve modelos em Databricks ou em seu sistema local.
  • D: data scientists criar solicitações pull para atualizar o código ML.
  • E: O executor do CI/CD executa o Notebook, cria trabalhos e realiza outras tarefas no espaço de trabalho de preparação e produção.

Sua organização pode usar a pilha default ou personalizá-la conforme necessário para adicionar, remover ou revisar componentes de acordo com as práticas da sua organização. Consulte o readme do repositório do GitHub para obter detalhes.

O MLOps Stacks foi projetado com uma estrutura modular para permitir que as diferentes equipes de ML trabalhem de forma independente em um projeto, seguindo as práticas recomendadas de engenharia de software e mantendo a CI/CD de nível de produção. Os engenheiros de produção configuram a infraestrutura do ML que permite que o data scientists desenvolva, teste e implante o pipeline e os modelos do ML na produção.

Conforme mostrado no diagrama, a pilha default MLOps inclui os três componentes a seguir:

  • Código ML. MLOps O Stacks cria um conjunto de padrões para um projeto ML, incluindo Notebook para treinamento, inferência de lotes e assim por diante. O padrão padronizado permite que o data scientists comece rapidamente, unifica a estrutura do projeto entre as equipes e impõe um código modularizado pronto para testes.
  • ML recurso como código. MLOps As pilhas definem recursos como espaço de trabalho e pipeline para tarefas como treinamento e inferência de lotes. Os recursos são definidos em Databricks ativo Bundles para facilitar os testes, a otimização e o controle de versão do ambiente ML. Por exemplo, você pode experimentar um tipo de instância maior para o treinamento automatizado do modelo, e a alteração é rastreada automaticamente para referência futura.
  • CI/CD. O senhor pode usar GitHub Actions ou Azure DevOps para testar e implantar o código e o recurso ML, garantindo que todas as alterações na produção sejam realizadas por meio da automação e que somente o código testado seja implantado na produção.

Fluxo do projeto MLOps

Um projeto default MLOps Stacks inclui um ML pipeline com CI/CD fluxo de trabalho para testar e implantar o treinamento automatizado de modelos e o trabalho de inferência de lotes no espaço de trabalho de desenvolvimento, preparação e produção Databricks. O MLOps Stacks é configurável, de modo que o senhor pode modificar a estrutura do projeto para atender aos processos da sua organização.

O diagrama mostra o processo que é implementado pelo default MLOps Stack. No desenvolvimento workspace, data scientists itera no código ML e envia solicitações pull (PRs). Os PRs acionam testes de unidade e testes de integração em um ambiente de preparação isolado Databricks workspace. Quando um PR é mesclado com o principal, o modelo de treinamento e o trabalho de inferência de lotes que o senhor executa no staging são imediatamente atualizados para executar o código mais recente. Depois de merge um PR no main, o senhor pode cortar uma nova ramificação de lançamento como parte do processo de lançamento programado e implantar as alterações de código na produção.

diagrama de fluxo geral de mlops

Estrutura do projeto MLOps Stacks

Uma pilha MLOps usa Databricks ativo Bundles - uma coleção de arquivos de origem que serve como definição de ponta a ponta de um projeto. Esses arquivos de origem incluem informações sobre como eles devem ser testados e implantados. A coleta dos arquivos como um pacote facilita as alterações de conversão conjunta e o uso de práticas recomendadas de engenharia de software, como controle de origem, revisão de código, testes e CI/CD.

O diagrama mostra os arquivos criados para o default MLOps Stack. Para obter detalhes sobre os arquivos incluídos na pilha, consulte a documentação no repositórioGitHub ou Databricks ativo Bundles for MLOps Stacks.

Estrutura de diretórios MLOps Stacks

Componentes do MLOps Stacks

Uma “pilha” se refere ao conjunto de ferramentas usadas em um processo de desenvolvimento. O default MLOps Stack aproveita a plataforma unificada Databricks e usa as seguintes ferramentas:

Componente

Ferramenta na Databricks

Código de desenvolvimento do modelo ML

Databricks Notebook, MLflow

desenvolvimento e gerenciamento de recursos

recurso engenharia

Repositório de modelos de ML

Modelos no Unity Catalog

Exibição de modelo de ML

Mosaic AI Model Serving

Infrastructure-as-Code

Databricks Asset Bundles

Orquestrador

Jobs do Databricks

CI/CD

GitHub Actions, Azure DevOps

Dados e modelo desempenho monitoramento

Monitoramento do lakehouse

Próximas etapas

Para começar, consulte Databricks ativo Bundles for MLOps Stacks ou o repositórioDatabricks MLOps Stacks em GitHub.