Använd generativa AI-grundmodeller i VPC-läge utan internetanslutning med Amazon SageMaker JumpStart | Amazon webbtjänster

Använd generativa AI-grundmodeller i VPC-läge utan internetanslutning med Amazon SageMaker JumpStart | Amazon webbtjänster

Med de senaste framstegen inom generativ AI, det pågår många diskussioner om hur man använder generativ AI i olika branscher för att lösa specifika affärsproblem. Generativ AI är en typ av AI som kan skapa nytt innehåll och nya idéer, inklusive konversationer, berättelser, bilder, videor och musik. Det hela backas upp av mycket stora modeller som är förtränade på stora mängder data och vanligtvis kallas grundmodeller (FM). Dessa FM:er kan utföra ett brett utbud av uppgifter som spänner över flera domäner, som att skriva blogginlägg, skapa bilder, lösa matematiska problem, delta i dialog och svara på frågor baserade på ett dokument. Storleken och den allmänna karaktären hos FM:er skiljer dem från traditionella ML-modeller, som vanligtvis utför specifika uppgifter, som att analysera text för känslor, klassificera bilder och prognostisera trender.

Även om organisationer vill använda kraften i dessa FM-enheter, vill de också att de FM-baserade lösningarna ska köras i deras egna skyddade miljöer. Organisationer som verkar i hårt reglerade utrymmen som globala finansiella tjänster och hälso- och sjukvård och biovetenskap har auditiva och efterlevnadskrav för att driva sin miljö i sina VPC:er. Faktum är att många gånger till och med direkt internetåtkomst avaktiveras i dessa miljöer för att undvika exponering för oavsiktlig trafik, både inträngande och utgående.

Amazon SageMaker JumpStart är en ML-hub som erbjuder algoritmer, modeller och ML-lösningar. Med SageMaker JumpStart kan ML-utövare välja från en växande lista över bäst presterande öppen källkod FM. Det ger också möjligheten att distribuera dessa modeller på egen hand Virtual Private Cloud (VPC).

I det här inlägget visar vi hur man använder JumpStart för att distribuera en Flan-T5 XXL modell i en VPC utan internetanslutning. Vi diskuterar följande ämnen:

  • Hur man distribuerar en grundmodell med SageMaker JumpStart i en VPC utan internetåtkomst
  • Fördelar med att distribuera FM via SageMaker JumpStart-modeller i VPC-läge
  • Alternativa sätt att anpassa distributionen av grundmodeller via JumpStart

Förutom FLAN-T5 XXL erbjuder JumpStart många olika grundmodeller för olika uppgifter. För hela listan, kolla in Komma igång med Amazon SageMaker JumpStart.

Lösningsöversikt

Som en del av lösningen täcker vi följande steg:

  1. Konfigurera en VPC utan internetanslutning.
  2. Montera myggnät för luckor Amazon SageMaker Studio med den VPC vi skapade.
  3. Distribuera den generativa AI Flan T5-XXL-grundmodellen med JumpStart i VPC:n utan internetåtkomst.

Följande är ett arkitekturdiagram över lösningen.

sol-båge

Låt oss gå igenom de olika stegen för att implementera denna lösning.

Förutsättningar

För att följa detta inlägg behöver du följande:

Konfigurera en VPC utan internetanslutning

Skapa en ny CloudFormation-stack genom att använda 01_networking.yaml mall. Den här mallen skapar en ny VPC och lägger till två privata undernät över två tillgänglighetszoner utan internetanslutning. Den distribuerar sedan gateway VPC-slutpunkter för åtkomst Amazon enkel lagringstjänst (Amazon S3) och gränssnitt VPC-slutpunkter för SageMaker och några andra tjänster för att tillåta resurserna i VPC att ansluta till AWS-tjänster via AWS PrivateLink.

Ange ett stacknamn, t.ex No-Internet, och slutför processen för att skapa stacken.

vpc-stack-ingång

Denna lösning är inte särskilt tillgänglig eftersom CloudFormation-mallen skapar gränssnitts-VPC-slutpunkter endast i ett undernät för att minska kostnaderna när du följer stegen i det här inlägget.

Konfigurera Studio med hjälp av VPC

Skapa en annan CloudFormation-stack med 02_sagemaker_studio.yaml, som skapar en Studio-domän, Studio-användarprofil och stödjande resurser som IAM-roller. Välj ett namn för stacken; för det här inlägget använder vi namnet SageMaker-Studio-VPC-No-Internet. Ange namnet på VPC-stacken du skapade tidigare (No-Internet) som den CoreNetworkingStackName parameter och lämna allt annat som standard.

studio-cfn-stack-ingång

Vänta tills AWS CloudFormation rapporterar att stackskapandet är klart. Du kan bekräfta att Studio-domänen är tillgänglig att använda på SageMaker-konsolen.

domän-hem

För att verifiera att Studio-domänanvändaren inte har tillgång till internet, starta Studio med SageMaker-konsolen. Välj Fil, Nyaoch terminal, försök sedan komma åt en internetresurs. Som visas i följande skärmdump kommer terminalen att fortsätta vänta på resursen och så småningom timeout.

studioterminal

Detta bevisar att Studio arbetar i en VPC som inte har tillgång till internet.

Implementera den generativa AI-grundmodellen Flan T5-XXL med JumpStart

Vi kan distribuera den här modellen via Studio såväl som via API. JumpStart tillhandahåller all kod för att distribuera modellen via en SageMaker-anteckningsbok som är tillgänglig från Studio. För det här inlägget visar vi upp den här kapaciteten från Studion.

  • Välj på Studios välkomstsida Försprång under Förbyggda och automatiserade lösningar.

studio-välkomstsida

  • Välj Flan-T5 XXL-modellen under Grundmodeller.

js-model-hub

  • Som standard öppnar den Distribuera flik. Expandera Implementeringskonfiguration avsnitt för att ändra hosting instance och endpoint name, eller lägg till ytterligare taggar. Det finns också ett alternativ att ändra S3 bucket location där modellartefakten kommer att lagras för att skapa slutpunkten. För det här inlägget lämnar vi allt på sina standardvärden. Anteckna ändpunktsnamnet som ska användas när du anropar ändpunkten för att göra förutsägelser.

deploy-js

  • Expandera Säkerhetsinställningar avsnitt, där du kan ange IAM role för att skapa slutpunkten. Du kan också ange VPC configurations genom att tillhandahålla subnets och security groups. Subnät-ID:n och säkerhetsgrupps-ID:n kan hittas från VPC-stackens Utdata-flik på AWS CloudFormation-konsolen. SageMaker JumpStart kräver minst två subnät som en del av denna konfiguration. Undernäten och säkerhetsgrupperna styr åtkomst till och från modellbehållaren.

js-deploy-security-settings

ANMÄRKNINGAR: Oavsett om SageMaker JumpStart-modellen är distribuerad i VPC eller inte, körs modellen alltid i nätverksisoleringsläge, vilket isolerar modellbehållaren så att inga inkommande eller utgående nätverksanrop kan göras till eller från modellbehållaren. Eftersom vi använder en VPC, laddar SageMaker ned modellartefakten via vår specificerade VPC. Att köra modellbehållaren i nätverksisolering hindrar inte din SageMaker-slutpunkt från att svara på slutledningsförfrågningar. En serverprocess körs bredvid modellbehållaren och vidarebefordrar slutledningsbegäran till den, men modellbehållaren har inte nätverksåtkomst.

  • Välja Distribuera att distribuera modellen. Vi kan se status nästan i realtid för slutpunktsskapandet. Skapandet av endpoint kan ta 5–10 minuter att slutföra.

js-deploy-progress

Observera fältets värde Modelldataplats på den här sidan. Alla SageMaker JumpStart-modeller finns på en SageMaker-hanterad S3-skopa (s3://jumpstart-cache-prod-{region}). Därför, oavsett vilken modell som väljs från JumpStart, distribueras modellen från den offentligt tillgängliga SageMaker JumpStart S3-hinken och trafiken går aldrig till de offentliga modellens zoo API:er för att ladda ner modellen. Detta är anledningen till att skapandet av modellslutpunkten började framgångsrikt även när vi skapar slutpunkten i en VPC som inte har direkt internetåtkomst.

Modellartefakten kan också kopieras till valfri privat modellzoo eller din egen S3-hink för att kontrollera och säkra modellkällans plats ytterligare. Du kan använda följande kommando för att ladda ner modellen lokalt med hjälp av AWS-kommandoradsgränssnitt (AWS CLI):

aws s3 cp s3://jumpstart-cache-prod-eu-west-1/huggingface-infer/prepack/v1.0.2/infer-prepack-huggingface-text2text-flan-t5-xxl.tar.gz .
  • Efter några minuter skapas slutpunkten framgångsrikt och visar status som I tjänst. Välj Open Notebook i Use Endpoint from Studio sektion. Detta är ett exempel på en anteckningsbok som tillhandahålls som en del av JumpStart-upplevelsen för att snabbt testa slutpunkten.

jumpstart-deploy-complete

  • Välj bilden som i anteckningsboken Datavetenskap 3.0 och kärnan som python 3. När kärnan är klar kan du köra anteckningsbokens celler för att göra förutsägelser om slutpunkten. Observera att den bärbara datorn använder invoke_endpoint() API från AWS SDK för Python att göra förutsägelser. Alternativt kan du använda SageMaker Python SDK:s förutsägelse() metod för att uppnå samma resultat.

kör-deploy-notebook-jumpstart

Detta avslutar stegen för att distribuera Flan-T5 XXL-modellen med JumpStart i en VPC utan internetåtkomst.

Fördelar med att distribuera SageMaker JumpStart-modeller i VPC-läge

Följande är några av fördelarna med att distribuera SageMaker JumpStart-modeller i VPC-läge:

  • Eftersom SageMaker JumpStart inte laddar ner modellerna från en offentlig modellzoo kan den användas även i helt låsta miljöer där det inte finns tillgång till internet
  • Eftersom nätverksåtkomsten kan begränsas och begränsas för SageMaker JumpStart-modeller, hjälper detta team att förbättra miljöns säkerhetsställning
  • På grund av VPC-gränserna kan åtkomsten till slutpunkten också begränsas via undernät och säkerhetsgrupper, vilket lägger till ett extra lager av säkerhet

Alternativa sätt att anpassa distributionen av grundmodeller via SageMaker JumpStart

I det här avsnittet delar vi med oss ​​av några alternativa sätt att distribuera modellen.

Använd SageMaker JumpStart API:er från din föredragna IDE

Modeller som tillhandahålls av SageMaker JumpStart kräver inte att du har tillgång till Studio. Du kan distribuera dem till SageMaker-ändpunkter från vilken IDE som helst, tack vare JumpStart API:er. Du kan hoppa över Studio-inställningssteget som diskuterades tidigare i det här inlägget och använda JumpStart API:erna för att distribuera modellen. Dessa API:er tillhandahåller argument där VPC-konfigurationer också kan tillhandahållas. API:erna är en del av SageMaker Python SDK sig. För mer information, se Förutbildade modeller.

Använd anteckningsböcker från SageMaker JumpStart från SageMaker Studio

SageMaker JumpStart tillhandahåller också bärbara datorer för att distribuera modellen direkt. Välj på modellens detaljsida Öppna anteckningsboken för att öppna en exempelanteckningsbok som innehåller koden för att distribuera slutpunkten. Anteckningsboken använder SageMaker JumpStart Industry API:er som låter dig lista och filtrera modellerna, hämta artefakterna och distribuera och fråga efter slutpunkterna. Du kan också redigera anteckningsbokens kod enligt dina specifika behov.

öppna-jumpstart-anteckningsbok

Rengör resurser

Kolla in CLEANUP.md fil för att hitta detaljerade steg för att ta bort Studio, VPC och andra resurser som skapats som en del av det här inlägget.

Felsökning

Om du stöter på några problem med att skapa CloudFormation-stackarna, se Felsökning av CloudFormation.

Slutsats

Generativ AI som drivs av stora språkmodeller förändrar hur människor skaffar och tillämpar insikter från information. Organisationer som verkar i hårt reglerade utrymmen måste dock använda de generativa AI-funktionerna på ett sätt som gör att de kan förnya sig snabbare men också förenklar åtkomstmönstren till sådana möjligheter.

Vi uppmuntrar dig att prova tillvägagångssättet i det här inlägget för att bädda in generativa AI-funktioner i din befintliga miljö samtidigt som du håller den i din egen VPC utan internetåtkomst. För ytterligare läsning om SageMaker JumpStart foundation-modeller, kolla in följande:


Om författarna

Använd generativa AI-grundmodeller i VPC-läge utan internetanslutning med Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Vikesh Pandey är en Machine Learning Specialist Solutions Architect på AWS, som hjälper kunder från finansbranschen att designa och bygga lösningar på generativ AI och ML. Utanför jobbet tycker Vikesh om att prova olika maträtter och utöva utomhussporter.

Använd generativa AI-grundmodeller i VPC-läge utan internetanslutning med Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikal sökning. Ai. Mehran Nikoo är en Senior Solutions Architect på AWS, som arbetar med Digital Native-företag i Storbritannien och hjälper dem att nå sina mål. Han brinner för att tillämpa sin erfarenhet av mjukvaruteknik på maskininlärning och specialiserar sig på end-to-end maskininlärning och MLOps-praxis.

Tidsstämpel:

Mer från AWS maskininlärning