Editar

Ciência de dados e machine learning com o Azure Databricks

Azure Databricks
Azure Data Lake Storage
Azure Kubernetes Service (AKS)
Azure Machine Learning

Ideias de soluções

Este artigo é uma ideia de solução. Se você quiser que expandamos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações de implementação ou orientação de preços, informe-nos fornecendo feedback do GitHub.

Essa arquitetura mostra como você pode melhorar as operações usando o Azure Databricks, Delta Lake e MLflow para ciência de dados e aprendizado de máquina. Você pode melhorar sua eficiência geral e a experiência do cliente desenvolvendo, treinando e implantando modelos de aprendizado de máquina.

Arquitetura

Architecture diagram showing how Azure Databricks works with data storage services to refine and analyze data and make it available for other services.

O diagrama contém três retângulos cinza: um rotulado Processo, um rotulado Servir e um rotulado Loja. Os retângulos Processo e Servir estão próximos um do outro na parte superior do diagrama. O retângulo Serve contém uma caixa branca com ícones para Machine Learning e Serviço Kubernetes do Azure. Outra caixa branca atravessa os retângulos Processo e Servir. Ele contém ícones para Azure Databricks e MLflow. Uma seta aponta dessa caixa para a caixa branca no retângulo Servir. Abaixo do retângulo do processo está o retângulo da loja. Ele contém uma caixa branca com ícones para Data Lake Storage, Delta Lake e três tabelas de banco de dados rotuladas como Bronze, Prata e Ouro. Três linhas conectam os retângulos Process e Store, com setas em cada extremidade de cada linha.

Transfira um ficheiro do Visio desta arquitetura.

A solução armazena, processa e fornece dados:

Fluxo de dados

Armazenamento

O Data Lake Storage armazena os dados no formato Delta Lake. O Delta Lake forma a camada curada do data lake. Uma arquitetura medalhão organiza os dados em três camadas:

  • As tabelas de bronze contêm dados brutos.
  • As tabelas de prata contêm dados limpos e filtrados.
  • As tabelas Gold armazenam dados agregados prontos para análises e relatórios.

Processo

  • O código de várias linguagens, estruturas e bibliotecas prepara, refina e limpa os dados brutos (1). As possibilidades de codificação incluem Python, R, SQL, Spark, Pandas e Koalas.

  • O Azure Databricks executa cargas de trabalho de ciência de dados. Esta plataforma também constrói e treina modelos de aprendizagem automática (2). O Azure Databricks usa bibliotecas pré-instaladas e otimizadas. Exemplos incluem scikit-learn, TensorFlow, PyTorch e XGBoost.

  • O rastreamento MLflow captura os experimentos de aprendizado de máquina, execuções de modelos e resultados (3). Quando o melhor modelo está pronto para produção, o Azure Databricks implanta esse modelo no repositório de modelos MLflow. Este registo centralizado armazena informações sobre modelos de produção. O registo também disponibiliza modelos para outros componentes:

    • Os pipelines Spark e Python podem ingerir modelos. Esses pipelines lidam com cargas de trabalho em lote ou processos ETL de streaming.
    • As APIs REST fornecem acesso a modelos para muitas finalidades. Os exemplos incluem testes e pontuações interativas em aplicações móveis e web.

Servir

O Azure Databricks pode implantar modelos em outros serviços, como Machine Learning e AKS (4).

Componentes

  • O Azure Databricks é uma plataforma de análise de dados. Seus clusters Spark totalmente gerenciados executam cargas de trabalho de ciência de dados. O Azure Databricks também usa bibliotecas pré-instaladas e otimizadas para criar e treinar modelos de aprendizado de máquina. A integração do MLflow com o Azure Databricks fornece uma maneira de rastrear experimentos, armazenar modelos em repositórios e disponibilizar modelos para outros serviços. O Azure Databricks oferece escalabilidade:

    • Os clusters de computação de nó único lidam com pequenos conjuntos de dados e execuções de modelo único.
    • Para grandes conjuntos de dados, clusters de computação de vários nós ou clusters de unidade de processamento gráfico (GPU) estão disponíveis. Esses clusters usam bibliotecas e estruturas como HorovodRunner e Hyperopt para execuções de modelo paralelo.
  • O Data Lake Storage é um data lake escalável e seguro para cargas de trabalho de análise de alto desempenho. Esse serviço gerencia vários petabytes de informações enquanto sustenta centenas de gigabits de taxa de transferência. Os dados podem ter estas características:

    • Ser estruturado, semi-estruturado ou não estruturado.
    • Vêm de várias fontes heterogêneas, como logs, arquivos e mídia.
    • Seja estático, de lotes ou streaming.
  • Delta Lake é uma camada de armazenamento que usa um formato de arquivo aberto. Essa camada é executada sobre o armazenamento em nuvem, como o Data Lake Storage. O Delta Lake é otimizado para transformar e limpar dados em lote e streaming. Esta plataforma suporta estas características e funcionalidades:

    • Controle de versão e reversão de dados.
    • Transações de atomicidade, consistência, isolamento e durabilidade (ACID) para confiabilidade.
    • Um padrão consistente para preparação de dados, treinamento de modelos e serviço de modelos.
    • Viagem no tempo para instantâneos consistentes dos dados de origem. Os cientistas de dados podem treinar modelos nos instantâneos em vez de criar cópias separadas.
  • O MLflow é uma plataforma de código aberto para o ciclo de vida do aprendizado de máquina. Os componentes MLflow monitoram modelos de aprendizado de máquina durante o treinamento e a execução. As informações armazenadas incluem código, dados, informações de configuração e resultados. O MLflow também armazena modelos e os carrega em produção. Como o MLflow usa estruturas abertas, vários serviços, aplicativos, estruturas e ferramentas podem consumir os modelos.

  • O Machine Learning é um ambiente baseado na nuvem que ajuda você a criar, implantar e gerenciar soluções de análise preditiva. Com esses modelos, você pode prever comportamentos, resultados e tendências.

  • O AKS é um serviço Kubernetes altamente disponível, seguro e totalmente gerenciado. O AKS facilita a implantação e o gerenciamento de aplicativos em contêineres.

Detalhes do cenário

À medida que sua organização reconhece o poder da ciência de dados e do aprendizado de máquina, você pode melhorar a eficiência, aprimorar as experiências do cliente e prever mudanças. Para atingir essas metas em casos de uso críticos para os negócios, você precisa de um padrão consistente e confiável para:

  • Rastreando experimentos.
  • Reprodução de resultados.
  • Implantação de modelos de aprendizado de máquina na produção.

Este artigo descreve uma solução para uma estrutura de aprendizado de máquina consistente e confiável. O Azure Databricks forma o núcleo da arquitetura. A camada de armazenamento Delta Lake e a plataforma de aprendizado de máquina MLflow também desempenham papéis significativos. Esses componentes se integram perfeitamente com outros serviços, como o Armazenamento do Azure Data Lake, o Azure Machine Learning e o Serviço Kubernetes do Azure (AKS).

Juntos, esses serviços fornecem uma solução para ciência de dados e aprendizado de máquina que é:

  • Simples: um data lake aberto simplifica a arquitetura. O data lake contém uma camada com curadoria, Delta Lake. Essa camada fornece acesso aos dados em um formato de código aberto.

  • Aberto: A solução suporta código aberto, padrões abertos e estruturas abertas. Essa abordagem minimiza a necessidade de atualizações futuras. O Azure Databricks e o Machine Learning suportam nativamente MLflow e Delta Lake. Juntos, esses componentes fornecem operações de aprendizado de máquina (MLOps) líderes do setor, ou DevOps para aprendizado de máquina. Uma ampla gama de ferramentas de implantação integra-se ao formato de modelo padronizado da solução.

  • Colaborativo: As equipas de ciência de dados e MLOps trabalham em conjunto com esta solução. Essas equipes usam o controle MLflow para registrar e consultar experimentos. As equipes também implantam modelos no registro central do modelo MLflow. Em seguida, os engenheiros de dados usam modelos implantados em processos de ingestão de dados, extração e carga de transformação (ETL) e pipelines de streaming.

Potenciais casos de utilização

Uma plataforma que a AGL construiu para previsão de energia inspirou esta solução. Essa plataforma oferece treinamento, implantação e gerenciamento de ciclo de vida rápidos e econômicos para milhares de modelos paralelos.

Além dos fornecedores de energia, esta solução pode beneficiar qualquer organização que:

  • Utiliza ciência de dados.
  • Constrói e treina modelos de aprendizagem automática.
  • Executa modelos de aprendizado de máquina em produção.

Os exemplos incluem organizações em:

  • Retalho e e-commerce.
  • Banca e finanças.
  • Saúde e ciências da vida.
  • Indústrias automóveis e indústria transformadora.

Próximos passos

  • A AGL Energy constrói uma plataforma padronizada para milhares de modelos paralelos. A plataforma oferece treinamento, implantação e gerenciamento de ciclo de vida rápidos e econômicos para os modelos.
  • A Open Grid Europe (OGE) utiliza modelos de inteligência artificial para monitorizar gasodutos. O OGE usa o Azure Databricks e o MLflow para desenvolver os modelos.
  • A Scandinavian Airlines (SAS) usa o Azure Databricks durante uma fase de pesquisa colaborativa. A companhia aérea também usa Machine Learning para desenvolver modelos preditivos. Ao identificar padrões nos dados da empresa, os modelos melhoram as operações diárias.