Logo Zéphyrnet

Amazon SageMaker Feature Store prend désormais en charge le partage, la découverte et l'accès entre comptes | Services Web Amazon

Date :

Magasin de fonctionnalités Amazon SageMaker est un référentiel entièrement géré et spécialement conçu pour stocker, partager et gérer les fonctionnalités des modèles d'apprentissage automatique (ML). Fonctionnalités: sont des entrées dans les modèles ML utilisés lors de la formation et de l'inférence. Par exemple, dans une application qui recommande une liste de lecture musicale, les fonctionnalités peuvent inclure le classement des chansons, la durée d'écoute et les données démographiques des auditeurs. Les fonctionnalités sont utilisées de manière répétée par plusieurs équipes, et leur qualité est essentielle pour garantir un modèle très précis. De plus, lorsque les fonctionnalités utilisées pour entraîner des modèles hors ligne par lots sont mises à disposition pour une inférence en temps réel, il est difficile de maintenir la synchronisation des deux magasins de fonctionnalités. SageMaker Feature Store fournit un magasin sécurisé et unifié pour traiter, standardiser et utiliser les fonctionnalités à grande échelle tout au long du cycle de vie du ML.

SageMaker Feature Store facilite désormais le partage, la découverte et l'accès aux groupes de fonctionnalités sur les comptes AWS. Cette nouvelle fonctionnalité favorise la collaboration et minimise le travail en double pour les équipes impliquées dans le développement de modèles et d'applications ML, en particulier dans les environnements d'entreprise avec plusieurs comptes couvrant différentes unités commerciales ou fonctions.

Avec ce lancement, les propriétaires de comptes peuvent accorder l'accès à certains groupes de fonctionnalités à d'autres comptes en utilisant Gestionnaire d'accès aux ressources AWS (AWSRAM). Une fois l'accès accordé, les utilisateurs de ces comptes peuvent facilement afficher tous leurs groupes de fonctionnalités, y compris ceux partagés, via Amazon SageMakerStudio ou des SDK. Cela permet aux équipes de découvrir et d'utiliser des fonctionnalités développées par d'autres équipes, favorisant ainsi le partage des connaissances et l'efficacité. De plus, les détails d'utilisation des ressources partagées peuvent être surveillés avec Amazon Cloud Watch ainsi que AWS CloudTrail. Pour une analyse approfondie, reportez-vous à Découverte et accès aux groupes de fonctionnalités multi-comptes.

Dans cet article, nous discutons du pourquoi et du comment d'un magasin de fonctionnalités centralisé avec accès entre comptes. Nous montrons comment le configurer et exécutons un exemple de démonstration, ainsi que les avantages que vous pouvez obtenir en utilisant cette nouvelle fonctionnalité dans votre organisation.

Qui a besoin d'un magasin de fonctionnalités multi-comptes

Les organisations doivent partager en toute sécurité les fonctionnalités entre les équipes pour créer des modèles de ML précis, tout en empêchant tout accès non autorisé aux données sensibles. SageMaker Feature Store permet désormais le partage granulaire de fonctionnalités entre comptes via AWS RAM, permettant le développement de modèles collaboratifs avec gouvernance.

SageMaker Feature Store fournit un stockage et une gestion spécialement conçus pour les fonctionnalités de ML utilisées lors de la formation et de l'inférence. Grâce à la prise en charge entre comptes, vous pouvez désormais partager de manière sélective les fonctionnalités stockées dans un compte AWS avec d'autres comptes de votre organisation.

Par exemple, l'équipe d'analyse peut organiser des fonctionnalités telles que le profil client, l'historique des transactions et les catalogues de produits dans un compte de gestion central. Ceux-ci doivent être accessibles en toute sécurité par les développeurs de ML d'autres départements tels que le marketing, la détection des fraudes, etc. pour créer des modèles.

Voici les principaux avantages du partage des fonctionnalités de ML entre les comptes :

  • Fonctionnalités cohérentes et réutilisables – Le partage centralisé des fonctionnalités sélectionnées améliore la précision du modèle en fournissant des données d’entrée cohérentes sur lesquelles s’entraîner. Les équipes peuvent découvrir et utiliser directement les fonctionnalités créées par d'autres au lieu de les dupliquer dans chaque compte.
  • Contrôle d'accès aux groupes de fonctionnalités – Vous pouvez accorder l'accès uniquement aux groupes de fonctionnalités spécifiques requis pour le cas d'utilisation d'un compte. Par exemple, l'équipe marketing peut uniquement avoir accès au groupe de fonctionnalités du profil client nécessaire aux modèles de recommandation.
  • Collaboration entre les équipes – Les fonctionnalités partagées permettent à des équipes disparates telles que la fraude, le marketing et les ventes de collaborer pour créer des modèles de ML en utilisant les mêmes données fiables au lieu de créer des fonctionnalités cloisonnées.
  • Piste d’audit pour la conformité – Les administrateurs peuvent surveiller l'utilisation des fonctionnalités par tous les comptes de manière centralisée à l'aide des journaux d'événements CloudTrail. Cela fournit une piste d’audit nécessaire à la gouvernance et à la conformité.

Délimiter les producteurs des consommateurs dans les magasins de fonctionnalités multi-comptes

Dans le domaine de l’apprentissage automatique, le magasin de fonctionnalités agit comme un pont crucial, reliant ceux qui fournissent des données à ceux qui les exploitent. Cette dichotomie peut être gérée efficacement à l’aide d’une configuration multi-comptes pour le magasin de fonctionnalités. Démystifions cela en utilisant les personnages suivants et une analogie du monde réel :

  • Ingénieurs Data et ML (propriétaires et producteurs) – Ils jettent les bases en introduisant des données dans le magasin de fonctionnalités
  • Data scientists (consommateurs) – Ils extraient et utilisent ces données pour élaborer leurs modèles

Les ingénieurs de données servent d’architectes qui dessinent le plan initial. Leur tâche est de construire et de superviser des pipelines de données efficaces. En tirant des données des systèmes sources, ils transforment les attributs des données brutes en caractéristiques discernables. Prenez « l’âge » par exemple. Bien qu'il ne représente que la période qui s'écoule entre aujourd'hui et la date de naissance, son interprétation peut varier au sein d'une organisation. Assurer la qualité, l’uniformité et la cohérence est ici primordial. Leur objectif est d’introduire les données dans un magasin de fonctionnalités centralisé, en faisant de celui-ci le point de référence incontesté.

Les ingénieurs ML affinent ces fonctionnalités fondamentales, en les adaptant aux flux de travail ML matures. Dans le contexte bancaire, ils peuvent déduire des informations statistiques à partir des soldes des comptes, identifiant les tendances et les schémas de flux. L’obstacle auquel ils sont souvent confrontés est le licenciement. Il est courant de constater des pipelines de création de fonctionnalités répétitifs dans diverses initiatives de ML.

Imaginez des data scientists en tant que chefs gastronomiques explorant un garde-manger bien garni, à la recherche des meilleurs ingrédients pour leur prochain chef-d'œuvre culinaire. Leur temps devrait être investi dans l’élaboration de recettes de données innovantes, et non dans le réassemblage du garde-manger. L’obstacle à ce stade est de découvrir les bonnes données. Une interface conviviale, équipée d’outils de recherche efficaces et de descriptions complètes des fonctionnalités, est indispensable.

Essentiellement, une configuration de magasin de fonctionnalités multi-comptes segmente méticuleusement les rôles des producteurs et des consommateurs de données, garantissant ainsi l’efficacité, la clarté et l’innovation. Que vous posiez les fondations ou construisiez par-dessus, il est essentiel de connaître votre rôle et vos outils.

Le diagramme suivant montre deux équipes de data scientists différentes, issues de deux comptes AWS différents, qui partagent et utilisent le même magasin de fonctionnalités central pour sélectionner les meilleures fonctionnalités nécessaires à la création de leurs modèles ML. Le magasin central de fonctionnalités est situé dans un compte différent géré par des ingénieurs de données et des ingénieurs ML, où se trouvent généralement la couche de gouvernance des données et le lac de données.

Contrôles des groupes de fonctionnalités entre comptes

Avec SageMaker Feature Store, vous pouvez partager des ressources de groupes de fonctionnalités entre comptes. Le compte propriétaire des ressources partage des ressources avec les comptes consommateurs de ressources. Il existe deux catégories distinctes d'autorisations associées au partage de ressources :

  • Autorisations de visibilité - Découvrabilité signifie être capable de voir les noms des groupes de fonctionnalités et les métadonnées. Lorsque vous accordez l'autorisation de découverte, toutes les entités de groupe de fonctionnalités du compte à partir duquel vous partagez (compte propriétaire de la ressource) deviennent détectables par les comptes avec lesquels vous partagez (comptes consommateurs de ressources). Par exemple, si vous rendez le compte propriétaire de ressources détectable par le compte consommateur de ressources, les mandataires du compte consommateur de ressources peuvent voir tous les groupes de fonctionnalités contenus dans le compte propriétaire de ressources. Cette autorisation est accordée aux comptes consommateurs de ressources à l'aide du type de ressource de catalogue SageMaker.
  • Autorisations d'accès – Lorsque vous accordez une autorisation d'accès, vous le faites au niveau des ressources du groupe de fonctionnalités (et non au niveau du compte). Cela vous donne un contrôle plus précis sur l’octroi de l’accès aux données. Les types d'autorisations d'accès qui peuvent être accordées sont en lecture seule, en lecture/écriture et administrateur. Par exemple, vous pouvez sélectionner uniquement certains groupes de fonctionnalités du compte propriétaire de la ressource pour qu'ils soient accessibles aux mandataires du compte consommateur de ressources, en fonction des besoins de votre entreprise. Cette autorisation est accordée aux comptes consommateurs de ressources en utilisant le type de ressource du groupe de fonctionnalités et en spécifiant les entités du groupe de fonctionnalités.

L'exemple de diagramme suivant visualise le partage du type de ressource de catalogue SageMaker accordant l'autorisation de découverte par rapport au partage d'une entité de type de ressource de groupe de fonctionnalités avec des autorisations d'accès. Le catalogue SageMaker contient toutes vos entités de groupe de fonctionnalités. Lorsqu'il bénéficie d'une autorisation de découverte, le compte consommateur de ressources peut rechercher et découvrir toutes les entités de groupe de fonctionnalités au sein du compte propriétaire de la ressource. Une entité de groupe de fonctionnalités contient vos données ML. Lorsqu'une autorisation d'accès lui est accordée, le compte consommateur de ressources peut accéder aux données du groupe de fonctionnalités, avec un accès déterminé par l'autorisation d'accès appropriée.

Vue d'ensemble de la solution

Effectuez les étapes suivantes pour partager en toute sécurité des fonctionnalités entre comptes à l'aide de SageMaker Feature Store :

  1. Dans le compte source (propriétaire), ingérez des ensembles de données et préparez des fonctionnalités normalisées. Organisez les fonctionnalités associées en groupes logiques appelés groupes de fonctionnalités.
  2. Créez un partage de ressources pour accorder un accès entre comptes à des groupes de fonctionnalités spécifiques. Définissez les actions autorisées telles que get et put, et limitez l'accès uniquement aux comptes autorisés.
  3. Dans les comptes cibles (consommateurs), acceptez l'invitation AWS RAM pour accéder aux fonctionnalités partagées. Passez en revue la stratégie d’accès pour comprendre les autorisations accordées.

Les développeurs des comptes cibles peuvent désormais récupérer des fonctionnalités partagées à l'aide du SDK SageMaker, joindre des données supplémentaires et les utiliser pour entraîner des modèles ML. Le compte source peut surveiller l'accès aux fonctionnalités partagées par tous les comptes à l'aide des journaux d'événements CloudTrail. Les journaux d'audit offrent une visibilité centralisée sur l'utilisation des fonctionnalités.

Grâce à ces étapes, vous pouvez permettre aux équipes de votre organisation d'utiliser en toute sécurité les fonctionnalités de ML partagées pour le développement de modèles collaboratifs.

Pré-requis

Nous supposons que vous avez déjà créé des groupes de fonctionnalités et ingéré les fonctionnalités correspondantes dans votre compte propriétaire. Pour plus d'informations sur la mise en route, reportez-vous à Premiers pas avec Amazon SageMaker Feature Store.

Accorder des autorisations de découverte

Tout d’abord, nous montrons comment partager notre catalogue SageMaker Feature Store dans le compte propriétaire. Effectuez les étapes suivantes :

  1. Dans le compte propriétaire du catalogue SageMaker Feature Store, ouvrez la console AWS RAM.
  2. Sous Partagé par moi dans le volet de navigation, choisissez Partages de ressources.
  3. Selectionnez Créer un partage de ressources.
  4. Entrez un nom de partage de ressources et choisissez Catalogues de ressources SageMaker comme type de ressource.
  5. Selectionnez Suivant.
  6. Pour un accès en visibilité uniquement, saisissez AWSRAMPermissionSageMakerCatalogResourceSearch en Autorisations gérées.
  7. Selectionnez Suivant.
  8. Entrez votre identifiant de compte consommateur et choisissez Ajouter. Vous pouvez ajouter plusieurs comptes consommateurs.
  9. Selectionnez Suivant et complétez votre partage de ressources.

Le catalogue partagé SageMaker Feature Store devrait désormais apparaître sur le Partages de ressources .

Vous pouvez obtenir le même résultat en utilisant le Interface de ligne de commande AWS (AWS CLI) avec la commande suivante (indiquez votre région AWS, l'ID de compte propriétaire et l'ID de compte consommateur) :

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

Accepter l'invitation à partager des ressources

Pour accepter l'invitation au partage de ressources, procédez comme suit :

  1. Dans le compte cible (consommateur), ouvrez la console AWS RAM.
  2. Sous Partagé avec moi dans le volet de navigation, choisissez Partages de ressources.
  3. Choisissez le nouveau partage de ressources en attente.
  4. Selectionnez Accepter le partage des ressources.

Vous pouvez obtenir le même résultat à l'aide de l'AWS CLI avec la commande suivante :

aws ram get-resource-share-invitations

À partir de la sortie de la commande précédente, récupérez la valeur de resourceShareInvitationArn puis acceptez l'invitation avec la commande suivante :

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

Le flux de travail est le même pour le partage de groupes de fonctionnalités avec un autre compte via AWS RAM.

Après avoir partagé certains groupes de fonctionnalités avec le compte cible, vous pouvez inspecter le magasin de fonctionnalités SageMaker, où vous pouvez constater que le nouveau catalogue est disponible.

Accorder des autorisations d'accès

Avec les autorisations d'accès, nous pouvons accorder des autorisations au niveau des ressources du groupe de fonctionnalités. Effectuez les étapes suivantes :

  1. Dans le compte propriétaire du catalogue SageMaker Feature Store, ouvrez la console AWS RAM.
  2. Sous Partagé par moi dans le volet de navigation, choisissez Partages de ressources.
  3. Selectionnez Créer un partage de ressources.
  4. Entrez un nom de partage de ressources et choisissez Groupes de fonctionnalités SageMaker comme type de ressource.
  5. Sélectionnez un ou plusieurs groupes de fonctionnalités à partager.
  6. Selectionnez Suivant.
  7. Pour un accès en lecture/écriture, entrez AWSRAMPermissionSageMakerFeatureGroupReadWrite en Autorisations gérées.
  8. Selectionnez Suivant.
  9. Entrez votre identifiant de compte consommateur et choisissez Ajouter. Vous pouvez ajouter plusieurs comptes consommateurs.
  10. Selectionnez Suivant et complétez votre partage de ressources.

Le catalogue partagé devrait maintenant apparaître sur le Partages de ressources .

Vous pouvez obtenir le même résultat en utilisant l'AWS CLI avec la commande suivante (indiquez votre région, l'ID de compte propriétaire, l'ID de compte consommateur et le nom du groupe de fonctionnalités) :

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

Il existe trois types d'accès que vous pouvez accorder aux groupes de fonctionnalités :

  • AWSRAMPermissionSageMakerFeatureGroupReadOnly – Le privilège de lecture seule permet aux comptes de consommateurs de ressources de lire les enregistrements dans les groupes de fonctionnalités partagés et d'afficher les détails et les métadonnées.
  • AWSRAMPermissionSageMakerFeatureGroupReadWrite – Le privilège de lecture/écriture permet aux comptes de consommateurs de ressources d'écrire et de supprimer des enregistrements dans les groupes de fonctionnalités partagés, en plus des autorisations de lecture.
  • AWSRAMPermissionSagemakerFeatureGroupAdmin – Le privilège administrateur permet aux comptes consommateurs de ressources de mettre à jour la description et les paramètres des fonctionnalités au sein des groupes de fonctionnalités partagés et de mettre à jour la configuration des groupes de fonctionnalités partagés, en plus des autorisations de lecture/écriture.

Accepter l'invitation à partager des ressources

Pour accepter l'invitation au partage de ressources, procédez comme suit :

  1. Dans le compte cible (consommateur), ouvrez la console AWS RAM.
  2. Sous Partagé avec moi dans le volet de navigation, choisissez Partages de ressources.
  3. Choisissez le nouveau partage de ressources en attente.
  4. Selectionnez Accepter le partage des ressources.

Le processus d'acceptation du partage de ressources à l'aide de l'AWS CLI est le même que pour la section de découverte précédente, avec les commandes get-resource-share-invitations et accept-resource-share-invitation.

Exemples de blocs-notes présentant cette nouvelle fonctionnalité

Deux blocs-notes ont été ajoutés à l'atelier SageMaker Feature Store GitHub référentiel dans le dossier 09-module-security/09-03-cross-account-access :

  • m9_03_nb1_cross-account-admin.ipynb – Cela doit être lancé sur votre compte AWS administrateur ou propriétaire
  • m9_03_nb2_cross-account-consumer.ipynb – Cela doit être lancé sur votre compte AWS consommateur

Le premier script montre comment créer le partage de ressources de découverte pour les groupes de fonctionnalités existants au niveau du compte administrateur ou propriétaire et le partager avec un autre compte consommateur par programmation à l'aide de l'API AWS RAM. create_resource_share(). Il montre également comment accorder des autorisations d'accès aux groupes de fonctionnalités existants sur le compte propriétaire et les partager avec un autre compte consommateur à l'aide d'AWS RAM. Vous devez fournir votre ID de compte AWS consommateur avant d'exécuter le bloc-notes.

Le deuxième script accepte les invitations AWS RAM pour découvrir et accéder aux groupes de fonctionnalités entre comptes à partir du niveau propriétaire. Ensuite, il montre comment découvrir les groupes de fonctionnalités entre comptes qui se trouvent sur le compte propriétaire et les répertorier sur le compte consommateur. Vous pouvez également voir comment accéder en lecture/écriture aux groupes de fonctionnalités inter-comptes qui se trouvent sur le compte propriétaire et effectuer les opérations suivantes à partir du compte consommateur : describe(), get_record(), ingest()et delete_record().

Conclusion

La fonctionnalité multi-comptes de SageMaker Feature Store offre plusieurs avantages intéressants. Premièrement, il facilite une collaboration transparente en permettant le partage de groupes de fonctionnalités sur plusieurs comptes AWS. Cela améliore l'accessibilité et l'utilisation des données, permettant aux équipes de différents comptes d'utiliser des fonctionnalités partagées pour leurs flux de travail ML.

De plus, la capacité inter-comptes améliore la gouvernance et la sécurité des données. Grâce à un accès et des autorisations contrôlés via AWS RAM, les organisations peuvent maintenir un magasin de fonctionnalités centralisé tout en garantissant que chaque compte dispose de niveaux d'accès personnalisés. Cela rationalise non seulement la gestion des données, mais renforce également les mesures de sécurité en limitant l'accès aux utilisateurs autorisés.

De plus, la possibilité de partager des groupes de fonctionnalités entre comptes simplifie le processus de création et de déploiement de modèles ML dans un environnement collaboratif. Il favorise un flux de travail plus intégré et efficace, réduisant la redondance dans le stockage des données et facilitant la création de modèles robustes avec des fonctionnalités partagées de haute qualité. Dans l'ensemble, la capacité inter-comptes du Feature Store optimise la collaboration, la gouvernance et l'efficacité du développement de ML sur divers comptes AWS. Essayez-le et dites-nous ce que vous en pensez dans les commentaires.


À propos des auteurs

Ioan Catane est architecte principal de solutions spécialisé en intelligence artificielle et en apprentissage automatique chez AWS. Il aide les clients à développer et à faire évoluer leurs solutions ML dans le cloud AWS. Ioan a plus de 20 ans d'expérience, principalement dans la conception d'architectures logicielles et l'ingénierie cloud.

Philipp Kaindl est architecte senior de solutions d'intelligence artificielle et d'apprentissage automatique chez AWS. Fort d'une formation en science des données et en génie mécanique, son objectif est de permettre aux clients de créer un impact commercial durable avec l'aide de l'IA. En dehors de son travail, Philipp aime bricoler des imprimantes 3D, faire de la voile et de la randonnée.

Dhaval Shah est architecte de solutions senior chez AWS, spécialisé dans l'apprentissage automatique. En mettant l'accent sur les entreprises natives du numérique, il permet aux clients d'utiliser AWS et de stimuler la croissance de leur entreprise. En tant que passionné de ML, Dhaval est animé par sa passion pour la création de solutions percutantes qui apportent un changement positif. Dans ses temps libres, il s'adonne à son amour des voyages et chérit les moments de qualité avec sa famille.

Mizanur Rahman est un ingénieur logiciel senior pour Amazon SageMaker Feature Store avec plus de 10 ans d'expérience pratique spécialisée dans l'IA et le ML. Doté de solides bases en théorie et en applications pratiques, il est titulaire d'un doctorat. en détection de fraude à l'aide de l'apprentissage automatique, reflétant son dévouement à faire progresser le domaine. Son expertise couvre un large spectre, englobant les architectures évolutives, l'informatique distribuée, l'analyse du Big Data, les microservices et les infrastructures cloud pour les organisations.

spot_img

Dernières informations

spot_img