Esta é a segunda parte de uma série que mostra o ciclo de vida do aprendizado de máquina (ML) com um padrão de design de malha de dados para uma grande empresa com várias linhas de negócios (LOBs) e um Centro de Excelência (CoE) para análise e ML.
In parte 1, abordamos a persona do administrador de dados e apresentamos uma configuração de malha de dados com várias contas de consumidor e produtor de dados da AWS. Para obter uma visão geral do contexto de negócios e as etapas para configurar uma malha de dados com Formação AWS Lake e registre um produto de dados, consulte a parte 1.
Neste post, abordamos a equipe de análise e plataforma de ML como consumidor na malha de dados. A equipe da plataforma configura o ambiente de ML para os cientistas de dados e os ajuda a obter acesso aos produtos de dados necessários na malha de dados. Os cientistas de dados desta equipe usam Amazon Sage Maker construir e treinar um modelo de previsão de risco de crédito usando o produto de dados de risco de crédito compartilhado do LoB de banco de consumo.
O código para este exemplo está disponível em GitHub.
Consumidor de análise e ML em uma arquitetura de malha de dados
Vamos recapitular a arquitetura de alto nível que destaca os principais componentes da arquitetura de malha de dados.
No bloco produtor de dados 1 (esquerda), há um estágio de processamento de dados para garantir que os dados compartilhados sejam bem qualificados e curados. O bloco de governança de dados central 2 (centro) atua como um catálogo de dados centralizado com metadados de vários produtos de dados registrados. O bloco consumidor de dados 3 (à direita) solicita acesso aos conjuntos de dados do catálogo central e consulta e processa os dados para criar e treinar modelos de ML.
Com o SageMaker, cientistas de dados e desenvolvedores no ML CoE podem criar e treinar modelos de ML de maneira rápida e fácil e, em seguida, implantá-los diretamente em um ambiente hospedado pronto para produção. O SageMaker fornece acesso fácil às suas fontes de dados para exploração e análise, e também fornece algoritmos e estruturas de ML comuns que são otimizados para serem executados com eficiência em dados extremamente grandes em um ambiente distribuído. É fácil começar Estúdio Amazon SageMaker, um ambiente de desenvolvimento integrado (IDE) baseado na Web, completando o domínio SageMaker processo de integração. Para obter mais informações, consulte o Guia do desenvolvedor Amazon SageMaker.
Consumo de produtos de dados pela análise e ML CoE
O diagrama de arquitetura a seguir descreve as etapas exigidas pelo consumidor de análise e ML CoE para obter acesso ao produto de dados registrado no catálogo de dados central e processar os dados para criar e treinar um modelo de ML.
O fluxo de trabalho consiste nos seguintes componentes:
- O administrador de dados do produtor fornece acesso na conta central ao banco de dados e tabela à conta do consumidor. O banco de dados agora é refletido como um banco de dados compartilhado na conta do consumidor.
- O administrador do consumidor cria um link de recurso na conta do consumidor para o banco de dados compartilhado pela conta central. A captura de tela a seguir mostra um exemplo na conta do consumidor, com
rl_credit-card
sendo o link de recurso docredit-card
base de dados. - O administrador do consumidor fornece o Studio Gerenciamento de acesso e identidade da AWS (IAM) acesso da função de execução ao banco de dados vinculado ao recurso e à tabela identificada na marca Lake Formation. No exemplo a seguir, o administrador do consumidor fornecido à função de execução do SageMaker tem permissão para acessar
rl_credit-card
e a tabela que satisfaz a expressão da marca Lake Formation. - Uma vez atribuída uma função de execução, os cientistas de dados no SageMaker podem usar Amazona atena para consultar a tabela por meio do banco de dados de links de recursos no Lake Formation.
- Para exploração de dados, eles podem usar notebooks Studio para processar os dados com consultas interativas via Athena.
- Para processamento de dados e engenharia de recursos, eles podem executar trabalhos de processamento do SageMaker com uma fonte de dados Athena e enviar os resultados de volta para Serviço de armazenamento simples da Amazon (Amazônia S3).
- Depois que os dados são processados e disponibilizados no Amazon S3 na conta ML CoE, os cientistas de dados podem usar os trabalhos de treinamento do SageMaker para treinar modelos e Pipelines SageMaker para automatizar fluxos de trabalho de construção de modelos.
- Os cientistas de dados também podem usar o registro de modelos do SageMaker para registrar os modelos.
Exploração de dados
O diagrama a seguir ilustra o fluxo de trabalho de exploração de dados na conta do consumidor de dados.
O consumidor começa consultando uma amostra dos dados do credit_risk
mesa com Athena em um notebook Studio. Ao consultar dados por meio do Athena, os resultados intermediários também são salvos no Amazon S3. Você pode usar o Biblioteca do AWS Data Wrangler para executar uma consulta no Athena em um notebook Studio para exploração de dados. O exemplo de código a seguir mostra como consultar Athena para buscar os resultados como um dataframe para exploração de dados:
Agora que você tem um subconjunto dos dados como um dataframe, pode começar a explorar os dados e ver quais atualizações de engenharia de recursos são necessárias para o treinamento do modelo. Um exemplo de exploração de dados é mostrado na captura de tela a seguir.
Ao consultar o banco de dados, você pode ver os logs de acesso do console do Lake Formation, conforme mostrado na captura de tela a seguir. Esses logs fornecem informações sobre quem ou qual serviço usou o Lake Formation, incluindo a função do IAM e o horário de acesso. A captura de tela mostra um log sobre o SageMaker acessando a tabela credit_risk
no AWS Glue por meio do Athena. No log, você pode ver o contexto de auditoria adicional que contém a ID da consulta que corresponde à ID da consulta no Athena.
A captura de tela a seguir mostra a ID de execução da consulta do Athena que corresponde à ID da consulta do log anterior. Isso mostra os dados acessados com a consulta SQL. Você pode ver quais dados foram consultados navegando até o console do Athena, escolhendo o Consultas recentes guia e, em seguida, procurando a ID de execução que corresponde à ID de consulta do contexto de auditoria adicional.
Processamento de dados
Após a exploração de dados, convém pré-processar todo o grande conjunto de dados para engenharia de recursos antes de treinar um modelo. O diagrama a seguir ilustra o procedimento de processamento de dados.
Neste exemplo, usamos um trabalho de processamento do SageMaker, no qual definimos uma definição de conjunto de dados do Athena. O trabalho de processamento consulta os dados por meio do Athena e usa um script para dividir os dados em conjuntos de dados de treinamento, teste e validação. Os resultados do trabalho de processamento são salvos no Amazon S3. Para saber como configurar um trabalho de processamento com o Athena, consulte Use o Amazon Athena em um trabalho de processamento com o Amazon SageMaker.
Neste exemplo, você pode usar o SDK do Python para acionar um trabalho de processamento com a estrutura Scikit-learn. Antes de acionar, você pode configurar o parâmetro de entrada para obter os dados de entrada por meio da definição do conjunto de dados do Athena, conforme mostrado no código a seguir. O conjunto de dados contém o local para baixar os resultados do Athena para o contêiner de processamento e a configuração da consulta SQL. Quando o trabalho de processamento é concluído, os resultados são salvos no Amazon S3.
Treinamento de modelo e registro de modelo
Depois de pré-processar os dados, você pode treinar o modelo com os dados pré-processados salvos no Amazon S3. O diagrama a seguir ilustra o processo de treinamento e registro do modelo.
Para trabalhos de exploração de dados e processamento do SageMaker, você pode recuperar os dados na malha de dados por meio do Athena. Embora a API de treinamento do SageMaker não inclua um parâmetro para configurar uma fonte de dados do Athena, você pode consultar dados por meio do Athena no próprio script de treinamento.
Neste exemplo, os dados pré-processados agora estão disponíveis no Amazon S3 e podem ser usados diretamente para treinar um modelo XGBoost com o SageMaker Script Mode. Você pode fornecer o script, hiperparâmetros, tipo de instância e todos os parâmetros adicionais necessários para treinar o modelo com êxito. Você pode acionar o estimador do SageMaker com os dados de treinamento e validação no Amazon S3. Quando o treinamento do modelo estiver concluído, você poderá registrá-lo no registro de modelos do SageMaker para acompanhamento e implantação de experimentos em uma conta de produção.
Próximos passos
Você pode fazer atualizações incrementais na solução para atender aos requisitos de atualizações de dados e retreinamento de modelos, exclusão automática de dados intermediários no Amazon S3 e integração de um repositório de recursos. Discutimos cada um deles com mais detalhes nas seções a seguir.
Atualizações de dados e gatilhos de retreinamento de modelo
O diagrama a seguir ilustra o processo para atualizar os dados de treinamento e acionar o retreinamento do modelo.
O processo inclui as seguintes etapas:
- O produtor de dados atualiza o produto de dados com um novo esquema ou dados adicionais com frequência regular.
- Depois que o produto de dados é registrado novamente no catálogo de dados central, isso gera um Amazon CloudWatch evento da Formação do Lago.
- O evento do CloudWatch aciona um AWS Lambda função para sincronizar o produto de dados atualizado com a conta do consumidor. Você pode usar esse gatilho para refletir as alterações de dados fazendo o seguinte:
- Execute novamente o rastreador do AWS Glue.
- Acione o retreinamento do modelo se os dados ultrapassarem um determinado limite.
Para obter mais detalhes sobre como configurar um pipeline de implantação de MLOps do SageMaker para detecção de desvio, consulte o Detecção de desvio do Amazon SageMaker Repo do GitHub.
Exclusão automática de dados intermediários no Amazon S3
Você pode excluir automaticamente dados intermediários gerados por consultas do Athena e armazenados no Amazon S3 na conta do consumidor em intervalos regulares com regras de ciclo de vida de objetos do S3. Para obter mais informações, consulte Gerenciando seu ciclo de vida de armazenamento.
Integração do SageMaker Feature Store
Loja de artigos SageMaker é desenvolvido especificamente para ML e pode armazenar, descobrir e compartilhar recursos selecionados usados em fluxos de trabalho de treinamento e previsão. Um repositório de recursos pode funcionar como uma interface centralizada entre diferentes equipes de produtores de dados e LoBs, permitindo a descoberta e a reutilização de recursos para vários consumidores. O repositório de recursos pode atuar como uma alternativa ao catálogo de dados central na arquitetura de malha de dados descrita anteriormente. Para obter mais informações sobre padrões de arquitetura entre contas, consulte Habilite a reutilização de recursos entre contas e equipes usando Amazon SageMaker Feature Store.
Conclusão
Nesta série de duas partes, mostramos como você pode criar e treinar modelos de ML com uma arquitetura de malha de dados de várias contas na AWS. Descrevemos os requisitos de uma organização de serviços financeiros típica com vários LoBs e um ML CoE e ilustramos a arquitetura da solução com o Lake Formation e o SageMaker. Usamos o exemplo de um produto de dados de risco de crédito registrado no Lake Formation pelo LoB de banco de consumo e acessado pela equipe de ML CoE para treinar um modelo de ML de risco de crédito com o SageMaker.
Cada conta de produtor de dados define produtos de dados que são selecionados por pessoas que entendem os dados e seu controle de acesso, uso e limitações. Os produtos de dados e os domínios de aplicativos que os consomem são interconectados para formar a malha de dados. A arquitetura de malha de dados permite que as equipes de ML descubram e acessem esses produtos de dados selecionados.
O Lake Formation permite o acesso entre contas aos metadados do Data Catalog e dados subjacentes. Você pode usar o Lake Formation para criar uma arquitetura de malha de dados de várias contas. O SageMaker fornece uma plataforma de ML com os principais recursos de gerenciamento de dados, experimentação de ciência de dados, treinamento de modelos, hospedagem de modelos, automação de fluxo de trabalho e pipelines de CI/CD para produção. Você pode configurar um ou mais ambientes de análise e ML CoE para criar e treinar modelos com produtos de dados registrados em várias contas em uma malha de dados.
Experimente o Formação da Nuvem AWS modelos e código do exemplo repositório para começar.
Sobre os autores
Karim Hammouda é um arquiteto especialista em soluções de análise na AWS com paixão por integração de dados, análise de dados e BI. Ele trabalha com clientes da AWS para projetar e criar soluções de análise que contribuam para o crescimento de seus negócios. Em seu tempo livre, gosta de assistir a documentários na TV e jogar videogame com o filho.
Hasan Poonawala é arquiteto de soluções especialista em IA/ML sênior na AWS, Hasan ajuda os clientes a projetar e implantar aplicativos de aprendizado de máquina em produção na AWS. Ele tem mais de 12 anos de experiência de trabalho como cientista de dados, praticante de aprendizado de máquina e desenvolvedor de software. Em seu tempo livre, Hasan adora explorar a natureza e passar tempo com amigos e familiares.
Benoit de Patoul é arquiteto de soluções especialista em IA/ML na AWS. Ele ajuda os clientes fornecendo orientação e assistência técnica para criar soluções relacionadas a IA/ML usando a AWS. Em seu tempo livre, ele gosta de tocar piano e passar o tempo com os amigos.
- Avançado (300)
- AI
- arte ai
- gerador de arte ai
- ai robô
- Amazon Sage Maker
- inteligência artificial
- certificação de inteligência artificial
- inteligência artificial em bancos
- robô de inteligência artificial
- robôs de inteligência artificial
- software de inteligência artificial
- Formação AWS Lake
- Aprendizado de máquina da AWS
- blockchain
- conferência blockchain ai
- Coingenius
- inteligência artificial conversacional
- conferência de criptografia ai
- dall's
- deep learning
- google ai
- Níveis de Aprendizagem
- aprendizado de máquina
- platão
- platão ai
- Inteligência de Dados Platão
- Jogo de Platão
- PlatãoData
- jogo de platô
- escala ai
- sintaxe
- zefirnet