Aujourd'hui nous a annoncé RStudio sur Amazon SageMaker, le premier environnement de développement intégré (IDE) d'apprentissage automatique (ML) dans le cloud pour les data scientists travaillant dans R. Le langage open source R et son riche écosystème avec plus de 18,000 emballages est un choix privilégié pour les statisticiens, les analystes quantitatifs, les data scientists et les ingénieurs ML. RStudio sur SageMaker permet aux data scientists d'exécuter facilement des analyses statistiques, de créer des modèles de ML et de créer du contenu de science des données dans un environnement centralisé pour l'équipe sans se soucier de l'infrastructure de calcul.
Outre RStudio Workbench, dans le cadre de la suite RStudio pour les développeurs R, figurent RStudio Connect et RStudio Package Manager. Connexion RStudio permet de faire apparaître facilement des informations sur le ML et la science des données à partir du travail complexe des data scientists et de les mettre entre les mains des décideurs. RStudio Connect est conçu pour permettre aux data scientists de publier des informations, des tableaux de bord et des applications Web. RStudio Connect rend également l'hébergement et la gestion du contenu simples et évolutifs pour une large consommation.
Gestionnaire de packages RStudio aide à organiser et à centraliser les packages R dans les équipes et les organisations ML. À mesure que les data scientists développent leurs modèles ML, ils ont besoin de divers packages dotés de différentes capacités pour leurs cas d'utilisation ML dans RStudio. La gestion manuelle des sources et des versions de ces packages et de nombreux référentiels publics pour les utilisateurs d'entreprise est sujette à des erreurs et prend également du temps. RStudio Package Manager atténue ces problèmes en gérant le référentiel de packages de manière centralisée pour votre organisation afin que les data scientists puissent installer les packages rapidement et en toute sécurité, et garantir la reproductibilité et la répétabilité du projet. La sécurité et la reproductibilité sont les aspects les plus importants dans les secteurs réglementés tels que la santé et la finance.
Dans cet article, nous vous montrons d'abord comment concevoir et déployer RStudio Connect et RStudio Package Manager avec une solution bien architecturée dans AWS. Nous vous montrons ensuite comment utiliser RStudio Connect et RStudio Package Manager de RStudio sur SageMaker. Nous utilisons un Ensemble de données UCI sur le cancer du sein pour créer plusieurs types de contenu ML en langage R dans RStudio sur SageMaker. Le contenu ML que nous démontrons dans l'article inclut R Markdown et une application R Shiny
Vue d'ensemble de la solution
L'architecture de la solution est basée sur les versions professionnelles des conteneurs RStudio Connect et RStudio Package Manager Docker. RStudio Connect et RStudio Package Manager sont configurés sur deux Zones de disponibilité pour une haute disponibilité. Les conteneurs RStudio Connect et RStudio Package Manager prennent en charge la mise à l'échelle automatique pour gérer le trafic entrant en fonction du nombre de requêtes entrantes, de la mémoire et de l'utilisation du processeur dans les conteneurs.
Les images de conteneurs sont stockées et récupérées depuis Registre des conteneurs élastiques Amazon (Amazon ECR) avec analyse des vulnérabilités activée. Les problèmes de vulnérabilité doivent être résolus avant de déployer les images.
Le diagramme suivant illustre l'architecture de la solution.
Voici les étapes du flux de travail de la solution :
- Les utilisateurs R accèdent à RStudio Connect et RStudio Package Manager via Amazon Route 53. Route 53 est un service DNS pour les requêtes entrantes.
- Route 53 résout les demandes entrantes et les transmet à AWSWAF pour les contrôles de sécurité.
- Les demandes valides parviennent à un Équilibreur de charge d'application (ALB), qui les transmet au Service de conteneur élastique Amazon (Amazon ECS). L'ALB vérifie les demandes entrantes pour un certificat HTTPS, qui est émis et validé par Gestionnaire de certificats AWS.
- Amazon ECS contrôle les conteneurs dans un cluster de Cloud de calcul élastique Amazon (Amazon EC2) (type de lancement EC2) dans un Groupe Mise à l'échelle automatique et est responsable de l'augmentation et de la réduction du nombre de conteneurs selon les besoins à l'aide d'un Fournisseur de capacité Amazon ECS.
- Les demandes entrantes sont traitées par le serveur RStudio Connect sur l'un des conteneurs RStudio Connect disponibles ; les utilisateurs sont authentifiés et les applications sont affichées sur le navigateur Web. Les requêtes RStudio Package Manager sont acheminées vers le conteneur Package Manager.
- Amazon Aurora sans serveur Les bases de données PostgreSQL sont utilisées pour fournir une haute disponibilité en utilisant plusieurs conteneurs pour RStudio Connect et RStudio Package Manager. Aurora sauvegarde automatiquement les bases de données du cluster sans serveur. Les données sur Aurora sont chiffrées au repos à l'aide Service de gestion des clés AWS (AWS KMS).
- Système de fichiers Amazon Elastic (Amazon EFS) fournit le système de fichiers persistant requis par RStudio Connect et RStudio Package Manager. Les données sur Amazon EFS sont chiffrées au repos à l'aide d'AWS KMS. Amazon EFS est un système de fichiers NFS qui stocke les données dans plusieurs zones de disponibilité dans un Région AWS pour la durabilité des données et la haute disponibilité. Les fichiers créés sur les montages Amazon EFS du conteneur RStudio Connect et RStudio Package Manager sont automatiquement sauvegardés par Amazon EFS.
- Si la session utilisateur communique avec l'Internet public, les requêtes sortantes sont envoyées à un passerelle NAT du sous-réseau du conteneur privé.
- La passerelle NAT envoie des requêtes sortantes à traiter via un passerelle internet. Les routes vers Internet peuvent également être configurées par Passerelle de transit AWS.
Nous utilisons Kit de développement AWS Cloud (AWS CDK) pour Python pour développer le code de l'infrastructure et stocker le code dans un Code AWSCommit référentiel, afin que AWS CodePipeline peut intégrer les piles AWS CDK pour les générations automatisées.
Le code de déploiement utilise Zones hébergées publiques Route 53 pour gérer RStudio Connect et RStudio Package Manager sur des URL accessibles au public. Vous pouvez utiliser Zones hébergées privées Route 53 pour les conteneurs RStudio Connect et RStudio Package Manager avec un ALB interne, qui fournit des points de terminaison privés pour les utilisateurs provenant de RStudio sur SageMaker dans un mode de connectivité VPC uniquement. Cela signifie que vous n'avez pas besoin d'un domaine public préexistant dans votre compte AWS. Cependant, vous devez récupérer les images Docker publiques (Connexion RStudio, Gestionnaire de packages RStudio) et stockez-les dans un référentiel Amazon ECR privé et pointez le code de déploiement vers ces images pour la construction de l'infrastructure.
Si toutes les communications entre les services AWS doivent rester au sein d'AWS, vous pouvez utiliser Lien privé AWS pour configurer les points de terminaison d'un VPC pour les services AWS. AWS PrivateLink garantit que le trafic interservices n'est pas exposé à Internet pour les points de terminaison du service AWS.
Vous pouvez également vous référer au Solution RStudio Team de RStudio pour apprendre à déployer une pile technologique RStudio sur Amazon EC2 dans AWS comme alternative à la solution discutée dans cet article.
Pré-requis
Pour déployer les piles AWS CDK à partir du code source, vous devez examiner et exécuter les conditions préalables décrites dans le document joint. GitHub référentiel pour vous assurer que vous disposez des ressources nécessaires pour procéder.
Lancer la solution
- Cloner le GitHub référentiel, Vérifiez branche rsc-rspm, puis déplacez-vous dans le dossier aws-fargate-with-rstudio-open-source.
- Créer un référentiel CodeCommit pour contenir le code source pour l'installation de RStudio Connect/RStudio Package Manager avec la commande suivante :
- Passez les paramètres requis dans cdk.json après l'étape 3 du Procédure d'installation l'article de l' readme fichier.
- Installez l' exigences du forfait pour l'application AWS CDK :
- Avant de valider le code dans le référentiel CodeCommit, synthétisez les piles AWS CDK. Cela garantit que toutes les valeurs de contexte nécessaires sont renseignées dans le
cdk.context.json
fichier et évite que les valeurs factices soient mappées. - Validez les modifications dans le référentiel CodeCommit que vous avez créé. Suivez l'étape 5 du Procédure d'installation du fichier Lisez-moi si vous avez besoin d'aide avec les commandes Git.
- Déployez les piles AWS CDK pour installer RStudio Connect/RStudio Package Manager à l'aide de CodePipeline. Cette étape dure environ 30 minutes.
- Accédez à la Console CodePipeline (le lien vous amène au
us-west-2
Région). Surveillez le pipeline et confirmez que les services sont créés avec succès.
Le nom du pipeline est RSC-RSPM-App-Pipeline-<instance>
. À partir de ce moment, le pipeline est déclenché lors des validations dans le référentiel CodeCommit que vous avez créé. Il n'est pas nécessaire de courir cdk deploy
(Étape 7) plus.
- Une fois l'installation du pipeline terminée, vous pouvez accéder à RStudio Connect et à RStudio Package Manager à l'aide des URL suivantes, où
r53_base_domain
et uneinstance
sont des paramètres que vous avez transmis cdk.json:https://connect.<instance>.<r53_base_domain>
https://package.<instance>.<r53_base_domain>
- Vous pouvez utiliser Exécutif Amazon ECS pour vous connecter aux conteneurs RStudio Connect et RStudio Package Manager. Suivre la readme pour obtenir des instructions.
Gérer les packages avec RStudio Package Manager
RStudio Package Manager aide à assurer la cohérence et la standardisation des packages R dans une organisation. Dans RStudio Package Manager, un administrateur informatique peut inclure un package approuvé dans le référentiel. Plusieurs groupes peuvent être créés pour avoir accès à différents packages ou versions de packages. RStudio Package Manager gère également toutes les mises à jour et versions des packages. L'administrateur peut activer les mises à jour automatiques des packages ou peut également configurer RStudio Package Manager de manière à ce que les packages ne puissent être mis à jour que manuellement, ce qui offre plus d'isolation entre RStudio Package Manager et le service CRAN.
Configurer le gestionnaire de packages RStudio
Nous pouvons créer un référentiel qui extrait les packages du RStudio CRAN en utilisant le commandes suivantes. Nous devons nous connecter en SSH à RStudio Package Manager à l'aide d'Amazon ECS Exec pour exécuter ces commandes.
Les commandes créent un référentiel et l'abonnent à la source intégrée nommée cran
. Lorsque cela est terminé, le dev-cran
Le référentiel est disponible dans l'interface Web de RStudio Package Manager, comme indiqué dans la capture d'écran suivante. Cette interface web est accessible par l'administrateur ainsi que par les utilisateurs qui en possèdent l'URL.
En plus de servir les packages CRAN, des référentiels peuvent être créés pour distribuer des packages locaux, des packages Git, des packages locaux ainsi que des packages CRAN, un sous-ensemble de packages CRAN et locaux approuvés et des packages de pointe de GitHub. Pour plus de détails sur la façon de créer des référentiels, voir Servir les packages CRAN. De plus, RStudio Package Manager prend en charge Bioconducteur. Bioconductor est un écosystème de packages R couramment utilisé dans les sciences de la vie. Nous pouvons combiner les packages Bioconductor avec CRAN ainsi que les packages locaux dans RStudio Package Manager.
Versions du package RStudio Package Manager
Dans l'interface Web de RStudio Package Manager, sur le installation , vous pouvez choisir un référentiel par date dans une vue calendrier. Vous pouvez également choisir d'utiliser la dernière version des packages ou de geler les packages sur un instantané particulier, comme indiqué dans la capture d'écran suivante.
Sur le installation , nous pouvons également voir quelles conditions système prérequises pourraient être nécessaires pour les packages du référentiel, ainsi que les commandes pour les installer.
Configurer un domaine RStudio sur SageMaker pour utiliser RStudio Connect et RStudio Package Manager
Lors de la création d'un domaine SageMaker avec RStudio, vous avez la possibilité de définir un serveur RStudio Connect et un référentiel RStudio Package Manager par défaut pour tous les utilisateurs de votre domaine SageMaker. Pendant le processus de création de domaine SageMaker, comme détaillé dans le Créer un domaine SageMaker avec RStudio section Premiers pas avec RStudio sur Amazon SageMaker, vous pouvez configurer les URL par défaut de RStudio Connect et de RStudio Package Manager pour tous les profils utilisateur dans Étape 3 : Paramètres RStudio. For Connexion RStudio, entrez l'URL du serveur RStudio Connect. Pour Gestionnaire de packages RStudio, entrez un CRAN ou un référentiel Bioconductor.
Les URL par défaut sont configurées et enregistrées dans /etc/rstudio/rsession.conf
pour tous les utilisateurs de RStudio sur SageMaker. Vous pouvez vérifier le référentiel par défaut dans la console R avec options('repos')
. Vous devriez voir un référentiel pointant vers votre gestionnaire de packages RStudio. Quant à l’URL RStudio Connect par défaut, elle est automatiquement renseignée lorsque vous publiez en un clic un élément de contenu R.
Mise à jour d'un référentiel depuis RStudio Package Manager dans une session R
Si vous disposez déjà d'un RStudio fonctionnel sur SageMaker et que vous souhaitez utiliser un référentiel différent, vous pouvez configurer votre session R dans RStudio sur SageMaker pour utiliser un référentiel de votre gestionnaire de packages RStudio en procédant comme suit :
- Dans une session R, sur le Outils menu, choisissez Options globales.
- Selectionnez Formules puis choisissez Modifier.
- Dans le Coutume , saisissez l'URL du référentiel sélectionné (trouvé sur le installation de l'interface Web de RStudio Package Manager), et choisissez OK.
- Selectionnez OK encore une fois, et c'est fini !
Désormais, les packages que nous installons dans RStudio proviennent du référentiel sélectionné sur votre serveur RStudio Package Manager. Vous pouvez le vérifier avec options('repos')
ou en installant un package et en voyant d'où il provient. Pour plus de détails, voir Vérification du succès.
Mettre à jour le compte RStudio Connect dans une session R
Si vous disposez déjà d'un RStudio fonctionnel sur SageMaker et que vous souhaitez utiliser un serveur RStudio Connect différent de celui par défaut, procédez comme suit :
- Sur le Outils menu, choisissez Options globales.
- Selectionnez Édition.
- Selectionnez NOUS CONTACTER.
- Selectionnez Connexion RStudio.
- Saisissez l'URL publique de votre serveur, par exemple :
https://xxxx.rstudioconnect.com
et choisissez Suivant.
Une nouvelle page apparaît vous demandant de vous connecter avec un compte si c'est la première fois.
- Selectionnez NOUS CONTACTER procéder.
- Selectionnez Connecter le compte dans la boîte de dialogue de RStudio.
Vous devriez voir votre profil utilisateur RStudio Connect et l'URL du serveur dans la liste.
Pour plus d'informations, voir Connectez votre compte RStudioet une Connexion : IDE RStudio.
Le serveur RStudio Connect est désormais connecté avec succès au RStudio sur Amazon SageMaker. Nous sommes prêts à créer du contenu de qualité et à le publier.
Créer du contenu ML dans RStudio sur Amazon SageMaker
Vous pouvez facilement créer une analyse dans RStudio sur Amazon SageMaker et la publier en un seul clic sur votre RStudio Connect afin que vos collaborateurs puissent utiliser votre analyse. Pour cet article, nous utilisons un Ensemble de données UCI sur le cancer du sein De mlbench
pour parcourir certains des cas d'utilisation courants de publication : R Markdown et l'application Shiny.
Démarque R
R Markdown est un excellent outil pour exécuter vos analyses dans R dans le cadre d'un fichier markdown et les partager dans RStudio Connect. Dans rsconnect_rmarkdown/breast_cancer_eda.Rmd
, nous effectuons deux analyses simples et traçons sur l'ensemble de données ainsi que les textes en markdown :
Nous pouvons prévisualiser le fichier en choisissant Tricoter et publiez-le sur RStudio Connect en choisissant Publier.
Outre R Markdown, le plus souvent, vous créez une application ou un tableau de bord interactif avec Shiny. Voyons comment nous pouvons publier des applications Shiny de RStudio sur Amazon SageMaker vers RStudio Connect.
Application brillante
Shiny est un package R qui facilite la création d'applications Web interactives par programmation. Il est courant parmi les data scientists de partager leurs analyses et modèles via une application Shiny avec leurs parties prenantes. Dans rsconnect_shiny/breast-cancer-app/
, nous développons un modèle ML dans breast_cancer_modeling.r
et créez une application Web pour permettre aux utilisateurs d'interagir avec les données et le modèle ML.
Pour publier, ouvrez app.R
et choisissez Publier. Sélectionnez les deux app.R
et les breast_cancer_modeling.r
de publier.
Dans l'application, vous pouvez modifier deux fonctionnalités à visualiser dans le tracé et sélectionner les points de données dans le tracé pour voir les données réelles et modéliser les prédictions indiquant s'il s'agit de cas de cancer bénins ou malins. En faisant glisser le seuil de probabilité, vous pouvez interagir avec le modèle et obtenir des décomptes de classification différents. Vous pouvez voir le tableau de bord en action dans la capture d'écran suivante.
Conclusion
Dans cet article, nous vous avons montré comment déployer des serveurs RStudio Connect et RStudio Package Manager dans AWS avec une architecture basée sur AWS Fargate et Amazon ECS, à l'aide d'AWS CDK. Avec RStudio Connect et RStudio Package Manager exécutés dans le cloud, nous vous avons montré comment les utiliser depuis RStudio sur Amazon SageMaker. Nous avons ensuite démontré comment déployer des matériaux basés sur R tels que des applications R Markdown et Shiny sur l'instance RStudio Connect en fonction d'un cas d'utilisation de prédiction du cancer du sein.
Avoir une instance RStudio Connect dans le cloud permet non seulement à vos équipes de ML et de science des données de collaborer plus efficacement, mais facilite également le partage d'informations sur le ML entre les parties prenantes et les unités commerciales. Cela favorise à son tour l’utilisation du ML dans votre organisation pour de meilleurs résultats commerciaux. Avec RStudio Package Manager, vous pouvez gérer, servir et installer rapidement et en toute sécurité des packages R à partir de sources fiables pour garantir la reproductibilité du projet.
Vous pouvez en savoir plus sur RStudio sur SageMaker du point de vue d'un data scientist dans l'article Annonce de RStudio entièrement géré sur Amazon SageMaker pour les scientifiques de données. Vous pouvez également en savoir plus sur la configuration et l'administration de RStudio sur SageMaker dans l'article Premiers pas avec RStudio sur Amazon SageMaker. Pour en savoir plus sur Amazon SageMaker Studio, le premier IDE pour ML dans le cloud, consultez Amazon SageMakerStudio.
À propos des auteurs
Michel Hsieh est un architecte de solutions spécialisé senior en IA/ML. Il travaille avec les clients pour faire progresser leur parcours ML grâce à une combinaison d'offres Amazon Machine Learning et de sa connaissance du domaine ML. En tant que transplanté de Seattle, il adore explorer la grande nature que la région a à offrir, comme les sentiers de randonnée, les paysages en kayak dans le SLU et le coucher de soleil sur la baie de Shilshole.
Panda Chayan est un architecte d'infrastructure cloud. Il fournit des services de conseil et un leadership éclairé aux clients AWS sur la conception de solutions robustes pour les migrations cloud, l'infrastructure cloud (sécurité, réseau, DevOps), les implémentations de plateformes Greenfield, le big data/IA/ML et les solutions sans serveur et de bases de données. Lorsqu'il n'est pas obsédé par les clients, il aime les petits trajets, la musique, un livre ou voyager avec sa famille.
Farouq Sabir est un architecte de solutions spécialisé senior en IA/ML. Il aide les clients à résoudre leurs problèmes commerciaux en utilisant la science des données, l'apprentissage automatique et l'intelligence artificielle.
- '
- 000
- 100
- 7
- 9
- accès
- Compte
- Action
- consultatif
- Tous
- Amazon
- Amazon EC2
- Apprentissage automatique d'Amazon
- Amazon Sage Maker
- parmi
- selon une analyse de l’Université de Princeton
- appli
- Application
- applications
- applications
- architecture
- autour
- intelligence artificielle
- Aurora
- Automatisation
- disponibilité
- AWS
- baie
- Noir
- Bord de saignement
- Cancer du sein
- navigateur
- construire
- Développement
- la performance des entreprises
- Calendrier
- Cancer
- Compétences
- cas
- certificat
- Change
- Contrôles
- classification
- le cloud
- infrastructure de cloud
- code
- Venir
- Commun
- Communications
- calcul
- Connectivité
- consommer
- consommation
- Contenant
- Conteneurs
- contenu
- La création
- Clients
- tableau de bord
- données
- science des données
- Base de données
- bases de données
- Conception
- développer
- mobiles
- Développement
- DevOps
- dns
- Docker
- risque numérique
- Edge
- Les ingénieurs
- Entreprise
- Environment
- famille
- Fonctionnalités:
- finance
- Prénom
- première fois
- suivre
- Geler
- gif
- Git
- GitHub
- l'
- la médecine
- Haute
- randonnée
- appuyez en continu
- hébergement
- Comment
- How To
- HTTPS
- ICS
- secteurs
- d'information
- Infrastructure
- idées.
- Intelligence
- Interactif
- Internet
- seul
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- ACTIVITES
- spécialisées
- langue
- Nouveautés
- lancer
- Leadership
- APPRENTISSAGE
- apprentissage
- Life Sciences
- LINK
- Liste
- charge
- locales
- machine learning
- gestion
- matières premières.
- ML
- modèle
- mère
- Bougez
- Musique
- réseau et
- code
- Offrandes
- ouvert
- Option
- organisation
- organisations
- objectifs
- plateforme
- Populaire
- prédiction
- Prédictions
- Aperçu
- Privé
- Profil
- Profils
- Projet
- public
- publier
- tirant
- Python
- Quant
- Exigences
- Resources
- REST
- Avis
- Itinéraire
- Courir
- pour le running
- sagemaker
- mise à l'échelle
- balayage
- Sciences
- STARFLEET SCIENCES
- scientifiques
- Seattle
- sécurité
- choisi
- Sans serveur
- Services
- service
- set
- Partager
- Shorts
- étapes
- Instantané
- So
- Solutions
- RÉSOUDRE
- j'ai commencé
- rester
- Boutique
- STORES
- Sunset
- Support
- Les soutiens
- Surface
- combustion propre
- Technologie
- La Source
- leadership éclairé
- fiable
- top
- circulation
- transit
- Voyage
- Actualités
- utilisateurs
- Voir
- vulnérabilité
- web
- Applications Web
- navigateur web
- WHO
- dans les
- activités principales
- workflow
- vos contrats