Zephyrnet-logo

Amazon SageMaker Feature Store ondersteunt nu delen, ontdekken en toegang tussen accounts | Amazon-webservices

Datum:

Amazon SageMaker Feature Store is een volledig beheerde, speciaal gebouwde opslagplaats voor het opslaan, delen en beheren van functies voor machine learning (ML)-modellen. Voordelen zijn input voor ML-modellen die worden gebruikt tijdens training en gevolgtrekking. In een toepassing die een muziekafspeellijst aanbeveelt, kunnen de functies bijvoorbeeld nummerbeoordelingen, luisterduur en demografische gegevens van luisteraars omvatten. Functies worden herhaaldelijk door meerdere teams gebruikt en de kwaliteit van de functies is van cruciaal belang om een ​​zeer nauwkeurig model te garanderen. Wanneer functies die worden gebruikt om modellen offline in batch te trainen beschikbaar worden gemaakt voor realtime gevolgtrekking, is het bovendien moeilijk om de twee functieopslagplaatsen gesynchroniseerd te houden. SageMaker Feature Store biedt een beveiligde en uniforme winkel voor het verwerken, standaardiseren en gebruiken van functies op schaal gedurende de ML-levenscyclus.

SageMaker Feature Store maakt het nu moeiteloos om functiegroepen tussen AWS-accounts te delen, ontdekken en openen. Deze nieuwe mogelijkheid bevordert de samenwerking en minimaliseert dubbel werk voor teams die betrokken zijn bij de ontwikkeling van ML-modellen en applicaties, vooral in bedrijfsomgevingen met meerdere accounts die verschillende bedrijfseenheden of functies omvatten.

Met deze lancering kunnen accounteigenaren toegang verlenen tot bepaalde functiegroepen van andere accounts die deze gebruiken AWS Resource Access Manager (AWS-RAM). Nadat ze toegang hebben gekregen, kunnen gebruikers van die accounts gemakkelijk al hun functiegroepen bekijken, inclusief de gedeelde Amazon SageMaker Studio of SDK's. Hierdoor kunnen teams functies ontdekken en gebruiken die door andere teams zijn ontwikkeld, wat het delen van kennis en de efficiëntie bevordert. Bovendien kunnen gebruiksgegevens van gedeelde bronnen worden gemonitord met Amazon Cloud Watch en AWS CloudTrail. Voor een diepe duik, zie Ontdekbaarheid en toegang tot functies voor meerdere accounts.

In dit bericht bespreken we het waarom en hoe van een gecentraliseerde functiewinkel met toegang voor meerdere accounts. We laten zien hoe u het instelt en voeren een voorbeelddemonstratie uit, evenals de voordelen die u kunt behalen door deze nieuwe mogelijkheid in uw organisatie te gebruiken.

Wie heeft een functiewinkel voor meerdere accounts nodig?

Organisaties moeten functies veilig delen tussen teams om nauwkeurige ML-modellen te bouwen en tegelijkertijd ongeoorloofde toegang tot gevoelige gegevens te voorkomen. SageMaker Feature Store maakt nu het gedetailleerd delen van functies tussen accounts mogelijk via AWS RAM, waardoor samenwerkingsmodelontwikkeling met beheer mogelijk wordt.

SageMaker Feature Store biedt speciaal gebouwde opslag en beheer voor ML-functies die worden gebruikt tijdens training en gevolgtrekking. Met ondersteuning voor meerdere accounts kunt u nu selectief functies die in één AWS-account zijn opgeslagen, delen met andere accounts in uw organisatie.

Het analyseteam kan bijvoorbeeld functies zoals klantprofiel, transactiegeschiedenis en productcatalogi beheren in een centraal beheeraccount. Deze moeten veilig toegankelijk zijn voor ML-ontwikkelaars op andere afdelingen, zoals marketing, fraudedetectie, enzovoort, om modellen te bouwen.

Dit zijn de belangrijkste voordelen van het delen van ML-functies tussen accounts:

  • Consistente en herbruikbare functies – Het gecentraliseerd delen van samengestelde functies verbetert de nauwkeurigheid van het model door consistente invoergegevens te leveren waarop kan worden getraind. Teams kunnen functies ontdekken en direct gebruiken die door anderen zijn gemaakt, in plaats van deze in elk account te dupliceren.
  • Toegangscontrole voor functiegroepen – U kunt alleen toegang verlenen tot de specifieke functiegroepen die vereist zijn voor het gebruik van een account. Het marketingteam krijgt bijvoorbeeld mogelijk alleen toegang tot de klantprofielfunctiegroep die nodig is voor aanbevelingsmodellen.
  • Samenwerking tussen teams – Dankzij gedeelde functies kunnen ongelijksoortige teams zoals fraude, marketing en verkoop samenwerken aan het bouwen van ML-modellen met behulp van dezelfde betrouwbare gegevens in plaats van afzonderlijke functies te creëren.
  • Audittrail voor naleving – Beheerders kunnen het functiegebruik door alle accounts centraal monitoren met behulp van CloudTrail-gebeurtenislogboeken. Dit biedt een audittrail die nodig is voor governance en compliance.

Het afbakenen van producenten en consumenten in featurestores met meerdere accounts

Op het gebied van machine learning fungeert de feature store als een cruciale brug, die degenen die gegevens leveren verbindt met degenen die deze gebruiken. Deze dichotomie kan effectief worden beheerd met behulp van een configuratie voor meerdere accounts voor de feature store. Laten we dit demystificeren met behulp van de volgende persona's en een analogie uit de echte wereld:

  • Data- en ML-ingenieurs (eigenaren en producenten) – Ze leggen de basis door gegevens in het functiearchief in te voeren
  • Datawetenschappers (consumenten) – Ze extraheren en gebruiken deze gegevens om hun modellen te maken

Data-ingenieurs fungeren als architecten die de initiële blauwdruk schetsen. Hun taak is het aanleggen en bewaken van efficiënte datapijplijnen. Ze halen data uit bronsystemen en vormen ruwe data-attributen om tot waarneembare kenmerken. Neem bijvoorbeeld ‘leeftijd’. Hoewel het slechts de periode tussen nu en iemands geboortedatum weergeeft, kan de interpretatie ervan binnen een organisatie variëren. Het waarborgen van kwaliteit, uniformiteit en consistentie staat hierbij voorop. Hun doel is om gegevens in een gecentraliseerde functieopslag in te voeren, waardoor deze het onbetwiste referentiepunt wordt.

ML-ingenieurs verfijnen deze fundamentele functies en stemmen ze af op volwassen ML-workflows. In de context van het bankwezen kunnen ze statistische inzichten afleiden uit rekeningsaldi, waardoor trends en stroompatronen worden geïdentificeerd. Het obstakel waarmee ze vaak worden geconfronteerd, is overtolligheid. Het is gebruikelijk om repetitieve pijplijnen voor het maken van functies te zien in diverse ML-initiatieven.

Stel je datawetenschappers voor als gastronomische chef-koks die een goed gevulde voorraadkast afspeuren, op zoek naar de beste ingrediënten voor hun volgende culinaire meesterwerk. Hun tijd moet worden geïnvesteerd in het ontwikkelen van innovatieve datarecepten, en niet in het opnieuw in elkaar zetten van de voorraadkast. De hindernis op dit moment is het ontdekken van de juiste gegevens. Een gebruiksvriendelijke interface, uitgerust met efficiënte zoekhulpmiddelen en uitgebreide functiebeschrijvingen, is onmisbaar.

In wezen segmenteert een cross-account feature store-opstelling nauwgezet de rollen van dataproducenten en consumenten, waardoor efficiëntie, duidelijkheid en innovatie worden gegarandeerd. Of u nu de basis legt of er bovenop bouwt, het kennen van uw rol en hulpmiddelen is van cruciaal belang.

Het volgende diagram toont twee verschillende datawetenschapperteams, afkomstig uit twee verschillende AWS-accounts, die dezelfde centrale feature store delen en gebruiken om de beste features te selecteren die nodig zijn om hun ML-modellen te bouwen. De centrale feature store bevindt zich in een ander account dat wordt beheerd door data-ingenieurs en ML-ingenieurs, waar zich doorgaans de data-governance-laag en het data-meer bevinden.

Functiegroepbedieningen voor meerdere accounts

Met SageMaker Feature Store kunt u bronnen voor functiegroepen delen tussen accounts. Het resource-eigenaaraccount deelt resources met de resourceconsumentenaccounts. Er zijn twee verschillende categorieën machtigingen die verband houden met het delen van bronnen:

  • Machtigingen voor vindbaarheid - vindbaarheid betekent dat je functiegroepnamen en metagegevens kunt zien. Wanneer u machtigingen voor vindbaarheid verleent, worden alle functiegroepentiteiten in het account van waaruit u deelt (account van de broneigenaar) vindbaar voor de accounts waarmee u deelt (accounts van de bronconsumenten). Als u bijvoorbeeld het resource-eigenaaraccount vindbaar maakt voor het resourceconsumentenaccount, kunnen de opdrachtgevers van het resourceconsumentenaccount alle functiegroepen zien die zich in het resource-eigenaaraccount bevinden. Deze toestemming wordt verleend aan resourceconsumentenaccounts met behulp van het SageMaker-catalogusbrontype.
  • Toegangsrechten – Wanneer u toegangsrechten verleent, doet u dit op resourceniveau van de functiegroep (niet op accountniveau). Dit geeft u meer gedetailleerde controle over het verlenen van toegang tot gegevens. Het type toegangsmachtigingen dat kan worden verleend, is alleen-lezen, lezen/schrijven en beheerder. U kunt bijvoorbeeld alleen bepaalde functiegroepen uit het resource-eigenaaraccount selecteren zodat deze toegankelijk zijn voor de opdrachtgevers van het resourceconsumentenaccount, afhankelijk van uw zakelijke behoeften. Deze machtiging wordt verleend aan resourceconsumentenaccounts door het resourcetype van de functiegroep te gebruiken en functiegroepentiteiten op te geven.

Het volgende voorbeelddiagram visualiseert het delen van het SageMaker-catalogusbrontype waarbij de machtiging voor vindbaarheid wordt verleend versus het delen van een resourcetype-entiteit van een functiegroep met toegangsmachtigingen. De SageMaker-catalogus bevat al uw functiegroepentiteiten. Wanneer een machtiging voor vindbaarheid wordt verleend, kan het resourceconsumentenaccount alle functiegroepentiteiten binnen het resourceeigenaaraccount doorzoeken en ontdekken. Een functiegroepentiteit bevat uw ML-gegevens. Wanneer een toegangsmachtiging wordt verleend, heeft het resourceconsumentenaccount toegang tot de functiegroepgegevens, waarbij de toegang wordt bepaald door de relevante toegangsmachtiging.

Overzicht oplossingen

Voer de volgende stappen uit om functies veilig te delen tussen accounts met behulp van de SageMaker Feature Store:

  1. Neem in het bronaccount (eigenaar) gegevenssets op en bereid genormaliseerde functies voor. Organiseer gerelateerde functies in logische groepen, de zogenaamde functiegroepen.
  2. Maak een resourceshare om meerdere accounts toegang te verlenen tot specifieke functiegroepen. Definieer toegestane acties zoals ophalen en plaatsen, en beperk de toegang alleen tot geautoriseerde accounts.
  3. Accepteer in de doelaccounts (consumenten) de AWS RAM-uitnodiging voor toegang tot gedeelde functies. Bekijk het toegangsbeleid om inzicht te krijgen in de verleende machtigingen.

Ontwikkelaars in doelaccounts kunnen nu gedeelde functies ophalen met behulp van de SageMaker SDK, zich aansluiten met aanvullende gegevens en deze gebruiken om ML-modellen te trainen. Het bronaccount kan de toegang tot gedeelde functies van alle accounts controleren met behulp van CloudTrail-gebeurtenislogboeken. Auditlogboeken bieden gecentraliseerd inzicht in het gebruik van functies.

Met deze stappen kunt u teams in uw hele organisatie in staat stellen om veilig gedeelde ML-functies te gebruiken voor de ontwikkeling van samenwerkingsmodellen.

Voorwaarden

We gaan ervan uit dat u al functiegroepen heeft gemaakt en de bijbehorende functies in uw eigenaarsaccount heeft opgenomen. Voor meer informatie over hoe u aan de slag gaat, raadpleegt u Ga aan de slag met Amazon SageMaker Feature Store.

Verleen machtigingen voor vindbaarheid

Eerst laten we zien hoe u onze SageMaker Feature Store-catalogus kunt delen in het eigenaarsaccount. Voer de volgende stappen uit:

  1. Open de AWS RAM-console in het eigenaarsaccount van de SageMaker Feature Store-catalogus.
  2. Onder Gedeeld door mij in het navigatievenster, kies Resource-aandelen.
  3. Kies Resourceshare maken.
  4. Voer een naam voor de resourceshare in en kies SageMaker-bronnencatalogi als het resourcetype.
  5. Kies Volgende.
  6. Voer in voor alleen vindbaarheid AWSRAMPermissionSageMakerCatalogResourceSearch For Beheerde machtigingen.
  7. Kies Volgende.
  8. Voer uw consumentenaccount-ID in en kies Toevoegen. U kunt meerdere consumentenaccounts toevoegen.
  9. Kies Volgende en voltooi uw bronnenaandeel.

Nu zou de gedeelde SageMaker Feature Store-catalogus moeten verschijnen op de Resource-aandelen pagina.

U kunt hetzelfde resultaat bereiken door gebruik te maken van de AWS-opdrachtregelinterface (AWS CLI) met de volgende opdracht (geef uw AWS-regio, eigenaarsaccount-ID en consumentenaccount-ID op):

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

Accepteer de uitnodiging voor het delen van bronnen

Voer de volgende stappen uit om de uitnodiging voor het delen van bronnen te accepteren:

  1. Open in het doelaccount (consumentenaccount) de AWS RAM-console.
  2. Onder Gedeeld met mij in het navigatievenster, kies Resource-aandelen.
  3. Kies de nieuwe, in behandeling zijnde resourceshare.
  4. Kies Accepteer het delen van bronnen.

U kunt hetzelfde resultaat bereiken met behulp van de AWS CLI met de volgende opdracht:

aws ram get-resource-share-invitations

Haal uit de uitvoer van het voorgaande commando de waarde op van resourceShareInvitationArn en accepteer vervolgens de uitnodiging met het volgende commando:

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

De workflow is hetzelfde voor het delen van functiegroepen met een ander account via AWS RAM.

Nadat u enkele functiegroepen met het doelaccount heeft gedeeld, kunt u de SageMaker Feature Store inspecteren, waar u kunt zien dat de nieuwe catalogus beschikbaar is.

Toegangsrechten verlenen

Met toegangsmachtigingen kunnen we machtigingen verlenen op resourceniveau van de functiegroep. Voer de volgende stappen uit:

  1. Open de AWS RAM-console in het eigenaarsaccount van de SageMaker Feature Store-catalogus.
  2. Onder Gedeeld door mij in het navigatievenster, kies Resource-aandelen.
  3. Kies Resourceshare maken.
  4. Voer een naam voor de resourceshare in en kies SageMaker-functiegroepen als het resourcetype.
  5. Selecteer een of meer functiegroepen om te delen.
  6. Kies Volgende.
  7. Voor lees-/schrijftoegang, voer in AWSRAMPermissionSageMakerFeatureGroupReadWrite For Beheerde machtigingen.
  8. Kies Volgende.
  9. Voer uw consumentenaccount-ID in en kies Toevoegen. U kunt meerdere consumentenaccounts toevoegen.
  10. Kies Volgende en voltooi uw bronnenaandeel.

Nu zou de gedeelde catalogus moeten verschijnen op de Resource-aandelen pagina.

U kunt hetzelfde resultaat bereiken door de AWS CLI te gebruiken met de volgende opdracht (geef uw regio, eigenaarsaccount-ID, consumentenaccount-ID en functiegroepnaam op):

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

Er zijn drie soorten toegang die u aan functiegroepen kunt verlenen:

  • AWSRAMPermissionSageMakerFeatureGroupReadOnly – Dankzij het alleen-lezen-recht kunnen resourceconsumentenaccounts records in de gedeelde functiegroepen lezen en details en metagegevens bekijken
  • AWSRAMPermissionSageMakerFeatureGroupReadWrite – Dankzij het lees-/schrijfrecht kunnen resourceconsumentenaccounts records schrijven naar en records verwijderen uit de gedeelde functiegroepen, naast leesrechten
  • AWSRAMToestemmingSagemakerFeatureGroupAdmin – Met het beheerdersrecht kunnen de resourceconsumentenaccounts de beschrijving en parameters van functies binnen de gedeelde functiegroepen bijwerken en de configuratie van de gedeelde functiegroepen bijwerken, naast lees-/schrijfrechten

Accepteer de uitnodiging voor het delen van bronnen

Voer de volgende stappen uit om de uitnodiging voor het delen van bronnen te accepteren:

  1. Open in het doelaccount (consumentenaccount) de AWS RAM-console.
  2. Onder Gedeeld met mij in het navigatievenster, kies Resource-aandelen.
  3. Kies de nieuwe, in behandeling zijnde resourceshare.
  4. Kies Accepteer het delen van bronnen.

Het proces voor het accepteren van het delen van bronnen met behulp van de AWS CLI is hetzelfde als voor de vorige vindbaarheidssectie, met de opdrachten get-resource-share-invitations en accept-resource-share-invitation.

Voorbeeldnotebooks die deze nieuwe mogelijkheid demonstreren

Er zijn twee notebooks toegevoegd aan de SageMaker Feature Store Workshop GitHub-repository in de map 09-module-security/09-03-cross-account-access:

  • m9_03_nb1_cross-account-admin.ipynb – Dit moet worden gelanceerd op uw beheerders- of eigenaar-AWS-account
  • m9_03_nb2_cross-account-consumer.ipynb – Dit moet worden gelanceerd op uw consumenten-AWS-account

Het eerste script laat zien hoe u de vindbaarheidsbronshare kunt maken voor bestaande functiegroepen in het beheerders- of eigenaarsaccount en deze programmatisch kunt delen met een ander consumentenaccount met behulp van de AWS RAM API create_resource_share(). Het laat ook zien hoe u toegangsrechten kunt verlenen aan bestaande functiegroepen op het eigenaarsaccount en deze kunt delen met een ander consumentenaccount met behulp van AWS RAM. U moet uw AWS-account-ID voor consumenten opgeven voordat u de notebook kunt gebruiken.

Het tweede script accepteert de AWS RAM-uitnodigingen om functiegroepen tussen accounts te ontdekken en te openen vanaf het eigenaarsniveau. Vervolgens laat het zien hoe u functiegroepen voor meerdere accounts kunt ontdekken die zich in het eigenaarsaccount bevinden en deze in het consumentenaccount kunt vermelden. U kunt ook zien hoe u toegang krijgt tot functiegroepen voor lezen/schrijven tussen accounts die zich in het eigenaarsaccount bevinden en hoe u de volgende bewerkingen kunt uitvoeren vanuit het consumentenaccount: describe(), get_record(), ingest() en delete_record().

Conclusie

De mogelijkheid voor meerdere accounts van SageMaker Feature Store biedt verschillende aantrekkelijke voordelen. Ten eerste vergemakkelijkt het een naadloze samenwerking door het delen van functiegroepen over meerdere AWS-accounts mogelijk te maken. Dit verbetert de toegankelijkheid en het gebruik van gegevens, waardoor teams in verschillende accounts gedeelde functies kunnen gebruiken voor hun ML-workflows.

Bovendien verbetert de mogelijkheid voor meerdere accounts het gegevensbeheer en de beveiliging. Met gecontroleerde toegang en machtigingen via AWS RAM kunnen organisaties een gecentraliseerde functieopslag onderhouden en er tegelijkertijd voor zorgen dat elk account op maat gemaakte toegangsniveaus heeft. Dit stroomlijnt niet alleen het gegevensbeheer, maar versterkt ook de beveiligingsmaatregelen door de toegang tot geautoriseerde gebruikers te beperken.

Bovendien vereenvoudigt de mogelijkheid om functiegroepen tussen accounts te delen het proces van het bouwen en implementeren van ML-modellen in een samenwerkingsomgeving. Het bevordert een meer geïntegreerde en efficiënte workflow, vermindert redundantie in gegevensopslag en vergemakkelijkt de creatie van robuuste modellen met gedeelde, hoogwaardige functies. Over het geheel genomen optimaliseert de functionaliteit voor meerdere accounts van de Feature Store de samenwerking, het beheer en de efficiëntie bij de ML-ontwikkeling voor verschillende AWS-accounts. Probeer het eens en laat ons weten wat je ervan vindt in de reacties.


Over de auteurs

Ioán Catana is een Senior Artificial Intelligence en Machine Learning Specialist Solutions Architect bij AWS. Hij helpt klanten bij het ontwikkelen en schalen van hun ML-oplossingen in de AWS Cloud. Ioan heeft meer dan 20 jaar ervaring, voornamelijk in het ontwerpen van softwarearchitectuur en cloud-engineering.

Filip Kaindl is een Senior Artificial Intelligence en Machine Learning Solutions Architect bij AWS. Met een achtergrond in data science en werktuigbouwkunde ligt zijn focus op het in staat stellen van klanten om duurzame zakelijke impact te creëren met behulp van AI. Buiten zijn werk sleutelt Philipp graag aan 3D-printers, zeilen en wandelen.

Dhaval Sjah is een Senior Solutions Architect bij AWS, gespecialiseerd in machine learning. Met een sterke focus op digital native bedrijven stelt hij klanten in staat AWS te gebruiken en hun bedrijfsgroei te stimuleren. Als ML-liefhebber wordt Dhaval gedreven door zijn passie voor het creëren van impactvolle oplossingen die positieve verandering teweegbrengen. In zijn vrije tijd geniet hij van zijn liefde voor reizen en koestert hij kwaliteitsmomenten met zijn gezin.

Mizanur Rahman is een Senior Software Engineer voor Amazon SageMaker Feature Store met meer dan 10 jaar praktische ervaring, gespecialiseerd in AI en ML. Met een sterke basis in zowel theorie als praktische toepassingen, heeft hij een Ph.D. in Fraudedetectie met behulp van Machine Learning, een weerspiegeling van zijn toewijding om het vakgebied vooruit te helpen. Zijn expertise bestrijkt een breed spectrum en omvat schaalbare architecturen, gedistribueerde computing, big data-analyse, microservices en cloudinfrastructuren voor organisaties.

spot_img

Laatste intelligentie

spot_img