De AWS Machine Learning Operations (MLOps) rammeverk er en iterativ og repeterende prosess for å utvikle AI-modeller over tid. I likhet med DevOps, oppnår utøvere effektivitet ved å promotere artefakter gjennom ulike miljøer (som kvalitetssikring, integrasjon og produksjon) for kvalitetskontroll. Parallelt tar kundene raskt i bruk flerkontostrategier gjennom AWS organisasjoner og AWS kontrolltårn å skape sikre, isolerte miljøer. Denne kombinasjonen kan introdusere utfordringer for implementering av MLOps med AWS forhåndstrente AI Services, som f.eks Amazon Rekognition Egendefinerte etiketter. Dette innlegget diskuterer designmønstre for å redusere denne kompleksiteten mens du fortsatt opprettholder beste praksis for sikkerhet.
Oversikt
Kunder på tvers av alle bransjevertikaler anerkjenner verdien av å operasjonalisere maskinlæring (ML) effektivt og redusere tiden det tar å levere forretningsverdi. De fleste AWS forhåndstrente AI-tjenester løser denne situasjonen gjennom ferdige funksjoner for datasyn, oversettelse og svindeldeteksjon, blant andre vanlige brukstilfeller. Mange brukstilfeller krever domenespesifikke spådommer som går utover generiske svar. AI-tjenestene kan finjustere de prediktive modellresultatene ved å bruke kundemerkede data for disse scenariene.
Over tid endres og utvikler det domenespesifikke vokabularet. Anta for eksempel at en verktøyprodusent lager en datasynsmodell for å oppdage produktene i bilder (som hammere og skrutrekkere). I en fremtidig utgivelse legger virksomheten til støtte for skiftenøkler og sager. Disse nye etikettene krever kodeendringer på produsentens nettsteder og tilpassede applikasjoner. Nå er det avhengigheter som begge artefakter må frigjøres samtidig.
AWS MLOps-rammeverket adresserer disse utgivelsesutfordringene gjennom iterative og repeterende prosesser. Før de når produksjonssluttbrukere, må modellartefaktene krysse ulike kvalitetsporter som applikasjonskode. Du implementerer vanligvis disse kvalitetsportene ved å bruke flere AWS-kontoer i en AWS-organisasjon. Denne tilnærmingen gir fleksibiliteten til å sentralt administrere disse applikasjonsdomenene og håndheve rekkverk og forretningskrav. Det blir stadig mer vanlig å ha titalls eller til og med hundrevis av kontoer i organisasjonen din. Du må imidlertid balansere behovet for arbeidsbelastningsisolering mot teamstørrelsen og kompleksiteten.
MLOps-utøvere har standardprosedyrer for å fremme artefakter mellom kontoer (som QA til produksjon). Disse mønstrene er enkle å implementere, og er avhengige av kopiering av kode og binære ressurser mellom Amazon enkel lagringstjeneste (Amazon S3) bøtter. Imidlertid støtter AWS forhåndstrente AI-tjenester for øyeblikket ikke kopiering av den trente tilpassede modellen på tvers av AWS-kontoer. Inntil en slik mekanisme eksisterer, må du omskolere modellene i hver AWS-konto ved å bruke det samme datasettet. Denne tilnærmingen innebærer tid og kostnader for å omskolere modellen i en ny konto. Denne mekanismen kan være et levedyktig alternativ for noen kunder. Men i dette innlegget demonstrerer vi midlene for å definere og utvikle disse tilpassede modellene sentralt, samtidig som vi deler dem sikkert på tvers av en AWS-organisasjons kontoer.
Løsningsoversikt
Dette innlegget diskuterer designmønstre for sikker deling av AWS forhåndstrente AI Service domenespesifikke modeller. Disse tjenestene inkluderer Amazon-svindeldetektor, Amazon Transcribeog Amazon-anerkjennelse, for å nevne noen. Selv om disse strategiene er bredt anvendelige, fokuserer vi på egendefinerte etiketter for anerkjennelse som et konkret eksempel. Vi unngår med vilje å dykke for dypt inn i Rekognition Custom Labels-spesifikke nyanser.
Arkitekturen begynner med et konfigurert AWS Control Tower i administrasjonskontoen. AWS Control Tower gir den enkleste måten å sette opp og styre et sikkert AWS-miljø med flere kontoer på. Som vist i følgende diagram, bruker vi Kontofabrikk i AWS Control Tower for å opprette fem AWS-kontoer:
- CI/CD-konto for distribusjonsorkestrering (for eksempel med AWS CodeStar)
- Produksjonskonto for eksterne sluttbrukere (for eksempel et offentlig nettsted)
- Kvalitetssikringskonto for interne utviklingsteam (som forproduksjon)
- ML står for tilpassede modeller og støttesystemer
- AWS Lake House konto med proprietære kundedata
Denne konfigurasjonen kan være for granulær eller grov, avhengig av regulatoriske krav, bransje og størrelse. Referere til Administrere multikontomiljøet ved hjelp av AWS Organizations og AWS Control Tower for mer veiledning.
Opprett Rekognition Custom Labels-modellen
Det første trinnet for å lage en Rekognition Custom Labels-modell er å velge AWS-kontoen som vert for den. Du kan begynne din ML-reise med én enkelt ML-konto. Denne tilnærmingen konsoliderer alle verktøy og prosedyrer på ett sted. Imidlertid kan denne sentraliseringen forårsake oppblåsthet i den enkelte konto og føre til monolittiske miljøer. Mer modne bedrifter segmenterer denne ML-kontoen etter team eller arbeidsmengde. Uavhengig av granulariteten er formålet det samme å definere sentralt og trene modeller én gang.
Dette innlegget demonstrerer bruk av en Rekognition Custom Labels-modell med en enkelt ML-konto og en separat datainnsjø-konto (se følgende diagram). Når dataene ligger i en annen konto, må du konfigurere en ressurspolicy til gi tilgang på tvers av kontoer til S3-bøtten gjenstander. Denne prosedyren deler innholdet i bøtten på en sikker måte med ML-kontoen. Se hurtigstartprøver for mer informasjon om lage en Amazon Rekognition-domenespesifikk modell.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSRekognitionS3AclBucketRead20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::S3:" }, { "Sid": "AWSRekognitionS3GetBucket20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:GetObjectAcl", "s3:GetObjectVersion", "s3:GetObjectTagging" ], "Resource": "arn:aws:s3:::S3:/*" }, { "Sid": "AWSRekognitionS3ACLBucketWrite20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::S3:" }, { "Sid": "AWSRekognitionS3PutObject20191011", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::S3:/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ]
}
Aktiver tilgang på tvers av kontoer
Etter at du har bygget og distribuert modellen, er endepunktet bare tilgjengelig i ML-kontoen. Ikke bruk en statisk nøkkel å dele tilgang. Du må delegattilgang til produksjonskontoen (eller QA) ved å bruke AWS identitets- og tilgangsadministrasjon (IAM) roller. For å opprette en rolle på tvers av kontoer i ML-kontoen, fullfør følgende trinn:
- På Rekognition Custom Labels-konsollen velger du Prosjekter og velg prosjektnavnet ditt.
- Velg Modeller og modellnavnet ditt.
- På Bruk modell -fanen, bla ned til Bruk modellen din seksjon.
- Kopier modellen Amazon Resource Name (ARN). Den skal formateres som følger:
arn:aws:rekognition:region-name:account-id:project/model-name/version/version-id/timestamp
. - Lag en rolle med
rekognition:DetectCustomLabels
tillatelser til modellen ARN og en tillitspolicy som tillatersts:AssumeRole
fra produksjonskontoen (eller QA) (f.eks.arn:aws:iam::PROD_ACCOUNT_ID_HERE:root
). - Eventuelt kan du legge ved ytterligere retningslinjer for alle arbeidsbelastningsspesifikke handlinger (for eksempel tilgang til S3-bøtter).
- Alternativt kan du konfigurere tilstandselement for å håndheve ytterligere delegeringskrav.
- Registrer den nye rollens ARN for bruk i neste seksjon.
Påkall endepunktet
Med sikkerhetspolicyene på plass, er det på tide å teste konfigurasjonen. En enkel tilnærming innebærer å lage en Amazon Elastic Compute Cloud (Amazon EC2) forekomst og bruk av AWS kommandolinjegrensesnitt (AWS CLI). Påkall endepunktet med følgende trinn:
- I produksjonskontoen (eller QA) oppretter du en rolle for Amazon EC2.
- Legg ved en policy som tillater
sts:AssumeRole
til ML-kontoens tverrrolle-ARN. - Start en Amazon Linux 2-forekomst med rollen fra forrige trinn.
- Vent til den blir klar, da koble til Linux-forekomsten ved hjelp av SSH.
- Påkall kommandoen
aws iam assume-role
for å bytte til rollen på tvers av kontoer fra forrige seksjon. - Start modellens endepunkt, hvis den ikke allerede kjører, ved å bruke gjenkjenningskonsollen eller start-prosjekt-versjon AWS CLI kommando.
- Påkall kommandoen aws gjenkjenning oppdage-egendefinerte-etiketter for å teste operasjonen.
Du kan også utføre denne testen ved å bruke AWS SDK og en annen dataressurs (f.eks. AWS Lambda).
Unngå det offentlige internett
I forrige seksjon bruker forespørselen detect-custom-labels den virtuelle private skyens (VPC) internettgateway og krysser det offentlige internett. TLS/SSL-kryptering sikrer kommunikasjonskanalen tilstrekkelig for mange arbeidsbelastninger. Du kan bruke AWS PrivateLink til aktivere forbindelser mellom VPC og støttetjenester uten å kreve en internettgateway, NAT-enhet, VPN-tilkobling, transittgateway eller AWS Direct Connect forbindelse. Deretter forlater forespørselen om detect-custom-labels aldri AWS-nettverket eksponert for det offentlige internett. AWS PrivateLink støtter alle tjenester som brukes i dette innlegget. Du kan også håndheve forhåndstrente AI-tjenester ved å bruke privat tilkobling med IAM i tverrrollepolitikken. Denne kontrollen legger til et nytt beskyttelsesnivå som forhindrer feilkonfigurerte klienter fra å bruke den forhåndstrente AI-tjenestens internettvendte endepunkt. For ytterligere informasjon, se Bruke Amazon Rekognition med Amazon VPC-endepunkter, AWS PrivateLink for Amazon S3og Bruk av AWS STS-grensesnitt VPC-endepunkter.
Følgende diagram illustrerer VPC-endepunktkonfigurasjonen mellom produksjonskontoen, ML-kontoen og QA-kontoen.
Bygg en CI/CD-pipeline for å markedsføre modeller
AWS anbefaler kontinuerlig å tilby mer opplæring og testdata for å tilpasse Amazon Rekognition-prosjektdatasettet til forbedre modellene. Etter at du har lagt til flere data i et prosjekt, kan en ny modell forbedre nøyaktigheten eller endre etiketter.
I MLOps må modellartefakter være konsistente. For å oppnå dette med forhåndstrente AI Services, anbefaler AWS å promotere modellendepunktet ved å oppdatere kodens referanse til den nye modellversjonens ARN. Denne tilnærmingen unngår å omskolere den domenespesifikke modellen i hvert miljø (som QA og produksjonskontoer). Applikasjonene dine kan bruke den nye modellens ARN som en kjøretidsvariabel ved å bruke AWS systemansvarlig innenfor en multi-konto eller flertrinns miljø.
Tre granularitetsnivåer begrenser tilgangen til modellen på tvers av kontoer, spesielt på konto-, prosjekt- og modellversjonsnivå. Modeller er idempotente og har et unikt ARN som kartlegges til spesifikke tidspunkt for trening: arn:aws:rekognition:account:region:project/project_name/version/name/timestamp
.
Følgende diagram illustrerer modellrotasjonen fra QA til produksjon.
I den foregående arkitekturen foretar produksjons- og QA-applikasjonene API-kall for å bruke v2- eller v3-modellendepunktene gjennom deres respektive VPC-endepunkter. De mottar ARN fra konfigurasjonslageret (f.eks. Amazon Systems Manager Parameter Store or AWS AppConfig). Denne prosessen fungerer med n antall miljøer, men vi demonstrerer bare å bruke to kontoer for enkelhets skyld. Hvis du fjerner de erstattede modellversjonene, forhindrer du ekstra forbruk av disse ressursene.
ML-kontoen har en IAM-rolle for hver miljøspesifikke (for eksempel produksjonskontoen) som krever tilgang. CI/CD-rørledningen som en del av distribusjonen endrer den innebygde policyen for IAM-rollen for å gi tilgang til den aktuelle modellen.
Vurder scenarioet med å promotere Model-v2 fra QA-kontoen til produksjonskontoen. Denne prosessen krever følgende trinn:
- På Rekognition Custom Labels-konsollen overfører du Model-v2-endepunktet til en kjørende tilstand.
- Gi IAM-rollen på tvers av kontoer i ML-kontoen tilgang til den nye versjonen av Model-v2.
Legg merke til at ressurselement støtter jokertegn i ARN.
- Send et testoppkall til Model-v2 fra produksjonsapplikasjonen ved å bruke delegeringsrollen.
- Du kan eventuelt fjerne tilgangen til rollen på tvers av kontoer til Model-v1.
- Gjenta eventuelt trinn 2–3 for hver ekstra AWS-konto.
- Du kan eventuelt stoppe Model-v1-endepunktet for å unngå kostnader.
Global policyutbredelse fra IAM-kontrollplanet til IAM-dataplanet i hver region er en til slutt konsistent operasjon. Denne utformingen kan skape små forsinkelser for multi-regionale konfigurasjoner.
Lag rekkverk gjennom servicekontrollpolicyer
Bruk av roller på tvers av kontoer skaper en sikker mekanisme for deling av forhåndstrente administrerte AI-ressurser. Men hva skjer når den rollens politikk er for ettergivende? Du kan redusere disse risikoene ved å bruke tjenestekontrollpolicyer (SCP) for å sette tillatelsesrekkverk på tvers av kontoer. Rekkverk spesifiserer maksimale tillatelser tilgjengelig for en IAM-identitet. Disse egenskapene kan forhindre at en modellforbrukerkonto for eksempel stopper det delte Amazon Rekognition-endepunktet. Etter å ha definert passende rekkverkskrav, organisasjonsenheter i organisasjoner tillate sentral administrasjon av disse retningslinjene på tvers av flere kontoer.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyModifyingRekgnotionProjects", "Effect": "Deny", "Action": [ "rekognition:CreateProject*", "rekognition:DeleteProject*", "rekognition:StartProject*", "rekognition:StopProject*", ], "Resource": [ “arn:aws:rekognition:*:*:project/* ] } ]
}
Du kan også konfigurere detektivkontroller for å overvåke konfigurasjonen deres og sørge for at den ikke går ut av samsvar. AWS IAM Access Analyzer støtter vurdering av retningslinjer på tvers av organisasjonen og rapportering av ubrukte tillatelser. I tillegg, AWS-konfig muliggjør vurdering, revisjon og evaluering av konfigurasjoner av AWS-ressurser. Denne funksjonen støtter standard sikkerhets- og samsvarskrav, som f.eks verifisering og utbedring S3-bøttens krypteringsinnstillinger.
konklusjonen
Du trenger ferdige løsninger for å legge til ML-funksjoner som datasyn, oversettelse og svindeldeteksjon. Du trenger også sikkerhetsgrenser som isolerer de forskjellige miljøene dine for kvalitetskontroll, overholdelse og regulatoriske formål. AWS forhåndstrente AI-tjenester og AWS Control Tower leverer denne funksjonaliteten på en måte som er lett tilgjengelig og sikker.
AWS forhåndstrente AI-tjenester støtter for øyeblikket ikke kopiering av den trente tilpassede modellen på tvers av AWS-kontoer. Inntil en slik mekanisme eksisterer, må du omskolere modellene i hver AWS-konto ved å bruke det samme datasettet. Dette innlegget demonstrerer en alternativ designtilnærming som bruker IAM-policyer på tvers av kontoer for å dele modellendepunkter samtidig som den opprettholder robust sikkerhetskontroll. Videre kan du slutte å betale for overflødige treningsjobber! For mer informasjon om retningslinjer for flere kontoer, se IAM -opplæring: Delegere tilgang på tvers av AWS -kontoer ved hjelp av IAM -roller.
Om forfatterne
Nate Bachmeier er en AWS Senior Solutions Architect som nomadisk utforsker New York, én skyintegrasjon om gangen. Han spesialiserer seg på å migrere og modernisere kundenes arbeidsmengder. I tillegg til dette er Nate en fulltidsstudent og har to barn.
Mario Bourgoin er Senior Partner Solutions Architect for AWS, en AI/ML-spesialist, og den globale tech lead for MLOps. Han jobber med bedriftskunder og partnere som distribuerer AI-løsninger i skyen. Han har mer enn 30 års erfaring med maskinlæring og AI ved oppstart og i bedrifter, og starter med å lage et av de første kommersielle maskinlæringssystemene for big data. Mario bruker resten av tiden på å leke med sine tre belgiske Tervurens, lage middager til familien og lære om matematikk og kosmologi.
Tim Murphy er en senior løsningsarkitekt for AWS, og jobber med bedriftskunder i ulike bransjer for å bygge forretningsbaserte løsninger i skyen. Han har brukt det siste tiåret på å jobbe med startups, ideelle organisasjoner, kommersielle virksomheter og offentlige etater, og distribuere infrastruktur i stor skala. På fritiden når han ikke fikser med teknologi, vil du mest sannsynlig finne ham i fjerne områder av jorden på fottur i fjell, surfe på bølger eller sykle gjennom en ny by.
- Myntsmart. Europas beste Bitcoin og Crypto Exchange.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. FRI TILGANG.
- CryptoHawk. Altcoin Radar. Gratis prøveperiode.
- Kilde: https://aws.amazon.com/blogs/machine-learning/implement-mlops-using-aws-pre-trained-ai-services-with-aws-organizations/
- "
- 100
- 98
- Om oss
- adgang
- Logg inn
- tvers
- Handling
- handlinger
- Ytterligere
- adresse
- AI
- AI-tjenester
- Alle
- tillate
- allerede
- Selv
- Amazon
- blant
- En annen
- api
- aktuelt
- Søknad
- søknader
- tilnærming
- arkitektur
- tilgjengelig
- AWS
- BEST
- beste praksis
- Store data
- Oppblåst
- bygge
- virksomhet
- evner
- saker
- Årsak
- utfordringer
- City
- Cloud
- kode
- kombinasjon
- kommersiell
- Felles
- Kommunikasjon
- samsvar
- Beregn
- tilstand
- Konfigurasjon
- tilkobling
- Tilkoblinger
- Tilkobling
- Konsoll
- forbruker
- forbruk
- innhold
- kontroll
- Kostnader
- Opprette
- Kunder
- dato
- tiår
- forsinkelser
- utplassere
- utplasserings
- distribusjon
- utforming
- Gjenkjenning
- Utvikling
- enhet
- forskjellig
- ikke
- domener
- ned
- jord
- lett
- effekt
- kryptering
- Endpoint
- Enterprise
- Miljø
- eksempel
- erfaring
- familie
- Først
- fleksibilitet
- Fokus
- etter
- Rammeverk
- svindel
- funksjonalitet
- framtid
- Gates
- Global
- Regjeringen
- HTTPS
- Hundrevis
- Identitet
- iverksette
- inkludere
- individuelt
- bransjer
- industri
- informasjon
- Infrastruktur
- integrering
- Interface
- Internet
- isolasjon
- IT
- kids
- etiketter
- føre
- læring
- Nivå
- linje
- linux
- maskin
- maskinlæring
- ledelse
- leder
- administrerende
- Produsent
- Kart
- matematikk
- ML
- modell
- modeller
- mest
- nettverk
- New York
- Drift
- Alternativ
- orkestre
- organisasjon
- organisasjoner
- Annen
- partner
- partnere
- Politikk
- politikk
- Spådommer
- Principal
- privat
- prosess
- Prosesser
- Produksjon
- Produkter
- prosjekt
- proprietær
- beskyttelse
- gir
- offentlig
- formål
- kvalitet
- motta
- anbefaler
- redusere
- regulatorer
- slipp
- krever
- Krav
- ressurs
- Ressurser
- Resultater
- risikoer
- rennende
- Skala
- SDK
- sikre
- sikkerhet
- sikkerhetspolitikk
- tjeneste
- Tjenester
- sett
- Del
- delt
- Aksjer
- Enkelt
- Størrelse
- Solutions
- spesialisert
- spesielt
- Begynn
- startups
- Tilstand
- Uttalelse
- lagring
- oppbevare
- strategier
- Student
- støtte
- Støtter
- Bytte om
- Systemer
- lag
- tech
- Teknologi
- test
- Gjennom
- tid
- Kurs
- transitt
- Oversettelse
- Stol
- unik
- bruke
- verdi
- virtuelle
- syn
- VPN
- bølger
- Nettsted
- nettsteder
- Hva
- innenfor
- uten
- arbeid
- virker
- år