Spara kostnader genom att automatiskt stänga av lediga resurser i Amazon SageMaker Studio

Källnod: 1854620

Amazon SageMaker Studio ger ett enhetligt webbaserat visuellt gränssnitt där du kan utföra alla utvecklingssteg för maskininlärning (ML), vilket gör datavetenskapsteam upp till tio gånger mer produktiva. Studio ger dig fullständig åtkomst, kontroll och synlighet i varje steg som krävs för att bygga, träna och distribuera modeller. Studioanteckningsböcker är anteckningsböcker som du kan starta snabbt eftersom du inte behöver konfigurera beräkningsinstanser och fillagring i förväg. Amazon SageMaker är en helt hanterad tjänst som erbjuder funktioner som abstraktar det tunga lyftet av infrastrukturhantering och ger den smidighet och skalbarhet du önskar för storskaliga ML-aktiviteter med olika funktioner och en betala-som-du-användning prissättningsmodell.

I det här inlägget visar vi hur du gör följande:

  • Upptäck och stoppa lediga resurser som medför kostnader i Studio med en automatisk avstängning av Jupyter-tillägget som kan installeras både manuellt och automatiskt
  • Aktivera händelsemeddelanden för att spåra användarprofiler inom Studio-domäner som inte har installerat tillägget för automatisk avstängning
  • Använd det installerade tillägget för automatisk avstängning för att hantera Amazon SageMaker Data Wrangler kostnader genom att automatiskt stänga av fall som kan leda till högre kostnader än förväntat

Studiokomponenter

I Studio containeriseras bärbara bärbara datorer separat från JupyterServer-gränssnittet för att koppla bort beräkningsinfrastrukturens storlek. En Studio-anteckningsbok körs i en miljö som definieras av följande:

  • Instans typ - Den underliggande hårdvarukonfigurationen, som bestämmer prissättningshastigheten. Detta inkluderar antalet och typen av processorer (vCPU och GPU), och mängden och typen av minne.
  • SageMaker-bild - En kompatibel behållaravbild (antingen SageMaker eller anpassad) som är värd för den bärbara kärnan. Bilden definierar vilka kärnspecifikationer den erbjuder, till exempel den inbyggda Python 3-kärnan (Data Science).
  • SageMaker-kärngateway-app - En löpande instans av containeravbildningen för den specifika förekomststypen. Flera appar kan dela en löpande instans.
  • Kör kärnsession - Processen som inspekterar och kör koden i anteckningsboken. Flera öppna anteckningsböcker (kärnor) av samma specifikation och instansstyp öppnas i samma app.

Studio-gränssnittet körs som en separat typ av app JupyterServer istället för KernelGateway, som låter dig byta en öppen anteckningsbok till olika kärnor eller instanstyper inifrån Studio UI. För mer information om hur en bärbar kärna körs i förhållande till KernelGateway app, användare och Studio-domän, se Använda Amazon SageMaker Studio Notebooks.

Studio fakturering

Det finns ingen extra kostnad för att använda Studio. Kostnaderna för att köra Studio-anteckningsböcker, interaktiva skal, konsoler och terminaler baseras på användning av Studio-instans. För information om fakturering tillsammans med prisexempel, se Amazon SageMaker Prissättning.

När du kör en Studio-anteckningsbok, ett interaktivt skal eller en bildterminal i Studio måste du välja en kärna och en instansstyp. Dessa resurser startas med en Studio-instans baserad på den valda typen från användargränssnittet. Om en förekomst av den typen tidigare lanserades och är tillgänglig körs resursen på den instansen. För CPU-baserade bilder är standardinstans typen ml.t3.medium. För GPU-baserade bilder är standardinstans typen ml.g4dn.xlarge. De uppkomna kostnaderna baseras på förekomsttypen och du faktureras separat för varje instans. Mätning startar när en förekomst skapas och slutar när alla appar på förekomsten stängs av eller förekomsten stängs av.

Stäng av instansen för att sluta ådra dig avgifter. Om du stänger av den bärbara datorn som körs på förekomsten men inte stänger av förekomsten, medför du fortfarande avgifter. När du öppnar flera anteckningsböcker på samma instansstyp körs anteckningsböckerna på samma instans även om de använder olika kärnor. Du faktureras endast för den tid som en instans körs. Du kan ändra förekomsttyp inifrån anteckningsboken när du öppnar den och stänger av enskilda resurser, inklusive anteckningsböcker, terminaler, kärnor, appar och instanser. Du kan också stänga av alla resurser i en av dessa kategorier samtidigt. När du stänger av en anteckningsbok förloras all information som inte har sparats i anteckningsboken. Anteckningsboken raderas inte.

Du kan stänga av en öppen anteckningsbok från studion Fil menyn eller från Kör terminal och kärnor ruta. De Köra terminaler och kärnor rutan består av fyra sektioner. Varje avsnitt listar alla resurser av den typen. Du kan stänga av varje resurs individuellt eller stänga av alla resurser i ett avsnitt samtidigt. När du väljer att stänga av alla resurser i ett avsnitt inträffar följande:

  • Running Instances / Running Apps - Alla instanser, appar, anteckningsböcker, kärnsessioner, Data Wrangler-sessioner, konsoler eller skal och bildterminaler stängs av. Systemterminaler stängs inte av. Välj det här alternativet för att stoppa upplupningen av alla avgifter.
  • Kärnsessioner - Alla kärnor, bärbara datorer och konsoler eller skal stängs av.
  • Terminal sessioner - Alla bildterminaler och systemterminaler stängs av.

Om du vill stänga av resurser väljer du i vänster sidofält Köra terminaler och kärnor ikon. För att stänga av en specifik resurs, välj Effekt ikonen på samma rad som resursen.

För instanser som körs visar en bekräftelsedialog alla resurser som kommer att stängas. För att köra appar visas en bekräftelsedialog. Välja Stäng av alla att fortsätta. Ingen bekräftelsedialog visas för kärnsessioner eller terminalsessioner. Om du vill stänga av alla resurser i ett avsnitt väljer du X ikonen till höger om sektionsetiketten. En bekräftelsedialogruta visas. Välja Stäng av alla att fortsätta.

Stäng av tomgångskärnor automatiskt med JupyterLab-tillägget

Istället för att förlita sig på att användare stänger av resurser som de inte längre använder kan du använda förlängningen Studio automatisk avstängning för att automatiskt upptäcka och stänga av lediga resurser vilket sparar kostnader. JupyterLab-tillägg är enkla tillägg som utökar den grundläggande funktionaliteten i notebook-miljön. Tillägget stänger automatiskt av kärnor, appar och instanser som körs i Studio när de är inaktiva under en bestämd tidsperiod. Du kan visuellt konfigurera en tomgångströskel (i minuter) via gränssnittet. Efter att kärnorna har varit inaktiv tillräckligt länge stängs tillägget av automatiskt. För instruktioner om hur du laddar ner och installerar tillägget, se GitHub repo.

Du kan installera tillägget automatiskt under start av JupyterServer om du använder AWS identitets- och åtkomsthantering (IAM) autentisering för dina användare, eller gör det manuellt om du använder SSO-autentisering (single sign-on).

När tillägget har installerats visas det som en ikon i vänster sidofält i Studio-gränssnittet. Du kan konfigurera en ledig tidsgräns med det användargränssnitt som detta tillägg tillhandahåller. Installationsinstruktioner finns i GitHub repo.

Parametern för vilotid är att ställa in en tid efter vilken viloläge resurser utan aktiva anteckningsbokssessioner stängs av. Som standard är den inaktiva tidsgränsen inställd på 120 min.

Begränsningar och felsökning

Den automatiska avstängningen har följande begränsningar:

  • Tillägget övervakar inte aktivitet på öppna terminaler. Till exempel, om dina kärnor är lediga för den tid du konfigurerade men terminalerna inte, stängs tillägget av terminalerna och kärnorna.
  • Du måste installera om tillägget och konfigurera tomgångstiden om du tar bort JupyterServer på SageMaker Studio-konsolen och återskapa den. Detta är inte en begränsning om du använder den automatiska installationsmetoden.

Du kan kolla in tilläggets loggar in amazoncloudwatch under /aws/sagemaker/studio logggrupp och genom att gå igenom <Studio_domain>/<user_profile>/JupyterServer/default loggström.

Studio automatisk avstängningskontroll

Följande diagram illustrerar hur du aktiverar e-postmeddelanden för att spåra lediga resurser som körs i flera användarprofiler som finns under en Studio.

Oavsett hur du installerar tillägget för automatisk avstängning i din Studio-domän kanske administratörer vill spåra och varna alla användare som kör utan den. För att spåra efterlevnad och optimera kostnader kan du följa instruktionerna i GitHub repo för att ställa in den automatiska avstängningskontrollen och aktivera händelsemeddelanden.

Enligt arkitekturdiagrammet, a CloudWatch-händelseregel utlöses enligt ett regelbundet schema (till exempel varje timme eller natt). För att skapa regeln väljer vi ett fast schema och anger hur ofta uppgiften körs. För vårt mål väljer vi en AWS Lambda funktion som regelbundet kontrollerar om alla användarprofiler under en Studio-domän har installerat tillägget för automatisk avstängning eller inte. Den här funktionen samlar in användarprofilsnamn som inte har uppfyllt detta krav.

Användarprofilerna dirigeras sedan till en Amazon enkel meddelandetjänst (Amazon SNS) ämne som Studio-administratörer och andra intressenter kan prenumerera på för att få aviseringar (t.ex. via e-post eller Slack). Följande skärmdump visar en e-postvarning där användaren profilerar user-w och user-y inom SageMaker-domänen d-bo6udbiz4vmi har inte installerat tillägget för automatisk avstängning.

Automatisk avstängning av Data Wrangler-resurser

För att ytterligare demonstrera hur förlängningen för automatisk avstängning fungerar, låt oss titta på det ur Data Wranglers perspektiv inom Studio. Data Wrangler är en ny funktion hos SageMaker som gör det snabbare för datavetare och ingenjörer att förbereda data för ML-applikationer med hjälp av ett visuellt gränssnitt.

När du startar Data Wrangler från Studio snurrar det automatiskt upp en ml.m5.4xlarge instans och startar kärnan med den instansen. När du inte använder Data Wrangler är det viktigt att stänga av den instans som den körs för att undvika ytterligare avgifter.

Data Wrangler sparar automatiskt ditt dataflöde var 60: e sekund. För att undvika att du tappar arbete, spara ditt dataflöde manuellt innan du stänger av Data Wrangler. För att göra det, välj Fil och välj sedan Spara data Wrangler Flow.

För att stänga av Data Wrangler-instansen i Studio, välj Löpande instanser och kärnor ikon. Under Kör appar, locate d sagemaker-data-wrangler-1.0 app. Välj den Effekt ikonen bredvid den här appen.

Att följa dessa steg manuellt kan vara besvärligt och det är lätt att glömma. Med tillägget automatisk avstängning kan du säkerställa att lediga resurser som driver Data Wrangler stängs försiktigt för att undvika extra SageMaker-kostnader.

Slutsats

I det här inlägget visade vi hur man kan minska SageMaker-kostnaderna genom att använda en automatisk avstängning av Jupyter-tillägget för att stänga av lediga resurser som körs i Studio. Vi visade också hur man ställer in en tilläggskontroll för automatisk avstängning och aktiverar händelsemeddelanden för att spåra användarprofiler i Studio som inte har installerat tillägget. Slutligen visade vi hur tillägget kan minska Data Wrangler-kostnaderna genom att stänga av lediga resurser som driver Data Wrangler.

Mer information om optimering av resursanvändning och kostnader finns i Högerstorlek på resurser och undvikande av onödiga kostnader i Amazon SageMaker.

Om du har några kommentarer eller frågor, vänligen lämna dem i kommentarfältet.


Om författarna

Arunprasath Shankar är en artificiell intelligens och maskininlärning (AI / ML) specialistlösningsarkitekt med AWS, som hjälper globala kunder att skala sina AI-lösningar effektivt och effektivt i molnet. På fritiden tycker Arun om att titta på sci-fi-filmer och lyssna på klassisk musik.

 Andras Garzo är en ML-lösningsarkitekt i AWS AI-plattformsteamet och hjälper kunder att migrera till SageMaker, anta bästa praxis och spara kostnader.

Pavan Kumar Sunder är senior FoU-ingenjör med Amazon Web Services. Han ger teknisk vägledning och hjälper kunderna att påskynda deras förmåga att förnya sig genom att visa kunskapen om det möjliga på AWS. Han har byggt flera prototyper kring AI / ML, IoT och Robotics för våra kunder.

Alex Thewsey är en Machine Learning Specialist Solutions Architect på AWS, baserat i Singapore. Alex hjälper kunder över hela Sydostasien att designa och implementera lösningar med AI och ML. Han tycker också om karting, arbetar med open source-projekt och försöker hålla jämna steg med ny ML-forskning.

Källa: https://aws.amazon.com/blogs/machine-learning/save-costs-by-automatically-shutting-down-idle-resources-within-amazon-sagemaker-studio/

Tidsstämpel:

Mer från AWS-maskininlärningsblogg