Les scientifiques des données ont besoin d'un environnement cohérent et reproductible pour les charges de travail d'apprentissage automatique (ML) et de science des données, qui permette de gérer les dépendances et qui soit sécurisé. Conteneurs AWS Deep Learning fournit déjà des images Docker prédéfinies pour la formation et la diffusion de modèles dans des frameworks courants tels que TensorFlow, PyTorch et MXNet. Pour améliorer cette expérience, nous avons annoncé une version bêta publique de la distribution open source SageMaker lors de la JupyterCon 2023. Cela fournit une expérience ML unifiée de bout en bout pour les développeurs ML de différents niveaux d'expertise. Les développeurs n'ont plus besoin de basculer entre différents conteneurs de framework pour l'expérimentation, ou lorsqu'ils passent des environnements JupyterLab locaux et des blocs-notes SageMaker aux tâches de production sur SageMaker. La distribution open source SageMaker prend en charge les packages et les bibliothèques les plus courants pour la science des données, le ML et la visualisation, tels que TensorFlow, PyTorch, Scikit-learn, Pandas et Matplotlib. Vous pouvez commencer à utiliser le conteneur à partir du Galerie publique Amazon ECR à partir d'aujourd'hui.
Dans cet article, nous vous montrons comment vous pouvez utiliser la distribution open source SageMaker pour expérimenter rapidement sur votre environnement local et les promouvoir facilement aux emplois sur SageMaker.
Vue d'ensemble de la solution
Pour notre exemple, nous présentons la formation d'un modèle de classification d'images à l'aide de PyTorch. Nous utilisons le KMNISTE ensemble de données disponible publiquement sur PyTorch. Nous entraînons un modèle de réseau de neurones, testons les performances du modèle et enfin imprimons la perte d'entraînement et de test. Le cahier complet de cet exemple est disponible dans le Référentiel d'exemples SageMaker Studio Lab. Nous commençons l'expérimentation sur un ordinateur portable local en utilisant la distribution open-source, la déplaçons vers Amazon SageMakerStudio pour utiliser une instance plus grande, puis planifiez le bloc-notes en tant que tâche de bloc-notes.
Pré-requis
Vous avez besoin des prérequis suivants :
Configurez votre environnement local
Vous pouvez directement commencer à utiliser la distribution open source sur votre ordinateur portable local. Pour démarrer JupyterLab, exécutez les commandes suivantes sur votre terminal :
Vous pouvez remplacer ECR_IMAGE_ID
avec l'une des balises d'image disponibles dans le Galerie publique Amazon ECR, ou choisissez le latest-gpu
balise si vous utilisez une machine prenant en charge le GPU.
Cette commande démarrera JupyterLab et fournira une URL sur le terminal, comme http://127.0.0.1:8888/lab?token=<token>
. Copiez le lien et entrez-le dans votre navigateur préféré pour démarrer JupyterLab.
Configurer Studio
Studio est un environnement de développement intégré (IDE) de bout en bout pour ML qui permet aux développeurs et aux spécialistes des données de créer, former, déployer et surveiller des modèles ML à grande échelle. Studio fournit une liste complète d'images propriétaires avec des cadres et des packages communs, tels que Data Science, TensorFlow, PyTorch et Spark. Ces images permettent aux data scientists de démarrer facilement avec ML en choisissant simplement un framework et un type d'instance de leur choix pour le calcul.
Vous pouvez désormais utiliser la distribution open source SageMaker sur Studio à l'aide de Studio apportez votre propre image fonctionnalité. Pour ajouter la distribution open source à votre domaine SageMaker, procédez comme suit :
- Ajoutez la distribution open source à votre compte Registre des conteneurs élastiques Amazon (Amazon ECR) en exécutant les commandes suivantes sur votre terminal :
- Créez une image SageMaker et joignez l'image au domaine Studio :
- Sur la console SageMaker, lancez Studio en choisissant votre domaine et votre profil utilisateur existant.
- Si vous le souhaitez, redémarrez Studio en suivant les étapes de Arrêter et mettre à jour SageMaker Studio.
Télécharger le cahier
Téléchargez l'exemple de bloc-notes localement à partir du GitHub repo.
Ouvrez le notebook dans votre choix d'IDE et ajoutez une cellule au début du notebook à installer torchsummary
L’ torchsummary
ne fait pas partie de la distribution, et l'installer sur l'ordinateur portable garantira que l'ordinateur portable fonctionne de bout en bout. Nous recommandons d'utiliser conda
or micromamba
pour gérer les environnements et les dépendances. Ajoutez la cellule suivante au bloc-notes et enregistrez le bloc-notes :
Expérimenter sur le bloc-notes local
Téléchargez le bloc-notes dans l'interface utilisateur JupyterLab que vous avez lancée en choisissant l'icône de téléchargement, comme indiqué dans la capture d'écran suivante.
Une fois téléchargé, lancez le cv-kmnist.ipynb
carnet de notes. Vous pouvez commencer à exécuter les cellules immédiatement, sans avoir à installer de dépendances telles que torch, matplotlib ou ipywidgets.
Si vous avez suivi les étapes précédentes, vous pouvez voir que vous pouvez utiliser la distribution localement depuis votre ordinateur portable. Dans l'étape suivante, nous utilisons la même distribution sur Studio pour tirer parti des fonctionnalités de Studio.
Déplacer l'expérimentation vers Studio (facultatif)
Facultativement, promouvons l'expérimentation dans Studio. L'un des avantages de Studio est que les ressources de calcul sous-jacentes sont entièrement élastiques, vous pouvez donc facilement augmenter ou diminuer les ressources disponibles, et les modifications s'effectuent automatiquement en arrière-plan sans interrompre votre travail. Si vous vouliez exécuter le même bloc-notes précédemment sur un ensemble de données et une instance de calcul plus volumineux, vous pouvez migrer vers Studio.
Accédez à l'interface utilisateur de Studio que vous avez lancée précédemment et choisissez l'icône de téléchargement pour télécharger le bloc-notes.
Après avoir lancé le notebook, vous serez invité à choisir l'image et le type d'instance. Sur le lanceur du noyau, choisissez sagemaker-runtime
comme l'image et un ml.t3.medium
instance, puis choisissez Sélectionnez.
Vous pouvez maintenant exécuter le bloc-notes de bout en bout sans avoir besoin de modifier le bloc-notes de votre environnement de développement local aux blocs-notes Studio !
Planifier le bloc-notes en tant que travail
Lorsque vous avez terminé votre expérimentation, SageMaker propose plusieurs options pour produire votre bloc-notes, telles que des tâches de formation et des pipelines SageMaker. L'une de ces options consiste à exécuter directement le bloc-notes lui-même en tant que tâche de bloc-notes planifiée non interactive à l'aide de Tâches de bloc-notes SageMaker. Par exemple, vous souhaiterez peut-être recycler votre modèle périodiquement ou obtenir périodiquement des inférences sur les données entrantes et générer des rapports à utiliser par vos parties prenantes.
Dans Studio, choisissez l'icône de tâche de bloc-notes pour lancer la tâche de bloc-notes. Si vous avez installé l'extension Notebook Jobs localement sur votre ordinateur portable, vous pouvez également planifier le notebook directement depuis votre ordinateur portable. Voir Un guide d'installation pour configurer l'extension des travaux de bloc-notes localement.
La tâche de bloc-notes utilise automatiquement l'URI de l'image ECR de la distribution open source, de sorte que vous pouvez directement planifier la tâche de bloc-notes.
Selectionnez Exécuter dans les délais, choisissez un horaire, par exemple chaque semaine le samedi, et choisissez Créer. Vous pouvez aussi choisir Cours maintenant si vous souhaitez voir les résultats immédiatement.
Lorsque la première tâche de bloc-notes est terminée, vous pouvez afficher les sorties du bloc-notes directement à partir de l'interface utilisateur de Studio en choisissant Cahier sous Fichiers de sortie.
Considérations supplémentaires
En plus d'utiliser l'image ECR accessible au public directement pour les charges de travail ML, la distribution open source offre les avantages suivants :
- Le Dockerfile utilisé pour créer l'image est disponible publiquement pour que les développeurs puissent explorer et créer leurs propres images. Vous pouvez également hériter de cette image comme image de base et installer vos bibliothèques personnalisées pour avoir un environnement reproductible.
- Si vous n'êtes pas habitué à Docker et préférez utiliser les environnements Conda sur votre environnement JupyterLab, nous fournissons un
env.out
fichier pour chacune des versions publiées. Vous pouvez utiliser les instructions du fichier pour créer votre propre environnement Conda qui imitera le même environnement. Par exemple, consultez le fichier d'environnement CPU cpu.env.out. - Vous pouvez utiliser les versions GPU de l'image pour exécuter des charges de travail compatibles GPU telles que l'apprentissage en profondeur et le traitement d'image.
Nettoyer
Effectuez les étapes suivantes pour nettoyer vos ressources :
- Si vous avez planifié l'exécution de votre bloc-notes selon un calendrier, suspendez ou supprimez le calendrier sur le Définitions de travail de bloc-notes onglet pour éviter de payer pour de futurs travaux.
- Arrêtez toutes les applications Studio pour éviter de payer pour une utilisation de calcul inutilisée. Voir Arrêter et mettre à jour les applications Studio pour obtenir des instructions.
- Si vous le souhaitez, supprimez le domaine Studio si vous en avez créé un.
Conclusion
Maintenir un environnement reproductible à différentes étapes du cycle de vie ML est l'un des plus grands défis pour les data scientists et les développeurs. Avec la distribution open source SageMaker, nous fournissons une image avec des versions mutuellement compatibles des frameworks et packages ML les plus courants. La distribution est également open source, offrant aux développeurs une transparence dans les packages et les processus de construction, ce qui facilite la personnalisation de leur propre distribution.
Dans cet article, nous vous avons montré comment utiliser la distribution sur votre environnement local, sur Studio et comme conteneur pour vos tâches d'entraînement. Cette fonctionnalité est actuellement en version bêta publique. Nous vous encourageons à l'essayer et à partager vos commentaires et problèmes sur le référentiel GitHub public!
À propos des auteurs
Durga Sury est architecte de solutions ML au sein de l'équipe Amazon SageMaker Service SA. Elle est passionnée par l'idée de rendre l'apprentissage automatique accessible à tous. Au cours de ses 4 années chez AWS, elle a contribué à la mise en place de plateformes AI/ML pour les entreprises clientes. Quand elle ne travaille pas, elle adore les balades à moto, les romans policiers et les longues promenades avec son husky de 5 ans.
Ketan Vijayvargiya est ingénieur principal en développement logiciel chez Amazon Web Services (AWS). Ses domaines d'intervention sont l'apprentissage automatique, les systèmes distribués et l'open source. En dehors du travail, il aime passer son temps à s'héberger et à profiter de la nature.
- 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/get-started-with-the-open-source-amazon-sagemaker-distribution/
- :possède
- :est
- :ne pas
- $UP
- 1
- 10
- 100
- 11
- 2023
- 7
- 9
- a
- A Propos
- accessible
- à travers
- ajouter
- ajout
- Supplémentaire
- Avantage
- avantages
- AI / ML
- Tous
- déjà
- aussi
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- Amazon Web Services (AWS)
- an
- ainsi que
- annoncé
- tous
- appli
- applications
- SONT
- domaines
- AS
- At
- joindre
- automatiquement
- disponibles
- éviter
- AWS
- fond
- base
- basé
- BE
- Début
- bêta
- jusqu'à XNUMX fois
- Le plus grand
- navigateur
- construire
- by
- CAN
- CHAT
- Cellules
- globaux
- Modifications
- le choix
- Selectionnez
- choose
- classification
- COM
- Commun
- compatible
- complet
- calcul
- configuration
- cohérent
- Console
- consommation
- Contenant
- Conteneurs
- engendrent
- créée
- Lecture
- Customiser
- Clients
- personnaliser
- données
- science des données
- ensembles de données
- profond
- l'apprentissage en profondeur
- Réglage par défaut
- déployer
- décrire
- mobiles
- Développement
- différent
- directement
- distribué
- systèmes distribués
- distribution
- Docker
- domaine
- fait
- down
- chacun
- Plus tôt
- plus facilement
- même
- permet
- encourager
- fin
- end-to-end
- ingénieur
- assurer
- Entrer
- Entreprise
- Environment
- environnements
- Chaque
- tout le monde
- exemple
- exemples
- existant
- d'experience
- expérience
- nous a permis de concevoir
- explorez
- Exporter
- extension
- les
- Fonctionnalité
- Fonctionnalités:
- Réactions
- Déposez votre dernière attestation
- finalement
- Prénom
- Focus
- suivi
- Abonnement
- Pour
- Framework
- cadres
- De
- plein
- d’étiquettes électroniques entièrement
- avenir
- générer
- obtenez
- GitHub
- GPU
- Vous avez
- ayant
- he
- a aidé
- ici
- sa
- Comment
- How To
- HTML
- HTTPS
- ICON
- if
- image
- Classification des images
- satellite
- immédiatement
- améliorer
- in
- Nouveau
- installer
- Installé
- installer
- instance
- Des instructions
- des services
- développement
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- lui-même
- Emploi
- Emplois
- jpg
- json
- laboratoire
- portatif
- plus importantes
- lancer
- lancé
- apprentissage
- Allons-y
- niveaux
- bibliothèques
- vos produits
- comme
- aime
- LINK
- Liste
- locales
- localement
- vous connecter
- Location
- plus long
- perte
- aime
- click
- machine learning
- a prendre une
- Fabrication
- gérer
- les gérer
- matplotlib
- pourrait
- émigrer
- ML
- modèle
- numériques jumeaux (digital twin models)
- Surveiller
- (en fait, presque toutes)
- moto
- Bougez
- plusieurs
- mutuellement
- Mystère
- prénom
- Nature
- Besoin
- besoin
- réseau et
- Réseau neuronal
- Nouveauté
- next
- aucune
- cahier
- maintenant
- of
- Offres Speciales
- on
- ONE
- ouvert
- open source
- Option
- Options
- or
- nos
- ande
- au contrôle
- propre
- paquet
- Forfaits
- pandas
- partie
- passionné
- pause
- payant
- performant
- Place
- Plateformes
- Platon
- Intelligence des données Platon
- PlatonDonnées
- Post
- préfère
- préféré
- conditions préalables
- Imprimé
- Privé
- les process
- traitement
- Vidéo
- Profil
- promouvoir
- fournir
- fournit
- aportando
- public
- publiquement
- publié
- Push
- Python
- pytorch
- vite.
- recommander
- remplacer
- Rapports
- dépôt
- Exigences
- Resources
- Résultats
- Courir
- pour le running
- s
- SA
- sagemaker
- Pipelines SageMaker
- même
- samedi
- Épargnez
- Escaliers intérieurs
- calendrier
- prévu
- Sciences
- scientifiques
- scikit-apprendre
- sécurisé
- sur le lien
- supérieur
- service
- Services
- service
- set
- Paramétres
- Partager
- elle
- montrer
- vitrine
- montré
- montré
- étapes
- simplement
- So
- Logiciels
- développement de logiciels
- Solutions
- Identifier
- Spark
- passer
- étapes
- parties prenantes
- Commencer
- j'ai commencé
- Commencez
- étapes
- Étapes
- studio
- tel
- Les soutiens
- Interrupteur
- Système
- TAG
- Prenez
- équipe
- tensorflow
- terminal
- tester
- qui
- La
- leur
- Les
- puis
- Ces
- l'ont
- this
- fiable
- à
- aujourd'hui
- torche
- Train
- Formation
- Transparence
- Essai
- type
- ui
- sous-jacent
- unifiée
- inutilisé
- Mises à jour
- téléchargé
- URL
- Utilisation
- utilisé
- d'utiliser
- Utilisateur
- Usages
- en utilisant
- version
- Voir
- visualisation
- souhaitez
- voulu
- we
- web
- services Web
- semaine
- quand
- sera
- comprenant
- sans
- activités principales
- de travail
- années
- Vous n'avez
- Votre
- zéphyrnet