Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1

Organizações de vários setores estão usando inteligência artificial (IA) e aprendizado de máquina (ML) para resolver desafios de negócios específicos de seu setor. Por exemplo, no setor de serviços financeiros, você pode usar IA e ML para resolver desafios relacionados à detecção de fraudes, previsão de risco de crédito, marketing direto e muitos outros.

As grandes empresas às vezes criam um centro de excelência (CoE) para atender às necessidades de diferentes linhas de negócios (LoBs) com análises inovadoras e projetos de ML.

Para gerar modelos de ML de alta qualidade e desempenho em escala, eles precisam fazer o seguinte:

  • Forneça uma maneira fácil de acessar dados relevantes para suas análises e ML CoE
  • Crie responsabilidade nos provedores de dados de LoBs individuais para compartilhar ativos de dados selecionados que sejam detectáveis, compreensíveis, interoperáveis ​​e confiáveis

Isso pode reduzir o longo tempo de ciclo de conversão de casos de uso de ML do experimento para a produção e gerar valor comercial em toda a organização.

Uma arquitetura de malha de dados se esforça para resolver esses desafios técnicos e organizacionais, introduzindo uma abordagem sociotécnica descentralizada para compartilhar, acessar e gerenciar dados em ambientes complexos e de grande escala – dentro ou entre organizações. O padrão de design de malha de dados cria um modelo de compartilhamento de dados responsável que se alinha com o crescimento organizacional para atingir o objetivo final de aumentar o retorno dos investimentos de negócios nas equipes de dados, processos e tecnologia.

Nesta série de duas partes, fornecemos orientações sobre como as organizações podem criar uma arquitetura de dados moderna usando um padrão de design de malha de dados na AWS e permitir que uma análise e ML CoE criem e treinem modelos de ML com dados em vários LoBs. Usamos um exemplo de uma organização de serviços financeiros para definir o contexto e o caso de uso desta série.

Neste primeiro post, mostramos os procedimentos de configuração de uma arquitetura de malha de dados com várias contas de produtor e consumidor de dados da AWS. Em seguida, nos concentramos em um produto de dados, que pertence a um LoB dentro da organização financeira, e como ele pode ser compartilhado em um ambiente de malha de dados para permitir que outros LoBs consumam e usem esse produto de dados. Isso visa principalmente a persona do administrador de dados, responsável por simplificar e padronizar o processo de compartilhamento de dados entre produtores e consumidores de dados e garantir a conformidade com as regras de governança de dados.

Na segunda postagem, mostramos um exemplo de como uma análise e ML CoE podem consumir o produto de dados para um caso de uso de previsão de risco. Isso visa principalmente a persona do cientista de dados, responsável por utilizar ativos de dados de toda a organização e de terceiros para criar e treinar modelos de ML que extraem insights de negócios para aprimorar a experiência dos clientes de serviços financeiros.

Visão geral da malha de dados

O fundador do padrão de malha de dados, Zhamak Dehghani em seu livro Malha de dados fornecendo valor orientado a dados em escala, definiu quatro princípios para o objetivo da malha de dados:

  • Propriedade de domínio distribuído – Buscar uma mudança organizacional da propriedade centralizada de dados por especialistas que executam as tecnologias de plataforma de dados para um modelo de propriedade de dados descentralizado, empurrando a propriedade e a responsabilidade dos dados de volta aos LoBs onde os dados são produzidos (domínios alinhados à origem) ou consumidos ( domínios alinhados ao consumo).
  • Dados como um produto – Para impulsionar a responsabilidade de compartilhamento de ativos de dados curados, de alta qualidade, interoperáveis ​​e seguros. Portanto, os produtores de dados de diferentes LoBs são responsáveis ​​por tornar os dados em um formato consumível diretamente na fonte.
  • Análise de autoatendimento – Para simplificar a experiência dos usuários de dados de análise e ML para que eles possam descobrir, acessar e usar produtos de dados com suas ferramentas preferidas. Além disso, para otimizar a experiência dos provedores de dados LoB para criar, implantar e manter produtos de dados por meio de receitas e componentes e modelos reutilizáveis.
  • Governança computacional federada – Federar e automatizar a tomada de decisão envolvida no gerenciamento e controle do acesso a dados para estar no nível dos proprietários de dados dos diferentes LoBs, o que ainda está alinhado com as políticas legais, de conformidade e de segurança da organização mais ampla que são aplicadas por meio de a malha.

A AWS apresentou sua visão para construir uma malha de dados em cima da AWS em vários posts:

  • Primeiro, focamos na parte organizacional associada à propriedade de domínio distribuído e aos dados como princípios do produto. Os autores descreveram a visão de alinhar vários LOBs em toda a organização em direção a uma estratégia de produto de dados que forneça aos domínios alinhados ao consumo ferramentas para encontrar e obter os dados de que precisam, garantindo o controle necessário sobre o uso desses dados, introduzindo a responsabilidade por os domínios alinhados à origem para fornecer produtos de dados prontos para serem usados ​​diretamente na origem. Para obter mais informações, consulte Como o JPMorgan Chase construiu uma arquitetura de malha de dados para gerar valor significativo para aprimorar sua plataforma de dados corporativos.
  • Em seguida, nos concentramos na parte técnica associada à criação de produtos de dados, análise de autoatendimento e princípios de governança computacional federada. Os autores descreveram os principais serviços da AWS que capacitam os domínios alinhados à origem a criar e compartilhar produtos de dados, uma ampla variedade de serviços que podem permitir que domínios alinhados ao consumidor consumam produtos de dados de diferentes maneiras com base em suas ferramentas preferidas e nos casos de uso que eles estão trabalhando e, finalmente, os serviços da AWS que regem o procedimento de compartilhamento de dados, aplicando políticas de acesso a dados. Para obter mais informações, consulte Projetar uma arquitetura de malha de dados usando AWS Lake Formation e AWS Glue.
  • Também mostramos uma solução para automatizar a descoberta de dados e o controle de acesso por meio de uma interface de usuário de malha de dados centralizada. Para mais detalhes, consulte Crie um fluxo de trabalho de compartilhamento de dados com o AWS Lake Formation para sua malha de dados.

Caso de uso de serviços financeiros

Normalmente, as grandes organizações de serviços financeiros têm vários LoBs, como banco de consumidor, banco de investimento e gerenciamento de ativos, e também uma ou mais equipes de análise e ML CoE. Cada LoB oferece diferentes serviços:

  • O LoB de banco de consumo fornece uma variedade de serviços para consumidores e empresas, incluindo crédito e hipoteca, gerenciamento de caixa, soluções de pagamento, produtos de depósito e investimento e muito mais
  • O LoB de banco comercial ou de investimento oferece soluções financeiras abrangentes, como empréstimos, risco de falência e pagamentos por atacado a clientes, incluindo pequenas empresas, empresas de médio porte e grandes corporações
  • O LoB de gestão de ativos fornece produtos de aposentadoria e serviços de investimento em todas as classes de ativos

Cada LoB define seus próprios produtos de dados, que são selecionados por pessoas que entendem os dados e são mais adequadas para especificar quem está autorizado a usá-los e como eles podem ser usados. Por outro lado, outros LoBs e domínios de aplicativos, como análise e ML CoE, estão interessados ​​em descobrir e consumir produtos de dados qualificados, combinando-os para gerar insights e tomar decisões orientadas por dados.

A ilustração a seguir descreve alguns LoBs e exemplos de produtos de dados que eles podem compartilhar. Ele também mostra os consumidores de produtos de dados, como análises e ML CoE, que criam modelos de ML que podem ser implantados em aplicativos voltados para o cliente para aprimorar ainda mais a experiência do cliente final.

Seguindo o conceito sociotécnico da malha de dados, começamos com o aspecto social com um conjunto de etapas organizacionais, como as seguintes:

  • Utilizando especialistas de domínio para definir limites para cada domínio, para que cada produto de dados possa ser mapeado para um domínio específico
  • Identificar proprietários de produtos de dados fornecidos por cada domínio, para que cada produto de dados tenha uma estratégia definida por seu proprietário
  • Identificando políticas de governança de incentivos globais e locais ou federados, de modo que quando os consumidores de dados acessam um produto de dados específico, a política de acesso associada ao produto pode ser aplicada automaticamente por meio de uma camada central de governança de dados

Em seguida, passamos para o aspecto técnico, que inclui o seguinte cenário de ponta a ponta definido no diagrama anterior:

  1. Capacite o LoB bancário ao consumidor com ferramentas para criar um produto de dados de perfil de crédito ao consumidor pronto para uso.
  2. Permita que o LoB de banco do consumidor compartilhe produtos de dados na camada de governança central.
  3. Incorpore definições globais e federadas de políticas de acesso a dados que devem ser aplicadas ao acessar o produto de dados do perfil de crédito ao consumidor por meio da governança de dados central.
  4. Permita que a análise e o ML CoE descubram e acessem o produto de dados por meio da camada de governança central.
  5. Capacite a análise e o ML CoE com ferramentas para utilizar o produto de dados para criar e treinar um modelo de previsão de risco de crédito. Não abordamos as etapas finais (6 e 7 no diagrama anterior) nesta série. No entanto, para mostrar o valor comercial que esse modelo de ML pode trazer para a organização em um cenário de ponta a ponta, ilustramos o seguinte:
  6. Esse modelo pode ser implantado posteriormente em sistemas voltados para o cliente, como um portal da Web de banco do consumidor ou aplicativo móvel.
  7. Ele pode ser usado especificamente dentro do pedido de empréstimo para avaliar o perfil de risco dos pedidos de crédito e hipoteca.

A seguir, descrevemos as necessidades técnicas de cada um dos componentes.

Mergulhe profundamente nas necessidades técnicas

Para disponibilizar produtos de dados para todos, as organizações precisam facilitar o compartilhamento de dados entre diferentes entidades em toda a organização, mantendo o controle adequado sobre eles, ou em outras palavras, equilibrar agilidade com governança adequada.

Consumidor de dados: Analytics e ML CoE

Os consumidores de dados, como cientistas de dados da análise e ML CoE, precisam ser capazes de fazer o seguinte:

  • Descubra e acesse conjuntos de dados relevantes para um determinado caso de uso
  • Tenha certeza de que os conjuntos de dados que eles desejam acessar já estão selecionados, atualizados e têm descrições robustas
  • Solicitar acesso a conjuntos de dados de interesse para seus casos de negócios
  • Use suas ferramentas preferidas para consultar e processar esses conjuntos de dados em seu ambiente para ML sem a necessidade de replicar dados do local remoto original ou se preocupar com complexidades de engenharia ou infraestrutura associadas ao processamento de dados armazenados fisicamente em um local remoto
  • Seja notificado sobre quaisquer atualizações de dados feitas pelos proprietários dos dados

Produtor de dados: propriedade do domínio

Os produtores de dados, como equipes de domínio de diferentes LoBs na organização de serviços financeiros, precisam registrar e compartilhar conjuntos de dados selecionados que contenham o seguinte:

  • Metadados técnicos e operacionais, como nomes e tamanhos de bancos de dados e tabelas, esquemas de colunas e chaves
  • Metadados de negócios, como descrição de dados, classificação e sensibilidade
  • Rastreamento de metadados, como evolução do esquema da origem para o formulário de destino e quaisquer formulários intermediários
  • Metadados de qualidade de dados, como taxas de correção e completude e viés de dados
  • Políticas e procedimentos de acesso

Eles são necessários para permitir que os consumidores de dados descubram e acessem dados sem depender de procedimentos manuais ou ter que entrar em contato com especialistas de domínio do produto de dados para obter mais conhecimento sobre o significado dos dados e como eles podem ser acessados.

Governança de dados: descoberta, acessibilidade e auditabilidade

As organizações precisam equilibrar as agilidades ilustradas anteriormente com a mitigação adequada dos riscos associados a vazamentos de dados. Particularmente em setores regulamentados, como serviços financeiros, é necessário manter a governança de dados centralizada para fornecer acesso geral aos dados e controle de auditoria, ao mesmo tempo em que reduz o espaço ocupado pelo armazenamento, evitando várias cópias dos mesmos dados em diferentes locais.

Em arquiteturas tradicionais de data lake centralizado, os produtores de dados geralmente publicam dados brutos e passam a responsabilidade de curadoria de dados, gerenciamento de qualidade de dados e controle de acesso para engenheiros de dados e infraestrutura em uma equipe de plataforma de dados centralizada. No entanto, essas equipes de plataforma de dados podem estar menos familiarizadas com os vários domínios de dados e ainda contar com o suporte dos produtores de dados para poder selecionar e controlar adequadamente o acesso aos dados de acordo com as políticas aplicadas em cada domínio de dados. Por outro lado, os próprios produtores de dados estão melhor posicionados para fornecer ativos de dados qualificados e com curadoria e estão cientes das políticas de acesso específicas do domínio que precisam ser aplicadas ao acessar ativos de dados.

Visão geral da solução

O diagrama a seguir mostra a arquitetura de alto nível da solução proposta.

Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Abordamos o consumo de dados pela análise e ML CoE com Amazona atena e Amazon Sage Maker in parte 2 desta série.

Neste post, nos concentramos no processo de integração de dados na malha de dados e descrevemos como um LoB individual, como a equipe de dados do domínio bancário do consumidor, pode usar ferramentas da AWS, como Cola AWS e Produção de dados do AWS Glue para preparar, organizar e aprimorar a qualidade de seus produtos de dados e, em seguida, registrar esses produtos de dados na conta central de governança de dados por meio de Formação AWS Lake.

Consumer banking LoB (produtor de dados)

Um dos princípios fundamentais da malha de dados é o conceito de dados como um produto. É muito importante que a equipe de dados do domínio bancário do consumidor trabalhe na preparação de produtos de dados que estejam prontos para uso pelos consumidores de dados. Isso pode ser feito usando ferramentas de extração, transformação e carregamento (ETL) da AWS, como o AWS Glue, para processar dados brutos coletados em Serviço de armazenamento simples da Amazon (Amazon S3) ou, alternativamente, conecte-se aos armazenamentos de dados operacionais onde os dados são produzidos. Você também pode usar DataBrew, que é uma ferramenta de preparação de dados visuais sem código que facilita a limpeza e normalização dos dados.

Por exemplo, ao preparar o produto de dados do perfil de crédito ao consumidor, a equipe de dados do domínio bancário do consumidor pode fazer uma curadoria simples para traduzir do alemão para o inglês os nomes de atributo dos dados brutos recuperados do conjunto de dados de código aberto Dados de crédito alemães do Statlog, que consiste em 20 atributos e 1,000 linhas.

Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Gestão de dados

O principal serviço da AWS para habilitar a governança de malha de dados é o Lake Formation. O Lake Formation oferece a capacidade de impor a governança de dados em cada domínio de dados e entre domínios para garantir que os dados sejam facilmente detectáveis ​​e seguros. Ele fornece um modelo de segurança federado que pode ser administrado centralmente, com práticas recomendadas para descoberta de dados, segurança e conformidade, permitindo alta agilidade em cada domínio.

O Lake Formation oferece uma API para simplificar como os dados são ingeridos, armazenados e gerenciados, juntamente com segurança em nível de linha para proteger seus dados. Ele também fornece funcionalidades como controle de acesso granular, tabelas governadas e otimização de armazenamento.

Além disso, Lake Formations oferece uma API de compartilhamento de dados que você pode usar para compartilhar dados em diferentes contas. Isso permite que o consumidor de análise e ML CoE execute consultas do Athena que consultam e unem tabelas em várias contas. Para obter mais informações, consulte o Guia do desenvolvedor do AWS Lake Formation.

Gerenciador de acesso a recursos da AWS (AWS RAM) fornece uma maneira segura de compartilhar recursos via Gerenciador de identidade e acesso da AWS (IAM) funções e usuários em contas da AWS dentro de uma organização ou unidades organizacionais (OUs) em Organizações AWS.

O Lake Formation junto com o AWS RAM oferece uma maneira de gerenciar o compartilhamento e o acesso de dados nas contas da AWS. Referimo-nos a esta abordagem como Controle de acesso baseado em RAM. Para obter mais detalhes sobre essa abordagem, consulte Crie um fluxo de trabalho de compartilhamento de dados com o AWS Lake Formation para sua malha de dados.

O Lake Formation também oferece outra maneira de gerenciar o compartilhamento e o acesso de dados usando Tags de formação do lago. Referimo-nos a esta abordagem como controle de acesso baseado em tags. Para mais detalhes, consulte Crie uma arquitetura de dados moderna e um padrão de malha de dados em escala usando o controle de acesso baseado em tags do AWS Lake Formation.

Ao longo deste post, usamos a abordagem de controle de acesso baseado em tags porque simplifica a criação de políticas em um número menor de tags lógicas que são comumente encontradas em diferentes LoBs em vez de especificar políticas em recursos nomeados no nível da infraestrutura.

Pré-requisitos

Para configurar uma arquitetura de malha de dados, você precisa de pelo menos três contas da AWS: uma conta de produtor, uma conta central e uma conta de consumidor.

Implante o ambiente de malha de dados

Para implantar um ambiente de malha de dados, você pode usar o seguinte Repositório GitHub. Este repositório contém três Formação da Nuvem AWS modelos que implantam um ambiente de malha de dados que inclui cada uma das contas (produtor, central e consumidor). Em cada conta, você pode executar seu modelo correspondente do CloudFormation.

Conta central

Na conta central, conclua as seguintes etapas:

  1. Inicie a pilha do CloudFormation:
    Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  2. Crie dois usuários do IAM:
    1. DataMeshOwner
    2. ProducerSteward
  3. Conceda DataMeshOwner como o administrador da Formação do Lago.
  4. Crie uma função do IAM:
    1. LFRegisterLocationServiceRole
  5. Crie duas políticas do IAM:
    1. ProducerStewardPolicy
    2. S3DataLakePolicy
  6. Crie o cartão de crédito do banco de dados para ProducerSteward na conta do produtor.
  7. Compartilhe a permissão de localização de dados com a conta do produtor.

Conta do produtor

Na conta do produtor, conclua as etapas a seguir:

  1. Inicie a pilha do CloudFormation:
    Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  2. Crie o bucket S3 credit-card, que segura a mesa credit_card.
  3. Permita acesso ao bucket do S3 para a função de serviço do Lake Formation da conta central.
  4. Criar o rastreador do AWS Glue creditCrawler-<ProducerAccountID>.
  5. Crie uma função de serviço do rastreador do AWS Glue.
  6. Conceder permissões no local do bucket do S3 credit-card-<ProducerAccountID>-<aws-region> para a função de rastreador do AWS Glue.
  7. Crie um usuário do IAM administrador do produtor.

Conta do consumidor

Na conta do consumidor, conclua as etapas a seguir:

  1. Inicie a pilha do CloudFormation:
    Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  2. Crie o bucket S3 <AWS Account ID>-<aws-region>-athena-logs.
  3. Criar o grupo de trabalho Athena consumer-workgroup.
  4. Crie o usuário IAM ConsumerAdmin.

Adicione um banco de dados e assine a conta do consumidor nele

Depois de executar os modelos, você pode percorrer o passo-a-passo para adicionar um produto no catálogo de dados e ter o consumidor inscrito nele. O guia começa com a criação de um banco de dados onde o produtor pode colocar seus produtos e, em seguida, explica como o consumidor pode se inscrever nesse banco de dados e acessar os dados. Tudo isso é feito durante o uso Tags LF, qual é o controle de acesso baseado em tags para a Formação do Lago.

Registro do produto de dados

A arquitetura a seguir descreve as etapas detalhadas de como a equipe de LoB de banco de consumidor que atua como produtora de dados pode registrar seus produtos de dados na conta central de governança de dados (produtos de dados integrados à malha de dados da organização).

Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

As etapas gerais para registrar um produto de dados são as seguintes:

  1. Crie um banco de dados de destino para o produto de dados na conta de governança central. Como exemplo, o modelo do CloudFormation da conta central já cria o banco de dados de destino credit-card.
  2. Compartilhe o banco de dados de destino criado com a origem na conta do produtor.
  3. Crie um link de recurso do banco de dados compartilhado na conta do produtor. Na captura de tela a seguir, vemos no console do Lake Formation na conta do produtor que rl_credit-card é o link de recurso do credit-card base de dados.
    Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.
  4. Preencha as tabelas (com os dados selecionados na conta do produtor) dentro do banco de dados de links de recursos (rl_credit-card) usando um rastreador do AWS Glue na conta do produtor.
    Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

A tabela criada aparece automaticamente na conta de governança central. A captura de tela a seguir mostra um exemplo da tabela em Lake Formation na conta central. Isso ocorre depois de executar as etapas anteriores para preencher o banco de dados de links de recursos rl_credit-card na conta do produtor.

Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Conclusão

Na parte 1 desta série, discutimos as metas das organizações de serviços financeiros para obter mais agilidade para suas equipes de análise e ML e reduzir o tempo dos dados aos insights. Também nos concentramos em criar uma arquitetura de malha de dados na AWS, onde apresentamos serviços da AWS fáceis de usar, escaláveis ​​e econômicos, como AWS Glue, DataBrew e Lake Formation. As equipes de produção de dados podem usar esses serviços para criar e compartilhar produtos de dados seguros, interoperáveis ​​e de alta qualidade, prontos para uso por diferentes consumidores de dados para fins analíticos.

In parte 2, nos concentramos em equipes de análise e ML CoE que consomem produtos de dados compartilhados pelo LoB de banco de consumo para criar um modelo de previsão de risco de crédito usando serviços da AWS, como Athena e SageMaker.


Sobre os autores

Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.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.

Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.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.

Crie e treine modelos de ML usando uma arquitetura de malha de dados na AWS: Parte 1 PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.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.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS