RStudio sur Amazon SageMaker est le premier RStudio Workbench entièrement géré dans le cloud. Vous pouvez rapidement lancer l'environnement de développement intégré (IDE) familier de RStudio et composer les ressources de calcul sous-jacentes sans interrompre votre travail, ce qui facilite la création de solutions d'apprentissage automatique (ML) et d'analyse dans R à grande échelle. RStudio sur SageMaker est déjà livré avec un image intégrée préconfiguré avec des outils de programmation R et de science des données ; cependant, vous devez souvent personnaliser votre environnement IDE. À partir d'aujourd'hui, vous pouvez apporter votre propre image personnalisée avec les packages et les outils de votre choix, et les mettre à la disposition de tous les utilisateurs de RStudio sur SageMaker en quelques clics.
Apporter votre propre image personnalisée présente plusieurs avantages. Vous pouvez standardiser et simplifier l'expérience de démarrage pour les scientifiques des données et les développeurs en fournissant une image de démarrage, préconfigurer les pilotes requis pour la connexion aux magasins de données ou préinstaller un logiciel de science des données spécialisé pour votre domaine d'activité. De plus, les organisations qui ont précédemment hébergé leur propre RStudio Workbench peuvent avoir des environnements conteneurisés existants qu'elles souhaitent continuer à utiliser dans RStudio sur SageMaker.
Dans cet article, nous partageons des instructions étape par étape pour créer une image personnalisée et l'apporter à RStudio sur SageMaker en utilisant le Console de gestion AWS or Interface de ligne de commande AWS (AWS CLI). Vous pouvez obtenir votre premier environnement IDE personnalisé opérationnel en quelques étapes simples. Pour plus d'informations sur le contenu abordé dans cet article, reportez-vous à Apportez votre propre image RStudio.
Vue d'ensemble de la solution
Lorsqu'un data scientist démarre une nouvelle session dans RStudio sur SageMaker, une nouvelle instance de calcul ML à la demande est provisionnée et une image de conteneur qui définit l'environnement d'exécution (système d'exploitation, bibliothèques, versions R, etc.) est exécutée sur le ML exemple. Vous pouvez fournir à vos scientifiques de données plusieurs choix pour l'environnement d'exécution en créant des images de conteneur personnalisées et en les rendant disponibles sur le lanceur RStudio Workbench, comme illustré dans la capture d'écran suivante.
Le diagramme suivant décrit le processus pour apporter votre image personnalisée. Commencez par créer une image de conteneur personnalisée à partir d'un Dockerfile et transférez-la vers un référentiel dans Registre des conteneurs élastiques Amazon (Amazon ECR). Ensuite, vous créez une image SageMaker qui pointe vers l'image du conteneur dans Amazon ECR, et joignez cette image à votre Domaine SageMaker. Cela rend l'image personnalisée disponible pour lancer une nouvelle session dans RStudio.
Pré-requis
Pour implémenter cette solution, vous devez disposer des prérequis suivants:
- Un RStudio sur le domaine SageMaker
- Gestion des identités et des accès AWS (IAM) pour interagir avec Amazon ECR
- La version appropriée de l'AWS CLI
Nous fournissons plus de détails sur chacun dans cette section.
RStudio sur le domaine SageMaker
Si vous avez un domaine SageMaker existant avec RStudio activé avant le 7 avril 2022, vous devez supprimer et recréer le RStudioServerPro
app sous le nom du profil utilisateur domain-shared
pour obtenir les dernières mises à jour pour apporter votre propre capacité d'image personnalisée. Les commandes de l'AWS CLI sont les suivantes. Notez que cette action interrompt les utilisateurs de RStudio sur SageMaker.
Si c'est la première fois que vous utilisez RStudio sur SageMaker, suivez le processus de configuration étape par étape décrit dans Premiers pas avec RStudio sur Amazon SageMaker, ou exécutez la commande suivante AWS CloudFormation modèle pour configurer votre premier RStudio sur le domaine SageMaker. Si vous avez déjà un RStudio fonctionnel sur le domaine SageMaker, vous pouvez ignorer cette étape.
Le modèle RStudio sur SageMaker CloudFormation suivant nécessite une licence RStudio approuvée via AWS License Manager. Pour plus d'informations sur les licences, reportez-vous à Licence RStudio. Notez également qu'un seul domaine SageMaker est autorisé par région AWS, vous devrez donc utiliser un compte et une région AWS qui n'ont pas de domaine existant.
- Selectionnez Lancer la pile.
Le lien vous amène à la région us-east-1, mais vous pouvez passer à votre région préférée. - Dans le Spécifiez le modèle section, choisissez Suivant.
- Dans le Spécifiez les détails de la pile section, pour Nom de la pile, entrez un nom.
- Pour Paramètres, entrez un nom de profil utilisateur SageMaker.
- Selectionnez Suivant.
- Dans le Configurer les options de pile section, choisissez Suivant.
- Dans le Avis section, sélectionnez Je reconnais qu'AWS CloudFormation peut créer des ressources IAM et choisissez Suivant.
- Lorsque l'état de la pile passe à
CREATE_COMPLETE
, Aller à la Panneau de configuration sur la console SageMaker pour trouver le domaine et le nouvel utilisateur.
Politiques IAM pour interagir avec Amazon ECR
Pour interagir avec vos référentiels Amazon ECR privés, vous avez besoin des autorisations IAM suivantes dans l'utilisateur ou le rôle IAM que vous utiliserez pour créer et envoyer des images Docker :
Pour créer initialement à partir d'une image Amazon ECR publique, comme indiqué dans cet article, vous devez attacher le fichier géré par AWS. AmazonElasticContainerRegistryPublicReadOnly stratégie à votre utilisateur ou rôle IAM également.
Pour créer une image de conteneur Docker, vous pouvez utiliser soit un client Docker local, soit le Construction Docker SageMaker Outil CLI à partir d'un terminal dans RStudio sur SageMaker. Pour ce dernier, suivez les prérequis dans Utilisation de l'interface de ligne de commande Amazon SageMaker Studio Image Build pour créer des images de conteneur à partir de vos blocs-notes Studio pour configurer les autorisations IAM et l'outil CLI.
Versions de l'interface de ligne de commande AWS
Il existe des exigences de version minimales pour que l'outil AWS CLI puisse exécuter les commandes mentionnées dans cet article. Assurez-vous de mettre à niveau l'AWS CLI sur le terminal de votre choix :
- AWS CLI v1 >= 1.23.6
- AWS CLI v2 >= 2.6.2
Préparer un Dockerfile
Vous pouvez personnaliser votre environnement d'exécution dans RStudio dans un Dockerfile. Parce que la personnalisation dépend de votre cas d'utilisation et de vos exigences, nous vous montrons les éléments essentiels et les personnalisations les plus courantes dans cet exemple. Vous pouvez télécharger l'intégralité exemple de Dockerfile.
Installer les composants de session RStudio Workbench
Le logiciel le plus important à installer dans votre image de conteneur personnalisée est RStudio Workbench. Nous téléchargeons à partir du compartiment S3 public hébergé par RStudio PBC. Il existe de nombreuses versions et distributions de système d'exploitation à utiliser. La version de l'installation doit être compatible avec la version de RStudio Workbench utilisée dans RStudio sur SageMaker, qui est 1.4.1717-3 au moment de la rédaction. Le système d'exploitation (argument OS dans l'extrait suivant) doit correspondre à la base OS
utilisé dans l'image du conteneur. Dans notre échantillon Dockerfile, l'image de base que nous utilisons est Amazon Linux 2 à partir d'un référentiel Amazon ECR public géré par AWS. Le système d'exploitation RStudio Workbench compatible est centos7.
Vous pouvez trouver toutes les options de version du système d'exploitation avec la commande suivante :
Installer R (et les versions de R)
L'environnement d'exécution de votre image de conteneur RStudio personnalisée nécessite au moins une version de R. Nous pouvons d'abord installer une version de R et en faire le R par défaut en créant des liens symboliques vers /usr/local/bin/
:
Les data scientists ont souvent besoin de plusieurs versions de R pour pouvoir basculer facilement entre les projets et la base de code. RStudio sur SageMaker prend en charge la commutation facile entre les versions de R, comme illustré dans la capture d'écran suivante.
RStudio sur SageMaker scanne et découvre automatiquement les versions de R dans les répertoires suivants:
Nous pouvons installer d'autres versions dans l'image du conteneur, comme illustré dans l'extrait de code suivant. Ils seront installés dans /opt/R/
.
Installer les pilotes professionnels RStudio
Les scientifiques de données ont souvent besoin d'accéder à des données provenant de sources telles que Amazone Athéna ainsi que Redshift d'Amazon dans RStudio sur SageMaker. Vous pouvez le faire en utilisant Pilotes professionnels RStudio ainsi que Connexions RStudio. Assurez-vous d'installer les bibliothèques et les pilotes appropriés, comme indiqué dans l'extrait de code suivant :
Installer des bibliothèques personnalisées
Vous pouvez également installer des bibliothèques R et Python supplémentaires afin que les data scientists n'aient pas besoin de les installer à la volée :
Lorsque vous avez terminé votre personnalisation dans un Dockerfile, il est temps de créer une image de conteneur et de la transmettre à Amazon ECR.
Construire et pousser vers Amazon ECR
Vous pouvez créer une image de conteneur à partir du Dockerfile à partir d'un terminal sur lequel le moteur Docker est installé, tel que votre terminal local ou AWSCloud9. Si vous le construisez à partir d'un terminal dans RStudio sur SageMaker, vous pouvez utiliser Création d'image SageMaker Studio. Nous démontrons les étapes pour les deux approches.
Dans un terminal local où le moteur Docker est présent, vous pouvez exécuter les commandes suivantes à partir de l'emplacement du Dockerfile. Vous pouvez utiliser l'exemple de script créer-et-mettre-à-jour-image.sh.
Dans un terminal sur RStudio sur SageMaker, exécutez les commandes suivantes :
Après ces commandes, vous disposez d'un référentiel et d'une image de conteneur Docker dans Amazon ECR pour notre prochaine étape, dans laquelle nous attachons l'image de conteneur à utiliser dans RStudio sur SageMaker. Notez l'URI de l'image dans Amazon ECR <ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com/<REPO>:<TAG>
pour une utilisation ultérieure.
Mettre à jour RStudio sur SageMaker via la console
RStudio sur SageMaker permet la personnalisation de l'exécution grâce à l'utilisation d'une image SageMaker personnalisée. Une image SageMaker est un support pour un ensemble de versions d'image SageMaker. Chaque version d'image représente une image de conteneur compatible avec RStudio sur SageMaker et stockée dans un référentiel Amazon ECR. Pour rendre une image SageMaker personnalisée disponible pour tous les utilisateurs de RStudio au sein d'un domaine, vous pouvez joindre l'image au domaine en suivant les étapes de cette section.
- Sur la console SageMaker, accédez au Images SageMaker Studio personnalisées attachées au domaine et choisissez Joindre l'image.
- Sélectionnez Nouvelle image, et saisissez l'URI de votre image Amazon ECR.
- Selectionnez Suivant.
- Dans le Propriétés de l'image section, fournissez une Nom de l'image (obligatoire), Nom d'affichage de l'image (optionnel), Description (facultatif), rôle IAM et balises.
La nom d'affichage de l'image, s'il est fourni, s'affiche dans le lanceur de session de RStudio sur SageMaker. Si la Nom d'affichage de l'image champ est laissé vide, le nom de l'image est affiché dans RStudio sur SageMaker à la place. - Laisser Chemin de montage EFS ainsi que Configuration avancée (ID utilisateur ainsi que ID de groupe) par défaut car RStudio sur SageMaker gère la configuration pour nous.
- Dans le Type d'image section, sélectionnez Image RStudio.
- Selectionnez Envoyer.
Vous pouvez maintenant voir une nouvelle entrée dans la liste. Il convient de noter qu'avec l'introduction de la prise en charge des images RStudio personnalisées, vous pouvez voir un nouveau Type d'utilisation colonne du tableau pour indiquer si une image est une image RStudio ou une Amazon SageMakerStudio l'image.
Cela peut prendre jusqu'à 5 à 10 minutes pour que les images personnalisées soient disponibles dans l'interface utilisateur du lanceur de session. Vous pouvez ensuite lancer une nouvelle session R dans RStudio sur SageMaker avec vos images personnalisées.
Au fil du temps, vous voudrez peut-être retirer des images anciennes et obsolètes. Pour supprimer les images personnalisées de la liste des images personnalisées dans RStudio, sélectionnez les images dans la liste et choisissez Détacher.
Selectionnez Détacher encore une fois pour confirmer.
Mettre à jour RStudio sur SageMaker via l'AWS CLI
Les sections suivantes décrivent les étapes pour créer une image SageMaker et l'attacher pour une utilisation dans RStudio sur SageMaker sur la console SageMaker et à l'aide de l'AWS CLI. Vous pouvez utiliser l'exemple de script créer-et-mettre-à-jour-image.sh.
Créer l'image SageMaker et la version d'image
La première étape consiste à créer une image SageMaker à partir de l'image de conteneur personnalisée dans Amazon ECR en exécutant les deux commandes suivantes :
Notez que l'image personnalisée affichée dans le lanceur de session dans RStudio sur SageMaker est déterminée par l'entrée de --display-name
. Si le nom d'affichage facultatif n'est pas fourni, la saisie de --image-name
est utilisé à la place. Notez également que le rôle IAM permet à SageMaker de joindre une image Amazon ECR à RStudio sur SageMaker.
Créer une AppImageConfig
En plus d'une image SageMaker, qui capture l'URI de l'image d'Amazon ECR, une configuration d'image d'application (AppImageConfig) est requis pour une utilisation dans un domaine SageMaker. Nous simplifions la configuration pour un RSessionApp
image afin que nous puissions simplement créer une configuration d'espace réservé avec la commande suivante :
Attacher à un domaine SageMaker
Une fois l'image SageMaker et la configuration de l'image de l'application créées, nous sommes prêts à attacher l'image du conteneur personnalisé au domaine SageMaker. Pour rendre une image SageMaker personnalisée disponible pour tous les utilisateurs de RStudio au sein d'un domaine, vous attachez l'image au domaine en tant que paramètre utilisateur par défaut. Tous les utilisateurs existants et tous les nouveaux utilisateurs pourront utiliser l'image personnalisée.
Pour une meilleure lisibilité, nous plaçons la configuration suivante dans le fichier JSON paramètres-utilisateur par défaut.json:
Dans ce fichier, nous pouvons spécifier l'image et AppImageConfig
paires de noms dans une liste dans DefaultUserSettings.RSessionAppSettings.CustomImages
. Cet extrait de code précédent suppose que deux images personnalisées sont en cours de création.
Exécutez ensuite la commande suivante pour mettre à jour le domaine SageMaker :
Après avoir mis à jour le domaine, cela peut prendre jusqu'à 5 à 10 minutes pour que les images personnalisées soient disponibles dans l'interface utilisateur du lanceur de session. Vous pouvez ensuite lancer une nouvelle session R dans RStudio sur SageMaker avec vos images personnalisées.
Détacher des images d'un domaine SageMaker
Vous pouvez détacher des images simplement en supprimant le ImageName
ainsi que AppImageConfigName
paires de default-user-settings.json
et mise à jour du domaine.
Par exemple, mettre à jour le domaine avec les éléments suivants default-user-settings.json
supprime r-4.1.3-rstudio-2022
de la session R lançant l'interface utilisateur et quitte r-4.1.3-rstudio-1.4.1717-3
comme seule image personnalisée disponible pour tous les utilisateurs d'un domaine :
Nettoyer
Pour supprimer en toute sécurité des images et des ressources dans le domaine SageMaker, procédez comme suit dans Nettoyer les ressources d'image.
Pour supprimer en toute sécurité RStudio sur SageMaker et le domaine SageMaker, procédez comme suit dans Supprimer un domaine Amazon SageMaker pour supprimer toute application RSessionGateway, profil utilisateur et domaine.
Pour supprimer en toute sécurité des images et des référentiels dans Amazon ECR, procédez comme suit dans Suppression d'une image.
Enfin, pour supprimer le modèle CloudFormation :
- Sur la console AWS CloudFormation, choisissez Piles.
- Sélectionnez la pile que vous avez déployée pour cette solution.
- Choisissez Supprimer.
Conclusion
RStudio sur SageMaker permet aux scientifiques des données de créer facilement des solutions ML et analytiques dans R à grande échelle, et aux administrateurs de gérer un environnement de science des données robuste pour leurs développeurs. Les scientifiques des données souhaitent personnaliser l'environnement afin de pouvoir utiliser les bonnes bibliothèques pour le bon travail et obtenir la reproductibilité souhaitée pour chaque projet ML. Les administrateurs doivent normaliser l'environnement de la science des données pour des raisons de réglementation et de sécurité. Vous pouvez désormais créer des images de conteneur personnalisées qui répondent aux exigences de votre organisation et permettre aux data scientists de les utiliser dans RStudio sur SageMaker.
Nous vous encourageons à l'essayer. Bon développement !
À propos des auteurs
Michel Hsieh est un architecte principal de solutions spécialisées en IA/ML. Il travaille avec les clients pour faire avancer leur parcours ML avec une combinaison d'offres AWS ML et ses connaissances du domaine ML. En tant que greffé de Seattle, il adore explorer la grande nature que la ville a à offrir, comme les sentiers de randonnée, le paysage en kayak dans la SLU et le coucher de soleil à Shilshole Bay.
Declan Kelly est ingénieur logiciel au sein de l'équipe Amazon SageMaker Studio. Il travaille sur Amazon SageMaker Studio depuis son lancement à AWS re:Invent 2019. En dehors du travail, il aime faire de la randonnée et de l'escalade.
Sean Morgan est un architecte de solutions AI/ML chez AWS. Il a de l'expérience dans les domaines des semi-conducteurs et de la recherche universitaire, et utilise son expérience pour aider les clients à atteindre leurs objectifs sur AWS. Pendant son temps libre, Sean est un contributeur et un mainteneur open source actif, et est le responsable du groupe d'intérêt spécial pour les modules complémentaires TensorFlow.
- Coinsmart. Le meilleur échange Bitcoin et Crypto d'Europe.
- Platoblockchain. Intelligence métaverse Web3. Connaissance amplifiée. ACCÈS LIBRE.
- CryptoHawk. Radar Altcoins. Essai gratuit.
- Source : 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
- Qui sommes-nous
- accès
- Compte
- atteindre
- Action
- infection
- ajout
- Supplémentaire
- administrateurs
- avancer
- Tous
- permet
- déjà
- Amazon
- analytique
- appli
- approches
- approprié
- Avril
- disponibles
- AWS
- baie
- car
- va
- avantages.
- Améliorée
- jusqu'à XNUMX fois
- frontière
- apporter
- construire
- Développement
- la performance des entreprises
- Peut obtenir
- captures
- maisons
- Change
- le choix
- choix
- Selectionnez
- Ville
- le cloud
- code
- Colonne
- combinaison
- Commun
- compatible
- complet
- calcul
- configuration
- Connecter les
- Console
- Contenant
- contenu
- continuer
- contributeur
- engendrent
- créée
- La création
- Customiser
- Clients
- personnaliser
- données
- science des données
- Data Scientist
- démontrer
- dépend
- déployé
- décrire
- décrit
- détails
- mobiles
- Développement
- Commande
- distributions
- Docker
- Ne fait pas
- domaine
- down
- download
- chacun
- même
- effet
- encourager
- Moteur
- ingénieur
- Entrer
- Environment
- essentiel
- exemple
- existant
- Découvrez
- familier
- Des champs
- Prénom
- première fois
- suivre
- Abonnement
- suit
- Test d'anglais
- de
- plein
- En outre
- obtention
- Objectifs
- l'
- Réservation de groupe
- heureux vous
- aider
- organisé
- Cependant
- HTTPS
- Active
- image
- satellite
- Mettre en oeuvre
- important
- de l'industrie
- d'information
- contribution
- installer
- instance
- des services
- intérêt
- IT
- Emploi
- chemin
- spécialisées
- Nouveautés
- lancer
- lancement
- conduire
- apprentissage
- Licence
- Licence
- Gamme
- LINK
- Gauche
- linux
- Liste
- locales
- click
- machine learning
- faire
- FAIT DU
- Fabrication
- gérer
- gérés
- gestion
- manager
- Match
- mentionné
- pourrait
- minimum
- ML
- PLUS
- Morgan
- (en fait, presque toutes)
- mère
- plusieurs
- Nature
- NAVIGUER
- Besoins
- next
- code
- Offrandes
- d'exploitation
- le système d'exploitation
- Options
- organisationnel
- organisations
- propre
- des notes bonus
- politiques
- politique
- préféré
- représentent
- Privé
- processus
- professionels
- Profil
- Programmation
- Projet
- projets
- fournir
- à condition de
- aportando
- public
- vite.
- RE
- nous joindre
- Les raisons
- région
- régulateurs
- libérer
- de Presse
- pertinent
- enlever
- dépôt
- représente
- conditions
- Exigences
- a besoin
- un article
- ressource
- Ressources
- Rôle
- Courir
- pour le running
- en toute sécurité
- Escaliers intérieurs
- Sciences
- Scientifique
- scientifiques
- Sean
- sécurité
- semi-conducteur
- set
- mise
- installation
- plusieurs
- Partager
- montrer
- montré
- étapes
- depuis
- So
- Doux / Pastel
- Logiciels
- Software Engineer
- solide
- sur mesure
- Solutions
- spécial
- spécialiste
- spécialisé
- empiler
- j'ai commencé
- départs
- Déclaration
- Statut
- STORES
- studio
- Sunset
- Support
- Les soutiens
- Interrupteur
- combustion propre
- équipe
- terminal
- La
- Avec
- fiable
- aujourd'hui
- outil
- les outils
- ui
- sous
- Mises à jour
- Actualités
- la mise à jour
- us
- utilisé
- utilisateurs
- version
- que
- dans les
- sans
- Activités principales
- de travail
- vos contrats
- vaut
- écriture
- Votre