Zephyrnet Logo

Amazon SageMaker Feature Store agora oferece suporte para compartilhamento, descoberta e acesso entre contas | Amazon Web Services

Data:

Loja de recursos Amazon SageMaker é um repositório totalmente gerenciado e desenvolvido especificamente para armazenar, compartilhar e gerenciar recursos para modelos de aprendizado de máquina (ML). Funcionalidades são entradas para modelos de ML usados ​​durante treinamento e inferência. Por exemplo, em um aplicativo que recomenda uma lista de reprodução de músicas, os recursos podem incluir classificações de músicas, duração da audição e dados demográficos do ouvinte. Os recursos são usados ​​repetidamente por várias equipes e a qualidade dos recursos é crítica para garantir um modelo altamente preciso. Além disso, quando os recursos usados ​​para treinar modelos off-line em lote são disponibilizados para inferência em tempo real, é difícil manter os dois armazenamentos de recursos sincronizados. O SageMaker Feature Store fornece um armazenamento seguro e unificado para processar, padronizar e usar recursos em escala em todo o ciclo de vida do ML.

O SageMaker Feature Store agora facilita o compartilhamento, a descoberta e o acesso a grupos de recursos em contas da AWS. Esse novo recurso promove a colaboração e minimiza o trabalho duplicado para equipes envolvidas no modelo de ML e no desenvolvimento de aplicativos, especialmente em ambientes corporativos com múltiplas contas abrangendo diferentes unidades de negócios ou funções.

Com este lançamento, os proprietários de contas podem conceder acesso a grupos de recursos selecionados por outras contas usando Gerenciador de acesso a recursos da AWS (AWS RAM). Depois que receberem acesso, os usuários dessas contas poderão visualizar convenientemente todos os seus grupos de recursos, incluindo os compartilhados, por meio de Estúdio Amazon SageMaker ou SDK. Isso permite que as equipes descubram e utilizem recursos desenvolvidos por outras equipes, promovendo o compartilhamento de conhecimento e a eficiência. Além disso, os detalhes de uso de recursos compartilhados podem ser monitorados com Amazon CloudWatch e AWS CloudTrail. Para um mergulho profundo, consulte Descoberta e acesso a grupos de recursos entre contas.

Nesta postagem, discutimos o porquê e como criar um feature store centralizado com acesso entre contas. Mostramos como configurá-lo e executar um exemplo de demonstração, bem como os benefícios que você pode obter ao usar esse novo recurso em sua organização.

Quem precisa de uma feature store entre contas

As organizações precisam compartilhar recursos com segurança entre as equipes para criar modelos de ML precisos e, ao mesmo tempo, impedir o acesso não autorizado a dados confidenciais. O SageMaker Feature Store agora permite o compartilhamento granular de recursos entre contas via AWS RAM, permitindo o desenvolvimento colaborativo de modelos com governança.

O SageMaker Feature Store fornece armazenamento e gerenciamento específicos para recursos de ML usados ​​durante treinamento e inferência. Com suporte entre contas, agora você pode compartilhar seletivamente recursos armazenados em uma conta da AWS com outras contas da sua organização.

Por exemplo, a equipe de análise pode selecionar recursos como perfil do cliente, histórico de transações e catálogos de produtos em uma conta de gerenciamento central. Eles precisam ser acessados ​​com segurança por desenvolvedores de ML em outros departamentos, como marketing, detecção de fraudes e assim por diante, para construir modelos.

A seguir estão os principais benefícios do compartilhamento de recursos de ML entre contas:

  • Recursos consistentes e reutilizáveis – O compartilhamento centralizado de recursos selecionados melhora a precisão do modelo, fornecendo dados de entrada consistentes para treinamento. As equipes podem descobrir e consumir diretamente recursos criados por outras pessoas, em vez de duplicá-los em cada conta.
  • Controle de acesso ao grupo de recursos – Você pode conceder acesso apenas aos grupos de recursos específicos necessários para o caso de uso de uma conta. Por exemplo, a equipe de marketing só pode ter acesso ao grupo de recursos de perfil de cliente necessário para modelos de recomendação.
  • Colaboração entre equipes – Os recursos compartilhados permitem que equipes diferentes, como fraude, marketing e vendas, colaborem na construção de modelos de ML usando os mesmos dados confiáveis, em vez de criar recursos isolados.
  • Trilha de auditoria para conformidade – Os administradores podem monitorar centralmente o uso de recursos por todas as contas usando logs de eventos do CloudTrail. Isso fornece uma trilha de auditoria necessária para governança e conformidade.

Delineando produtores de consumidores em lojas de recursos de contas cruzadas

No domínio do aprendizado de máquina, o feature store atua como uma ponte crucial, conectando aqueles que fornecem dados com aqueles que os aproveitam. Essa dicotomia pode ser gerenciada de forma eficaz usando uma configuração entre contas para o feature store. Vamos desmistificar isso usando as seguintes personas e uma analogia do mundo real:

  • Engenheiros de dados e ML (proprietários e produtores) – Eles estabelecem as bases alimentando dados no armazenamento de recursos
  • Cientistas de dados (consumidores) – Eles extraem e utilizam esses dados para criar seus modelos

Os engenheiros de dados atuam como arquitetos que esboçam o projeto inicial. Sua tarefa é construir e supervisionar pipelines de dados eficientes. Extraindo dados de sistemas de origem, eles moldam atributos de dados brutos em recursos discerníveis. Veja a “idade”, por exemplo. Embora represente apenas o intervalo entre agora e a data de nascimento, a sua interpretação pode variar entre organizações. Garantir qualidade, uniformidade e consistência é fundamental aqui. Seu objetivo é alimentar dados em um armazenamento de recursos centralizado, estabelecendo-o como ponto de referência indiscutível.

Os engenheiros de ML refinam esses recursos básicos, adaptando-os para fluxos de trabalho de ML maduros. No contexto bancário, podem deduzir informações estatísticas a partir dos saldos das contas, identificando tendências e padrões de fluxo. O obstáculo que muitas vezes enfrentam é a redundância. É comum ver pipelines repetitivos de criação de recursos em diversas iniciativas de ML.

Imagine os cientistas de dados como chefs gourmet explorando uma despensa bem abastecida, em busca dos melhores ingredientes para sua próxima obra-prima culinária. Seu tempo deveria ser investido na elaboração de receitas de dados inovadoras, e não na remontagem da despensa. O obstáculo neste momento é descobrir os dados corretos. Uma interface amigável, equipada com ferramentas de pesquisa eficientes e descrições abrangentes de recursos, é indispensável.

Em essência, uma configuração de feature store entre contas segmenta meticulosamente as funções dos produtores e consumidores de dados, garantindo eficiência, clareza e inovação. Esteja você estabelecendo a base ou construindo sobre ela, conhecer sua função e suas ferramentas é fundamental.

O diagrama a seguir mostra duas equipes diferentes de cientistas de dados, de duas contas diferentes da AWS, que compartilham e usam o mesmo armazenamento central de recursos para selecionar os melhores recursos necessários para construir seus modelos de ML. O armazenamento central de recursos está localizado em uma conta diferente gerenciada por engenheiros de dados e engenheiros de ML, onde geralmente estão situados a camada de governança de dados e o data lake.

Controles de grupos de recursos entre contas

Com o SageMaker Feature Store, você pode compartilhar recursos de grupos de recursos entre contas. A conta do proprietário do recurso compartilha recursos com as contas do consumidor de recursos. Existem duas categorias distintas de permissões associadas ao compartilhamento de recursos:

  • Permissões de descoberta - Descoberta significa ser capaz de ver nomes e metadados de grupos de recursos. Quando você concede permissão de descoberta, todas as entidades do grupo de recursos na conta da qual você compartilha (conta do proprietário do recurso) tornam-se detectáveis ​​pelas contas com as quais você está compartilhando (contas de consumidor de recursos). Por exemplo, se você tornar a conta do proprietário do recurso detectável pela conta do consumidor de recursos, os principais da conta do consumidor de recursos poderão ver todos os grupos de recursos contidos na conta do proprietário do recurso. Essa permissão é concedida a contas de consumidores de recursos usando o tipo de recurso de catálogo SageMaker.
  • Permissões de acesso – Ao conceder uma permissão de acesso, você o faz no nível de recurso do grupo de recursos (não no nível da conta). Isso lhe dá um controle mais granular sobre a concessão de acesso aos dados. Os tipos de permissões de acesso que podem ser concedidas são somente leitura, leitura/gravação e administrador. Por exemplo, você pode selecionar apenas determinados grupos de recursos da conta do proprietário do recurso para serem acessíveis pelos principais da conta do consumidor de recursos, dependendo das necessidades do seu negócio. Esta permissão é concedida a contas de consumo de recursos usando o tipo de recurso do grupo de recursos e especificando entidades do grupo de recursos.

O diagrama de exemplo a seguir visualiza o compartilhamento do tipo de recurso do catálogo SageMaker concedendo a permissão de descoberta em comparação ao compartilhamento de uma entidade de tipo de recurso de grupo de recursos com permissões de acesso. O catálogo do SageMaker contém todas as entidades do seu grupo de recursos. Quando recebe uma permissão de descoberta, a conta do consumidor de recursos pode pesquisar e descobrir todas as entidades do grupo de recursos na conta do proprietário do recurso. Uma entidade de grupo de recursos contém seus dados de ML. Quando é concedida uma permissão de acesso, a conta do consumidor de recursos pode acessar os dados do grupo de recursos, com acesso determinado pela permissão de acesso relevante.

Visão geral da solução

Conclua as etapas a seguir para compartilhar recursos com segurança entre contas usando o SageMaker Feature Store:

  1. Na conta de origem (proprietário), ingira conjuntos de dados e prepare recursos normalizados. Organize recursos relacionados em grupos lógicos chamados grupos de recursos.
  2. Crie um compartilhamento de recursos para conceder acesso entre contas a grupos de recursos específicos. Defina ações permitidas como get e put e restrinja o acesso apenas a contas autorizadas.
  3. Nas contas de destino (consumidor), aceite o convite do AWS RAM para acessar recursos compartilhados. Revise a política de acesso para entender as permissões concedidas.

Os desenvolvedores em contas de destino agora podem recuperar recursos compartilhados usando o SageMaker SDK, juntar dados adicionais e usá-los para treinar modelos de ML. A conta de origem pode monitorar o acesso a recursos compartilhados por todas as contas usando logs de eventos do CloudTrail. Os logs de auditoria fornecem visibilidade centralizada do uso dos recursos.

Com essas etapas, você pode permitir que equipes de toda a sua organização usem recursos de ML compartilhados com segurança para o desenvolvimento de modelos colaborativos.

Pré-requisitos

Presumimos que você já criou grupos de recursos e ingeriu os recursos correspondentes em sua conta de proprietário. Para obter mais informações sobre como começar, consulte Introdução à Loja de recursos do Amazon SageMaker.

Conceda permissões de descoberta

Primeiro, demonstramos como compartilhar nosso catálogo SageMaker Feature Store na conta do proprietário. Conclua as seguintes etapas:

  1. Na conta do proprietário do catálogo do SageMaker Feature Store, abra o console AWS RAM.
  2. Debaixo Compartilhado por mim no painel de navegação, escolha Compartilhamento de recursos.
  3. Escolha Criar compartilhamento de recursos.
  4. Insira um nome de compartilhamento de recursos e escolha Catálogos de recursos do SageMaker como o tipo de recurso.
  5. Escolha Próximo.
  6. Para acesso somente para descoberta, insira AWSRAMPermissionSageMakerCatalogResourceSearch para Permissões gerenciadas.
  7. Escolha Próximo.
  8. Insira o ID da sua conta pessoal e escolha Adicionar. Você pode adicionar várias contas pessoais.
  9. Escolha Próximo e complete seu compartilhamento de recursos.

Agora o catálogo compartilhado da SageMaker Feature Store deve aparecer no Compartilhamento de recursos Disputas de Comerciais.

Você pode obter o mesmo resultado usando o Interface de linha de comando da AWS (AWS CLI) com o seguinte comando (forneça sua região da AWS, ID da conta do proprietário e ID da conta do consumidor):

aws ram create-resource-share 
  --name MyCatalogFG 
  --resource-arns arn:aws:sagemaker:REGION:OWNERACCOUNTID:sagemaker-catalog/DefaultFeatureGroupCatalog 
  --principals CONSACCOUNTID 
  --permission-arns arn:aws:ram::aws:permission/AWSRAMPermissionSageMakerCatalogResourceSearch

Aceite o convite de compartilhamento de recursos

Para aceitar o convite de compartilhamento de recursos, conclua as etapas a seguir:

  1. Na conta de destino (consumidor), abra o console do AWS RAM.
  2. Debaixo Compartilhou comigo no painel de navegação, escolha Compartilhamento de recursos.
  3. Escolha o novo compartilhamento de recursos pendente.
  4. Escolha Aceitar compartilhamento de recursos.

Você pode obter o mesmo resultado usando a AWS CLI com o seguinte comando:

aws ram get-resource-share-invitations

Na saída do comando anterior, recupere o valor de resourceShareInvitationArn e aceite o convite com o seguinte comando:

aws ram accept-resource-share-invitation 
--resource-share-invitation-arn RESOURCESHAREINVITATIONARN

O fluxo de trabalho é o mesmo para compartilhar grupos de recursos com outra conta por meio do AWS RAM.

Depois de compartilhar alguns grupos de recursos com a conta de destino, você pode inspecionar o SageMaker Feature Store, onde poderá observar que o novo catálogo está disponível.

Conceder permissões de acesso

Com permissões de acesso, podemos conceder permissões no nível de recurso do grupo de recursos. Conclua as seguintes etapas:

  1. Na conta do proprietário do catálogo do SageMaker Feature Store, abra o console AWS RAM.
  2. Debaixo Compartilhado por mim no painel de navegação, escolha Compartilhamento de recursos.
  3. Escolha Criar compartilhamento de recursos.
  4. Insira um nome de compartilhamento de recursos e escolha Grupos de recursos do SageMaker como o tipo de recurso.
  5. Selecione um ou mais grupos de recursos para compartilhar.
  6. Escolha Próximo.
  7. Para acesso de leitura/gravação, digite AWSRAMPermissionSageMakerFeatureGroupReadWrite para Permissões gerenciadas.
  8. Escolha Próximo.
  9. Insira o ID da sua conta pessoal e escolha Adicionar. Você pode adicionar várias contas pessoais.
  10. Escolha Próximo e complete seu compartilhamento de recursos.

Agora o catálogo compartilhado deve aparecer no Compartilhamento de recursos Disputas de Comerciais.

Você pode obter o mesmo resultado usando a AWS CLI com o seguinte comando (forneça sua região, ID da conta do proprietário, ID da conta do consumidor e nome do grupo de recursos):

aws ram create-resource-share 
  --name MyCatalogFG 
  --resource-arns arn:aws:sagemaker:REGION:OWNERACCOUNTID:feature-group/FEATUREGROUPNAME 
  --principals CONSACCOUNTID 
  --permission-arns arn:aws:ram::aws:permission/AWSRAMPermissionSageMakerFeatureGroupReadWrite

Existem três tipos de acesso que você pode conceder a grupos de recursos:

  • AWSRAMPermissionSageMakerFeatureGroupReadOnly – O privilégio somente leitura permite que contas de consumidores de recursos leiam registros nos grupos de recursos compartilhados e visualizem detalhes e metadados
  • AWSRAMPermissionSageMakerFeatureGroupReadWrite – O privilégio de leitura/gravação permite que contas de consumidores de recursos gravem registros e excluam registros dos grupos de recursos compartilhados, além de permissões de leitura
  • AWSRAMPermissionSagemakerFeatureGroupAdmin – O privilégio de administrador permite que as contas de consumidores de recursos atualizem a descrição e os parâmetros dos recursos dentro dos grupos de recursos compartilhados e atualizem a configuração dos grupos de recursos compartilhados, além de permissões de leitura/gravação

Aceite o convite de compartilhamento de recursos

Para aceitar o convite de compartilhamento de recursos, conclua as etapas a seguir:

  1. Na conta de destino (consumidor), abra o console do AWS RAM.
  2. Debaixo Compartilhou comigo no painel de navegação, escolha Compartilhamento de recursos.
  3. Escolha o novo compartilhamento de recursos pendente.
  4. Escolha Aceitar compartilhamento de recursos.

O processo de aceitação do compartilhamento de recursos usando a AWS CLI é o mesmo da seção de descoberta anterior, com os comandos get-resource-share-invitations e accept-resource-share-invitation.

Exemplos de notebooks apresentando esse novo recurso

Dois notebooks foram adicionados ao SageMaker Feature Store Workshop Repositório GitHub na pasta 09-module-security/09-03-cross-account-access:

  • m9_03_nb1_cross-account-admin.ipynb – Isso precisa ser iniciado em sua conta AWS de administrador ou proprietário
  • m9_03_nb2_cross-account-consumer.ipynb – Isso precisa ser lançado em sua conta AWS de consumidor

O primeiro script mostra como criar o compartilhamento de recursos de descoberta para grupos de recursos existentes na conta de administrador ou proprietário e compartilhá-lo com outra conta de consumidor programaticamente usando a API AWS RAM create_resource_share(). Ele também mostra como conceder permissões de acesso a grupos de recursos existentes na conta do proprietário e compartilhá-los com outra conta de consumidor usando AWS RAM. Você precisa fornecer o ID da conta do consumidor da AWS antes de executar o notebook.

O segundo script aceita os convites do AWS RAM para descobrir e acessar grupos de recursos entre contas no nível do proprietário. Em seguida, mostra como descobrir grupos de recursos entre contas que estão na conta do proprietário e listá-los na conta do consumidor. Você também pode ver como acessar grupos de recursos de leitura/gravação entre contas que estão na conta do proprietário e realizar as seguintes operações na conta do consumidor: describe(), get_record(), ingest() e delete_record().

Conclusão

O recurso entre contas do SageMaker Feature Store oferece vários benefícios atraentes. Em primeiro lugar, facilita a colaboração contínua, permitindo o compartilhamento de grupos de recursos em várias contas da AWS. Isso melhora a acessibilidade e a utilização dos dados, permitindo que equipes em contas diferentes usem recursos compartilhados em seus fluxos de trabalho de ML.

Além disso, a capacidade entre contas melhora a governança e a segurança dos dados. Com acesso e permissões controlados por meio do AWS RAM, as organizações podem manter um armazenamento de recursos centralizado e, ao mesmo tempo, garantir que cada conta tenha níveis de acesso personalizados. Isto não só simplifica a gestão de dados, mas também fortalece as medidas de segurança, limitando o acesso a utilizadores autorizados.

Além disso, a capacidade de compartilhar grupos de recursos entre contas simplifica o processo de construção e implantação de modelos de ML em um ambiente colaborativo. Promove um fluxo de trabalho mais integrado e eficiente, reduzindo a redundância no armazenamento de dados e facilitando a criação de modelos robustos com recursos compartilhados e de alta qualidade. No geral, o recurso entre contas da Feature Store otimiza a colaboração, a governança e a eficiência no desenvolvimento de ML em diversas contas da AWS. Experimente e deixe-nos saber o que você pensa nos comentários.


Sobre os autores

Ioan Catana é arquiteto sênior de soluções especialista em inteligência artificial e aprendizado de máquina na AWS. Ele ajuda os clientes a desenvolver e dimensionar suas soluções de ML na Nuvem AWS. Ioan tem mais de 20 anos de experiência, principalmente em design de arquitetura de software e engenharia de nuvem.

Philipp Kaindl é arquiteto sênior de soluções de inteligência artificial e aprendizado de máquina na AWS. Com experiência em ciência de dados e engenharia mecânica, seu foco está em capacitar os clientes para criar um impacto comercial duradouro com a ajuda da IA. Fora do trabalho, Philipp gosta de mexer em impressoras 3D, velejar e fazer caminhadas.

Dhaval Xá é arquiteto de soluções sênior na AWS, especializado em aprendizado de máquina. Com forte foco em negócios nativos digitais, ele capacita os clientes a usar a AWS e a impulsionar o crescimento de seus negócios. Como entusiasta de ML, Dhaval é movido por sua paixão por criar soluções impactantes que tragam mudanças positivas. Nos momentos de lazer, entrega-se ao amor por viagens e preza por momentos de qualidade com a família.

Mizanur Rahman é engenheiro de software sênior da Amazon SageMaker Feature Store com mais de 10 anos de experiência prática, especializado em IA e ML. Com uma base sólida tanto na teoria quanto nas aplicações práticas, ele possui um Ph.D. em Detecção de Fraudes usando Aprendizado de Máquina, refletindo sua dedicação ao avanço da área. Sua experiência abrange um amplo espectro, abrangendo arquiteturas escaláveis, computação distribuída, análise de big data, microsserviços e infraestruturas em nuvem para organizações.

local_img

Inteligência mais recente

local_img