RStudio på Amazon SageMaker er branchens første fuldt administrerede RStudio Workbench i skyen. Du kan hurtigt starte det velkendte RStudio-integrerede udviklingsmiljø (IDE) og ringe op og ned for de underliggende computerressourcer uden at afbryde dit arbejde, hvilket gør det nemt at bygge maskinlæring (ML) og analyseløsninger i R i skala. RStudio på SageMaker leveres allerede med en indbygget billede forudkonfigureret med R-programmerings- og datavidenskabsværktøjer; dog skal du ofte tilpasse dit IDE-miljø. Fra i dag kan du medbringe dit eget brugerdefinerede billede med pakker og værktøjer efter eget valg og gøre dem tilgængelige for alle brugere af RStudio på SageMaker med få klik.
At medbringe dit eget brugerdefinerede billede har flere fordele. Du kan standardisere og forenkle startoplevelsen for dataforskere og udviklere ved at levere et startbillede, forudkonfigurere de nødvendige drivere for at oprette forbindelse til datalagre eller forudinstallere specialiseret datavidenskabssoftware til dit virksomhedsdomæne. Ydermere kan organisationer, der tidligere har hostet deres egen RStudio Workbench, have eksisterende containeriserede miljøer, som de ønsker at fortsætte med at bruge i RStudio på SageMaker.
I dette indlæg deler vi trin-for-trin instruktioner til at oprette et brugerdefineret billede og bringe det til RStudio på SageMaker ved hjælp af AWS Management Console or AWS kommandolinjegrænseflade (AWS CLI). Du kan få dit første brugerdefinerede IDE-miljø op at køre med få enkle trin. For mere information om indholdet diskuteret i dette indlæg, se Medbring dit eget RStudio-billede.
Løsningsoversigt
Når en dataforsker starter en ny session i RStudio på SageMaker, klargøres en ny on-demand ML compute-instans, og et containerbillede, der definerer runtime-miljøet (operativsystem, biblioteker, R-versioner og så videre) køres på ML'en. eksempel. Du kan give dine dataforskere flere valgmuligheder for runtime-miljøet ved at oprette brugerdefinerede containerbilleder og gøre dem tilgængelige på RStudio Workbench launcher, som vist i det følgende skærmbillede.
Følgende diagram beskriver processen for at bringe dit brugerdefinerede billede. Først bygger du et brugerdefineret containerbillede fra en Dockerfile og skubber det til et lager ind Amazon Elastic Container Registry (Amazon ECR). Derefter opretter du et SageMaker-billede, der peger på containerbilledet i Amazon ECR, og vedhæfter det billede til din SageMaker domæne. Dette gør det brugerdefinerede billede tilgængeligt for at starte en ny session i RStudio.
Forudsætninger
For at implementere denne løsning skal du have følgende forudsætninger:
- En RStudio på SageMaker-domænet
- AWS identitets- og adgangsstyring (IAM) politikker til at interagere med Amazon ECR
- Den passende AWS CLI-version
Vi giver flere detaljer om hver i dette afsnit.
RStudio på SageMaker domæne
Hvis du har et eksisterende SageMaker-domæne med RStudio aktiveret før den 7. april 2022, skal du slette og genskabe RStudioServerPro
app under brugerprofilnavnet domain-shared
for at få de seneste opdateringer til at medbringe dit eget brugerdefinerede billede. AWS CLI-kommandoer er som følger. Bemærk, at denne handling afbryder RStudio-brugere på SageMaker.
Hvis det er første gang, du bruger RStudio på SageMaker, skal du følge den trinvise opsætningsproces beskrevet i Kom godt i gang med RStudio på Amazon SageMaker, eller kør følgende AWS CloudFormation skabelon for at konfigurere din første RStudio på SageMaker-domænet. Hvis du allerede har en fungerende RStudio på SageMaker-domænet, kan du springe dette trin over.
Følgende RStudio på SageMaker CloudFormation-skabelon kræver en RStudio-licens godkendt gennem AWS License Manager. For mere om licens, se RStudio licens. Bemærk også, at kun ét SageMaker-domæne er tilladt pr. AWS-region, så du skal bruge en AWS-konto og -region, der ikke har et eksisterende domæne.
- Vælg Start Stack.
Linket fører dig til us-east-1-regionen, men du kan skifte til din foretrukne region. - I Angiv skabelon sektion, skal du vælge Næste.
- I Angiv stakdetaljer afsnit, for Staknavn, indtast et navn.
- Til parametre, indtast et SageMaker-brugerprofilnavn.
- Vælg Næste.
- I Konfigurer stakindstillinger sektion, skal du vælge Næste.
- I anmeldelse sektion, vælg Jeg anerkender, at AWS CloudFormation kan skabe IAM-ressourcer Og vælg Næste.
- Når stakstatus ændres til
CREATE_COMPLETE
Gå til kontrol panel på SageMaker-konsollen for at finde domænet og den nye bruger.
IAM-politikker for at interagere med Amazon ECR
For at interagere med dine private Amazon ECR-depoter skal du bruge følgende IAM-tilladelser i den IAM-bruger eller -rolle, du skal bruge til at bygge og pushe Docker-billeder:
For i første omgang at bygge fra et offentligt Amazon ECR-billede som vist i dette indlæg, skal du vedhæfte det AWS-administrerede AmazonElasticContainerRegistryPublicReadOnly politik til din IAM-bruger eller -rolle også.
For at bygge et Docker-containerbillede kan du bruge enten en lokal Docker-klient eller SageMaker Docker Build CLI-værktøj fra en terminal i RStudio på SageMaker. For sidstnævnte skal du følge forudsætningerne i Brug af Amazon SageMaker Studio Image Build CLI til at bygge containerbilleder fra dine Studio-notesbøger for at konfigurere IAM-tilladelser og CLI-værktøjet.
AWS CLI versioner
Der er minimumsversionskrav til AWS CLI-værktøjet til at køre kommandoerne nævnt i dette indlæg. Sørg for at opgradere AWS CLI på din valgte terminal:
- AWS CLI v1 >= 1.23.6
- AWS CLI v2 >= 2.6.2
Forbered en Dockerfile
Du kan tilpasse dit runtime-miljø i RStudio i en Dockerfile. Fordi tilpasningen afhænger af din brugssituation og dine krav, viser vi dig det væsentlige og de mest almindelige tilpasninger i dette eksempel. Du kan downloade den fulde eksempel Dockerfile.
Installer RStudio Workbench session komponenter
Den vigtigste software at installere i dit brugerdefinerede containerbillede er RStudio Workbench. Vi downloader fra offentlig S3-spand hostet af RStudio PBC. Der er mange versionsudgivelser og OS-distributioner til brug. Versionen af installationen skal være kompatibel med RStudio Workbench-versionen, der bruges i RStudio på SageMaker, som er 1.4.1717-3 i skrivende stund. OS (argument OS i det følgende uddrag) skal matche basen OS
brugt i containerbilledet. I vores prøve Dockerfil, det basisbillede, vi bruger, er Amazon Linux 2 fra et AWS-administreret offentligt Amazon ECR-lager. Det kompatible RStudio Workbench OS er centos7.
Du kan finde alle OS-udgivelsesmuligheder med følgende kommando:
Installer R (og versioner af R)
Kørselstiden for dit brugerdefinerede RStudio-containerbillede kræver mindst én version af R. Vi kan først installere en version af R og gøre den til standard-R ved at oprette bløde links til /usr/local/bin/
:
Dataforskere har ofte brug for flere versioner af R, så de nemt kan skifte mellem projekter og kodebase. RStudio på SageMaker understøtter let skift mellem R-versioner, som vist på det følgende skærmbillede.
RStudio på SageMaker scanner og opdager automatisk versioner af R i følgende mapper:
Vi kan installere flere versioner i containerbilledet, som vist i det følgende uddrag. De vil blive installeret i /opt/R/
.
Installer RStudio Professional-drivere
Dataforskere har ofte behov for at få adgang til data fra kilder som f.eks Amazonas Athena , Amazon rødforskydning i RStudio på SageMaker. Det kan du gøre vha RStudio professionelle drivere , RStudio-forbindelser. Sørg for at installere de relevante biblioteker og drivere som vist i følgende uddrag:
Installer brugerdefinerede biblioteker
Du kan også installere yderligere R- og Python-biblioteker, så dataforskere ikke behøver at installere dem med det samme:
Når du er færdig med din tilpasning i en Dockerfile, er det tid til at bygge et containerbillede og skubbe det til Amazon ECR.
Byg og skub til Amazon ECR
Du kan bygge et containerbillede fra Dockerfilen fra en terminal, hvor Docker-motoren er installeret, såsom din lokale terminal eller AWS Cloud9. Hvis du bygger det fra en terminal i RStudio på SageMaker, kan du bruge SageMaker Studio Image Build. Vi demonstrerer trinene for begge tilgange.
I en lokal terminal, hvor Docker-motoren er til stede, kan du køre følgende kommandoer, hvorfra Dockerfilen er. Du kan bruge eksempelscriptet create-and-update-image.sh.
Kør følgende kommandoer i en terminal på RStudio på SageMaker:
Efter disse kommandoer har du et lager og et Docker-containerbillede i Amazon ECR til vores næste trin, hvor vi vedhæfter containerbilledet til brug i RStudio på SageMaker. Bemærk billed-URI'en i Amazon ECR <ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com/<REPO>:<TAG>
til senere brug.
Opdater RStudio på SageMaker gennem konsollen
RStudio på SageMaker tillader runtime-tilpasning ved brug af et brugerdefineret SageMaker-billede. Et SageMaker-billede er en holder til et sæt SageMaker-billedversioner. Hver billedversion repræsenterer et containerbillede, der er kompatibelt med RStudio på SageMaker og gemt i et Amazon ECR-lager. For at gøre et brugerdefineret SageMaker-billede tilgængeligt for alle RStudio-brugere inden for et domæne, kan du vedhæfte billedet til domænet ved at følge trinene i dette afsnit.
- På SageMaker-konsollen skal du navigere til Brugerdefinerede SageMaker Studio-billeder knyttet til domænet side, og vælg Vedhæft billede.
- Type Nyt billede, og indtast din Amazon ECR-billed-URI.
- Vælg Næste.
- I Billedegenskaber afsnit, give en Billednavn (påkrævet), Billedvisningsnavn (valgfri), Beskrivelse (valgfrit), IAM-rolle og tags.
billedvisningsnavn, hvis angivet, vises i sessionsstarteren i RStudio på SageMaker. Hvis Billedvisningsnavn felt efterlades tomt, den billednavn vises i stedet i RStudio på SageMaker. - Forlade EFS monteringssti , Avanceret konfiguration (Bruger-ID , Gruppe-id) som standard, fordi RStudio på SageMaker administrerer konfigurationen for os.
- I Billedtype sektion, vælg RStudio billede.
- Vælg Indsend.
Du kan nu se en ny post på listen. Det er værd at bemærke, at med introduktionen af understøttelse af brugerdefinerede RStudio-billeder, kan du se en ny Brugstype kolonne i tabellen for at angive, om et billede er et RStudio-billede eller et Amazon SageMaker Studio billede.
Det kan tage op til 5-10 minutter, før de brugerdefinerede billeder er tilgængelige i session launcher UI. Du kan derefter starte en ny R-session i RStudio på SageMaker med dine brugerdefinerede billeder.
Med tiden vil du måske trække gamle og forældede billeder tilbage. For at fjerne de brugerdefinerede billeder fra listen over brugerdefinerede billeder i RStudio skal du vælge billederne på listen og vælge Frigør.
Vælg Frigør igen for at bekræfte.
Opdater RStudio på SageMaker via AWS CLI
De følgende afsnit beskriver trinene til at oprette et SageMaker-billede og vedhæfte det til brug i RStudio på SageMaker på SageMaker-konsollen og ved hjælp af AWS CLI. Du kan bruge eksempelscriptet create-and-update-image.sh.
Opret SageMaker-billedet og billedversionen
Det første trin er at oprette et SageMaker-billede fra det brugerdefinerede containerbillede i Amazon ECR ved at køre følgende to kommandoer:
Bemærk, at det brugerdefinerede billede, der vises i sessionsstarteren i RStudio på SageMaker, bestemmes af input fra --display-name
. Hvis det valgfrie visningsnavn ikke er angivet, skal indtastningen af --image-name
bruges i stedet. Bemærk også, at IAM-rollen tillader SageMaker at vedhæfte et Amazon ECR-billede til RStudio på SageMaker.
Opret en AppImageConfig
Ud over et SageMaker-billede, som fanger billed-URI'en fra Amazon ECR, er en app-billedkonfiguration (AppImageConfig) er påkrævet til brug i et SageMaker-domæne. Vi forenkler konfigurationen for en RSessionApp
billede, så vi bare kan oprette en pladsholderkonfiguration med følgende kommando:
Tilknyt et SageMaker-domæne
Med SageMaker-billedet og app-billedkonfigurationen oprettet, er vi klar til at vedhæfte det brugerdefinerede containerbillede til SageMaker-domænet. For at gøre et brugerdefineret SageMaker-billede tilgængeligt for alle RStudio-brugere inden for et domæne, vedhæfter du billedet til domænet som standardbrugerindstilling. Alle eksisterende brugere og eventuelle nye brugere vil være i stand til at bruge det tilpassede billede.
For bedre læsbarhed placerer vi følgende konfiguration i JSON-filen default-user-settings.json:
I denne fil kan vi angive billedet og AppImageConfig
navnepar i en liste i DefaultUserSettings.RSessionAppSettings.CustomImages
. Dette foregående uddrag antager, at der oprettes to brugerdefinerede billeder.
Kør derefter følgende kommando for at opdatere SageMaker-domænet:
Når du har opdateret domænet, kan det tage op til 5-10 minutter, før de tilpassede billeder er tilgængelige i sessionsstarterens brugergrænseflade. Du kan derefter starte en ny R-session i RStudio på SageMaker med dine brugerdefinerede billeder.
Frigør billeder fra et SageMaker-domæne
Du kan frigøre billeder ved blot at fjerne ImageName
, AppImageConfigName
par fra default-user-settings.json
og opdatering af domænet.
For eksempel opdatering af domænet med følgende default-user-settings.json
fjerner r-4.1.3-rstudio-2022
fra R-sessionen, der starter UI og forlader r-4.1.3-rstudio-1.4.1717-3
som det eneste brugerdefinerede billede, der er tilgængeligt for alle brugere på et domæne:
Ryd op
For sikkert at fjerne billeder og ressourcer i SageMaker-domænet skal du udføre følgende trin i Ryd op i billedressourcer.
For sikkert at fjerne RStudio på SageMaker og SageMaker-domænet skal du udføre følgende trin i Slet et Amazon SageMaker-domæne for at slette enhver RSessionGateway-app, brugerprofil og domæne.
For sikkert at fjerne billeder og depoter i Amazon ECR skal du udføre følgende trin i Sletning af et billede.
Til sidst, for at slette CloudFormation-skabelonen:
- På AWS CloudFormation-konsollen skal du vælge Stabler.
- Vælg den stak, du har implementeret til denne løsning.
- Vælg Slet.
Konklusion
RStudio på SageMaker gør det enkelt for datavidenskabsfolk at bygge ML og analytiske løsninger i R i skala, og for administratorer at administrere et robust datavidenskabsmiljø for deres udviklere. Data scientists ønsker at tilpasse miljøet, så de kan bruge de rigtige biblioteker til det rigtige job og opnå den ønskede reproducerbarhed for hvert ML-projekt. Administratorer skal standardisere det datavidenskabelige miljø af regulatoriske og sikkerhedsmæssige årsager. Du kan nu oprette brugerdefinerede containerbilleder, der opfylder dine organisatoriske krav og giver dataforskere mulighed for at bruge dem i RStudio på SageMaker.
Vi opfordrer dig til at prøve det. God udvikling!
Om forfatterne
Michael Hsieh er Senior AI/ML Specialist Solutions Architect. Han arbejder med kunder for at fremme deres ML-rejse med en kombination af AWS ML-tilbud og hans ML-domæneviden. Som en Seattle-transplantation elsker han at udforske den fantastiske natur, byen har at byde på, såsom vandrestier, kajaksejlads i SLU og solnedgangen ved Shilshole Bay.
Declan Kelly er softwareingeniør på Amazon SageMaker Studio-teamet. Han har arbejdet på Amazon SageMaker Studio siden lanceringen på AWS re:Invent 2019. Uden for arbejdet nyder han at vandre og klatre.
Sean Morgan er AI/ML Solutions Architect hos AWS. Han har erfaring inden for halvleder- og akademisk forskning og bruger sin erfaring til at hjælpe kunder med at nå deres mål på AWS. I sin fritid er Sean en aktiv open source-bidragyder og -vedligeholder og er den særlige interessegruppeleder for TensorFlow Add-ons.
- Coinsmart. Europas bedste Bitcoin og Crypto Exchange.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. FRI ADGANG.
- CryptoHawk. Altcoin radar. Gratis prøveversion.
- Kilde: 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
- adgang
- Konto
- opnå
- Handling
- aktiv
- Desuden
- Yderligere
- administratorer
- fremme
- Alle
- tillader
- allerede
- Amazon
- analytics
- app
- tilgange
- passende
- april
- til rådighed
- AWS
- Bugt
- fordi
- være
- fordele
- Bedre
- mellem
- grænse
- bringe
- bygge
- Bygning
- virksomhed
- Kan få
- fanger
- tilfælde
- lave om
- valg
- valg
- Vælg
- By
- Cloud
- kode
- Kolonne
- kombination
- Fælles
- kompatibel
- fuldføre
- Compute
- Konfiguration
- Tilslutning
- Konsol
- Container
- indhold
- fortsæt
- bidragsyder
- skabe
- oprettet
- Oprettelse af
- skik
- Kunder
- tilpasse
- data
- datalogi
- dataforsker
- demonstrere
- afhænger
- indsat
- beskrive
- beskrevet
- detaljer
- udviklere
- Udvikling
- Skærm
- Distributioner
- Docker
- Er ikke
- domæne
- ned
- downloade
- hver
- nemt
- effekt
- tilskynde
- Engine (Motor)
- ingeniør
- Indtast
- Miljø
- essentials
- eksempel
- eksisterende
- erfaring
- bekendt
- Fields
- Fornavn
- første gang
- følger
- efter
- følger
- Gratis
- fra
- fuld
- Endvidere
- få
- Mål
- stor
- gruppe
- Gem
- hjælpe
- holder
- hostede
- Men
- HTTPS
- Identity
- billede
- billeder
- gennemføre
- vigtigt
- industriens
- oplysninger
- indgang
- installere
- instans
- integreret
- interesse
- IT
- Job
- rejse
- viden
- seneste
- lancere
- lancering
- føre
- læring
- Licens
- Licenser
- Line (linje)
- LINK
- links
- linux
- Liste
- lokale
- maskine
- machine learning
- lave
- maerker
- Making
- administrere
- lykkedes
- ledelse
- leder
- Match
- nævnte
- måske
- minimum
- ML
- mere
- Morgan
- mest
- mor
- flere
- Natur
- Naviger
- behov
- næste
- tilbyde
- tilbud
- drift
- operativsystem
- Indstillinger
- organisatorisk
- organisationer
- egen
- punkter
- politikker
- politik
- foretrækkes
- præsentere
- private
- behandle
- professionel
- Profil
- Programmering
- projekt
- projekter
- give
- forudsat
- leverer
- offentlige
- hurtigt
- RE
- nå
- årsager
- region
- lovgivningsmæssige
- frigive
- Udgivelser
- relevant
- fjernelse
- Repository
- repræsenterer
- påkrævet
- Krav
- Kræver
- forskning
- ressource
- Ressourcer
- roller
- Kør
- kører
- sikkert
- Scale
- Videnskab
- Videnskabsmand
- forskere
- Sean
- sikkerhed
- halvleder
- sæt
- indstilling
- setup
- flere
- Del
- Vis
- vist
- Simpelt
- siden
- So
- Soft
- Software
- Software Engineer
- solid
- løsninger
- Løsninger
- særligt
- specialist
- specialiserede
- stable
- påbegyndt
- starter
- Statement
- Status
- forhandler
- Studio
- Solnedgang
- support
- Understøtter
- Kontakt
- systemet
- hold
- terminal
- Gennem
- tid
- i dag
- værktøj
- værktøjer
- ui
- under
- Opdatering
- opdateringer
- opdatering
- us
- brug
- brugere
- udgave
- hvorvidt
- inden for
- uden
- Arbejde
- arbejder
- virker
- værd
- skrivning
- Din