Den 9. august 2022 annoncerede vi den generelle tilgængelighed af deling på tværs af konti Amazon SageMaker Pipelines-enheder. Du kan nu bruge support på tværs af konti til Amazon SageMaker Pipelines at dele pipeline-enheder på tværs af AWS-konti og få adgang til delte pipelines direkte igennem Amazon SageMaker API-kald.
Kunderne adopterer i stigende grad multi-konto arkitekturer til implementering og styring af maskinlæring (ML) arbejdsgange med SageMaker Pipelines. Dette involverer opbygning af arbejdsgange i udviklings- eller eksperimenteringskonti (dev), implementering og afprøvning af dem i en test- eller præproduktions- (test)konto og til sidst promovering af dem til produktions- (prod)konti for at integrere med andre forretningsprocesser. Du kan drage fordel af deling af SageMaker-pipelines på tværs af konti i følgende tilfælde:
- Når dataforskere bygger ML-arbejdsgange på en udviklerkonto, implementeres disse arbejdsgange derefter af en ML-ingeniør som en SageMaker-pipeline til en dedikeret testkonto. For yderligere at overvåge disse arbejdsgange kræver dataforskere nu skrivebeskyttet tilladelse på tværs af konti til den implementerede pipeline i testkontoen.
- ML-ingeniører, ML-administratorer og overholdelsesteams, som administrerer implementering og drift af disse ML-arbejdsgange fra en delt tjenestekonto, kræver også synlighed i den implementerede pipeline på testkontoen. De kan også kræve yderligere tilladelser for at starte, stoppe og prøve disse ML-arbejdsgange igen.
I dette indlæg præsenterer vi et eksempel på multi-account arkitektur til udvikling og implementering af ML workflows med SageMaker Pipelines.
Løsningsoversigt
En strategi med flere konti hjælper dig med at opnå data-, projekt- og teamisolering, samtidig med at den understøtter livscyklustrin i softwareudvikling. Pipelinedeling på tværs af konti understøtter en strategi for flere konti, der fjerner omkostningerne ved at logge ind og ud af flere konti og forbedrer ML-test- og implementeringsarbejdsgange ved at dele ressourcer direkte på tværs af flere konti.
I dette eksempel har vi et datavidenskabsteam, der bruger en dedikeret udviklerkonto til den indledende udvikling af SageMaker-pipelinen. Denne pipeline overdrages derefter til en ML-ingeniør, som opretter en kontinuerlig integration og kontinuerlig levering (CI/CD) pipeline på deres delte tjenester-konto for at implementere denne pipeline til en testkonto. For stadig at være i stand til at overvåge og kontrollere den implementerede pipeline fra deres respektive dev- og delte tjenester-konti, ressourceandele er sat op med AWS Resource Access Manager i test- og udviklerkontoen. Med denne opsætning kan ML-ingeniøren og dataforskeren nu overvåge og kontrollere pipelines i dev- og testkontiene fra deres respektive konti, som vist i følgende figur.
I arbejdsgangen udfører dataforskeren og ML-ingeniøren følgende trin:
- Dataforskeren (DS) bygger en modelpipeline i udviklerkontoen.
- ML-ingeniøren (MLE) producerer modelpipelinen og skaber en pipeline (for dette indlæg kalder vi det
sagemaker-pipeline
). sagemaker-pipeline
kode er forpligtet til en AWS CodeCommit repository i den delte servicekonto.- Dataforskeren opretter en AWS RAM-ressourceandel for
sagemaker-pipeline
og deler det med kontoen for delte tjenester, som accepterer ressourceandelen. - Fra den delte tjenester-konto er ML-ingeniører nu i stand til at beskrive, overvåge og administrere pipeline-kørslerne på udviklerkontoen ved hjælp af SageMaker API-kald.
- En CI/CD-pipeline, der udløses i den delte tjenestekonto, bygger og implementerer koden til testkontoen ved hjælp af AWS CodePipeline.
- CI/CD-pipelinen opretter og kører
sagemaker-pipeline
på testkontoen. - Efter at have kørt
sagemaker-pipeline
i testkontoen opretter CI/CD-pipelinen en ressourceandel forsagemaker-pipeline
på testkontoen. - En ressourceandel fra testen
sagemaker-pipeline
med skrivebeskyttede tilladelser oprettes med udviklerkontoen, som accepterer ressourceandelen. - Dataforskeren er nu i stand til at beskrive og overvåge testpipeline-kørselsstatus ved hjælp af SageMaker API-kald fra udviklerkontoen.
- En ressourceandel fra testen
sagemaker-pipeline
med udvidede tilladelser oprettes med kontoen for delte tjenester, som accepterer ressourceandelen. - ML-ingeniøren er nu i stand til at beskrive, overvåge og administrere testpipeline-kørslen ved hjælp af SageMaker API-kald fra den delte servicekonto.
I de følgende afsnit går vi mere i detaljer og giver en demonstration af, hvordan man opsætter deling på tværs af konti for SageMaker-pipelines.
Sådan opretter og deler du SageMaker-pipelines på tværs af konti
I dette afsnit gennemgår vi de nødvendige trin for at oprette og dele pipelines på tværs af konti ved hjælp af AWS RAM og SageMaker API.
Indstil miljøet
Først skal vi opsætte et multi-konto miljø for at demonstrere deling på tværs af SageMaker pipelines:
- Konfigurer to AWS-konti (dev og test). Du kan konfigurere dette som medlemskonti i en organisation eller som uafhængige konti.
- Hvis du opretter dine konti som medlem af en organisation, kan du aktivere ressourcedeling med din organisation. Med denne indstilling, når du deler ressourcer i din organisation, sender AWS RAM ikke invitationer til rektorer. Rektorer i din organisation får adgang til delte ressourcer uden at udveksle invitationer.
- Start på testkontoen Amazon SageMaker Studio og kør notesbogen tog-register-deploy-pipeline-model. Dette opretter et eksempel på pipeline i din testkonto. For at forenkle demonstrationen bruger vi SageMaker Studio i testkontoen til at starte pipelinen. Til projekter i det virkelige liv bør du kun bruge Studio på udviklerkontoen og starte SageMaker Pipeline på testkontoen ved hjælp af dit CI/CD-værktøj.
Følg instruktionerne i næste afsnit for at dele denne pipeline med udviklerkontoen.
Konfigurer en pipeline-ressourceandel
For at dele din pipeline med udviklerkontoen skal du udføre følgende trin:
- På AWS RAM-konsollen skal du vælge Opret ressourceandel.
- Til Vælg ressourcetype, vælg SageMaker Pipelines.
- Vælg den pipeline, du oprettede i det forrige trin.
- Vælg Næste.
- Til Tilladelser, vælg dine tilknyttede tilladelser.
- Vælg Næste.
Dernæst bestemmer du, hvordan du vil give adgang til rektorer. - Hvis du kun skal dele pipelinen inden for dine organisationskonti, skal du vælge Tillad kun deling inden for din organisation; ellers vælg Tillad deling med alle.
- Til Rektorer, vælg din hovedtype (du kan bruge en AWS-konto, organisation eller organisationsenhed baseret på dit delingskrav). For dette indlæg deler vi med alle på AWS-kontoniveau.
- Vælg dit hoved-id.
- Vælg Næste.
- På Gennemgå og opret side, skal du kontrollere, at dine oplysninger er korrekte og vælge Opret ressourceandel.
- Naviger til din destinationskonto (for dette indlæg, din udviklerkonto).
- På AWS RAM-konsollen, under Delt med mig i navigationsruden skal du vælge Ressourceandele.
- Vælg din ressourceandel og vælg Accepter ressourceandel.
Tilladelser til ressourcedeling
Når du opretter din ressourceandel, kan du vælge mellem en af to understøttede tilladelsespolitikker, der skal knyttes til SageMaker-pipelineressourcetypen. Begge politikker giver adgang til enhver valgt pipeline og alle dens kørsler.
AWSRAMDefaultPermissionSageMakerPipeline
politik tillader følgende skrivebeskyttede handlinger:
AWSRAMPermissionSageMakerPipelineAllowExecution
politik inkluderer alle skrivebeskyttede tilladelser fra standardpolitikken og tillader også delte konti at starte, stoppe og prøve pipelinekørsler igen.
Tilladelsespolitikken for udvidet pipelinekørsel tillader følgende handlinger:
Få adgang til delte pipeline-enheder gennem direkte API-kald
I dette afsnit gennemgår vi, hvordan du kan bruge forskellige SageMaker Pipeline API-kald til at få synlighed i pipelines, der kører på eksterne konti, som er blevet delt med dig. For at teste API'erne mod pipelinen, der kører i testkontoen fra udviklerkontoen, skal du logge ind på udviklerkontoen og bruge AWS CloudShell.
For SageMaker Pipeline API-kald på tværs af konti skal du altid bruge din pipeline-ARN som pipeline-identifikation. Det inkluderer også de kommandoer, der kræver pipelinenavnet, hvor du skal bruge din pipeline ARN som pipelinenavn.
For at få din pipeline ARN skal du på din testkonto navigere til dine pipeline detaljer i Studio via SageMaker Ressourcer.
Vælg Rørledninger på din ressourceliste.
Vælg din pipeline og gå til din pipeline Indstillinger fanen. Du kan finde rørledningen ARN med din Metadata Information. I dette eksempel er dit ARN defineret som "arn:aws:sagemaker:us-east-1:<account-id>:pipeline/serial-inference-pipeline"
.
ListPipelineExecutions
Dette API-kald lister kørslerne af din pipeline. Kør følgende kommando, udskift $SHARED_PIPELINE_ARN
med din pipeline ARN fra CloudShell eller ved hjælp af AWS kommandolinjegrænseflade (AWS CLI) konfigureret med den passende AWS identitets- og adgangsstyring (JEG ER) rolle:
Svaret viser alle kørsler af din pipeline med deres PipelineExecutionArn
, StartTime
, PipelineExecutionStatus
og PipelineExecutionDisplayName
:
Beskriv Pipeline
Dette API-kald beskriver detaljen af din pipeline. Kør følgende kommando, udskift $SHARED_PIPELINE_ARN
med din pipeline ARN:
Svaret giver metadata for din pipeline samt oplysninger om oprettelse og ændringer af den:
DescribePipelineExecution
Dette API-kald beskriver detaljen af dit rørledningsforløb. Kør følgende kommando og udskift $SHARED_PIPELINE_ARN
med din pipeline ARN:
Svaret giver detaljer om din pipeline-kørsel, herunder PipelineExecutionStatus
, ExperimentName
og TrialName
:
StartPipelineExecution
Dette API-kald starter et rørledningsforløb. Kør følgende kommando og udskift $SHARED_PIPELINE_ARN
med din pipeline ARN og $CLIENT_REQUEST_TOKEN
med et unikt id, der skelner mellem store og små bogstaver, som du genererer til denne kørsel. Identifikationen skal have mellem 32-128 tegn. For eksempel kan du generere en streng ved hjælp af AWS CLI kms generer tilfældig kommando.
Som et svar returnerer dette API-kald PipelineExecutionArn
af den påbegyndte kørsel:
StopPipelineExecution
Dette API-kald stopper et rørledningsforløb. Kør følgende kommando og udskift $PIPELINE_EXECUTION_ARN
med pipeline run ARN for din løbende pipeline og $CLIENT_REQUEST_TOKEN
med et unikt id, der skelner mellem store og små bogstaver, som du genererer til denne kørsel. Identifikationen skal have mellem 32-128 tegn. For eksempel kan du generere en streng ved hjælp af AWS CLI kms generer tilfældig kommando.
Som et svar returnerer dette API-kald PipelineExecutionArn
af den stoppede rørledning:
Konklusion
Deling på tværs af SageMaker-pipelines giver dig mulighed for sikkert at dele pipeline-enheder på tværs af AWS-konti og få adgang til delte pipelines gennem direkte API-kald uden at skulle logge ind og ud af flere konti.
I dette indlæg dykkede vi ned i funktionaliteten for at vise, hvordan du kan dele pipelines på tværs af konti og få adgang til dem via SageMaker API-kald.
Som et næste trin kan du bruge denne funktion til dit næste ML-projekt.
Ressourcer
For at komme i gang med SageMaker Pipelines og deling af pipelines på tværs af konti, se følgende ressourcer:
Om forfatterne
Ram Vittal er ML Specialist Solutions Architect hos AWS. Han har over 20 års erfaring med at arkitekte og bygge distribuerede, hybride og cloud-applikationer. Han brænder for at bygge sikker og skalerbar AI/ML og big data-løsninger for at hjælpe virksomhedskunder med deres cloud-adoption og optimeringsrejse for at forbedre deres forretningsresultater. I sin fritid nyder han tennis, fotografering og actionfilm.
Maira Ladeira Tanke er ML Specialist Solutions Architect hos AWS. Med en baggrund i data science har hun 9 års erfaring med at arkitekte og bygge ML-applikationer med kunder på tværs af brancher. Som teknisk leder hjælper hun kunder med at accelerere deres opnåelse af forretningsværdi gennem nye teknologier og innovative løsninger. I sin fritid nyder Maira at rejse og tilbringe tid med sin familie et varmt sted.
Gabriel Zylka er Professional Services Consultant hos AWS. Han arbejder tæt sammen med kunderne for at fremskynde deres cloud-adoptionsrejse. Han er specialiseret i MLOps-domænet og fokuserer på at producere maskinlæringsarbejdsbelastninger ved at automatisere end-to-end maskinlærings-livscyklusser og hjælpe med at opnå de ønskede forretningsresultater. I sin fritid nyder han at rejse og vandre i de bayerske alper.
- AI
- ai kunst
- ai kunst generator
- en robot
- Amazon SageMaker
- kunstig intelligens
- certificering af kunstig intelligens
- kunstig intelligens i banksektoren
- kunstig intelligens robot
- kunstig intelligens robotter
- software til kunstig intelligens
- AWS maskinindlæring
- blockchain
- blockchain konference ai
- coingenius
- samtale kunstig intelligens
- kryptokonference ai
- dalls
- dyb læring
- du har google
- machine learning
- plato
- platon ai
- Platon Data Intelligence
- Platon spil
- PlatoData
- platogaming
- skala ai
- syntaks
- zephyrnet