RStudio på Amazon SageMaker är branschens första fullt hanterade RStudio Workbench i moln. Du kan snabbt starta den välbekanta integrerade utvecklingsmiljön RStudio (IDE) och ringa upp och ner de underliggande beräkningsresurserna utan att avbryta ditt arbete, vilket gör det enkelt att bygga maskininlärning (ML) och analyslösningar i R i skala. RStudio på SageMaker kommer redan med en inbyggd bild förkonfigurerad med R-programmerings- och datavetenskapsverktyg; Du behöver dock ofta anpassa din IDE-miljö. Från och med idag kan du ta med din egen anpassade bild med paket och verktyg som du väljer, och göra dem tillgängliga för alla användare av RStudio på SageMaker med några få klick.
Att ta med din egen anpassade bild har flera fördelar. Du kan standardisera och förenkla startupplevelsen för datavetare och utvecklare genom att tillhandahålla en startbild, förkonfigurera de drivrutiner som krävs för att ansluta till databutiker eller förinstallera specialiserad datavetenskaplig programvara för din företagsdomän. Dessutom kan organisationer som tidigare har varit värd för sin egen RStudio Workbench ha befintliga containeriserade miljöer som de vill fortsätta att använda i RStudio på SageMaker.
I det här inlägget delar vi steg-för-steg-instruktioner för att skapa en anpassad bild och föra den till RStudio på SageMaker med hjälp av AWS Management Console or AWS-kommandoradsgränssnitt (AWS CLI). Du kan få igång din första anpassade IDE-miljö med några enkla steg. För mer information om innehållet som diskuteras i det här inlägget, se Ta med din egen RStudio-bild.
Lösningsöversikt
När en datavetare startar en ny session i RStudio på SageMaker, tillhandahålls en ny on-demand ML-beräkningsinstans och en containerbild som definierar körtidsmiljön (operativsystem, bibliotek, R-versioner och så vidare) körs på ML:n exempel. Du kan ge dina datavetare flera val för runtime-miljön genom att skapa anpassade behållarbilder och göra dem tillgängliga på RStudio Workbench launcher, som visas i följande skärmdump.
Följande diagram beskriver processen för att få din anpassade bild. Först bygger du en anpassad containerbild från en Dockerfile och skjuter in den till ett arkiv Amazon Elastic Container Registry (Amazon ECR). Därefter skapar du en SageMaker-bild som pekar på behållarbilden i Amazon ECR och bifogar den bilden till din SageMaker-domän. Detta gör den anpassade bilden tillgänglig för att starta en ny session i RStudio.
Förutsättningar
För att implementera denna lösning måste du ha följande förutsättningar:
- En RStudio på SageMaker-domänen
- AWS identitets- och åtkomsthantering (IAM) policyer för att interagera med Amazon ECR
- Lämplig AWS CLI-version
Vi ger mer information om var och en i det här avsnittet.
RStudio på SageMaker-domänen
Om du har en befintlig SageMaker-domän med RStudio aktiverat före den 7 april 2022 måste du ta bort och återskapa RStudioServerPro
app under användarprofilens namn domain-shared
för att få de senaste uppdateringarna för att ta med din egen anpassade bildkapacitet. AWS CLI-kommandona är som följer. Observera att den här åtgärden avbryter RStudio-användare på SageMaker.
Om det här är första gången du använder RStudio på SageMaker, följ steg-för-steg-inställningsprocessen som beskrivs i Kom igång med RStudio på Amazon SageMaker, eller kör följande AWS molnformation mall för att ställa in din första RStudio på SageMaker-domänen. Om du redan har en fungerande RStudio på SageMaker-domänen kan du hoppa över det här steget.
Följande RStudio på SageMaker CloudFormation-mall kräver en RStudio-licens som godkänts av AWS License Manager. För mer om licensiering, se RStudio licens. Observera också att endast en SageMaker-domän är tillåten per AWS-region, så du måste använda ett AWS-konto och en region som inte har en befintlig domän.
- Välja Starta stack.
Länken tar dig till us-east-1-regionen, men du kan byta till din föredragna region. - I Ange mall avsnitt väljer Nästa.
- I Ange stapeldetaljer avsnitt, för Stapla namn, ange ett namn.
- För parametrar, ange ett SageMaker-användarprofilnamn.
- Välja Nästa.
- I Konfigurera stackalternativ avsnitt väljer Nästa.
- I översyn avsnitt, välj Jag erkänner att AWS CloudFormation kan skapa IAM-resurser Och välj Nästa.
- När stackens status ändras till
CREATE_COMPLETE
Gå till kontrollpanelen på SageMaker-konsolen för att hitta domänen och den nya användaren.
IAM-policyer för att interagera med Amazon ECR
För att interagera med dina privata Amazon ECR-lager behöver du följande IAM-behörigheter i IAM-användaren eller rollen som du ska använda för att bygga och pusha Docker-bilder:
För att initialt bygga från en offentlig Amazon ECR-bild som visas i det här inlägget måste du bifoga den AWS-hanterade AmazonElasticContainerRegistryPublicReadOnly policy till din IAM-användare eller roll också.
För att bygga en Docker-containeravbildning kan du använda antingen en lokal Docker-klient eller SageMaker Docker Build CLI-verktyg från en terminal i RStudio på SageMaker. För det senare, följ förutsättningarna i Använda Amazon SageMaker Studio Image Build CLI för att bygga containerbilder från dina Studio-anteckningsböcker för att ställa in IAM-behörigheter och CLI-verktyget.
AWS CLI-versioner
Det finns minimiversionskrav för AWS CLI-verktyget för att köra kommandona som nämns i det här inlägget. Se till att uppgradera AWS CLI på din valda terminal:
- AWS CLI v1 >= 1.23.6
- AWS CLI v2 >= 2.6.2
Förbered en dockerfil
Du kan anpassa din runtime-miljö i RStudio i en Dockerfil. Eftersom anpassningen beror på ditt användningsfall och krav, visar vi dig det väsentliga och de vanligaste anpassningarna i det här exemplet. Du kan ladda ner hela exempel på dockerfil.
Installera RStudio Workbench-sessionskomponenter
Den viktigaste programvaran att installera i din anpassade containerbild är RStudio Workbench. Vi laddar ner från offentlig S3-skopa värd av RStudio PBC. Det finns många versioner och OS-distributioner att använda. Versionen av installationen måste vara kompatibel med RStudio Workbench-versionen som används i RStudio på SageMaker, som är 1.4.1717-3 i skrivande stund. OS (argument OS i följande utdrag) måste matcha basen OS
används i behållarbilden. I vårt prov Dockerfile, basbilden vi använder är Amazon Linux 2 från ett AWS-hanterat offentligt Amazon ECR-förråd. Det kompatibla RStudio Workbench OS är centos7.
Du kan hitta alla OS-versionsalternativ med följande kommando:
Installera R (och versioner av R)
Körtiden för din anpassade RStudio-containeravbildning behöver minst en version av R. Vi kan först installera en version av R och göra den till standard-R genom att skapa mjuka länkar till /usr/local/bin/
:
Dataforskare behöver ofta flera versioner av R så att de enkelt kan växla mellan projekt och kodbas. RStudio på SageMaker stöder enkel växling mellan R-versioner, som visas i följande skärmdump.
RStudio på SageMaker automatiskt skannar och upptäcker versioner av R i följande kataloger:
Vi kan installera fler versioner i behållarbilden, som visas i följande utdrag. De kommer att installeras i /opt/R/
.
Installera RStudio Professional-drivrutiner
Datavetare behöver ofta komma åt data från källor som t.ex Amazonas Athena och Amazon RedShift inom RStudio på SageMaker. Du kan göra det med hjälp av RStudio professionella drivrutiner och RStudio-anslutningar. Se till att du installerar relevanta bibliotek och drivrutiner som visas i följande utdrag:
Installera anpassade bibliotek
Du kan också installera ytterligare R- och Python-bibliotek så att datavetare inte behöver installera dem i farten:
När du är klar med din anpassning i en Dockerfile är det dags att bygga en containerbild och skicka den till Amazon ECR.
Bygg och skjut till Amazon ECR
Du kan bygga en containeravbildning från Dockerfilen från en terminal där Docker-motorn är installerad, till exempel din lokala terminal eller AWS Cloud9. Om du bygger den från en terminal i RStudio på SageMaker kan du använda SageMaker Studio Image Build. Vi visar stegen för båda tillvägagångssätten.
I en lokal terminal där Docker-motorn finns kan du köra följande kommandon varifrån Dockerfilen finns. Du kan använda exempelskriptet create-and-update-image.sh.
Kör följande kommandon i en terminal på RStudio på SageMaker:
Efter dessa kommandon har du ett arkiv och en Docker-containerbild i Amazon ECR för vårt nästa steg, där vi bifogar behållarbilden för användning i RStudio på SageMaker. Notera bildens URI i Amazon ECR <ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com/<REPO>:<TAG>
för senare användning.
Uppdatera RStudio på SageMaker via konsolen
RStudio på SageMaker tillåter runtime-anpassning genom att använda en anpassad SageMaker-bild. En SageMaker-bild är en hållare för en uppsättning SageMaker-bildversioner. Varje bildversion representerar en containerbild som är kompatibel med RStudio på SageMaker och lagrad i ett Amazon ECR-förråd. För att göra en anpassad SageMaker-bild tillgänglig för alla RStudio-användare inom en domän, kan du bifoga bilden till domänen genom att följa stegen i det här avsnittet.
- På SageMaker-konsolen navigerar du till Anpassade SageMaker Studio-bilder kopplade till domänen sida och välj Bifoga bild.
- Välja Ny bild, och ange din Amazon ECR-bild-URI.
- Välja Nästa.
- I Bildegenskaper avsnitt, tillhandahålla en Bildnamn (nödvändig), Bildens visningsnamn (frivillig), Beskrivning (valfritt), IAM-roll och taggar.
Smakämnen bildvisningsnamn, om tillhandahållen, visas i sessionsstartaren i RStudio på SageMaker. Om Bildens visningsnamn fältet lämnas tomt, den bildnamn visas i RStudio på SageMaker istället. - Lämna EFS monteringsväg och Avancerad konfiguration (Användar-ID och grupp-ID) som standard eftersom RStudio på SageMaker hanterar konfigurationen åt oss.
- I Bildtyp avsnitt, välj RStudio bild.
- Välja Skicka.
Du kan nu se en ny post i listan. Det är värt att notera att med introduktionen av stödet för anpassade RStudio-bilder kan du se en ny Användningstyp kolumn i tabellen för att ange om en bild är en RStudio-bild eller en Amazon SageMaker Studio bild.
Det kan ta upp till 5–10 minuter innan de anpassade bilderna är tillgängliga i sessionsstartarens gränssnitt. Du kan sedan starta en ny R-session i RStudio på SageMaker med dina anpassade bilder.
Med tiden kanske du vill ta bort gamla och föråldrade bilder. För att ta bort de anpassade bilderna från listan över anpassade bilder i RStudio, välj bilderna i listan och välj Lossa.
Välja Lossa igen för att bekräfta.
Uppdatera RStudio på SageMaker via AWS CLI
Följande avsnitt beskriver stegen för att skapa en SageMaker-bild och bifoga den för användning i RStudio på SageMaker på SageMaker-konsolen och använda AWS CLI. Du kan använda exempelskriptet create-and-update-image.sh.
Skapa SageMaker-bilden och bildversionen
Det första steget är att skapa en SageMaker-bild från den anpassade behållarbilden i Amazon ECR genom att köra följande två kommandon:
Observera att den anpassade bilden som visas i sessionsstartaren i RStudio på SageMaker bestäms av inmatningen av --display-name
. Om det valfria visningsnamnet inte anges, inmatningen av --image-name
används istället. Observera också att IAM-rollen tillåter SageMaker att bifoga en Amazon ECR-bild till RStudio på SageMaker.
Skapa en AppImageConfig
Förutom en SageMaker-bild, som fångar bild-URI från Amazon ECR, finns en appbildkonfiguration (AppImageConfig) krävs för användning i en SageMaker-domän. Vi förenklar konfigurationen för en RSessionApp
bild så att vi bara kan skapa en platshållarkonfiguration med följande kommando:
Koppla till en SageMaker-domän
Med SageMaker-bilden och appbildskonfigurationen skapade är vi redo att bifoga den anpassade behållarbilden till SageMaker-domänen. För att göra en anpassad SageMaker-bild tillgänglig för alla RStudio-användare inom en domän, bifogar du bilden till domänen som standardanvändarinställning. Alla befintliga användare och eventuella nya användare kommer att kunna använda den anpassade bilden.
För bättre läsbarhet placerar vi följande konfiguration i JSON-filen default-user-settings.json:
I den här filen kan vi ange bilden och AppImageConfig
namnpar i en lista i DefaultUserSettings.RSessionAppSettings.CustomImages
. Det föregående utdraget förutsätter att två anpassade bilder skapas.
Kör sedan följande kommando för att uppdatera SageMaker-domänen:
Efter att du har uppdaterat domänen kan det ta upp till 5–10 minuter innan de anpassade bilderna är tillgängliga i sessionsstartarens gränssnitt. Du kan sedan starta en ny R-session i RStudio på SageMaker med dina anpassade bilder.
Koppla bort bilder från en SageMaker-domän
Du kan ta bort bilder helt enkelt genom att ta bort ImageName
och AppImageConfigName
par från default-user-settings.json
och uppdatera domänen.
Till exempel uppdatera domänen med följande default-user-settings.json
avlägsnar r-4.1.3-rstudio-2022
från R-sessionen startar UI och lämnar r-4.1.3-rstudio-1.4.1717-3
som den enda anpassade bilden som är tillgänglig för alla användare på en domän:
Städa upp
För att säkert ta bort bilder och resurser i SageMaker-domänen, slutför följande steg i Rensa upp bildresurser.
För att säkert ta bort RStudio på SageMaker och SageMaker-domänen, utför följande steg i Ta bort en Amazon SageMaker-domän för att ta bort valfri RSessionGateway-app, användarprofil och domänen.
För att säkert ta bort bilder och arkiv i Amazon ECR, slutför följande steg i Ta bort en bild.
Slutligen, för att ta bort CloudFormation-mallen:
- På AWS CloudFormation-konsolen väljer du Stacks.
- Välj den stack du distribuerade för den här lösningen.
- Välj Radera.
Slutsats
RStudio på SageMaker gör det enkelt för datavetare att bygga ML och analytiska lösningar i R i skala, och för administratörer att hantera en robust datavetenskapsmiljö för sina utvecklare. Datavetare vill skräddarsy miljön så att de kan använda rätt bibliotek för rätt jobb och uppnå önskad reproducerbarhet för varje ML-projekt. Administratörer måste standardisera datavetenskapsmiljön av reglerings- och säkerhetsskäl. Du kan nu skapa anpassade behållarbilder som uppfyller dina organisationskrav och låter datavetare använda dem i RStudio på SageMaker.
Vi uppmuntrar dig att prova. Lycka till med att utvecklas!
Om författarna
Michael Hsieh är Senior AI/ML Specialist Solutions Architect. Han arbetar med kunder för att avancera deras ML-resa med en kombination av AWS ML-erbjudanden och hans ML-domänkunskap. Som en transplantation i Seattle älskar han att utforska den fantastiska natur som staden har att erbjuda, som vandringslederna, kajakpaddling i SLU och solnedgången vid Shilshole Bay.
Declan Kelly är en mjukvaruingenjör på Amazon SageMaker Studio-teamet. Han har arbetat på Amazon SageMaker Studio sedan lanseringen på AWS re:Invent 2019. Utanför jobbet tycker han om att vandra och klättra.
Sean Morgan är AI/ML Solutions Architect på AWS. Han har erfarenhet inom halvledarforskning och akademisk forskning och använder sin erfarenhet för att hjälpa kunder att nå sina mål på AWS. På sin fritid är Sean en aktiv bidragsgivare och underhållare med öppen källkod och är specialintressegruppledare för TensorFlow-tillägg.
- Myntsmart. Europas bästa bitcoin- och kryptobörs.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. FRI TILLGÅNG.
- CryptoHawk. Altcoin radar. Gratis provperiod.
- Källa: https://aws.amazon.com/blogs/machine-learning/use-a-custom-image-to-bring-your-own-development-environment-to-rstudio-on-amazon-sagemaker/
- "
- &
- 1.3
- 10
- 100
- 2019
- 2022
- 7
- a
- Om oss
- tillgång
- Konto
- Uppnå
- Handling
- aktiv
- Dessutom
- Annat
- administratörer
- avancera
- Alla
- tillåter
- redan
- amason
- analytics
- app
- tillvägagångssätt
- lämpligt
- April
- tillgänglig
- AWS
- bukt
- därför att
- Där vi får lov att vara utan att konstant prestera,
- Fördelarna
- Bättre
- mellan
- gränsen
- föra
- SLUTRESULTAT
- Byggnad
- företag
- Kan få
- fångar
- Vid
- byta
- val
- val
- Välja
- Stad
- cloud
- koda
- Kolumn
- kombination
- Gemensam
- kompatibel
- fullborda
- Compute
- konfiguration
- Anslutning
- Konsol
- Behållare
- innehåll
- fortsätta
- bidragsgivare
- skapa
- skapas
- Skapa
- beställnings
- Kunder
- skräddarsy
- datum
- datavetenskap
- datavetare
- demonstrera
- beror
- utplacerade
- beskriva
- beskriven
- detaljer
- utvecklare
- Utveckling
- Visa
- Distributioner
- Hamnarbetare
- inte
- domän
- ner
- ladda ner
- varje
- lätt
- effekt
- uppmuntra
- Motor
- ingenjör
- ange
- Miljö
- Essentials
- exempel
- befintliga
- erfarenhet
- bekant
- Fält
- Förnamn
- första gången
- följer
- efter
- följer
- Fri
- från
- full
- Vidare
- få
- Mål
- stor
- Grupp
- lyckligt
- hjälpa
- hållare
- värd
- Men
- HTTPS
- Identitet
- bild
- bilder
- genomföra
- med Esport
- industrins
- informationen
- ingång
- installera
- exempel
- integrerade
- intresse
- IT
- Jobb
- resa
- kunskap
- senaste
- lansera
- lansera
- leda
- inlärning
- Licens
- Licens
- linje
- LINK
- länkar
- linux
- Lista
- lokal
- Maskinen
- maskininlärning
- göra
- GÖR
- Framställning
- hantera
- förvaltade
- ledning
- chef
- Match
- nämnts
- kanske
- minsta
- ML
- mer
- Morgan
- mest
- mor
- multipel
- Natur
- Navigera
- behov
- Nästa
- erbjudanden
- offer~~POS=TRUNC
- drift
- operativsystem
- Tillbehör
- organisatoriska
- organisationer
- egen
- poäng
- Strategier
- policy
- föredragen
- presentera
- privat
- process
- professionell
- Profil
- Programmering
- projektet
- projekt
- ge
- förutsatt
- tillhandahålla
- allmän
- snabbt
- RE
- nå
- skäl
- region
- regulatorer
- frigöra
- meddelanden
- relevanta
- bort
- Repository
- representerar
- Obligatorisk
- Krav
- Kräver
- forskning
- resurs
- Resurser
- Roll
- Körning
- rinnande
- på ett säkert sätt
- Skala
- Vetenskap
- Forskare
- vetenskapsmän
- sean
- säkerhet
- halvledare
- in
- inställning
- inställning
- flera
- Dela
- show
- visas
- Enkelt
- eftersom
- So
- Mjuk
- Mjukvara
- Programvara ingenjör
- fast
- lösning
- Lösningar
- speciell
- specialist
- specialiserad
- stapel
- igång
- startar
- .
- status
- lagrar
- studio
- Sunset
- stödja
- Stöder
- Växla
- system
- grupp
- terminal
- Smakämnen
- Genom
- tid
- i dag
- verktyg
- verktyg
- ui
- under
- Uppdatering
- Uppdateringar
- uppdatering
- us
- användning
- användare
- version
- om
- inom
- utan
- Arbete
- arbetssätt
- fungerar
- värt
- skrivning
- Din