Oggi noi annunciato RStudio su Amazon SageMaker, il primo ambiente di sviluppo integrato (IDE) di machine learning (ML) nel cloud per data scientist che lavorano in R. Il linguaggio open source R e il suo ricco ecosistema con più di Pacchetti 18,000 è stata la scelta migliore per statistici, analisti quantistici, data scientist e ingegneri ML. RStudio su SageMaker consente ai data scientist di eseguire facilmente analisi statistiche, costruire modelli ML e creare contenuti di data science in un ambiente centralizzato per il team senza preoccuparsi dell'infrastruttura di calcolo.
Insieme a RStudio Workbench come parte della suite RStudio per sviluppatori R ci sono RStudio Connect e RStudio Package Manager. R Studio Connect rende facile far emergere le intuizioni di ML e data science dal complicato lavoro dei data scientist e metterle nelle mani dei decisori. RStudio Connect è progettato per consentire ai data scientist di pubblicare approfondimenti, dashboard e applicazioni web. RStudio Connect rende anche l'hosting e la gestione dei contenuti semplice e scalabile per un ampio consumo.
Gestore pacchetti RStudio aiuta a organizzare e centralizzare i pacchetti R tra i team e le organizzazioni ML. Man mano che i data scientist sviluppano i loro modelli ML, hanno bisogno di vari pacchetti con funzionalità diverse per i loro casi d'uso ML in RStudio. La gestione manuale delle fonti e delle versioni di questi pacchetti e di numerosi repository pubblici per gli utenti aziendali è soggetta a errori e richiede anche molto tempo. RStudio Package Manager mitiga questi problemi gestendo centralmente il repository dei pacchetti per la tua organizzazione in modo che i data scientist possano installare i pacchetti in modo rapido e sicuro e garantire la riproducibilità e la ripetibilità del progetto. La sicurezza e la riproducibilità sono gli aspetti più importanti nei settori regolamentati come la sanità e la finanza.
In questo post, ti mostriamo innanzitutto come progettare e distribuire RStudio Connect e RStudio Package Manager con una soluzione ben progettata in AWS. Ti mostriamo quindi come utilizzare RStudio Connect e RStudio Package Manager da RStudio su SageMaker. Usiamo un Set di dati sul cancro al seno UCI per creare diversi tipi di contenuti ML in linguaggio R in RStudio su SageMaker. Il contenuto ML che dimostriamo nel post include R Markdown e un'applicazione R Shiny
Panoramica della soluzione
L'architettura della soluzione si basa sulle versioni professionali dei contenitori RStudio Connect e RStudio Package Manager Docker. RStudio Connect e RStudio Package Manager sono configurati su due Zone di disponibilità per l'alta disponibilità. Entrambi i contenitori RStudio Connect e RStudio Package Manager supportano il ridimensionamento automatico per gestire il traffico in entrata a seconda del numero di richieste in entrata, della memoria e dell'utilizzo della CPU all'interno dei contenitori.
Le immagini del contenitore vengono archiviate e recuperate da Registro dei contenitori Amazon Elastic (Amazon ECR) con la scansione delle vulnerabilità abilitata. I problemi di vulnerabilità devono essere risolti prima di distribuire le immagini.
Il diagramma seguente illustra l'architettura della soluzione.
Di seguito sono riportati i passaggi del flusso di lavoro della soluzione:
- Gli utenti R accedono a RStudio Connect e RStudio Package Manager tramite Amazon percorso 53. Route 53 è un servizio DNS per le richieste in entrata.
- Route 53 risolve le richieste in arrivo e le inoltra a AWSWAF per i controlli di sicurezza.
- Le richieste valide raggiungono un Bilanciamento del carico dell'applicazione (ALB), che li inoltra al Servizio di container elastici Amazon (Amazon ECS). L'ALB controlla le richieste in entrata per un certificato HTTPS, che viene emesso e convalidato da Gestore certificati AWS.
- Amazon ECS controlla i container in un cluster di Cloud di calcolo elastico di Amazon (Amazon EC2) istanze (tipo di lancio EC2) in un Gruppo di ridimensionamento automatico ed è responsabile dell'aumento e della riduzione del numero di contenitori in base alle esigenze utilizzando un Fornitore di capacità Amazon ECS.
- Le richieste in arrivo vengono elaborate dal server RStudio Connect su uno qualsiasi dei contenitori RStudio Connect disponibili; gli utenti vengono autenticati e le applicazioni vengono visualizzate sul browser web. Le richieste di RStudio Package Manager vengono instradate al contenitore di Package Manager.
- Amazon Aurora senza server I database PostgreSQL vengono utilizzati per fornire disponibilità elevata utilizzando più contenitori sia per RStudio Connect che per RStudio Package Manager. Aurora esegue automaticamente il backup dei database del cluster serverless. I dati su Aurora vengono crittografati a riposo utilizzando Servizio di gestione delle chiavi AWS (AWSKMS).
- File system elastico Amazon (Amazon EFS) fornisce il file system persistente richiesto da RStudio Connect e RStudio Package Manager. I dati su Amazon EFS vengono crittografati quando sono inattivi utilizzando AWS KMS. Amazon EFS è un file system NFS che memorizza i dati in più zone di disponibilità in un Regione AWS per la durabilità dei dati e l'elevata disponibilità. I file creati sui montaggi Amazon EFS del container RStudio Connect e RStudio Package Manager vengono sottoposti automaticamente a backup da Amazon EFS.
- Se la sessione utente comunica con la rete Internet pubblica, le richieste in uscita vengono inviate a a Gateway NAT dalla sottorete del contenitore privato.
- Il gateway NAT invia le richieste in uscita da elaborare tramite un gateway internet. I percorsi verso Internet possono anche essere configurati da Gateway di transito AWS.
Usiamo Kit di sviluppo cloud AWS (AWS CDK) per Python per sviluppare il codice dell'infrastruttura e archiviare il codice in un file AWS CodeCommit repository, in modo che AWS Code Pipeline può integrare gli stack AWS CDK per build automatizzate.
Il codice di distribuzione utilizza Zone ospitate pubbliche di Route 53 per servire RStudio Connect e RStudio Package Manager su URL accessibili pubblicamente. Puoi usare Zone ospitate private di Route 53 per i container RStudio Connect e RStudio Package Manager con un ALB interno, che fornisce endpoint privati per gli utenti provenienti da RStudio su SageMaker in una modalità di connettività solo VPC. Ciò significa che non hai bisogno di un dominio pubblico preesistente nel tuo account AWS. Tuttavia, devi recuperare le immagini Docker pubbliche (R Studio Connect, Gestore pacchetti RStudio) e li archivia in un repository Amazon ECR privato e indirizza il codice di distribuzione a tali immagini per la creazione dell'infrastruttura.
Se tutte le comunicazioni tra i servizi AWS devono rimanere all'interno di AWS, puoi utilizzare Collegamento privato AWS per configurare gli endpoint VPC per i servizi AWS. AWS PrivateLink garantisce che il traffico tra i servizi non sia esposto a Internet per gli endpoint del servizio AWS.
Puoi anche fare riferimento a Soluzione RStudio Team di RStudio per scoprire come distribuire uno stack tecnologico RStudio su Amazon EC2 in AWS come alternativa alla soluzione discussa in questo post.
Prerequisiti
Per distribuire gli stack AWS CDK dal codice sorgente, è necessario esaminare ed eseguire i prerequisiti descritti nel documento allegato Repository GitHub per assicurarti di avere le risorse necessarie per procedere.
Avvia la soluzione
- Clona il file Repository GitHub, controlla il ramo rsc-rspme spostati nella cartella aws-fargate-with-rstudio-open-source.
- Crea un repository CodeCommit per conservare il codice sorgente per l'installazione di RStudio Connect/RStudio Package Manager con il seguente comando:
- Inserisci i parametri richiesti cdk.json dopo il passaggio 3 in Procedura di installazione sezione del readme file.
- installare il requisiti del pacchetto per l'applicazione AWS CDK:
- Prima di eseguire il commit del codice nel repository CodeCommit, sintetizza gli stack di AWS CDK. Ciò garantisce che tutti i valori di contesto necessari vengano inseriti nel file
cdk.context.json
file ed evita che i valori fittizi vengano mappati. - Esegui il commit delle modifiche nel repository CodeCommit che hai creato. Segui il passaggio 5 in Procedura di installazione del readme se hai bisogno di aiuto con i comandi Git.
- Distribuisci gli stack AWS CDK per installare RStudio Connect/RStudio Package Manager utilizzando CodePipeline. Questo passaggio richiede circa 30 minuti.
- Passare alla Console CodePipeline (il link ti porta al
us-west-2
Regione). Monitorare la pipeline e verificare che i servizi siano stati compilati correttamente.
Il nome della pipeline è RSC-RSPM-App-Pipeline-<instance>
. Da questo punto in poi, la pipeline viene attivata sui commit nel repository CodeCommit che hai creato. Non c'è bisogno di correre cdk deploy
(Passaggio 7) più.
- Al termine dell'installazione della pipeline, è possibile accedere a RStudio Connect e RStudio Package Manager utilizzando i seguenti URL, dove
r53_base_domain
einstance
sono i parametri che hai passato cdk.json:https://connect.<instance>.<r53_base_domain>
https://package.<instance>.<r53_base_domain>
- Puoi usare Dirigente Amazon ECS per accedere a entrambi i contenitori RStudio Connect e RStudio Package Manager. Segui il readme per le istruzioni.
Gestisci i pacchetti con RStudio Package Manager
RStudio Package Manager aiuta a consentire la coerenza e la standardizzazione dei pacchetti R all'interno di un'organizzazione. In RStudio Package Manager, un amministratore IT può includere un pacchetto approvato nel repository. È possibile creare più gruppi per avere accesso a diversi pacchetti o versioni del pacchetto. RStudio Package Manager gestisce anche tutti gli aggiornamenti e il controllo delle versioni dei pacchetti. L'amministratore può abilitare gli aggiornamenti automatici ai pacchetti oppure può anche configurare RStudio Package Manager in modo che i pacchetti possano essere aggiornati solo manualmente, il che fornisce un maggiore isolamento tra RStudio Package Manager e il servizio CRAN.
Configura Gestione pacchetti RStudio
Possiamo creare un repository che estrae i pacchetti da RStudio CRAN utilizzando il file seguenti comandi. Abbiamo bisogno di SSH in RStudio Package Manager utilizzando Amazon ECS Exec per eseguire questi comandi.
I comandi creano un repository e lo sottoscrivono alla sorgente integrata denominata cran
. Quando questo è completo, il dev-cran
repository è disponibile nell'interfaccia Web di RStudio Package Manager, come mostrato nello screenshot seguente. Questa interfaccia Web è accessibile dall'amministratore e dagli utenti che ne dispongono l'URL.
Oltre a servire pacchetti CRAN, è possibile creare repository per distribuire pacchetti locali, pacchetti Git, pacchetti locali insieme a pacchetti CRAN, un sottoinsieme di pacchetti CRAN e locali approvati e pacchetti all'avanguardia da GitHub. Per ulteriori dettagli su come creare repository, vedere Al servizio dei pacchetti CRAN. Inoltre, RStudio Package Manager supporta Bioconduttore. Il bioconduttore è un ecosistema comunemente usato di pacchetti R nelle scienze della vita. Possiamo combinare pacchetti Bioconductor con CRAN e pacchetti locali in RStudio Package Manager.
Versioni del pacchetto RStudio Package Manager
Nell'interfaccia web di RStudio Package Manager, su Impostare scheda, puoi scegliere un repository per data in una visualizzazione del calendario. Puoi anche scegliere se utilizzare l'ultima versione dei pacchetti o congelare i pacchetti su una particolare istantanea, come mostrato nello screenshot seguente.
Sulla Impostare scheda, possiamo anche vedere quali prerequisiti di sistema potrebbero essere necessari per i pacchetti del repository, insieme ai comandi per installarli.
Configura un dominio RStudio su SageMaker per utilizzare RStudio Connect e RStudio Package Manager
Quando crei un dominio SageMaker con RStudio, hai la possibilità di impostare un server RStudio Connect predefinito e un repository RStudio Package Manager per tutti gli utenti nel tuo dominio SageMaker. Durante il processo di creazione del dominio SageMaker, come dettagliato nel file Crea un dominio SageMaker con RStudio sezione in Nozioni di base su RStudio su Amazon SageMaker, puoi configurare gli URL predefiniti di RStudio Connect e RStudio Package Manager per tutti i profili utente in Passaggio 3: impostazioni di RStudio. For R Studio Connect, immettere l'URL del server RStudio Connect. Per Gestore pacchetti RStudio, inserire un repository CRAN o Bioconductor.
Gli URL predefiniti sono configurati e salvati in /etc/rstudio/rsession.conf
per tutti gli utenti di RStudio su SageMaker. Puoi verificare il repository predefinito nella console R con options('repos')
. Dovresti vedere un repository che punta al tuo RStudio Package Manager. Per quanto riguarda l'URL RStudio Connect predefinito, viene popolato automaticamente quando pubblichi con un clic un contenuto R.
Aggiornamento di un repository da RStudio Package Manager in una sessione R
Se disponi già di un RStudio funzionante su SageMaker e desideri utilizzare un repository diverso, puoi configurare la tua sessione R in RStudio su SageMaker per utilizzare un repository dal tuo RStudio Package Manager con i seguenti passaggi:
- In una sessione R, su Strumenti menù, scegliere Opzioni globali.
- Scegli Pack e quindi scegliere Cambiamento di.
- Nel Custom campo, inserire l'URL per il repository selezionato (disponibile nel file Impostare scheda dell'interfaccia Web di RStudio Package Manager) e scegliere OK.
- Scegli OK di nuovo, e abbiamo finito!
Ora, i pacchetti che installiamo in RStudio provengono dal repository selezionato dal tuo server RStudio Package Manager. Puoi verificarlo con options('repos')
o installando un pacchetto e vedendo da dove sta estraendo. Per maggiori dettagli, cfr Verifica del successo.
Aggiorna l'account RStudio Connect in una sessione R
Se disponi già di un RStudio funzionante su SageMaker e desideri utilizzare un server RStudio Connect diverso da quello predefinito, completa i seguenti passaggi:
- Sulla Strumenti menù, scegliere Opzioni globali.
- Scegli editoriale.
- Scegli Connettiti.
- Scegli R Studio Connect.
- Inserisci l'URL pubblico del tuo server, ad esempio,
https://xxxx.rstudioconnect.com
e scegli Avanti.
Viene visualizzata una nuova pagina che ti chiede di accedere con un account se è la prima volta.
- Scegli Connettiti procedere.
- Scegli Connetti account nella finestra di dialogo in RStudio.
Dovresti vedere il tuo profilo utente RStudio Connect e l'URL del server nell'elenco.
Per ulteriori informazioni, vedere Collega il tuo account RStudioe Connessione: IDE RStudio.
Ora il server RStudio Connect è connesso correttamente a RStudio su Amazon SageMaker. Siamo pronti per creare dei fantastici contenuti e pubblicarli.
Crea contenuti ML in RStudio su Amazon SageMaker
Puoi facilmente creare un'analisi all'interno di RStudio su Amazon SageMaker e pubblicarla tramite pulsante sul tuo RStudio Connect in modo che i tuoi collaboratori possano utilizzare la tua analisi. Per questo post, usiamo a Set di dati sul cancro al seno UCI da mlbench
per esaminare alcuni dei casi d'uso comuni della pubblicazione: R Markdown e Shiny app.
R Ribasso
R Markdown è un ottimo strumento per eseguire le tue analisi in R come parte di un file markdown e condividerle in RStudio Connect. In rsconnect_rmarkdown/breast_cancer_eda.Rmd
, eseguiamo due semplici analisi e grafici sul set di dati insieme ai testi in markdown:
Possiamo visualizzare in anteprima il file scegliendo Lavorare a maglia e pubblicalo su RStudio Connect scegliendo Pubblica.
Oltre a R Markdown, il più delle volte stai costruendo un'applicazione o un dashboard interattivo con Shiny. Diamo un'occhiata a come possiamo pubblicare app Shiny da RStudio su Amazon SageMaker su RStudio Connect.
Applicazione lucida
Brillante è un pacchetto R che semplifica la creazione di applicazioni Web interattive a livello di programmazione. È popolare tra i data scientist condividere le proprie analisi e modelli attraverso un'applicazione Shiny con le parti interessate. In rsconnect_shiny/breast-cancer-app/
, sviluppiamo un modello ML in breast_cancer_modeling.r
e creare un'applicazione Web per consentire agli utenti di interagire con i dati e il modello ML.
Per pubblicare, apri app.R
e scegli Pubblica. Seleziona entrambi app.R
ed breast_cancer_modeling.r
Pubblicare.
Nell'applicazione, è possibile modificare due funzioni da visualizzare nel grafico e selezionare i punti dati nel grafico per vedere i dati effettivi e le previsioni del modello sul fatto che si tratti di casi di cancro benigni o maligni. Facendo scorrere la soglia di probabilità è possibile interagire con il modello e ottenere conteggi di classificazione diversi. Puoi vedere la dashboard in azione nello screenshot seguente.
Conclusione
In questo post, ti abbiamo mostrato come distribuire i server RStudio Connect e RStudio Package Manager in AWS con un'architettura basata su AWS Fargate e Amazon ECS, utilizzando AWS CDK. Con RStudio Connect e RStudio Package Manager in esecuzione nel cloud, ti abbiamo mostrato come utilizzarli da RStudio su Amazon SageMaker. Quindi abbiamo dimostrato come distribuire materiali basati su R come le applicazioni R Markdown e Shiny nell'istanza RStudio Connect in base a un caso d'uso di previsione del cancro al seno.
Avere un'istanza di RStudio Connect nel cloud non solo consente ai team di ML e di data science di collaborare in modo più efficace, ma rende anche molto più semplice la condivisione di approfondimenti ML tra le parti interessate e le unità aziendali. Ciò a sua volta promuove l'uso del machine learning nella tua organizzazione per un migliore risultato aziendale. Con RStudio Package Manager, puoi gestire, servire e installare in modo rapido e sicuro i pacchetti R da fonti attendibili per garantire la riproducibilità del progetto.
Puoi saperne di più su RStudio su SageMaker dal punto di vista di un data scientist nel post Annuncio di RStudio completamente gestito su Amazon SageMaker per i data scientist. Puoi anche saperne di più su come configurare e amministrare RStudio su SageMaker nel post Iniziare con RStudio su Amazon SageMaker. Per ulteriori informazioni su Amazon SageMaker Studio, il primo IDE per ML nel cloud, consulta Amazon Sage Maker Studio.
Informazioni sugli autori
Michael Hesie è un Senior AI/ML Specialist Solutions Architect. Lavora con i clienti per far progredire il loro percorso di ML con una combinazione di offerte di Amazon Machine Learning e la sua conoscenza del dominio ML. Come trapiantato a Seattle, ama esplorare la grande madre natura che la regione ha da offrire, come i sentieri escursionistici, il kayak panoramico nella SLU e il tramonto a Shilshole Bay.
Chayan Panda è un architetto di infrastrutture cloud. Fornisce servizi di consulenza e leadership di pensiero ai clienti AWS su una solida progettazione di soluzioni per migrazioni cloud, infrastruttura cloud (sicurezza, rete, DevOps), implementazioni di piattaforme Greenfield, big data/AI/ML e soluzioni serverless e database. Quando non è ossessionato dai clienti, si diverte a fare una breve corsa, ascoltare musica, leggere un libro o viaggiare con la sua famiglia.
Farooq Sabir è un Senior AI/ML Specialist Solutions Architect. Aiuta i clienti a risolvere i loro problemi aziendali utilizzando la scienza dei dati, l'apprendimento automatico e l'intelligenza artificiale.
- '
- 000
- 100
- 7
- 9
- accesso
- Il mio account
- Action
- consultivo
- Tutti
- Amazon
- Amazon EC2
- Apprendimento automatico di Amazon
- Amazon Sage Maker
- tra
- .
- App
- Applicazioni
- applicazioni
- applicazioni
- architettura
- in giro
- intelligenza artificiale
- Aurora
- Automatizzata
- disponibilità
- AWS
- Baia
- Nero
- Bleeding Edge
- Cancro al seno
- del browser
- costruire
- Costruzione
- affari
- Calendario
- Cancro
- Ultra-Grande
- casi
- a livello internazionale
- il cambiamento
- Controlli
- classificazione
- Cloud
- infrastruttura cloud
- codice
- arrivo
- Uncommon
- Comunicazioni
- Calcolare
- Connettività
- consumare
- consumo
- Contenitore
- Tecnologie Container
- contenuto
- Creazione
- Clienti
- cruscotto
- dati
- scienza dei dati
- Banca Dati
- banche dati
- Design
- sviluppare
- sviluppatori
- Mercato
- DevOps
- dns
- docker
- ecosistema
- bordo
- Ingegneri
- Impresa
- Ambiente
- famiglia
- Caratteristiche
- finanziare
- Nome
- prima volta
- seguire
- Congelare
- gif
- Idiota
- GitHub
- grande
- assistenza sanitaria
- Alta
- escursionismo
- tenere
- di hosting
- Come
- Tutorial
- HTTPS
- ICS
- industrie
- informazioni
- Infrastruttura
- intuizioni
- Intelligence
- interattivo
- Internet
- da solo
- sicurezza
- IT
- Le
- conoscenze
- Lingua
- con i più recenti
- lanciare
- Leadership
- IMPARARE
- apprendimento
- Life Sciences
- LINK
- Lista
- caricare
- locale
- machine learning
- gestione
- Materiale
- ML
- modello
- madre
- cambiano
- Musica
- Rete
- offrire
- offerte
- aprire
- Opzione
- organizzazione
- organizzazioni
- prospettiva
- piattaforma
- Popolare
- predizione
- Previsioni
- Anteprima
- un bagno
- Profilo
- Profili
- progetto
- la percezione
- pubblicare
- traino
- Python
- Quant
- Requisiti
- Risorse
- REST
- recensioni
- strada
- Correre
- running
- sagemaker
- scala
- scansione
- Scienze
- SCIENZE
- scienziati
- Seattle
- problemi di
- selezionato
- serverless
- Servizi
- servizio
- set
- Condividi
- Corti
- Un'espansione
- Istantanea
- So
- Soluzioni
- RISOLVERE
- iniziato
- soggiorno
- Tornare al suo account
- negozi
- tramonto
- supporto
- supporti
- superficie
- sistema
- Tecnologia
- L’ORIGINE
- leadership di pensiero
- tempo
- top
- traffico
- transito
- viaggiare
- Aggiornamenti
- utenti
- Visualizza
- vulnerabilità
- sito web
- applicazioni web
- browser web
- OMS
- entro
- Lavora
- flusso di lavoro
- lavori