Como o Databricks dá suporte a CI/CD para machine learning?

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 entregar 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 machine learning reúne técnicas de MLOps, DataOps, ModelOps e DevOps.

Este artigo descreve como o Databricks dá suporte a CI/CD para soluções de machine learning. Em aplicativos de machine learning, 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 de MLOps de ponta a ponta mostrando elementos de CI/CD para ML.

Elementos de machine learning que precisam de CI/CD

Um dos desafios do desenvolvimento de ML é que diferentes equipes possuem diferentes partes do processo. O Teams pode contar com ferramentas diferentes e ter agendas de lançamento diferentes. O Azure Databricks fornece uma única plataforma de ML e dados unificados com ferramentas integradas para melhorar a eficiência das equipes e garantir a consistência e a repetição de dados e pipelines de ML.

Em geral, para tarefas de machine learning, o seguinte deve ser acompanhado em um fluxo de trabalho de CI/CD automatizado:

  • 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 treinamento, validação e serviço do modelo.
  • Previsões de modelo e desempenho.

Integrar o Databricks aos 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 do Databricks.

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

DataOps: dados confiáveis e seguros

Bons modelos de ML dependem de pipelines de dados confiáveis e infraestrutura. Com a Plataforma de Data Intelligence do Databricks, todo o pipeline de dados da ingestão de dados para 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 de DataOps

Tarefas e ferramentas do DataOps no Databricks

A tabela lista as tarefas e as ferramentas comuns do DataOps no Databricks:

Tarefa DataOps Ferramenta no Databricks
Ingerir e transformar dados Carregador automático e Apache Spark
Controlar alterações nos dados, incluindo controle de versão e linhagem Tabelas do Delta
Criar, gerenciar e monitorar pipelines de processamento de dados Delta Live Tables
Garantir a segurança e a governança de dados Catálogo do Unity
Análise e dashboards de dados exploratórios Databricks SQL, Painéis e Notebooks do Databricks
Codificação geral Notebooks databricks SQL e Databricks
Agendar pipelines de dados Trabalhos do Databricks
Automatizar fluxos de trabalho gerais Trabalhos do Databricks
Criar, armazenar, gerenciar e descobrir recursos para treinamento de modelo Databricks Feature Store
Monitoramento de dados Monitoramento do Lakehouse

ModelOps: Desenvolvimento e ciclo de vida do modelo

O desenvolvimento de um modelo requer uma série de experimentos e uma maneira de acompanhar e comparar as condições e os resultados desses experimentos. A Plataforma de Data Intelligence do Databricks inclui o MLflow para acompanhamento de desenvolvimento de modelos e o Registro de Modelo do MLflow para gerenciar o ciclo de vida do modelo, incluindo preparo, serviço e armazenamento de artefatos de modelo.

Depois que um modelo é lançado 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 dados de entrada para alterações nas características estatísticas ou de qualidade que possam exigir a readaptação do modelo.

Diagrama de ModelOps

Ferramentas e tarefas do ModelOps no Databricks

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

Tarefa ModelOps Ferramenta no Databricks
Acompanhar o desenvolvimento de modelos Acompanhamento de modelo do MLflow
Gerenciar ciclo de vida do modelo Modelos no Catálogo do Unity
Controle e compartilhamento de versão do código do modelo Pastas Git do Databricks
Desenvolvimento de modelo sem código AutoML do Mosaico
Monitoramento de Modelo Monitoramento do Lakehouse

DevOps: Produção e automação

A plataforma Databricks dá suporte a modelos de ML em produção com o seguinte:

  • Dados de ponta a ponta e linhagem de modelo: desde modelos em produção até a fonte de dados bruta, na mesma plataforma.
  • Serviço de modelo de nível de produção: aumenta ou reduz automaticamente com base nas suas necessidades comerciais.
  • Trabalhos: Automatiza trabalhos e cria fluxos de trabalho de aprendizado de máquina agendados.
  • Pastas do Git: o controle de versão de código e o compartilhamento do workspace também ajudam as equipes a seguir as melhores práticas de engenharia de software.
  • Provedor do Databricks Terraform: automatiza a infraestrutura de implantação entre nuvens para trabalhos de inferência de ML, atendendo pontos de extremidade e trabalhos de apresentação.

Serviço de modelo

Para implantar modelos em produção, o MLflow simplifica significativamente o processo, fornecendo a implantação de clique único 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 do MLflow podem pesquisar automaticamente os recursos da Repositório de Recursos, mesmo para serviços online de baixa latência.

A plataforma Databricks dá suporte a muitas opções de implantação de modelo:

  • Código e contêineres.
  • Serviço em lote.
  • Serviço online de baixa latência.
  • Serviço no dispositivo ou borda.
  • Várias nuvens, por exemplo, treinando o modelo em uma nuvem e implantando-o com outra.

Para obter mais informações, consulte Serviço de Modelo de IA do Mosaico.

Trabalhos

Os Trabalhos do Databricks permitem automatizar e programar qualquer tipo de carga de trabalho, de ETL para ML. O Databricks também dá suporte a integrações com orquestradores de terceiros populares, como o Airflow.

Pastas Git

A plataforma do Databricks inclui suporte ao Git no workspace 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 de CI/CD favoritas. O Databricks dá suporte a qualquer tipo de implantação do Git, incluindo redes privadas.

Para obter mais informações sobre as melhores práticas para o desenvolvimento de código usando as pastas Git do Databricks, consulte Fluxos de trabalho de CI/CD com a 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 o GitHub Actions, pipelines do Azure DevOps ou trabalhos do Jenkins.

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

A plataforma Databricks inclui o Catálogo do Unity, 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.