9. august 2022 kunngjorde vi generell tilgjengelighet for deling på tvers av kontoer Amazon SageMaker Pipelines-enheter. Du kan nå bruke støtte på tvers av kontoer for Amazon SageMaker-rørledninger å dele pipeline-enheter på tvers av AWS-kontoer og få tilgang til delte pipelines direkte gjennom Amazon SageMaker API-kall.
Kunder adopterer i økende grad flerkontoarkitekturer for å distribuere og administrere arbeidsflyter for maskinlæring (ML) med SageMaker Pipelines. Dette innebærer å bygge arbeidsflyter i utviklings- eller eksperimenteringskontoer (dev), distribuere og teste dem i en test- eller preproduksjonskonto (testkonto), og til slutt promotere dem til produksjonskontoer (prod) for å integreres med andre forretningsprosesser. Du kan dra nytte av deling på tvers av kontoer av SageMaker-rørledninger i følgende brukstilfeller:
- Når dataforskere bygger ML-arbeidsflyter i en utviklerkonto, distribueres disse arbeidsflytene av en ML-ingeniør som en SageMaker-pipeline til en dedikert testkonto. For å overvåke disse arbeidsflytene ytterligere krever dataforskere nå skrivebeskyttet tillatelse på tvers av kontoer til den distribuerte pipelinen i testkontoen.
- ML-ingeniører, ML-administratorer og overholdelsesteam, som administrerer distribusjon og drift av disse ML-arbeidsflytene fra en delt tjenestekonto, krever også innsyn i den distribuerte pipelinen i testkontoen. De kan også kreve ytterligere tillatelser for å starte, stoppe og prøve disse ML-arbeidsflytene på nytt.
I dette innlegget presenterer vi et eksempel på flerkontoarkitektur for utvikling og distribusjon av ML-arbeidsflyter med SageMaker Pipelines.
Løsningsoversikt
En strategi for flere kontoer hjelper deg med å oppnå data-, prosjekt- og teamisolasjon samtidig som du støtter trinn i livssyklusen for programvareutvikling. Deling av pipeline på tvers av kontoer støtter en strategi for flere kontoer, fjerner omkostningene ved pålogging og ut av flere kontoer og forbedrer arbeidsflyter for ML-testing og distribusjon ved å dele ressurser direkte på tvers av flere kontoer.
I dette eksemplet har vi et datavitenskapsteam som bruker en dedikert utviklerkonto for den første utviklingen av SageMaker-pipelinen. Denne rørledningen blir deretter overlevert til en ML-ingeniør, som lager en kontinuerlig integrasjon og kontinuerlig levering (CI/CD) pipeline i deres delte tjenester-konto for å distribuere denne pipelinen til en testkonto. For fortsatt å kunne overvåke og kontrollere den distribuerte pipelinen fra deres respektive dev- og delte tjenester-kontoer, ressursandeler er satt opp med AWS Resource Access Manager i test- og utviklingskontoene. Med dette oppsettet kan ML-ingeniøren og dataforskeren nå overvåke og kontrollere rørledningene i utvikler- og testkontoene fra deres respektive kontoer, som vist i følgende figur.
I arbeidsflyten utfører dataviteren og ML-ingeniøren følgende trinn:
- Dataforskeren (DS) bygger en modellpipeline i utviklerkontoen.
- ML-ingeniøren (MLE) produserer modellrørledningen og lager en rørledning, (for dette innlegget kaller vi det
sagemaker-pipeline
). sagemaker-pipeline
koden er forpliktet til en AWS CodeCommit repository i kontoen for delte tjenester.- Dataforskeren oppretter en AWS RAM-ressursandel for
sagemaker-pipeline
og deler den med kontoen for delte tjenester, som godtar ressursdelingen. - Fra kontoen for delte tjenester kan ML-ingeniører nå beskrive, overvåke og administrere pipeline-kjøringene i utviklerkontoen ved å bruke SageMaker API-kall.
- En CI/CD-pipeline utløst i den delte tjenestekontoen bygger og distribuerer koden til testkontoen ved å bruke AWS CodePipeline.
- CI/CD-rørledningen opprettes og kjøres
sagemaker-pipeline
i testkontoen. - Etter å ha kjørt
sagemaker-pipeline
i testkontoen oppretter CI/CD-pipelinen en ressursandel forsagemaker-pipeline
i testkontoen. - En ressursandel fra testen
sagemaker-pipeline
med skrivebeskyttede tillatelser opprettes med utviklerkontoen, som godtar ressursdelingen. - Dataforskeren er nå i stand til å beskrive og overvåke testpipeline-kjøringsstatusen ved å bruke SageMaker API-kall fra utviklerkontoen.
- En ressursandel fra testen
sagemaker-pipeline
med utvidede tillatelser opprettes med kontoen for delte tjenester, som godtar ressursdelingen. - ML-ingeniøren er nå i stand til å beskrive, overvåke og administrere testpipeline-kjøringen ved å bruke SageMaker API-kall fra den delte tjenestekontoen.
I de følgende delene går vi mer i detalj og gir en demonstrasjon av hvordan du setter opp deling på tvers av kontoer for SageMaker-rørledninger.
Hvordan lage og dele SageMaker-pipelines på tvers av kontoer
I denne delen går vi gjennom de nødvendige trinnene for å opprette og dele pipelines på tvers av kontoer ved å bruke AWS RAM og SageMaker API.
Sett opp miljøet
Først må vi sette opp et multikontomiljø for å demonstrere deling på tvers av kontoer av SageMaker-rørledninger:
- Sett opp to AWS-kontoer (utvikler og test). Du kan sette opp dette som medlemskontoer til en organisasjon eller som uavhengige kontoer.
- Hvis du setter opp kontoene dine som medlem av en organisasjon, kan du aktivere ressursdeling med organisasjonen din. Med denne innstillingen, når du deler ressurser i organisasjonen din, sender ikke AWS RAM invitasjoner til rektorer. Rektorer i organisasjonen din får tilgang til delte ressurser uten å utveksle invitasjoner.
- Start i testkontoen Amazon SageMaker Studio og kjør notatboken tog-register-deploy-pipeline-modell. Dette oppretter en eksempelpipeline i testkontoen din. For å forenkle demonstrasjonen bruker vi SageMaker Studio i testkontoen for å starte pipelinen. For virkelige prosjekter bør du bare bruke Studio i utviklerkontoen og starte SageMaker Pipeline i testkontoen ved å bruke CI/CD-verktøyet ditt.
Følg instruksjonene i neste avsnitt for å dele denne pipelinen med utviklerkontoen.
Sett opp en rørledningsressursandel
For å dele pipeline med utviklerkontoen, fullfør følgende trinn:
- På AWS RAM-konsollen velger du Opprett ressursandel.
- Til Velg ressurstype, velg SageMaker-rørledninger.
- Velg rørledningen du opprettet i forrige trinn.
- Velg neste.
- Til Tillatelser, velg dine tilknyttede tillatelser.
- Velg neste.
Deretter bestemmer du hvordan du vil gi tilgang til rektorer. - Hvis du bare trenger å dele rørledningen innenfor organisasjonskontoene dine, velger du Tillat deling kun innenfor organisasjonen din; ellers velg Tillat deling med hvem som helst.
- Til Rektorer, velg hovedtype (du kan bruke en AWS-konto, organisasjon eller organisasjonsenhet, basert på delingskravet ditt). For dette innlegget deler vi med alle på AWS-kontonivå.
- Velg hoved-ID.
- Velg neste.
- På Gjennomgå og opprett side, kontroller at informasjonen din er korrekt og velg Opprett ressursandel.
- Naviger til målkontoen din (for dette innlegget, utviklerkontoen din).
- På AWS RAM-konsollen, under Delt med meg Velg navigasjonsruten Ressursandeler.
- Velg din ressursandel og velg Godta ressursdeling.
Ressursdelingstillatelser
Når du oppretter ressursandelen din, kan du velge fra en av to støttede tillatelsespolicyer som kan knyttes til SageMaker-rørledningsressurstypen. Begge retningslinjene gir tilgang til en hvilken som helst valgt pipeline og alle dens kjøringer.
De AWSRAMDefaultPermissionSageMakerPipeline
policyen tillater følgende skrivebeskyttede handlinger:
De AWSRAMPermissionSageMakerPipelineAllowExecution
policy inkluderer alle skrivebeskyttede tillatelser fra standardpolicyen, og lar også delte kontoer starte, stoppe og prøve pipelinekjøringer på nytt.
Tillatelsespolicyen for utvidet pipeline-kjøring tillater følgende handlinger:
Få tilgang til delte rørledningsenheter gjennom direkte API-kall
I denne delen går vi gjennom hvordan du kan bruke ulike SageMaker Pipeline API-kall for å få innsyn i pipelines som kjører på eksterne kontoer som har blitt delt med deg. For å teste API-ene mot pipelinen som kjører i testkontoen fra utviklerkontoen, logg inn på utviklerkontoen og bruk AWS CloudShell.
For SageMaker Pipeline API-kall på tvers av kontoer, må du alltid bruke pipeline-ARN som pipeline-identifikasjon. Det inkluderer også kommandoene som krever pipelinenavnet, der du må bruke pipeline-ARN som pipelinenavn.
For å få din pipeline ARN, i testkontoen din, naviger til pipeline-detaljene dine i Studio via SageMaker-ressurser.
Velg Rørledninger på ressurslisten din.
Velg din pipeline og gå til din pipeline innstillinger fanen. Du finner rørledningen ARN med din metadata informasjon. For dette eksemplet er din ARN definert som "arn:aws:sagemaker:us-east-1:<account-id>:pipeline/serial-inference-pipeline"
.
ListPipelineExecutions
Dette API-kallet lister opp løpene av rørledningen din. Kjør følgende kommando, erstatt $SHARED_PIPELINE_ARN
med din pipeline ARN fra CloudShell eller ved å bruke AWS kommandolinjegrensesnitt (AWS CLI) konfigurert med passende AWS identitets- og tilgangsadministrasjon (JEG ER) rolle:
Svaret viser alle løpene i rørledningen din med deres PipelineExecutionArn
, StartTime
, PipelineExecutionStatus
og PipelineExecutionDisplayName
:
Beskriv Pipeline
Dette API-kallet beskriver detaljen av rørledningen din. Kjør følgende kommando, erstatt $SHARED_PIPELINE_ARN
med rørledningen din ARN:
Svaret gir metadata for rørledningen din, samt informasjon om opprettelse og modifikasjoner av den:
DescribePipelineExecution
Dette API-kallet beskriver detaljen av rørledningen din. Kjør følgende kommando, erstatt $SHARED_PIPELINE_ARN
med rørledningen din ARN:
Svaret gir detaljer om rørledningen din, inkludert PipelineExecutionStatus
, ExperimentName
og TrialName
:
StartPipelineExecution
Dette API-kallet starter et rørledningsløp. Kjør følgende kommando, erstatt $SHARED_PIPELINE_ARN
med rørledningen din ARN og $CLIENT_REQUEST_TOKEN
med en unik identifikator som skiller mellom store og små bokstaver som du genererer for denne kjøringen. Identifikatoren skal ha mellom 32–128 tegn. Du kan for eksempel generere en streng ved å bruke AWS CLI kms generer tilfeldig kommando.
Som et svar returnerer dette API-kallet PipelineExecutionArn
av det påbegynte løpet:
StopPipelineExecution
Dette API-kallet stopper et rørledningsløp. Kjør følgende kommando, erstatt $PIPELINE_EXECUTION_ARN
med rørledningen ARN for din løpende rørledning og $CLIENT_REQUEST_TOKEN
med en unik identifikator som skiller mellom store og små bokstaver som du genererer for denne kjøringen. Identifikatoren skal ha mellom 32–128 tegn. Du kan for eksempel generere en streng ved å bruke AWS CLI kms generer tilfeldig kommando.
Som et svar returnerer dette API-kallet PipelineExecutionArn
av den stoppede rørledningen:
konklusjonen
Deling på tvers av kontoer av SageMaker-pipelines lar deg trygt dele pipeline-enheter på tvers av AWS-kontoer og få tilgang til delte pipelines gjennom direkte API-kall, uten å måtte logge inn og ut av flere kontoer.
I dette innlegget dykket vi inn i funksjonaliteten for å vise hvordan du kan dele pipelines på tvers av kontoer og få tilgang til dem via SageMaker API-kall.
Som et neste trinn kan du bruke denne funksjonen for ditt neste ML-prosjekt.
Ressurser
For å komme i gang med SageMaker Pipelines og dele pipelines på tvers av kontoer, se følgende ressurser:
Om forfatterne
Ram Vittal er en ML Specialist Solutions Architect hos AWS. Han har over 20 års erfaring med å bygge og bygge distribuerte, hybride og skyapplikasjoner. Han brenner for å bygge sikre og skalerbare AI/ML- og big data-løsninger for å hjelpe bedriftskunder med deres skyadopsjon og optimaliseringsreise for å forbedre forretningsresultatene deres. På fritiden liker han tennis, fotografering og actionfilmer.
Maira Ladeira Tanke er en ML Specialist Solutions Architect hos AWS. Med bakgrunn innen datavitenskap, har hun 9 års erfaring med å arkitekte og bygge ML-applikasjoner med kunder på tvers av bransjer. Som teknisk leder hjelper hun kunder med å akselerere oppnåelsen av forretningsverdi gjennom nye teknologier og innovative løsninger. På fritiden liker Maira å reise og tilbringe tid med familien et varmt sted.
Gabriel Zylka er en profesjonell tjenestekonsulent hos AWS. Han jobber tett med kunder for å akselerere deres skyadopsjonsreise. Spesialisert seg på MLOps-domenet, fokuserer han på produksjon av maskinlæringsarbeidsbelastninger ved å automatisere ende-til-ende maskinlæringslivssykluser og bidra til å oppnå ønskede forretningsresultater. På fritiden liker han å reise og vandre i de bayerske alpene.
- AI
- ai kunst
- ai art generator
- du har en robot
- Amazon SageMaker
- kunstig intelligens
- sertifisering av kunstig intelligens
- kunstig intelligens i bankvirksomhet
- kunstig intelligens robot
- kunstig intelligens roboter
- programvare for kunstig intelligens
- AWS maskinlæring
- blockchain
- blockchain konferanse ai
- coingenius
- samtale kunstig intelligens
- kryptokonferanse ai
- dall sin
- dyp læring
- google det
- maskinlæring
- plato
- plato ai
- Platon Data Intelligence
- Platon spill
- PlatonData
- platogaming
- skala ai
- syntaks
- zephyrnet