Platon Data Intelligence.
Vertikal sökning & Ai.

Öka produktiviteten på Amazon SageMaker Studio: Vi introducerar JupyterLab Spaces och generativa AI-verktyg | Amazon webbtjänster

Datum:

Amazon SageMaker Studio erbjuder en bred uppsättning helt hanterade integrerade utvecklingsmiljöer (IDE) för utveckling av maskininlärning (ML), inklusive JupyterLab, Code Editor baserad på Code-OSS (Visual Studio Code Open Source) och RStudio. Det ger tillgång till den mest omfattande uppsättningen verktyg för varje steg i ML-utvecklingen, från att förbereda data till att bygga, träna, distribuera och hantera ML-modeller. Du kan starta helt hanterat JuptyerLab med förkonfigurerad SageMaker Distribution på några sekunder för att arbeta med dina bärbara datorer, kod och data. Det flexibla och utbyggbara gränssnittet i SageMaker Studio låter dig enkelt konfigurera och arrangera ML-arbetsflöden, och du kan använda den AI-drivna inline-kodningskompanjonen för att snabbt skapa, felsöka, förklara och testa kod.

I det här inlägget tar vi en närmare titt på den uppdaterade SageMaker Studio och dess JupyterLab IDE, designad för att öka produktiviteten för ML-utvecklare. Vi introducerar konceptet Spaces och förklarar hur JupyterLab Spaces möjliggör flexibel anpassning av beräknings-, lagrings- och körtidsresurser för att förbättra ditt ML-arbetsflödeseffektivitet. Vi diskuterar också vår övergång till en lokaliserad exekveringsmodell i JupyterLab, vilket resulterar i en snabbare, mer stabil och lyhörd kodningsupplevelse. Dessutom täcker vi den sömlösa integrationen av generativa AI-verktyg som Amazon Code Whisperer och Jupyter AI inom SageMaker Studio JupyterLab Spaces, som illustrerar hur de ger utvecklare möjlighet att använda AI för kodningshjälp och innovativ problemlösning.

Vi introducerar Spaces i SageMaker Studio

Den nya SageMaker Studio webbaserat gränssnitt fungerar som ett kommandocenter för att starta din föredragna IDE och komma åt din Amazon SageMaker verktyg för att bygga, träna, trimma och distribuera modeller. Förutom JupyterLab och RStudio innehåller SageMaker Studio nu en helt hanterad kodredigerare baserad på Code-OSS (Visual Studio Code Open Source). Både JupyterLab och Code Editor kan startas med en flexibel arbetsyta som kallas Spaces.

Ett Space är en konfigurationsrepresentation av en SageMaker IDE, som JupyterLab eller Code Editor, designad för att bestå oavsett om en applikation (IDE) som är associerad med Space körs aktivt eller inte. Ett utrymme representerar en kombination av en beräkningsinstans, lagring och andra körtidskonfigurationer. Med Spaces kan du skapa och skala beräkningen och lagringen för din IDE upp och ner när du går, anpassa runtime-miljöer och pausa och återuppta kodning när som helst och var som helst. Du kan snurra upp flera sådana utrymmen, var och en konfigurerad med olika kombinationer av beräkning, lagring och körtider.

När ett utrymme skapas är det utrustat med ett Amazon Elastic Block Store (Amazon EBS) volym, som används för att lagra användarnas filer, data, cachar och andra artefakter. Den är kopplad till en ML-beräkningsinstans närhelst ett Space körs. EBS-volymen säkerställer att användarfiler, data, cache och sessionstillstånd konsekvent återställs när utrymmet startas om. Viktigt är att denna EBS-volym förblir beständig, oavsett om utrymmet är igång eller stoppat. Det kommer att fortsätta att kvarstå tills utrymmet raderas.

Dessutom har vi introducerat funktionen ta med filsystem för användare som vill dela miljöer och artefakter över olika utrymmen, användare eller till och med domäner. Detta gör att du kan utrusta dina utrymmen med dina egna Amazon Elastic File System (Amazon EFS) monteras, vilket underlättar delning av resurser mellan olika arbetsytor.

Skapa ett utrymme

Att skapa och lansera ett nytt utrymme är nu snabbt och enkelt. Det tar bara några sekunder att konfigurera ett nytt Space med snabbstartsinstanser och mindre än 60 sekunder att köra ett Space. Utrymmen är utrustade med fördefinierade inställningar för beräkning och lagring, som hanteras av administratörer. SageMaker Studio-administratörer kan upprätta förinställningar på domännivå för beräknings-, lagrings- och körtidskonfigurationer. Den här inställningen gör att du snabbt kan starta ett nytt utrymme med minimal ansträngning, vilket bara kräver några få klick. Du har också möjlighet att ändra ett Spaces beräknings-, lagrings- eller körtidskonfigurationer för ytterligare anpassning.

Det är viktigt att notera att skapande av ett Space kräver uppdatering av SageMaker-domänexekveringsrollen med en policy som följande exempel. Du måste ge dina användare behörigheter för privata utrymmen och användarprofiler som krävs för att komma åt dessa privata utrymmen. För detaljerade instruktioner, se Ge dina användare tillgång till privata utrymmen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:app/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }, { "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, { "Sid": "SMStudioAppPermissionsListAndDescribe", "Effect": "Allow", "Action": [ "sagemaker:ListApps", "sagemaker:ListDomains", "sagemaker:ListUserProfiles", "sagemaker:ListSpaces", "sagemaker:DescribeApp", "sagemaker:DescribeDomain", "sagemaker:DescribeUserProfile", "sagemaker:DescribeSpace" ], "Resource": "*" }, { "Sid": "SMStudioAppPermissionsTagOnCreate", "Effect": "Allow", "Action": [ "sagemaker:AddTags" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:*/*", "Condition": { "Null": { "sagemaker:TaggingAction": "false" } } }, { "Sid": "SMStudioRestrictSharedSpacesWithoutOwners", "Effect": "Allow", "Action": [ "sagemaker:CreateSpace", "sagemaker:UpdateSpace", "sagemaker:DeleteSpace" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:space/${sagemaker:DomainId}/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }, { "Sid": "SMStudioRestrictSpacesToOwnerUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateSpace", "sagemaker:UpdateSpace", "sagemaker:DeleteSpace" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:space/${sagemaker:DomainId}/*", "Condition": { "ArnLike": { "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:$AWS Region:$111122223333:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, "StringEquals": { "sagemaker:SpaceSharingType": [ "Private", "Shared" ] } } }, { "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:app/${sagemaker:DomainId}/*", "Condition": { "ArnLike": { "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:${aws:Region}:${aws:PrincipalAccount}:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, "StringEquals": { "sagemaker:SpaceSharingType": [ "Private" ] } } }, ]
}

För att skapa ett utrymme, slutför följande steg:

  1. Välj i SageMaker Studio jupyter labApplikationer meny.
  2. Välja Skapa JupyterLab-utrymme.
  3. För Namn , ange ett namn för ditt utrymme.
  4. Välja Skapa utrymme.
  5. Välja Kör utrymme för att starta ditt nya Space med standardförinställningar eller uppdatera konfigurationen baserat på dina krav.

Konfigurera om ett utrymme

Utrymmen är designade för användare att sömlöst kunna växla mellan olika beräkningstyper efter behov. Du kan börja med att skapa ett nytt utrymme med en specifik konfiguration, främst bestående av dator och lagring. Om du behöver byta till en annan beräkningstyp med ett högre eller lägre vCPU-antal, mer eller mindre minne eller en GPU-baserad instans när som helst i ditt arbetsflöde, kan du göra det med lätthet. När du har stoppat utrymmet kan du ändra dess inställningar med antingen gränssnittet eller API via det uppdaterade SageMaker Studio-gränssnittet och starta sedan om Space. SageMaker Studio hanterar automatiskt tillhandahållandet av ditt befintliga utrymme till den nya konfigurationen, vilket inte kräver någon extra ansträngning från din sida.

Utför följande steg för att redigera ett befintligt utrymme:

  1. Välj på sidan med utrymmesdetaljer Stoppa utrymme.
  2. Konfigurera om beräkningen, lagringen eller körtiden.
  3. Välja Kör utrymme för att återstarta utrymmet.

Din arbetsyta kommer att uppdateras med den nya lagrings- och beräkningsinstanstypen du begärde.

Den nya SageMaker Studio JupyterLab-arkitekturen

SageMaker Studio-teamet fortsätter att uppfinna och förenkla sin utvecklarupplevelse med lanseringen av en ny helt hanterad SageMaker Studio JupyterLab-upplevelse. Den nya SageMaker Studio JupyterLab-upplevelsen kombinerar det bästa av två världar: skalbarheten och flexibiliteten hos SageMaker Studio Classic (se bilagan i slutet av det här inlägget) med stabiliteten och förtrogenhet med öppen källkod JupyterLab. För att förstå utformningen av den här nya JupyterLab-upplevelsen, låt oss fördjupa oss i följande arkitekturdiagram. Detta kommer att hjälpa oss att bättre förstå integrationen och funktionerna i denna nya JupyterLab Spaces-plattform.

Sammanfattningsvis har vi gått över till en lokaliserad arkitektur. I den här nya installationen fungerar Jupyter-server- och kärnprocesser tillsammans i en enda Docker-behållare, värd för samma ML-beräkningsinstans. Dessa ML-instanser tillhandahålls när ett utrymme körs och länkas till en EBS-volym som skapas när utrymmet ursprungligen skapades.

Denna nya arkitektur ger flera fördelar; vi diskuterar några av dessa i följande avsnitt.

Minskad latens och ökad stabilitet

SageMaker Studio har gått över till en lokal körningsmodell, och gått bort från den tidigare delade modellen där koden lagrades på ett EFS-fäste och kördes på distans på en ML-instans via fjärr Kernel Gateway. I den tidigare installationen aktiverade Kernel Gateway, en huvudlös webbserver, kärnoperationer över fjärrkommunikation med Jupyter-kärnor via HTTPS/WSS. Användaråtgärder som att köra kod, hantera bärbara datorer eller köra terminalkommandon bearbetades av en Kernel Gateway-app på en fjärransluten ML-instans, med Kernel Gateway som underlättade dessa operationer över ZeroMQ (ZMQ) i en Docker-behållare. Följande diagram illustrerar denna arkitektur.

Den uppdaterade JupyterLab-arkitekturen kör alla kärnoperationer direkt på den lokala instansen. Den här lokala Jupyter Server-metoden ger vanligtvis förbättrad prestanda och okomplicerad arkitektur. Det minimerar latens och nätverkskomplexitet, förenklar arkitekturen för enklare felsökning och underhåll, förbättrar resursutnyttjandet och rymmer mer flexibla meddelandemönster för en mängd komplexa arbetsbelastningar.

I huvudsak för den här uppgraderingen körande bärbara datorer och kod mycket närmare kärnorna, vilket avsevärt minskar latensen och ökar stabiliteten.

Förbättrad kontroll över provisionerad lagring

SageMaker Studio Classic använde ursprungligen Amazon EFS för att tillhandahålla beständig, delad fillagring för användarhemkataloger inom SageMaker Studio-miljön. Denna inställning gör att du kan lagra anteckningsböcker, skript och andra projektfiler centralt, tillgängliga för alla dina SageMaker Studio-sessioner och instanser.

Med den senaste uppdateringen till SageMaker Studio sker ett skifte från Amazon EFS-baserad lagring till en Amazon EBS-baserad lösning. EBS-volymerna, försedda med SageMaker Studio Spaces, är GP3-volymer designad för att leverera en konsekvent baslinjeprestanda på 3,000 XNUMX IOPS, oberoende av volymstorleken. Denna nya Amazon EBS-lagring erbjuder högre prestanda för I/O-intensiva uppgifter som modellträning, databehandling, högpresterande datoranvändning och datavisualisering. Denna övergång ger också SageMaker Studio-administratörer större insikt i och kontroll över lagringsanvändning av användarprofiler inom en domän eller över SageMaker. Du kan nu ställa in standard (DefaultEbsVolumeSizeInGb) och max (MaximumEbsVolumeSizeInGb) lagringsstorlekar för JupyterLab Spaces inom varje användarprofil.

Förutom förbättrad prestanda har du möjlighet att flexibelt ändra storlek på lagringsvolymen som är kopplad till din Spaces ML-beräkningsinstans genom att redigera din Space-inställning antingen med hjälp av UI- eller API-åtgärden från ditt SageMaker Studio-gränssnitt, utan att behöva någon administrationsåtgärd. Observera dock att du bara kan redigera EBS-volymstorlekar i en riktning – efter att du har ökat Spaces EBS-volymstorlek kommer du inte att kunna sänka den igen.

SageMaker Studio erbjuder nu förhöjd kontroll av provisionerad lagring för administratörer:

  • SageMaker Studio-administratörer kan hantera EBS-volymstorlekarna för användarprofiler. Dessa JupyterLab EBS-volymer kan variera från minst 5 GB till maximalt 16 TB. Följande kodavsnitt visar hur du skapar eller uppdaterar en användarprofil med standardinställningar och inställningar för maximalt utrymme:
    aws --region $REGION sagemaker create-user-profile --domain-id $DOMAIN_ID --user-profile-name $USER_PROFILE_NAME --user-settings '{ "SpaceStorageSettings": { "DefaultEbsStorageSettings":{ "DefaultEbsVolumeSizeInGb":5, "MaximumEbsVolumeSizeInGb":100 } }
    }' # alternatively to update an existing user profile
    aws --region $REGION sagemaker update-user-profile --domain-id $DOMAIN_ID --user-profile-name $USER_PROFILE_NAME --user-settings '{ "SpaceStorageSettings": { "DefaultEbsStorageSettings":{ "DefaultEbsVolumeSizeInGb":25, "MaximumEbsVolumeSizeInGb":100 } }
    }'

  • SageMaker Studio erbjuder nu en förbättrad automatisk märkningsfunktion för Amazon EBS-resurser, som automatiskt märker volymer som skapats av användare med domän-, användar- och utrymmesinformation. Detta framsteg förenklar kostnadsfördelningsanalys för lagringsresurser, vilket hjälper administratörer att hantera och fördela kostnader mer effektivt. Det är också viktigt att notera att dessa EBS-volymer finns inom servicekontot, så att du inte har direkt synlighet. Ändå är lagringsanvändning och tillhörande kostnader direkt kopplade till domänen ARN, användarprofil ARN och Space ARN, vilket underlättar en enkel kostnadsfördelning.
  • Administratörer kan också kontrollera kryptering av ett Spaces EBS-volymer, i vila, med hjälp av kundhanterade nycklar (CMK).

Delad hyresrätt med ett eget EFS-filsystem

ML-arbetsflöden är vanligtvis samarbetande, vilket kräver effektiv delning av data och kod mellan teammedlemmar. Den nya SageMaker Studio förbättrar denna samarbetsaspekt genom att du kan dela data, kod och andra artefakter via en delad ta med ditt eget EFS-filsystem. Denna EFS-enhet kan ställas in oberoende av SageMaker eller kan vara en befintlig Amazon EFS-resurs. Efter att den har tillhandahållits kan den sömlöst monteras på SageMaker Studios användarprofiler. Den här funktionen är inte begränsad till användarprofiler inom en enskild domän – den kan sträcka sig över domäner, så länge de är inom samma region.

Följande exempelkod visar hur du skapar en domän och bifogar en befintlig EFS-volym till den med hjälp av dess associerade fs-id. EFS-volymer kan kopplas till en domän på rot- eller prefixnivå, vilket följande kommandon visar:

# create a domain with and attach an existing EFS volume at root level
aws sagemaker create-domain --domain-name "myDomain" --vpc-id {VPC_ID} --subnet-ids {SUNBET_IDS} --auth-mode IAM --default-user-settings "CustomFileSystemConfigs=[{EFSFileSystemConfig={FileSystemId="fs-12345678"}}]" # create a domain with and attach an existing EFS volume at file system prefix leve
aws sagemaker create-domain --domain-name "myDomain" --vpc-id {VPC_ID} --subnet-ids {SUNBET_IDS} --auth-mode IAM --default-user-settings "CustomFileSystemConfigs=[{EFSFileSystemConfig={FileSystemId="fs-12345678", FileSystemPath="/my/custom/path"}}]" # update an existing domain with your own EFS
aws sagemaker update-domain --region us-west-2 --domain-id d-xxxxx --default-user-settings "CustomFileSystemConfigs=[{EFSFileSystemConfig={FileSystemId="fs-12345678"}}]"

När ett EFS-fäste görs tillgängligt i en domän och dess relaterade användarprofiler kan du välja att koppla den till ett nytt utrymme. Detta kan göras med antingen SageMaker Studio UI eller en API-åtgärd, som visas i följande exempel. Det är viktigt att notera att när ett utrymme skapas med ett EFS-filsystem som tillhandahålls på domännivå, ärver utrymmet dess egenskaper. Detta innebär att om filsystemet tillhandahålls på en rot- eller prefixnivå inom domänen kommer dessa inställningar automatiskt att tillämpas på det utrymme som skapats av domänanvändarna.

# attach an a preconfigured EFS to a space
aws sagemaker create-space --space-name byofs-space --domain-id "myDomain" --ownership-settings "OwnerUserProfileName={USER_PROFILE_NAME}" --space-sharing-settings "SharingType=Private" --space-settings "AppType=JupyterLab,CustomFileSystems=[{EFSFileSystem={FileSystemId="fs-12345678"}}]")

Efter att ha monterat den till ett utrymme kan du hitta alla dina filer som finns ovanför den administratörsförsedda monteringspunkten. Dessa filer kan hittas i katalogsökvägen /mnt/custom-file-system/efs/fs-12345678.

EFS-fästen gör det enkelt att dela artefakter mellan en användares utrymme eller mellan flera användare eller över domäner, vilket gör det idealiskt för samarbetsbelastningar. Med den här funktionen kan du göra följande:

  • Dela data – EFS-fästen är idealiska för att lagra stora datamängder som är avgörande för datavetenskapliga experiment. Datauppsättningsägare kan ladda dessa monteringar med utbildnings-, validerings- och testdatauppsättningar, vilket gör dem tillgängliga för användarprofiler inom en domän eller över flera domäner. SageMaker Studio-administratörer kan också integrera befintliga EFS-fästen för applikationer samtidigt som de bibehåller överensstämmelse med organisationens säkerhetspolicyer. Detta görs genom flexibel montering på prefixnivå. Till exempel, om produktions- och testdata lagras på samma EFS-fäste (som fs-12345678:/data/prod and fs-12345678:/data/test), montering /data/test på SageMaker-domänens användarprofiler ger användarna endast åtkomst till testdatauppsättningen. Denna inställning möjliggör analys eller modellträning samtidigt som produktionsdata hålls säker och otillgänglig.
  • Dela kod – EFS-fästen underlättar snabb delning av kodartefakter mellan användarprofiler. I scenarier där användare snabbt behöver dela kodexempel eller samarbeta på en gemensam kodbas utan komplexiteten med frekventa git push/pull-kommandon, är delade EFS-montering mycket fördelaktigt. De erbjuder ett bekvämt sätt att dela pågående kodartefakter inom ett team eller mellan olika team i SageMaker Studio.
  • Dela utvecklingsmiljöer – Delade EFS-fästen kan också fungera som ett sätt att snabbt sprida sandlådemiljöer bland användare och team. EFS-fästen ger ett solidt alternativ för att dela Python-miljöer som conda eller virtualenv över flera arbetsytor. Detta tillvägagångssätt kringgår behovet av distribution requirements.txt or environment.yml filer, vilket ofta kan leda till den upprepade uppgiften att skapa eller återskapa miljöer över olika användarprofiler.

Dessa funktioner förbättrar avsevärt samarbetsmöjligheterna inom SageMaker Studio, vilket gör det enkelt för team att arbeta effektivt tillsammans i komplexa ML-projekt. Dessutom delar Code Editor baserad på Code-OSS (Visual Studio Code Open Source) samma arkitektoniska principer som den tidigare nämnda JupyterLab-upplevelsen. Denna anpassning ger flera fördelar, såsom minskad latens, förbättrad stabilitet och förbättrad administrativ kontroll, och ger användarna åtkomst till delade arbetsytor, liknande de som erbjuds i JupyterLab Spaces.

Generativa AI-drivna verktyg på JupyterLab Spaces

Generativ AI, ett snabbt växande område inom artificiell intelligens, använder algoritmer för att skapa nytt innehåll som text, bilder och kod från omfattande befintlig data. Denna teknik har revolutionerat kodningen genom att automatisera rutinuppgifter, generera komplexa kodstrukturer och erbjuda intelligenta förslag, och därigenom effektivisera utvecklingen och främja kreativitet och problemlösning i programmering. Som ett oumbärligt verktyg för utvecklare ökar generativ AI produktiviteten och driver innovation inom teknikindustrin. SageMaker Studio förbättrar denna utvecklarupplevelse med förinstallerade verktyg som Amazon CodeWhisperer och Jupyter AI, som använder generativ AI för att påskynda utvecklingens livscykel.

Amazon Code Whisperer

Amazon CodeWhisperer är en programmeringsassistent som förbättrar utvecklarens produktivitet genom kodrekommendationer och lösningar i realtid. Som en AWS-hanterad AI-tjänst är den sömlöst integrerad i SageMaker Studio JupyterLab IDE. Denna integration gör Amazon CodeWhisperer till ett flytande och värdefullt tillägg till en utvecklares arbetsflöde.

Amazon CodeWhisperer utmärker sig i att öka utvecklareffektiviteten genom att automatisera vanliga kodningsuppgifter, föreslå effektivare kodningsmönster och minska felsökningstiden. Det fungerar som ett viktigt verktyg för både nybörjare och erfarna kodare, ger insikter i bästa praxis, påskyndar utvecklingsprocessen och förbättrar den övergripande kvaliteten på koden. För att börja använda Amazon CodeWhisperer, se till att Återuppta automatiska förslag funktionen är aktiverad. Du kan anropa kodförslag manuellt med kortkommandon.

Alternativt kan du skriva en kommentar som beskriver din avsedda kodfunktion och börja koda; Amazon CodeWhisperer kommer att börja ge förslag.

Observera att även om Amazon CodeWhisperer är förinstallerat måste du ha codewhisperer:GenerateRecommendations tillstånd som en del av exekveringsrollen att ta emot kodrekommendationer. För ytterligare information, se Använder CodeWhisperer med Amazon SageMaker Studio. När du använder Amazon CodeWhisperer kan AWS, i tjänsteförbättringssyfte, lagra data om din användning och ditt innehåll. Att välja bort Amazon CodeWhisperer policy för datadelning, kan du navigera till Att lägga plattor alternativ från toppmenyn och navigera sedan till Inställningar Editor och inaktivera Dela användningsdata med Amazon CodeWhisperer från Amazon CodeWhisperers inställningsmeny.

Jupyter AI

Jupyter AI är ett verktyg med öppen källkod som ger generativ AI till Jupyters bärbara datorer, och erbjuder en robust och användarvänlig plattform för att utforska generativa AI-modeller. Det förbättrar produktiviteten i JupyterLab och Jupyter Notebooks genom att tillhandahålla funktioner som %%ai-magin för att skapa en generativ AI-lekplats i bärbara datorer, ett inbyggt chatt-gränssnitt i JupyterLab för att interagera med AI som en konversationsassistent och stöd för ett brett utbud av stora språk modellleverantörer (LLM) som AI21, Anthropic, Cohere och Hugging Face eller hanterade tjänster som Amazonas berggrund och SageMaker-slutpunkter. Denna integration erbjuder mer effektiva och innovativa metoder för dataanalys, ML och kodningsuppgifter. Du kan till exempel interagera med en domänmedveten LLM med hjälp av Jupyternaut-chattgränssnittet för att få hjälp med processer och arbetsflöden eller generera exempelkod via CodeLlama, värd på SageMaker-slutpunkter. Detta gör det till ett värdefullt verktyg för utvecklare och datavetare.

Jupyter AI tillhandahåller en omfattande urval av språkmodeller redo att användas direkt ur lådan. Dessutom stöds anpassade modeller också via SageMaker-slutpunkter, vilket erbjuder flexibilitet och ett brett utbud av alternativ för användarna. Den erbjuder också stöd för inbäddning av modeller, vilket gör att du kan utföra inline-jämförelser och tester och till och med bygga eller testa ad hoc-appar för Retrieval Augmented Generation (RAG).

Jupyter AI kan fungera som din chattassistent, hjälpa dig med kodprover, ge dig svar på frågor och mycket mer.

Du kan använda Jupyter AI:s %%ai magi för att generera exempelkod inuti din anteckningsbok, som visas i följande skärmdump.

JupyterLab 4.0

JupyterLab-teamet har släppt version 4.0, med betydande förbättringar i prestanda, funktionalitet och användarupplevelse. Detaljerad information om denna utgåva finns tillgänglig i den officiella JupyterLab-dokumentation.

Denna version, som nu är standard i SageMaker Studio JupyterLab, introducerar optimerad prestanda för hantering av stora bärbara datorer och snabbare operationer, tack vare förbättringar som CSS-regeloptimering och antagandet av CodeMirror 6 och MathJax 3. Viktiga förbättringar inkluderar en uppgraderad textredigerare med bättre tillgänglighet och anpassning , en ny tilläggshanterare för enkel installation av Python-tillägg och förbättrade dokumentsökningsmöjligheter med avancerade funktioner. Dessutom ger version 4.0 UI-förbättringar, tillgänglighetsförbättringar och uppdateringar av utvecklingsverktyg, och vissa funktioner har backporterats till JupyterLab 3.6.

Slutsats

Framstegen i SageMaker Studio, särskilt med den nya JupyterLab-upplevelsen, markerar ett betydande steg framåt i ML-utvecklingen. Det uppdaterade SageMaker Studio UI, med sin integration av JupyterLab, Code Editor och RStudio, erbjuder en oöverträffad, strömlinjeformad miljö för ML-utvecklare. Introduktionen av JupyterLab Spaces ger flexibilitet och enkelhet att anpassa beräknings- och lagringsresurser, vilket förbättrar den övergripande effektiviteten i ML-arbetsflöden. Skiftet från en fjärrkärnaarkitektur till en lokaliserad modell i JupyterLab ökar stabiliteten avsevärt samtidigt som startfördröjningen minskar. Detta resulterar i en snabbare, mer stabil och lyhörd kodningsupplevelse. Dessutom ger integrationen av generativa AI-verktyg som Amazon CodeWhisperer och Jupyter AI i JupyterLab utvecklarna ytterligare kraft, vilket gör att du kan använda AI för kodningshjälp och innovativ problemlösning. Den förbättrade kontrollen över tillhandahållen lagring och möjligheten att dela kod och data utan ansträngning genom självhanterade EFS-fästen underlättar avsevärt samarbetsprojekt. Slutligen, lanseringen av JupyterLab 4.0 inom SageMaker Studio understryker dessa förbättringar, och erbjuder optimerad prestanda, bättre tillgänglighet och ett mer användarvänligt gränssnitt, vilket förstärker JupyterLabs roll som en hörnsten i effektiv och effektiv ML-utveckling i det moderna tekniska landskapet.

Ge SageMaker Studio JupyterLab Spaces ett försök med vår snabb inbyggd funktion, vilket låter dig skapa en ny domän för enstaka användare inom några minuter. Dela dina tankar i kommentarsfältet!

Bilaga: SageMaker Studio Classics kernel gateway-arkitektur

A SageMaker Classic domän är en logisk aggregering av en EFS-volym, en lista över användare som har behörighet att komma åt domänen och konfigurationer relaterade till säkerhet, applikation, nätverk och mer. I SageMaker Studio Classic-arkitekturen hos SageMaker har varje användare inom SageMaker-domänen en distinkt användarprofil. Den här profilen omfattar specifika detaljer som användarens roll och deras Posix-användar-ID i EFS-volymen, bland annat unik data. Användare kommer åt sin individuella användarprofil via en dedikerad Jupyter Server-app, ansluten via HTTPS/WSS i sin webbläsare. SageMaker Studio Classic använder en fjärrkärnarkitektur som använder en kombination av Jupyter Server- och Kernel Gateway-apptyper, vilket gör det möjligt för notebook-servrar att interagera med kärnor på fjärrvärdar. Detta innebär att Jupyter-kärnorna inte fungerar på notebook-serverns värd, utan inom Docker-behållare på separata värdar. I huvudsak lagras din bärbara dator i EFS-hemkatalogen och kör kod på distans på en annan Amazon Elastic Compute Cloud (Amazon EC2), som innehåller en förbyggd Docker-container utrustad med ML-bibliotek som PyTorch, TensorFlow, Scikit-Learn och mer.

Fjärrkärnarkitekturen i SageMaker Studio erbjuder anmärkningsvärda fördelar när det gäller skalbarhet och flexibilitet. Det har dock sina begränsningar, inklusive maximalt fyra appar per instanstyp och potentiella flaskhalsar på grund av många HTTPS/WSS-anslutningar till en vanlig EC2-instanstyp. Dessa begränsningar kan påverka användarupplevelsen negativt.

Följande arkitekturdiagram visar SageMaker Studio Classic-arkitekturen. Den illustrerar användarens process för att ansluta till en Kernel Gateway-app via en Jupyter Server-app, med hjälp av deras föredragna webbläsare.


Om författarna

Pranav Murthy är en AI/ML Specialist Solutions Architect på AWS. Han fokuserar på att hjälpa kunder att bygga, träna, distribuera och migrera maskininlärning (ML) arbetsbelastningar till SageMaker. Han har tidigare arbetat i halvledarindustrin med att utveckla modeller för stora datorseende (CV) och NLP (natural language processing) för att förbättra halvledarprocesser med hjälp av toppmoderna ML-tekniker. På fritiden tycker han om att spela schack och att resa. Du kan hitta Pranav på LinkedIn.

Kunal Jha är Senior Product Manager på AWS. Han är fokuserad på att bygga Amazon SageMaker Studio som klassens bästa val för end-to-end ML-utveckling. På sin fritid tycker Kunal om att åka skidor och utforska Stilla havets nordvästra. Du kan hitta honom på LinkedIn.

Majisha Namath Parambath är senior mjukvaruingenjör på Amazon SageMaker. Hon har varit på Amazon i över 8 år och arbetar för närvarande på att förbättra Amazon SageMaker Studio-upplevelsen.

Bharat Nandamuri är en senior mjukvaruingenjör som arbetar på Amazon SageMaker Studio. Han brinner för att bygga högskaliga backend-tjänster med fokus på Engineering för ML-system. Utanför jobbet tycker han om att spela schack, vandra och titta på film.

Derek Lause är mjukvaruingenjör på AWS. Han är fast besluten att leverera värde till kunder genom Amazon SageMaker Studio och Notebook Instances. På sin fritid tycker Derek om att umgås med familj och vänner och att vandra. Du kan hitta Derek på LinkedIn.

plats_img

Senaste intelligens

plats_img

Chatta med oss

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