Partilhar via


Como o Databricks suporta CI/CD para aprendizado de máquina?

CI/CD (integração contínua e entrega contínua) refere-se a um processo automatizado para desenvolver, implantar, monitorar e manter seus aplicativos. Ao automatizar a criação, o teste e a implantação de código, as equipes de desenvolvimento podem fornecer versões com mais frequência e confiabilidade do que os processos manuais ainda predominantes em muitas equipes de engenharia de dados e ciência de dados. CI/CD para aprendizado de máquina reúne técnicas de MLOps, DataOps, ModelOps e DevOps.

Este artigo descreve como o Databricks suporta CI/CD para soluções de aprendizado de máquina. Em aplicações de aprendizado de máquina, o CI/CD é importante não apenas para ativos de código, mas também é aplicado a pipelines de dados, incluindo dados de entrada e os resultados gerados pelo modelo.

Diagrama de ciclo de vida MLOps de ponta a ponta mostrando elementos de CI/CD para ML.

Elementos de aprendizado de máquina que precisam de CI/CD

Um dos desafios do desenvolvimento de ML é que diferentes equipes possuem diferentes partes do processo. As equipas podem contar com ferramentas diferentes e ter calendários de lançamento diferentes. O Azure Databricks fornece uma plataforma única e unificada de dados e ML com ferramentas integradas para melhorar a eficiência das equipes e garantir a consistência e a repetibilidade dos dados e pipelines de ML.

Em geral, para tarefas de aprendizado de máquina, o seguinte deve ser rastreado em um fluxo de trabalho automatizado de CI/CD:

  • Dados de treinamento, incluindo qualidade de dados, alterações de esquema e alterações de distribuição.
  • Pipelines de dados de entrada.
  • Código para treinar, validar e servir o modelo.
  • Modele previsões e desempenho.

Integre o Databricks em seus processos de CI/CD

MLOps, DataOps, ModelOps e DevOps referem-se à integração de processos de desenvolvimento com "operações" - tornando os processos e a infraestrutura previsíveis e confiáveis. Este conjunto de artigos descreve como integrar princípios de operações ("ops") em seus fluxos de trabalho de ML na plataforma Databricks.

O Databricks incorpora todos os componentes necessários para o ciclo de vida do ML, incluindo ferramentas para criar "configuração como código" para garantir a reprodutibilidade e "infraestrutura como código" para automatizar o provisionamento de serviços em nuvem. Ele também inclui serviços de registro e alerta para ajudá-lo a detetar e solucionar problemas quando eles ocorrem.

DataOps: Dados fiáveis e seguros

Bons modelos de ML dependem de pipelines de dados e infraestrutura confiáveis. Com a Databricks Data Intelligence Platform, todo o pipeline de dados, desde a ingestão de dados até as saídas do modelo servido, está em uma única plataforma e usa o mesmo conjunto de ferramentas, o que facilita a produtividade, a reprodutibilidade, o compartilhamento e a solução de problemas.

Diagrama DataOps

Tarefas e ferramentas DataOps em Databricks

A tabela lista tarefas e ferramentas comuns de DataOps no Databricks:

Tarefa DataOps Ferramenta em Databricks
Ingerir e transformar dados Carregador automático e Apache Spark
Controlar alterações nos dados, incluindo controle de versão e linhagem Tabelas delta
Crie, gerencie e monitore pipelines de processamento de dados Mesas Delta Live
Garantir a segurança e a governança dos dados Catálogo Unity
Análise exploratória de dados e dashboards Notebooks Databricks SQL, Dashboards e Databricks
Codificação geral Notebooks Databricks SQL e Databricks
Agendar pipelines de dados Fluxos de trabalho do Databricks
Automatize fluxos de trabalho gerais Fluxos de trabalho do Databricks
Crie, armazene, gerencie e descubra recursos para treinamento de modelos Loja de recursos Databricks
Monitorização de dados Monitoramento Lakehouse

ModelOps: Desenvolvimento do modelo e ciclo de vida

O desenvolvimento de um modelo requer uma série de experiências e uma forma de acompanhar e comparar as condições e os resultados dessas experiências. A plataforma Databricks Data Intelligence inclui MLflow para rastreamento de desenvolvimento de modelo e o MLflow Model Registry para gerenciar o ciclo de vida do modelo, incluindo preparação, serviço e armazenamento de artefatos de modelo.

Depois que um modelo é liberado para produção, muitas coisas podem mudar que podem afetar seu desempenho. Além de monitorar o desempenho de previsão do modelo, você também deve monitorar os dados de entrada em busca de alterações na qualidade ou nas características estatísticas que possam exigir um novo treinamento do modelo.

Diagrama ModelOps

Tarefas e ferramentas ModelOps no Databricks

A tabela lista tarefas e ferramentas comuns do ModelOps fornecidas pelo Databricks:

Tarefa ModelOps Ferramenta em Databricks
Monitorizar desenvolvimento de modelos Rastreamento do modelo MLflow
Gerenciar o ciclo de vida do modelo Modelos no Catálogo Unity
Controle de versão e compartilhamento de código de modelo Pastas Databricks Git
Desenvolvimento de modelo sem código Databricks AutoML
Monitorização de modelos Monitoramento Lakehouse

DevOps: Produção e automação

A plataforma Databricks suporta modelos de ML em produção com o seguinte:

  • Dados de ponta a ponta e linhagem de modelos: De modelos em produção até a fonte de dados brutos, na mesma plataforma.
  • Serviço de modelo de nível de produção: aumenta ou diminui automaticamente a escala com base nas necessidades da sua empresa.
  • Fluxos de trabalho multitarefas: automatiza trabalhos e cria fluxos de trabalho agendados de aprendizado de máquina.
  • Pastas Git: o controle de versão e o compartilhamento de código do espaço de trabalho também ajudam as equipes a seguir as melhores práticas de engenharia de software.
  • Databricks Terraform provider: automatiza a infraestrutura de implantação em nuvens para trabalhos de inferência de ML, servindo endpoints e trabalhos de featurização.

Modelo de serviço

Para implantar modelos na produção, o MLflow simplifica significativamente o processo, fornecendo implantação com um único clique como um trabalho em lote para grandes quantidades de dados ou como um ponto de extremidade REST em um cluster de dimensionamento automático. A integração do Databricks Feature Store com o MLflow também garante a consistência dos recursos para treinamento e serviço; Além disso, os modelos MLflow podem procurar automaticamente recursos da Feature Store, mesmo para veiculação on-line de baixa latência.

A plataforma Databricks suporta muitas opções de implantação de modelo:

  • Código e contentores.
  • Porção em lote.
  • Serviço online de baixa latência.
  • Porção no dispositivo ou borda.
  • Multi-cloud, por exemplo, treinando o modelo em uma nuvem e implantando-o com outra.

Para obter mais informações, consulte Mosaic AI Model Serving.

Fluxos de trabalho multitarefa

Os fluxos de trabalho Databricks permitem automatizar e agendar qualquer tipo de carga de trabalho, de ETL a ML. O Databricks também suporta integrações com orquestradores populares de terceiros , como o Airflow.

Pastas Git

A plataforma Databricks inclui suporte ao Git no espaço de trabalho para ajudar as equipes a seguir as melhores práticas de engenharia de software executando operações Git por meio da interface do usuário. Administradores e engenheiros de DevOps podem usar APIs para configurar a automação com suas ferramentas favoritas de CI/CD. O Databricks suporta qualquer tipo de implantação do Git, incluindo redes privadas.

Para obter mais informações sobre as práticas recomendadas para desenvolvimento de código usando pastas Git Databricks, consulte Fluxos de trabalho CI/CD com integração Git e pastas Git Databricks e Usar CI/CD. Essas técnicas, juntamente com a API REST do Databricks, permitem criar processos de implantação automatizados com Ações do GitHub, pipelines do Azure DevOps ou trabalhos do Jenkins.

Catálogo Unity para governança e segurança

A plataforma Databricks inclui o Unity Catalog, que permite que os administradores configurem controle de acesso refinado, políticas de segurança e governança para todos os dados e ativos de IA no Databricks.