Amazon SageMakerStudio est le premier environnement de développement entièrement intégré (IDE) pour l'apprentissage automatique (ML). Studio fournit une interface visuelle Web unique dans laquelle vous pouvez effectuer toutes les étapes de développement ML requises pour préparer les données, ainsi que créer, former et déployer des modèles. Configurations du cycle de vie sont des scripts shell déclenchés par des événements du cycle de vie de Studio, tels que le démarrage d'un nouveau bloc-notes Studio. Vous pouvez utiliser des configurations de cycle de vie pour automatiser la personnalisation de votre environnement Studio. Cette personnalisation comprend l'installation de packages personnalisés, la configuration d'extensions de bloc-notes, le préchargement d'ensembles de données et la configuration de référentiels de code source. Par exemple, en tant qu'administrateur d'un domaine Studio, vous souhaiterez peut-être Réduisez les coûts en faisant en sorte que les applications de l'ordinateur portable se ferment automatiquement après de longues périodes d'inactivité.
La Kit de développement AWS Cloud (AWS CDK) est un cadre permettant de définir l'infrastructure cloud via le code et de l'approvisionner via AWS CloudFormation piles. Une pile est une collection de ressources AWS qui peuvent être mises à jour, déplacées ou supprimées par programme. CDK AWS constructions sont les blocs de construction des applications AWS CDK, représentant le modèle pour définir les architectures cloud.
Dans cet article, nous montrons comment utiliser le CDK AWS pour configurer Studio, utiliser les configurations de cycle de vie de Studio et activer son accès pour les scientifiques des données et les développeurs de votre organisation.
Vue d'ensemble de la solution
La modularité des configurations de cycle de vie vous permet de les appliquer à tous les utilisateurs d'un domaine ou à des utilisateurs spécifiques. De cette façon, vous pouvez configurer des configurations de cycle de vie et les référencer dans le Studio passerelle noyau ou serveur Jupyter rapidement et régulièrement. La passerelle du noyau est le point d'entrée pour interagir avec une instance de bloc-notes, tandis que le serveur Jupyter représente l'instance de Studio. Cela vous permet d'appliquer les meilleures pratiques DevOps et de respecter les normes de sécurité, de conformité et de configuration sur tous les comptes et régions AWS. Pour cet article, nous utilisons Python comme langage principal, mais le code peut être facilement remplacé par d'autres langages pris en charge par AWS CDK. Pour plus d'informations, reportez-vous à Travailler avec le CDK AWS.
Pré-requis
Pour commencer, assurez-vous d'avoir les prérequis suivants :
Cloner le dépôt GitHub
Tout d'abord, cloner le GitHub référentiel.
Lorsque vous clonez le référentiel, vous pouvez observer que nous avons un projet AWS CDK classique avec le répertoire studio-lifecycle-config-construct
, qui contient la construction et les ressources requises pour créer des configurations de cycle de vie.
Constructions AWS CDK
Le fichier que nous voulons inspecter est aws_sagemaker_lifecycle.py
. Ce fichier contient le SageMakerStudioLifeCycleConfig
construction que nous utilisons pour configurer et créer des configurations de cycle de vie.
La SageMakerStudioLifeCycleConfig
construct fournit le cadre pour créer des configurations de cycle de vie à l'aide d'un AWS Lambda fonction et code shell lus à partir d'un fichier. La construction contient les paramètres suivants :
- ID – Le nom du projet en cours.
- studio_lifecycle_content - L' base64 contenu encodé.
- studio_lifecycle_tags – Les étiquettes que vous attribuez pour organiser les ressources Amazon. Ils sont saisis sous forme de paires clé-valeur et sont facultatifs pour cette configuration.
- studio_lifecycle_config_app_type -
JupyterServer
est pour le serveur unique lui-même, et leKernelGateway
app correspond à un conteneur d'images SageMaker en cours d'exécution.
Pour plus d'informations sur l'architecture du notebook Studio, reportez-vous à Plongez au cœur de l'architecture des blocs-notes Amazon SageMaker Studio.
Voici un extrait de code de la construction de configuration du cycle de vie de Studio (aws_sagemaker_lifecycle.py
):
Après avoir importé et installé la construction, vous pouvez l'utiliser. L'extrait de code suivant montre comment créer une configuration de cycle de vie à l'aide de la construction dans une pile soit dans app.py
ou une autre construction :
Déployer les constructions AWS CDK
Pour déployer votre pile AWS CDK, exécutez les commandes suivantes à l'emplacement où vous avez cloné le référentiel.
La commande peut être python
au lieu de python3
en fonction de vos configurations de chemin.
- Créez un environnement virtuel :
- Pour macOS/Linux, utilisez
python3 -m venv .cdk-venv
. - Pour Windows, utilisez
python3 -m venv .cdk-venv
.
- Pour macOS/Linux, utilisez
- Activez l'environnement virtuel :
- Pour macOS/Linux, utilisez
source .cdk-venvbinactivate
. - Pour Windows, utilisez
.cdk-venv/Scripts/activate.bat
. - Pour PowerShell, utilisez
.cdk-venv/Scripts/activate.ps1
.
- Pour macOS/Linux, utilisez
- Installez les dépendances requises :
pip install -r requirements.txt
pip install -r requirements-dev.txt
- À ce stade, vous pouvez éventuellement synthétiser le modèle CloudFormation pour ce code :
- Déployez la solution avec les commandes suivantes :
aws configure
cdk bootstrap
cdk deploy
Lorsque la pile est déployée avec succès, vous devriez pouvoir afficher la pile sur la console CloudFormation.
Vous pourrez également afficher la configuration du cycle de vie sur la console SageMaker.
Choisissez la configuration du cycle de vie pour afficher le code shell qui s'exécute ainsi que les balises que vous avez attribuées.
Joindre la configuration du cycle de vie de Studio
Il existe plusieurs façons d'attacher une configuration de cycle de vie. Dans cette section, nous présentons deux méthodes : en utilisant le Console de gestion AWS, et par programmation à l'aide de l'infrastructure fournie.
Attacher la configuration du cycle de vie à l'aide de la console
Pour utiliser la console, procédez comme suit :
- Sur la console SageMaker, choisissez Domaines dans le volet de navigation.
- Choisissez le nom de domaine que vous utilisez et le profil utilisateur actuel, puis choisissez Modifier.
- Sélectionnez la configuration du cycle de vie que vous souhaitez utiliser et choisissez Attacher.
À partir de là, vous pouvez également le définir par défaut.
Attacher la configuration du cycle de vie par programmation
Vous pouvez également récupérer l'ARN de la configuration du cycle de vie Studio créée par les constructions et l'attacher à la construction Studio par programmation. Le code suivant montre l'ARN de configuration du cycle de vie transmis à une construction Studio :
Nettoyer
Effectuez les étapes de cette section pour nettoyer vos ressources.
Supprimer la configuration du cycle de vie de Studio
Pour supprimer votre configuration de cycle de vie, procédez comme suit :
- Sur la console SageMaker, choisissez Configurations du cycle de vie de Studio dans le volet de navigation.
- Sélectionnez la configuration du cycle de vie, puis choisissez Supprimer.
Supprimer la pile AWS CDK
Lorsque vous avez terminé avec les ressources que vous avez créées, vous pouvez détruire votre pile AWS CDK en exécutant la commande suivante à l'emplacement où vous avez cloné le référentiel :
Lorsqu'on vous demande de confirmer la suppression de la pile, entrez yes
.
Vous pouvez également supprimer la pile sur la console AWS CloudFormation en procédant comme suit :
- Sur la console AWS CloudFormation, choisissez Combos dans le volet de navigation.
- Choisissez la pile que vous souhaitez supprimer.
- Dans le volet des détails de la pile, choisissez Supprimer.
- Selectionnez Supprimer la pile lorsque vous y êtes invité
Si vous rencontrez des erreurs, vous devrez peut-être supprimer manuellement certaines ressources en fonction de la configuration de votre compte.
Conclusion
Dans cet article, nous avons expliqué comment Studio sert d'IDE pour les charges de travail ML. Studio offre une prise en charge de la configuration du cycle de vie, qui vous permet de configurer des scripts shell personnalisés pour effectuer des tâches automatisées ou de configurer des environnements de développement au lancement. Nous avons utilisé des constructions AWS CDK pour créer l'infrastructure de la configuration personnalisée des ressources et du cycle de vie. Les constructions sont synthétisées dans des piles CloudFormation qui sont ensuite déployées pour créer la ressource personnalisée et le script de cycle de vie utilisés dans Studio et le noyau du bloc-notes.
Pour plus d'informations, visitez le site Amazon SageMakerStudio.
À propos des auteurs
Cory Hairston est ingénieur logiciel au sein du laboratoire Amazon ML Solutions. Il travaille actuellement sur la fourniture de solutions logicielles réutilisables.
Alex Chirayath est ingénieur principal en apprentissage automatique au laboratoire Amazon ML Solutions. Il dirige des équipes de data scientists et d'ingénieurs pour créer des applications d'IA répondant aux besoins de l'entreprise.
Gouri Pandeshwar est Ingénieur Manager au Amazon ML Solutions Lab. Lui et son équipe d'ingénieurs travaillent à la création de solutions et de cadres réutilisables qui permettent d'accélérer l'adoption des services AWS AI/ML pour les cas d'utilisation professionnelle des clients.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Financement EVM. Interface unifiée pour la finance décentralisée. Accéder ici.
- Groupe de médias quantiques. IR/PR amplifié. Accéder ici.
- PlatoAiStream. Intelligence des données Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/use-the-aws-cdk-to-deploy-amazon-sagemaker-studio-lifecycle-configurations/
- :est
- :où
- $UP
- 100
- 12
- 14
- 7
- a
- Capable
- accélérer
- accès
- Compte
- hybrides
- à travers
- propos
- Adoption
- Après
- AI
- AI / ML
- Tous
- permet
- aussi
- Amazon
- Laboratoire de solutions Amazon ML
- Amazon Sage Maker
- Amazon SageMakerStudio
- Amazon Web Services
- an
- et les
- Une autre
- tous
- appli
- applications
- Appliquer
- applications
- architecture
- SONT
- AS
- attribué
- At
- joindre
- automatiser
- Automatisation
- automatiquement
- AWS
- AWS CloudFormation
- BE
- va
- LES MEILLEURS
- les meilleures pratiques
- Blocs
- construire
- Développement
- la performance des entreprises
- mais
- by
- CAN
- cas
- modifié
- Selectionnez
- classiques
- le cloud
- infrastructure de cloud
- code
- collection
- COM
- complet
- conformité
- configuration
- Confirmer
- Console
- construire
- Contenant
- contient
- contenu
- correspond
- Costs
- engendrent
- créée
- Courant
- Lecture
- Customiser
- personnalisation
- données
- ensembles de données
- profond
- Réglage par défaut
- définir
- Selon
- déployer
- déployé
- détruire
- détails
- mobiles
- Développement
- discuté
- domaine
- Services
- fait
- down
- même
- non plus
- permettre
- permet
- ingénieur
- Les ingénieurs
- Entrer
- entrée
- Environment
- environnements
- Erreurs
- événements
- exemple
- extensions
- Déposez votre dernière attestation
- Prénom
- Abonnement
- Pour
- Framework
- cadres
- De
- d’étiquettes électroniques entièrement
- fonction
- porte
- obtenez
- GitHub
- Vous avez
- ayant
- he
- vous aider
- ici
- sa
- Comment
- How To
- HTML
- http
- HTTPS
- ID
- image
- importer
- in
- inclut
- d'information
- Infrastructure
- installer
- installer
- instance
- plutôt ;
- des services
- interagir
- Interfaces
- développement
- IT
- SES
- lui-même
- jpg
- laboratoire
- Etiquettes
- langue
- Langues
- lancer
- Conduit
- apprentissage
- vos produits
- emplacement
- Location
- click
- machine learning
- Entrée
- a prendre une
- gestion
- manager
- manuellement
- Mai..
- Découvrez
- méthodes
- ML
- numériques jumeaux (digital twin models)
- PLUS
- déménagé
- plusieurs
- prénom
- Navigation
- Besoins
- Nouveauté
- cahier
- observer
- of
- Offres Speciales
- on
- or
- organisation
- Autre
- Forfaits
- paires
- pain
- paramètres
- passé
- chemin
- Effectuer
- périodes
- Platon
- Intelligence des données Platon
- PlatonDonnées
- Point
- Post
- PowerShell
- pratiques
- Préparer
- conditions préalables
- représentent
- Profil
- Projet
- à condition de
- fournit
- aportando
- Python
- vite.
- Lire
- régions
- dépôt
- représentation
- représente
- conditions
- Exigences
- ressource
- Resources
- réutilisable
- Courir
- pour le running
- Sécurité
- sagemaker
- scientifiques
- portée
- scripts
- Section
- AUTO
- supérieur
- sert
- Services
- set
- mise
- coquillage
- devrait
- montrer
- Spectacles
- arrêter
- unique
- Logiciels
- Software Engineer
- sur mesure
- Solutions
- quelques
- Identifier
- code source
- groupe de neurones
- empiler
- Combos
- Normes
- j'ai commencé
- Commencez
- Étapes
- studio
- Avec succès
- tel
- Support
- Appareils
- combustion propre
- tâches
- équipe
- équipes
- modèle
- qui
- La
- Les
- puis
- l'ont
- this
- Avec
- à
- Train
- déclenché
- deux
- expérience unique et authentique
- a actualisé
- utilisé
- d'utiliser
- Utilisateur
- utilisateurs
- en utilisant
- Voir
- Salle de conférence virtuelle
- Visiter
- souhaitez
- Façon..
- façons
- we
- web
- services Web
- Basé sur le Web
- WELL
- quand
- Les
- qui
- sera
- fenêtres
- comprenant
- de travail
- vos contrats
- Vous n'avez
- Votre
- zéphyrnet