Zephyrnet-logotyp

Tillhandahålla och hantera ML-miljöer med Amazon SageMaker Canvas med AWS CDK och AWS Service Catalog

Datum:

Spridningen av maskininlärning (ML) över ett brett spektrum av användningsfall blir vanligare i alla branscher. Detta överträffar dock ökningen av antalet ML-utövare som traditionellt har varit ansvariga för att implementera dessa tekniska lösningar för att realisera affärsresultat.

I dagens företag finns det ett behov av att maskininlärning används av icke-ML-utövare som är skickliga med data, vilket är grunden för ML. För att göra detta till verklighet realiseras värdet av ML över hela företaget genom no-code ML-plattformar. Dessa plattformar gör det möjligt för olika personer, till exempel affärsanalytiker, att använda ML utan att skriva en enda rad kod och leverera lösningar på affärsproblem på ett snabbt, enkelt och intuitivt sätt. Amazon SageMaker Canvas är en visuell peka-och-klicka-tjänst som gör det möjligt för affärsanalytiker att använda ML för att lösa affärsproblem genom att generera exakta förutsägelser på egen hand – utan att kräva någon ML-erfarenhet eller att behöva skriva en enda rad kod. Canvas har utökat användningen av ML i företaget med ett enkelt att använda intuitivt gränssnitt som hjälper företag att implementera lösningar snabbt.

Även om Canvas har möjliggjort demokratisering av ML, kvarstår utmaningen att tillhandahålla och distribuera ML-miljöer på ett säkert sätt. Vanligtvis är detta ansvaret för centrala IT-team i de flesta stora företag. I det här inlägget diskuterar vi hur IT-team kan administrera, tillhandahålla och hantera säkra ML-miljöer med hjälp av Amazon SageMaker Canvas, AWS Cloud Development Kit (AWS CDK) och AWS servicekatalog. Inlägget presenterar en steg-för-steg-guide för IT-administratörer för att uppnå detta snabbt och i stor skala.

Översikt över AWS CDK och AWS Service Catalog

AWS CDK är ett ramverk för programvaruutveckling med öppen källkod för att definiera dina molnapplikationsresurser. Den använder programmeringsspråkens förtrogenhet och uttrycksfulla kraft för att modellera dina applikationer, samtidigt som resurser tillhandahålls på ett säkert och repeterbart sätt.

AWS Service Catalog låter dig hantera distribuerade IT-tjänster, applikationer, resurser och metadata centralt. Med AWS Service Catalog kan du skapa, dela, organisera och styra molnresurser med infrastruktur som kodmallar (IaC) och möjliggöra snabb och enkel provisionering.

Lösningsöversikt

Vi möjliggör provisionering av ML-miljöer med Canvas i tre steg:

  1. Först delar vi hur du kan hantera en portfölj med resurser som är nödvändiga för godkänd användning av Canvas med hjälp av AWS Service Catalog.
  2. Sedan distribuerar vi ett exempel på AWS Service Catalog-portfölj för Canvas med AWS CDK.
  3. Slutligen visar vi hur du kan tillhandahålla Canvas-miljöer på begäran inom några minuter.

Förutsättningar

För att tillhandahålla ML-miljöer med Canvas, AWS CDK och AWS Service Catalog måste du göra följande:

  1. Ha tillgång till AWS-kontot där Service Catalog-portföljen kommer att distribueras. Se till att du har inloggningsuppgifterna och behörigheterna för att distribuera AWS CDK-stacken på ditt konto. De AWS CDK Workshop är en användbar resurs som du kan hänvisa till om du behöver stöd.
  2. Vi rekommenderar att du följer vissa bästa metoder som framhävs genom koncepten som beskrivs i följande resurser:
  3. klon detta GitHub-arkiv in i din miljö.

Tillhandahåll godkända ML-miljöer med Amazon SageMaker Canvas med hjälp av AWS Service Catalog

I reglerade branscher och de flesta stora företag måste du följa kraven från IT-team för att tillhandahålla och hantera ML-miljöer. Dessa kan innefatta ett säkert, privat nätverk, datakryptering, kontroller för att endast tillåta auktoriserade och autentiserade användare som t.ex. AWS identitets- och åtkomsthantering (IAM) för åtkomst till lösningar som Canvas, och strikt loggning och övervakning för revisionsändamål.

Som IT-administratör kan du använda AWS Service Catalog för att skapa och organisera säkra, reproducerbara ML-miljöer med SageMaker Canvas till en produktportfölj. Detta hanteras med hjälp av IaC-kontroller som är inbäddade för att uppfylla de krav som nämnts tidigare, och kan tillhandahållas på begäran inom några minuter. Du kan också behålla kontrollen över vem som kan komma åt den här portföljen för att lansera produkter.

Följande diagram illustrerar denna arkitektur.

Exempelflöde

I det här avsnittet visar vi ett exempel på en AWS Service Catalog-portfölj med SageMaker Canvas. Portföljen består av olika aspekter av Canvas-miljön som ingår i Service Catalog-portföljen:

  • Studiodomän – Canvas är en applikation som körs inom Studiodomäner. Domänen består av en Amazon Elastic File System (Amazon EFS) volym, en lista över auktoriserade användare och en rad säkerhets-, applikations-, policy- och Amazon Virtual Private Cloud (VPC) konfigurationer. Ett AWS-konto är länkat till en domän per region.
  • Amazon S3 hink – Efter att Studio-domänen har skapats, en Amazon enkel lagringstjänst (Amazon S3)-hinken tillhandahålls för Canvas för att tillåta import av datauppsättningar från lokala filer, även känd som lokal filuppladdning. Denna hink finns på kundens konto och tillhandahålls en gång.
  • Canvas användare – SageMaker Canvas är en applikation där du kan lägga till användarprofiler inom Studio-domänen för varje Canvas-användare, som kan fortsätta att importera datamängder, bygga och träna ML-modeller utan att skriva kod, och köra förutsägelser på modellen.
  • Schemalagd avstängning av Canvas-sessioner – Canvas-användare kan logga ut från Canvas-gränssnittet när de är klara med sina uppgifter. Alternativt administratörer kan stänga av Canvas-sessioner från AWS Management Console som en del av hanteringen av Canvas-sessionerna. I den här delen av AWS Service Catalog-portföljen, en AWS Lambda fungera skapas och tillhandahålls för att automatiskt stänga av Canvas-sessioner med definierade schemalagda intervall. Detta hjälper till att hantera öppna sessioner och stänga av dem när de inte används.

Detta exempelflöde finns i GitHub repository för snabb referens.

Distribuera flödet med AWS CDK

I det här avsnittet distribuerar vi flödet som beskrivits tidigare med AWS CDK. Efter att den har distribuerats kan du även göra versionsspårning och hantera portföljen.

Portföljstacken finns i app.py och produkten staplas under products/ mapp. Du kan iterera på IAM-rollerna, AWS nyckelhanteringstjänst (AWS KMS)-nycklar och VPC-inställning i studio_constructs/ mapp. Innan du distribuerar stacken på ditt konto kan du redigera följande rader app.py och ge portföljåtkomst till en IAM-roll som du väljer.

Du kan hantera åtkomst till portföljen för relevanta IAM-användare, grupper och roller. Ser Bevilja åtkomst till användare för mer detaljer.

Distribuera portföljen på ditt konto

Du kan nu köra följande kommandon för att installera AWS CDK och se till att du har rätt beroenden för att distribuera portföljen:

npm install -g aws-cdk@2.27.0
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt

Kör följande kommandon för att distribuera portföljen på ditt konto:

ACCOUNT_ID=$(aws sts get-caller-identity --query Account | tr -d '"')
AWS_REGION=$(aws configure get region)
cdk bootstrap aws://${ACCOUNT_ID}/${AWS_REGION}
cdk deploy --require-approval never

De två första kommandona får ditt konto-ID och nuvarande region med hjälp av AWS-kommandoradsgränssnitt (AWS CLI) på din dator. Efter detta, cdk bootstrap och cdk deploy bygga tillgångar lokalt och distribuera stacken på några minuter.

Portföljen kan nu hittas i AWS Service Catalog, som visas i följande skärmdump.

Provisionering på begäran

Produkterna i portföljen kan lanseras snabbt och enkelt på begäran från Provisioning menyn på AWS Service Catalog-konsolen. Ett typiskt flöde är att starta Studio-domänen och Canvas automatiska avstängning först eftersom detta vanligtvis är en engångsåtgärd. Du kan sedan lägga till Canvas-användare till domänen. Domän-ID och användar-IAM-roll ARN sparas i AWS systemchef och fylls automatiskt i med användarparametrarna som visas i följande skärmdump.

Du kan också använda kostnadsfördelningstaggar som är kopplade till varje användare. Till exempel, UserCostCenter är en exempeltagg där du kan lägga till namnet på varje användare.

Viktiga överväganden för att styra ML-miljöer med Canvas

Nu när vi har tillhandahållit och distribuerat en AWS Service Catalog-portfölj fokuserad på Canvas, vill vi lyfta fram några överväganden för att styra Canvas-baserade ML-miljöer fokuserade på domänen och användarprofilen.

Följande är överväganden angående Studio-domänen:

  • Nätverk för Canvas hanteras på Studio-domännivå, där domänen distribueras på ett privat VPC-undernät för säker anslutning. Ser Säkrar Amazon SageMaker Studio-anslutning med en privat VPC att lära sig mer.
  • En standardexekveringsroll för IAM definieras på domännivå. Denna standardroll tilldelas alla Canvas-användare på domänen.
  • Kryptering görs med AWS KMS genom att kryptera EFS-volymen i domänen. För ytterligare kontroller kan du ange din egen hanterade nyckel, även känd som en kundhanterad nyckel (CMK). Ser Skydda data i vila med kryptering att lära sig mer.
  • Möjligheten att ladda upp filer från din lokala disk görs genom att bifoga en CORS-policy (cross-origin resource sharing) till S3-bucketen som används av Canvas. Ser Ge dina användare behörighet att ladda upp lokala filer att lära sig mer.

Följande är överväganden angående användarprofilen:

  • Autentisering i Studio kan göras både genom enkel inloggning (SSO) och IAM. Om du har en befintlig identitetsleverantör för att förena användare för att komma åt konsolen, kan du tilldela en Studio-användarprofil till varje förenad identitet med IAM. Se avsnittet Tilldela policyn till Studio-användare in Konfigurera Amazon SageMaker Studio för team och grupper med fullständig resursisolering att lära sig mer.
  • Du kan tilldela IAM-exekveringsroller till varje användarprofil. När du använder Studio tar en användare rollen som är mappad till deras användarprofil som åsidosätter standardexekveringsrollen. Du kan använda detta för finkorniga åtkomstkontroller inom ett team.
  • Du kan uppnå isolering genom att använda attributbaserade åtkomstkontroller (ABAC) för att säkerställa att användare bara kan komma åt resurserna för sitt team. Ser Konfigurera Amazon SageMaker Studio för team och grupper med fullständig resursisolering att lära sig mer.
  • Du kan utföra finkornig kostnadsspårning genom att applicera kostnadsfördelningstaggar på användarprofiler.

Städa upp

För att rensa upp resurserna som skapats av AWS CDK-stacken ovan, navigera över till AWS CloudFormation-stacksidan och ta bort Canvas-stackarna. Du kan också springa cdk destroy från förvarsmappen för att göra detsamma.

Slutsats

I det här inlägget delade vi hur du snabbt och enkelt kan tillhandahålla ML-miljöer med Canvas med hjälp av AWS Service Catalog och AWS CDK. Vi diskuterade hur du kan skapa en portfölj i AWS Service Catalog, tillhandahålla portföljen och distribuera den i ditt konto. IT-administratörer kan använda den här metoden för att distribuera och hantera användare, sessioner och associerade kostnader samtidigt som de tillhandahåller Canvas.

Läs mer om Canvas på Produktsida och Utvecklarhandbok. För vidare läsning kan du lära dig hur man gör gör det möjligt för affärsanalytiker att komma åt SageMaker Canvas med AWS SSO utan konsolen. Du kan också lära dig hur affärsanalytiker och datavetare kan samarbeta snabbare med Canvas och Studio.


Om författarna

Davide Gallitelli är en specialistlösningsarkitekt för AI/ML i EMEA-regionen. Han är baserad i Bryssel och har ett nära samarbete med kunder i hela Benelux. Han har varit utvecklare sedan han var väldigt ung, började koda vid 7 års ålder. Han började lära sig AI/ML på universitetet och har blivit kär i det sedan dess.

Sofian Hamiti är en AI / ML-specialist Solutions Solutions på AWS. Han hjälper kunder i olika branscher att påskynda sin AI / ML-resa genom att hjälpa dem att bygga och operationella helhetslösningar för maskininlärning.

Shyam Srinivasan är en huvudproduktchef i AWS AI/ML-teamet och leder produkthantering för Amazon SageMaker Canvas. Shyam bryr sig om att göra världen till en bättre plats genom teknik och brinner för hur AI och ML kan vara en katalysator på denna resa.

Avi Patel arbetar som mjukvaruingenjör på Amazon SageMaker Canvas-teamet. Hans bakgrund består av att arbeta fullstack med frontend-fokus. På fritiden bidrar han gärna till projekt med öppen källkod i kryptorymden och lär sig om nya DeFi-protokoll.

Jared Heywood är Senior Business Development Manager på AWS. Han är en global AI/ML-specialist som hjälper kunder med maskininlärning utan kod. Han har arbetat inom AutoML de senaste 5 åren och lanserat produkter på Amazon som Amazon SageMaker JumpStart och Amazon SageMaker Canvas.

plats_img

VC Café

VC Café

Senaste intelligens

plats_img

Chatta med oss

Hallå där! Hur kan jag hjälpa dig?