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 do ciclo de vida integral de MLOps 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.
  • Fluxos de dados de entrada.
  • Código para treinar, validar e servir o modelo.
  • Previsões e desempenho do modelo.

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 do Databricks
Ingerir e transformar dados Auto Loader 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 Oleodutos declarativos Lakeflow Spark
Garantir a segurança e a governança dos dados Catálogo Unity
Análise exploratória de dados e dashboards Databricks SQL, Dashboards e Notebooks Databricks
Codificação geral Databricks SQL e Notebooks Databricks
Agendar fluxos de dados Empregos em Lakeflow
Automatize fluxos de trabalho gerais Empregos em Lakeflow
Crie, armazene, gerencie e descubra recursos para treinamento de modelos Loja de recursos Databricks
Monitorização de dados Monitorização da qualidade dos dados

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 do Databricks
Monitorizar desenvolvimento de modelos Rastreamento do modelo MLflow
Gerenciar o ciclo de vida do modelo Modelos no Unity Catalog
Controle de versão e compartilhamento de código de modelo Diretórios Git Databricks
Desenvolvimento de modelo sem código AutoML
Monitorização de modelos Definição de perfis de dados

DevOps: Produção e automação

A plataforma Databricks suporta modelos de Aprendizagem Automática (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.
  • Trabalhos: automatiza tarefas e cria fluxos de trabalho agendados de aprendizagem automática.
  • 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 Asset Bundles: Automatiza a criação e a implantação de recursos do Databricks, como trabalhos, modelos registados e endpoints de serviço.
  • Databricks Terraform provider: automatiza a infraestrutura de implantação em nuvens para trabalhos de inferência de ML, serviços de endpoints e tarefas de criação de características.

Serviço de modelos

Para implementar modelos na produção, o MLflow simplifica significativamente o processo, fornecendo implementação com um só clique como um trabalho em lote para grandes quantidades de dados ou como um ponto de extremidade REST num cluster de dimensionamento automático. A integração do Databricks Feature Store com o MLflow também garante a consistência das funcionalidades para treino e disponibilização; além disso, os modelos MLflow podem buscar automaticamente funcionalidades da Feature Store, mesmo para disponibilização online de baixa latência.

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

  • Código e contêineres.
  • Processamento em lote.
  • Serviço online de baixa latência.
  • Processamento no dispositivo ou na periferia.
  • Multi-cloud, por exemplo, treinando o modelo em uma nuvem e desenvolvendo-o em outra.

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

Tarefas

Os Lakeflow Jobs 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.

Diretórios 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 do Databricks, consulte Fluxos de trabalho CI/CD com integração do Git e pastas Git do 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.