RStudio su Amazon SageMaker è il primo ambiente di lavoro RStudio completamente gestito nel cloud del settore. Puoi avviare rapidamente il familiare ambiente di sviluppo integrato (IDE) RStudio e dial up e down delle risorse di calcolo sottostanti senza interrompere il tuo lavoro, semplificando la creazione di soluzioni di machine learning (ML) e analisi in R su larga scala. RStudio su SageMaker viene già fornito con un immagine incorporata preconfigurato con strumenti di programmazione e data science R; tuttavia, è spesso necessario personalizzare il proprio ambiente IDE. A partire da oggi, puoi portare la tua immagine personalizzata con pacchetti e strumenti a tua scelta e renderli disponibili a tutti gli utenti di RStudio su SageMaker in pochi clic.
Portare la tua immagine personalizzata ha diversi vantaggi. Puoi standardizzare e semplificare l'esperienza introduttiva per data scientist e sviluppatori fornendo un'immagine iniziale, preconfigurare i driver necessari per la connessione ai datastore o preinstallare software di data science specializzato per il tuo dominio aziendale. Inoltre, le organizzazioni che hanno precedentemente ospitato il proprio RStudio Workbench possono disporre di ambienti containerizzati esistenti che desiderano continuare a utilizzare in RStudio su SageMaker.
In questo post, condividiamo istruzioni dettagliate per creare un'immagine personalizzata e portarla in RStudio su SageMaker utilizzando il Console di gestione AWS or Interfaccia della riga di comando di AWS (AWS CLI). Puoi rendere operativo il tuo primo ambiente IDE personalizzato in pochi semplici passaggi. Per ulteriori informazioni sui contenuti discussi in questo post, fare riferimento a Porta la tua immagine RStudio.
Panoramica della soluzione
Quando un data scientist avvia una nuova sessione in RStudio su SageMaker, viene fornita una nuova istanza di calcolo ML su richiesta e viene eseguita un'immagine del contenitore che definisce l'ambiente di runtime (sistema operativo, librerie, versioni R e così via) sul ML esempio. È possibile fornire ai data scientist più scelte per l'ambiente di runtime creando immagini di container personalizzate e rendendole disponibili nell'utilità di avvio di RStudio Workbench, come mostrato nella schermata seguente.
Il diagramma seguente descrive il processo per portare l'immagine personalizzata. Per prima cosa crei un'immagine contenitore personalizzata da un Dockerfile e la spingi a un repository in Registro dei contenitori Amazon Elastic (Amazon ECR). Successivamente, crei un'immagine SageMaker che punta all'immagine del contenitore in Amazon ECR e allega quell'immagine al tuo dominio SageMaker. Ciò rende l'immagine personalizzata disponibile per l'avvio di una nuova sessione in RStudio.
Prerequisiti
Per implementare questa soluzione, è necessario disporre dei seguenti prerequisiti:
- Un RStudio sul dominio SageMaker
- Gestione dell'identità e dell'accesso di AWS (IAM) per interagire con Amazon ECR
- La versione dell'AWS CLI appropriata
Forniamo maggiori dettagli su ciascuno in questa sezione.
RStudio sul dominio SageMaker
Se hai un dominio SageMaker esistente con RStudio abilitato prima del 7 aprile 2022, devi eliminare e ricreare il RStudioServerPro
app sotto il nome del profilo utente domain-shared
per ottenere gli ultimi aggiornamenti per portare la tua capacità di immagine personalizzata. I comandi dell'AWS CLI sono i seguenti. Tieni presente che questa azione interrompe gli utenti di RStudio su SageMaker.
Se è la prima volta che utilizzi RStudio su SageMaker, segui il processo di configurazione passo passo descritto in Inizia con RStudio su Amazon SageMakero eseguire quanto segue AWS CloudFormazione modello per configurare il tuo primo RStudio sul dominio SageMaker. Se hai già un RStudio funzionante sul dominio SageMaker, puoi saltare questo passaggio.
Il seguente modello RStudio su SageMaker CloudFormation richiede una licenza RStudio approvata tramite AWS License Manager. Per ulteriori informazioni sulle licenze, fare riferimento a Licenza RStudio. Tieni inoltre presente che è consentito un solo dominio SageMaker per regione AWS, quindi dovrai utilizzare un account AWS e una regione che non ha un dominio esistente.
- Scegli Avvia Stack.
Il collegamento ti porta alla regione us-east-1, ma puoi passare alla tua regione preferita. - Nel Specifica il modello sezione, scegliere Avanti.
- Nel Specifica i dettagli dello stack sezione, per Nome dello stack, inserisci un nome.
- Nel parametri, immettere un nome profilo utente SageMaker.
- Scegli Avanti.
- Nel Configura le opzioni di stack sezione, scegliere Avanti.
- Nel Review sezione, selezionare Riconosco che AWS CloudFormation potrebbe creare risorse IAM e scegli Avanti.
- Quando lo stato dello stack cambia in
CREATE_COMPLETE
, Andare al Pannello di controllo sulla console SageMaker per trovare il dominio e il nuovo utente.
Policy IAM per interagire con Amazon ECR
Per interagire con i tuoi repository Amazon ECR privati, sono necessarie le seguenti autorizzazioni IAM nell'utente o nel ruolo IAM che utilizzerai per creare e inviare immagini Docker:
Per creare inizialmente da un'immagine Amazon ECR pubblica come mostrato in questo post, devi allegare il file gestito da AWS AmazonElasticContainerRegistryPublicReadOnly policy anche al tuo utente o ruolo IAM.
Per creare un'immagine del contenitore Docker, puoi utilizzare un client Docker locale o il SageMaker Docker Build Strumento CLI da un terminale all'interno di RStudio su SageMaker. Per quest'ultimo, seguire i prerequisiti in Utilizzo della CLI di build di immagini di Amazon SageMaker Studio per creare immagini di container dai notebook di Studio per configurare le autorizzazioni IAM e lo strumento CLI.
Versioni dell'AWS CLI
Esistono requisiti di versione minimi per lo strumento AWS CLI per eseguire i comandi menzionati in questo post. Assicurati di aggiornare AWS CLI sul tuo terminale preferito:
- AWS CLI v1 >= 1.23.6
- AWS CLI v2 >= 2.6.2
Prepara un Dockerfile
Puoi personalizzare il tuo ambiente di runtime in RStudio in un Dockerfile. Poiché la personalizzazione dipende dal caso d'uso e dai requisiti, in questo esempio ti mostriamo gli elementi essenziali e le personalizzazioni più comuni. Puoi scaricare il completo esempio Dockerfile.
Installa i componenti della sessione di RStudio Workbench
Il software più importante da installare nell'immagine del contenitore personalizzata è RStudio Workbench. Scarichiamo dal bucket S3 pubblico ospitato da RStudio PBC. Sono disponibili molte versioni e distribuzioni del sistema operativo da utilizzare. La versione dell'installazione deve essere compatibile con la versione di RStudio Workbench utilizzata in RStudio su SageMaker, che è 1.4.1717-3 al momento della scrittura. Il sistema operativo (sistema operativo dell'argomento nel frammento di codice seguente) deve corrispondere alla base OS
utilizzato nell'immagine del contenitore. Nel nostro campione Dockerfile, l'immagine di base che utilizziamo è Amazon Linux 2 da un repository Amazon ECR pubblico gestito da AWS. Il sistema operativo compatibile RStudio Workbench è centos7.
Puoi trovare tutte le opzioni di rilascio del sistema operativo con il seguente comando:
Installa R (e versioni di R)
Il runtime per l'immagine del contenitore RStudio personalizzata richiede almeno una versione di R. Possiamo prima installare una versione di R e renderla la R predefinita creando collegamenti software a /usr/local/bin/
:
I data scientist spesso necessitano di più versioni di R in modo da poter passare facilmente da un progetto all'altro e da una base di codice. RStudio su SageMaker supporta un facile passaggio tra le versioni R, come mostrato nella schermata seguente.
RStudio su SageMaker scansiona e rileva automaticamente le versioni di R nelle directory seguenti:
Possiamo installare più versioni nell'immagine del contenitore, come mostrato nel frammento di codice seguente. Saranno installati in /opt/R/
.
Installa i driver RStudio Professional
I data scientist spesso hanno bisogno di accedere ai dati da fonti come Amazzone Atena ed Amazon RedShift all'interno di RStudio su SageMaker. Puoi farlo usando Driver professionali RStudio ed Connessioni RStudio. Assicurati di installare le librerie e i driver pertinenti come mostrato nel seguente snippet:
Installa librerie personalizzate
Puoi anche installare librerie R e Python aggiuntive in modo che i data scientist non debbano installarle al volo:
Al termine della personalizzazione in un Dockerfile, è il momento di creare un'immagine del container e inviarla ad Amazon ECR.
Crea e invia ad Amazon ECR
Puoi creare un'immagine contenitore dal Dockerfile da un terminale in cui è installato il motore Docker, come il tuo terminale locale o AWS Cloud9. Se lo stai compilando da un terminale all'interno di RStudio su SageMaker, puoi usare Creazione di immagini di SageMaker Studio. Dimostriamo i passaggi per entrambi gli approcci.
In un terminale locale in cui è presente il motore Docker, puoi eseguire i seguenti comandi da dove si trova Dockerfile. È possibile utilizzare lo script di esempio crea-e-aggiorna-immagine.sh.
In un terminale su RStudio su SageMaker, eseguire i seguenti comandi:
Dopo questi comandi, hai un repository e un'immagine del container Docker in Amazon ECR per il nostro passaggio successivo, in cui alleghiamo l'immagine del container da utilizzare in RStudio su SageMaker. Prendi nota dell'URI dell'immagine in Amazon ECR <ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com/<REPO>:<TAG>
per un uso successivo.
Aggiorna RStudio su SageMaker tramite la console
RStudio su SageMaker consente la personalizzazione del runtime attraverso l'uso di un'immagine SageMaker personalizzata. Un'immagine SageMaker è un supporto per un set di versioni dell'immagine SageMaker. Ogni versione dell'immagine rappresenta un'immagine del contenitore compatibile con RStudio su SageMaker e archiviata in un repository Amazon ECR. Per rendere disponibile un'immagine SageMaker personalizzata a tutti gli utenti RStudio all'interno di un dominio, puoi allegare l'immagine al dominio seguendo i passaggi in questa sezione.
- Sulla console SageMaker, vai a Immagini personalizzate di SageMaker Studio allegate al dominio pagina e scegli Allega immagine.
- Seleziona Nuova immaginee inserisci l'URI dell'immagine Amazon ECR.
- Scegli Avanti.
- Nel Proprietà dell'immagine sezione, fornire un Nome dell'immagine (necessario), Nome visualizzato dell'immagine (opzionale), Descrizione (facoltativo), ruolo IAM e tag.
I nome visualizzato dell'immagine, se fornito, viene visualizzato nell'utilità di avvio della sessione in RStudio su SageMaker. Se la Nome visualizzato dell'immagine il campo viene lasciato vuoto, il nome dell'immagine viene invece mostrato in RStudio su SageMaker. - Lasciare Percorso di montaggio EFS ed Configurazione avanzata (User ID ed ID gruppo) come predefinito perché RStudio su SageMaker gestisce la configurazione per noi.
- Nel Tipo di immagine sezione, selezionare Immagine RStudio.
- Scegli Invio.
Ora puoi vedere una nuova voce nell'elenco. Vale la pena notare che, con l'introduzione del supporto delle immagini RStudio personalizzate, è possibile vederne una nuova Tipo di utilizzo colonna nella tabella per indicare se un'immagine è un'immagine RStudio o un'immagine Amazon Sage Maker Studio immagine.
Potrebbero essere necessari fino a 5-10 minuti prima che le immagini personalizzate siano disponibili nell'interfaccia utente di avvio della sessione. Puoi quindi avviare una nuova sessione R in RStudio su SageMaker con le tue immagini personalizzate.
Nel tempo, potresti voler ritirare le immagini vecchie e obsolete. Per rimuovere le immagini personalizzate dall'elenco delle immagini personalizzate in RStudio, seleziona le immagini nell'elenco e scegli Distaccare.
Scegli Distaccare di nuovo per confermare.
Aggiorna RStudio su SageMaker tramite l'AWS CLI
Le sezioni seguenti descrivono i passaggi per creare un'immagine SageMaker e allegarla per l'utilizzo in RStudio su SageMaker sulla console SageMaker e utilizzando l'AWS CLI. È possibile utilizzare lo script di esempio crea-e-aggiorna-immagine.sh.
Crea l'immagine SageMaker e la versione dell'immagine
Il primo passaggio consiste nel creare un'immagine SageMaker dall'immagine del container personalizzata in Amazon ECR eseguendo i due comandi seguenti:
Si noti che l'immagine personalizzata visualizzata nell'utilità di avvio della sessione in RStudio su SageMaker è determinata dall'input di --display-name
. Se il nome visualizzato facoltativo non viene fornito, l'input di --image-name
viene invece utilizzato. Tieni inoltre presente che il ruolo IAM consente a SageMaker di allegare un'immagine Amazon ECR a RStudio su SageMaker.
Crea un'AppImageConfig
Oltre a un'immagine SageMaker, che acquisisce l'URI dell'immagine da Amazon ECR, una configurazione dell'immagine dell'app (AppImageConfig) è richiesto per l'uso in un dominio SageMaker. Semplifichiamo la configurazione per un RSessionApp
image così possiamo semplicemente creare una configurazione segnaposto con il seguente comando:
Collega a un dominio SageMaker
Con l'immagine SageMaker e la configurazione dell'immagine dell'app create, siamo pronti per allegare l'immagine del contenitore personalizzata al dominio SageMaker. Per rendere disponibile un'immagine SageMaker personalizzata a tutti gli utenti RStudio all'interno di un dominio, allegare l'immagine al dominio come impostazione utente predefinita. Tutti gli utenti esistenti e tutti i nuovi utenti potranno utilizzare l'immagine personalizzata.
Per una migliore leggibilità, inseriamo la seguente configurazione nel file JSON default-user-settings.json:
In questo file, possiamo specificare l'immagine e AppImageConfig
coppie di nomi in un elenco in DefaultUserSettings.RSessionAppSettings.CustomImages
. Questo frammento di codice precedente presuppone che vengano create due immagini personalizzate.
Quindi esegui il comando seguente per aggiornare il dominio SageMaker:
Dopo aver aggiornato il dominio, potrebbero essere necessari fino a 5-10 minuti prima che le immagini personalizzate siano disponibili nell'interfaccia utente di avvio della sessione. Puoi quindi avviare una nuova sessione R in RStudio su SageMaker con le tue immagini personalizzate.
Stacca le immagini da un dominio SageMaker
Puoi staccare le immagini semplicemente rimuovendo il file ImageName
ed AppImageConfigName
coppie da default-user-settings.json
e aggiornare il dominio.
Ad esempio, aggiornando il dominio con quanto segue default-user-settings.json
rimuove r-4.1.3-rstudio-2022
dalla sessione R che avvia l'interfaccia utente e se ne va r-4.1.3-rstudio-1.4.1717-3
come unica immagine personalizzata disponibile per tutti gli utenti di un dominio:
ripulire
Per rimuovere in modo sicuro immagini e risorse nel dominio SageMaker, completare i seguenti passaggi in Pulisci le risorse dell'immagine.
Per rimuovere in modo sicuro RStudio su SageMaker e il dominio SageMaker, completare i seguenti passaggi in Elimina un dominio Amazon SageMaker per eliminare qualsiasi app RSessionGateway, profilo utente e dominio.
Per rimuovere in modo sicuro immagini e repository in Amazon ECR, completa i seguenti passaggi in Eliminazione di un'immagine.
Infine, per eliminare il modello CloudFormation:
- Nella console AWS CloudFormation, scegli Stack.
- Seleziona lo stack che hai distribuito per questa soluzione.
- Scegli Elimina.
Conclusione
RStudio su SageMaker rende semplice per i data scientist creare soluzioni di ML e analitiche in R su larga scala e per gli amministratori di gestire un solido ambiente di data science per i loro sviluppatori. I data scientist desiderano personalizzare l'ambiente in modo da poter utilizzare le librerie giuste per il lavoro giusto e ottenere la riproducibilità desiderata per ogni progetto ML. Gli amministratori devono standardizzare l'ambiente della scienza dei dati per motivi normativi e di sicurezza. Ora puoi creare immagini contenitore personalizzate che soddisfano i tuoi requisiti organizzativi e consentire ai data scientist di utilizzarle in RStudio su SageMaker.
Ti invitiamo a provarlo. Buon sviluppo!
Informazioni sugli autori
Michael Hesie è un Senior AI/ML Specialist Solutions Architect. Collabora con i clienti per far avanzare il loro percorso ML con una combinazione di offerte AWS ML e la sua conoscenza del dominio ML. Trapiantato a Seattle, ama esplorare la grande Madre Natura che la città ha da offrire, come i sentieri escursionistici, i paesaggi in kayak nella SLU e il tramonto a Shilshole Bay.
Declan Kelly è un software engineer nel team di Amazon SageMaker Studio. Ha lavorato su Amazon SageMaker Studio sin dal suo lancio ad AWS re:Invent 2019. Al di fuori del lavoro, ama le escursioni e l'arrampicata.
Sean Morgan è un architetto di soluzioni AI/ML presso AWS. Ha esperienza nel campo dei semiconduttori e della ricerca accademica e utilizza la sua esperienza per aiutare i clienti a raggiungere i propri obiettivi su AWS. Nel suo tempo libero, Sean è un attivo collaboratore e manutentore dell'open source ed è il capo del gruppo di interesse speciale per i componenti aggiuntivi di TensorFlow.
- Coinsmart. Il miglior scambio di bitcoin e criptovalute d'Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. ACCESSO LIBERO.
- Criptofalco. Radar Altcoin. Prova gratuita.
- Fonte: 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
- Chi siamo
- accesso
- Il mio account
- Raggiungere
- Action
- attivo
- aggiunta
- aggiuntivo
- amministratori
- avanzare
- Tutti
- consente
- già
- Amazon
- analitica
- App
- approcci
- opportuno
- Aprile
- disponibile
- AWS
- Baia
- perché
- essendo
- vantaggi
- Meglio
- fra
- sistema
- portare
- costruire
- Costruzione
- affari
- Può ottenere
- cattura
- Custodie
- il cambiamento
- scegliere
- scelte
- Scegli
- Città
- Cloud
- codice
- Colonna
- combinazione
- Uncommon
- compatibile
- completamento di una
- Calcolare
- Configurazione
- Collegamento
- consolle
- Contenitore
- contenuto
- continua
- collaboratore
- creare
- creato
- Creazione
- costume
- Clienti
- personalizzare
- dati
- scienza dei dati
- scienziato di dati
- dimostrare
- dipende
- schierato
- descrivere
- descritta
- dettagli
- sviluppatori
- Mercato
- Dsiplay
- distribuzioni
- docker
- non
- dominio
- giù
- scaricare
- ogni
- facilmente
- effetto
- incoraggiare
- motore
- ingegnere
- entrare
- Ambiente
- essenziali
- esempio
- esistente
- esperienza
- familiare
- campi
- Nome
- prima volta
- seguire
- i seguenti
- segue
- Gratis
- da
- pieno
- Inoltre
- ottenere
- Obiettivi
- grande
- Gruppo
- contento
- Aiuto
- titolare
- ospitato
- Tuttavia
- HTTPS
- Identità
- Immagine
- immagini
- realizzare
- importante
- dell'industria
- informazioni
- ingresso
- install
- esempio
- integrato
- interesse
- IT
- Lavoro
- viaggio
- conoscenze
- con i più recenti
- lanciare
- lancio
- portare
- apprendimento
- Licenza
- Licenze
- linea
- LINK
- Collegamento
- linux
- Lista
- locale
- macchina
- machine learning
- make
- FA
- Fare
- gestire
- gestito
- gestione
- direttore
- partita
- menzionato
- forza
- ordine
- ML
- Scopri di più
- Morgan
- maggior parte
- madre
- multiplo
- Natura
- Navigare
- esigenze
- GENERAZIONE
- offrire
- offerte
- operativo
- sistema operativo
- Opzioni
- organizzativa
- organizzazioni
- proprio
- punti
- Termini e Condizioni
- politica
- preferito
- presenti
- un bagno
- processi
- professionale
- Profilo
- Programmazione
- progetto
- progetti
- fornire
- purché
- fornitura
- la percezione
- rapidamente
- RE
- raggiungere
- motivi
- regione
- normativo
- rilasciare
- Uscite
- pertinente
- rimozione
- deposito
- rappresenta
- necessario
- Requisiti
- richiede
- riparazioni
- risorsa
- Risorse
- Ruolo
- Correre
- running
- tranquillamente
- Scala
- Scienze
- Scienziato
- scienziati
- Sean
- problemi di
- semiconduttore
- set
- regolazione
- flessibile.
- alcuni
- Condividi
- mostrare attraverso le sue creazioni
- mostrato
- Un'espansione
- da
- So
- Soft
- Software
- Software Engineer
- solido
- soluzione
- Soluzioni
- la nostra speciale
- specialista
- specializzata
- pila
- iniziato
- inizio
- dichiarazione
- Stato dei servizi
- negozi
- studio
- tramonto
- supporto
- supporti
- Interruttore
- sistema
- team
- terminal
- I
- Attraverso
- tempo
- oggi
- strumenti
- ui
- per
- Aggiornanento
- Aggiornamenti
- aggiornamento
- us
- uso
- utenti
- versione
- se
- entro
- senza
- Lavora
- lavoro
- lavori
- valore
- scrittura
- Trasferimento da aeroporto a Sharm