Le contenu et les opinions de cet article sont ceux de l'auteur tiers et AWS n'est pas responsable du contenu ou de l'exactitude de cet article.
Alors que de plus en plus d'organisations utilisent des techniques d'apprentissage profond telles que la vision par ordinateur et le traitement du langage naturel, le développeur d'apprentissage automatique (ML) a besoin d'outils évolutifs autour du suivi des expériences, du lignage et de la collaboration. Le suivi des expériences inclut des métadonnées telles que le système d'exploitation, l'infrastructure utilisée, la bibliothèque et les ensembles de données d'entrée et de sortie, souvent suivies manuellement sur une feuille de calcul. Le lignage implique le suivi des ensembles de données, des transformations et des algorithmes utilisés pour créer un modèle ML. La collaboration inclut des développeurs de ML travaillant sur un seul projet, ainsi que des développeurs de ML partageant leurs résultats entre les équipes et les parties prenantes de l'entreprise, un processus généralement effectué par courrier électronique, captures d'écran et présentations PowerPoint.
Dans cet article, nous formons un modèle pour identifier des objets pour un cas d'utilisation de véhicule autonome à l'aide des poids et biais (W&B) et Amazon Sage Maker. Nous montrons comment la solution commune réduit le travail manuel du développeur ML, crée plus de transparence dans le processus de développement de modèles et permet aux équipes de collaborer sur des projets.
Nous exécutons cet exemple sur Amazon SageMakerStudio à vous d'essayer par vous-même.
Aperçu des pondérations et des biais
Weights & Biases aide les équipes ML à créer de meilleurs modèles plus rapidement. Avec seulement quelques lignes de code dans votre notebook SageMaker, vous pouvez instantanément déboguer, comparer et reproduire vos modèles (architecture, hyperparamètres, commits git, poids des modèles, utilisation du GPU, ensembles de données et prédictions), tout en collaborant avec vos coéquipiers.
W&B bénéficie de la confiance de plus de 200,000 XNUMX praticiens du ML issus de certaines des entreprises et organismes de recherche les plus innovants au monde. Pour l'essayer gratuitement, inscrivez-vous sur Poids et biais, Ou visitez le Liste du marché W&B AWS.
Premiers pas avec SageMaker Studio
SageMaker Studio est le premier environnement de développement (IDE) entièrement intégré pour le ML. Studio fournit une interface Web unique où les praticiens du ML et les data scientists peuvent créer, former et déployer des modèles en quelques clics, le tout au même endroit.
Pour démarrer avec Studio, vous avez besoin d'un compte AWS et d'un Gestion des identités et des accès AWS (IAM) Utilisateur ou rôle disposant des autorisations nécessaires pour créer un domaine Studio. Faire référence à Intégration au domaine Amazon SageMaker pour créer un domaine, et le Documentation de l'atelier pour une présentation de l'utilisation de l'interface visuelle et des blocs-notes de Studio.
Mettre en place l'environnement
Pour cet article, nous souhaitons exécuter notre propre code, importons donc quelques notebooks depuis GitHub. Nous utilisons ce qui suit GitHub repo à titre d'exemple, chargeons donc ce cahier.
Vous pouvez cloner un référentiel via le terminal ou l'interface utilisateur de Studio. Pour cloner un référentiel via le terminal, ouvrez un terminal système (sur le Déposez votre dernière attestation menu, choisissez Nouveauté ainsi que terminal) et entrez la commande suivante :
Pour cloner un dépôt à partir de l'interface utilisateur de Studio, consultez Cloner un référentiel Git dans SageMaker Studio.
Pour commencer, choisissez le 01_data_processing.ipynb carnet de notes. Une invite de changement de noyau s'affiche. Cet exemple utilise PyTorch, nous pouvons donc choisir le pré-construit PyTorch 1.10 Python 3.8 optimisé pour le GPU image pour démarrer notre cahier. Vous pouvez voir l'application démarrer et lorsque le noyau est prêt, il affiche le type d'instance et le noyau en haut à droite de votre bloc-notes.
Notre notebook a besoin de quelques dépendances supplémentaires. Ce référentiel fournit un fichierRequirements.txt avec les dépendances supplémentaires. Exécutez la première cellule pour installer les dépendances requises :
Vous pouvez également créer une configuration de cycle de vie pour installer automatiquement les packages à chaque fois que vous démarrez l'application PyTorch. Voir Personnaliser Amazon SageMaker Studio à l'aide des configurations de cycle de vie pour des instructions et un exemple de mise en œuvre.
Utiliser les poids et les biais dans SageMaker Studio
Pondérations et biais (wandb
) est une bibliothèque Python standard. Une fois installé, c'est aussi simple que d'ajouter quelques lignes de code à votre script de formation et vous êtes prêt à enregistrer des expériences. Nous l'avons déjà installé via notre fichier exigences.txt. Vous pouvez également l'installer manuellement avec le code suivant :
Étude de cas : Segmentation sémantique des véhicules autonomes
Ensemble de données
Nous utilisons les Base de données vidéo labellisée Cambridge-Driving (CamVid) pour cet exemple. Il contient une collection de vidéos avec des étiquettes sémantiques de classe d'objets, complétées par des métadonnées. La base de données fournit des étiquettes de vérité terrain qui associent chaque pixel à l'une des 32 classes sémantiques. Nous pouvons versionner notre ensemble de données en tant que baguette magique.Artefact, de cette façon nous pourrons y faire référence plus tard. Voir le code suivant :
Vous pouvez suivre dans le 01_data_processing.ipynb carnet.
Nous enregistrons également un table de l’ensemble de données. Les tableaux sont des entités riches et puissantes de type DataFrame qui vous permettent d'interroger et d'analyser des données tabulaires. Vous pouvez comprendre vos ensembles de données, visualiser les prédictions du modèle et partager des informations dans un tableau de bord central.
Les tableaux de pondérations et de biais prennent en charge de nombreux formats multimédias riches, tels que les images, l'audio et les formes d'onde. Pour une liste complète des formats multimédias, reportez-vous à Types de données.
La capture d'écran suivante montre un tableau avec des images brutes avec les segmentations de vérité terrain. Vous pouvez également visualiser un version interactive de ce tableau.
Former un mannequin
Nous pouvons maintenant créer un modèle et l'entraîner sur notre ensemble de données. Nous utilisons PyTorch ainsi que rapide pour prototyper rapidement une référence puis l'utiliser wandb.Sweeps
pour optimiser nos hyperparamètres. Suivez-nous dans le 02_segmentation_sémantique.ipynb carnet de notes. Lorsque vous êtes invité à indiquer un noyau à l'ouverture du notebook, choisissez le même noyau dans notre premier notebook, PyTorch 1.10 Python 3.8 optimisé pour le GPU. Vos packages sont déjà installés car vous utilisez la même application.
Le modèle est censé apprendre une annotation par pixel d'une scène capturée du point de vue de l'agent autonome. Le modèle doit catégoriser ou segmenter chaque pixel d'une scène donnée en 32 catégories pertinentes, telles que route, piéton, trottoir ou voitures. Vous pouvez choisir n'importe laquelle des images segmentées sur le tableau et accéder à cette interface interactive pour accéder aux résultats et aux catégories de segmentation.
Parce que le rapide la bibliothèque a une intégration avec wandb
, vous pouvez simplement passer le WandbCallback
à l'apprenant :
Pour les expériences de base, nous avons décidé d'utiliser une architecture simple inspirée du UNet papier avec des épines dorsales différentes de Timm. Nous avons formé nos modèles avec Perte focale comme critère. Avec Weights & Biases, vous pouvez facilement créer des tableaux de bord avec des résumés de vos expériences pour analyser rapidement les résultats de l'entraînement, comme le montre la capture d'écran suivante. Vous pouvez aussi visualiser ce tableau de bord de manière interactive.
Recherche d'hyperparamètres avec balayages
Pour améliorer les performances du modèle de base, nous devons sélectionner le meilleur modèle et le meilleur ensemble d'hyperparamètres à entraîner. W&B nous facilite la tâche en utilisant balayages.
Nous effectuons une Recherche d'hyperparamètres bayésiens dans le but de maximiser la précision de premier plan du modèle sur l'ensemble de données de validation. Pour effectuer le balayage, nous définissons le fichier de configuration sweep.yaml. A l'intérieur de ce fichier, nous passons la méthode souhaitée à utiliser : bayes et les paramètres et leurs valeurs correspondantes à rechercher. Dans notre cas, nous essayons différents backbones, tailles de lots et fonctions de perte. Nous explorons également différents paramètres d'optimisation tels que le taux d'apprentissage et la perte de poids. Comme il s’agit de valeurs continues, nous échantillonnons à partir d’une distribution. Il y en a plusieurs options de configuration disponibles pour les balayages.
Ensuite, dans un terminal, vous lancez le balayage à l'aide du ligne de commande baguette:
Et puis lancez un agent de balayage sur cette machine avec le code suivant :
Une fois le balayage terminé, nous pouvons utiliser un tracé de coordonnées parallèles pour explorer les performances des modèles avec différents squelettes et différents ensembles d'hyperparamètres. Sur cette base, nous pouvons voir quel modèle est le plus performant.
La capture d'écran suivante montre les résultats des balayages, y compris un graphique de coordonnées parallèles et des graphiques de corrélation des paramètres. Vous pouvez aussi afficher ce tableau de bord des balayages de manière interactive.
Nous pouvons tirer les enseignements clés suivants de ce balayage :
- Un taux d'apprentissage plus faible et une perte de poids plus faible se traduisent par une meilleure précision au premier plan et des scores de dés.
- La taille du lot présente de fortes corrélations positives avec les métriques.
- Les Structures basées sur VGG ce n'est peut-être pas une bonne option pour entraîner notre modèle final, car ils ont tendance à entraîner un gradient de fuite. (Ils sont filtrés à mesure que les pertes divergent.)
- Les ResNet les backbones génèrent les meilleures performances globales en ce qui concerne les métriques.
- Le backbone ResNet34 ou ResNet50 doit être choisi pour le modèle final en raison de leurs solides performances en termes de métriques.
Lignée des données et du modèle
Les artefacts W&B ont été conçus pour faciliter la gestion des versions de vos ensembles de données et modèles, que vous souhaitiez stocker vos fichiers avec W&B ou que vous disposiez déjà d'un compartiment que vous souhaitez que W&B suive. Après avoir suivi vos ensembles de données ou vos fichiers de modèle, W&B enregistre automatiquement chaque modification, vous offrant ainsi un historique complet et vérifiable des modifications apportées à vos fichiers.
Dans notre cas, l'ensemble de données, les modèles et les différentes tables générés lors de la formation sont enregistrés dans l'espace de travail. Vous pouvez rapidement visualiser et visualiser cette lignée en vous rendant sur la page Artefacts .
Interpréter les prédictions du modèle
La pondération et les biais sont particulièrement utiles lors de l'évaluation des performances du modèle en utilisant la puissance de baguetteb.Tables pour visualiser où notre modèle fonctionne mal. Dans ce cas, nous nous intéressons particulièrement à la détection correcte des utilisateurs vulnérables comme les vélos et les piétons.
Nous avons enregistré les masques prédits ainsi que le coefficient de score de dés par classe dans un tableau. Nous avons ensuite filtré par lignes contenant les classes souhaitées et triés par ordre croissant sur le score Dice.
Dans le tableau suivant, nous filtrons d'abord en choisissant où le score Dice est positif (des piétons sont présents dans l'image). Ensuite, nous trions par ordre croissant pour identifier les piétons les moins détectés. Gardez à l’esprit qu’un score de dé égal à 1 signifie que la classe piétonne est correctement segmentée. Vous pouvez aussi visualiser ce tableau de manière interactive.
On peut répéter cette analyse avec d’autres classes vulnérables, comme les vélos ou les feux tricolores.
Cette fonctionnalité est un très bon moyen d'identifier les images qui ne sont pas correctement étiquetées et de les marquer pour les réannoter.
Conclusion
Cet article présentait la plate-forme MLOps Weights & Biases, comment configurer W&B dans SageMaker Studio et comment exécuter un cahier d'introduction sur la solution commune. Nous avons ensuite examiné un cas d'utilisation de segmentation sémantique de véhicules autonomes et démontré des entraînements de suivi avec des expériences W&B, l'optimisation des hyperparamètres à l'aide de balayages W&B et l'interprétation des résultats avec des tables W&B.
Si vous souhaitez en savoir plus, vous pouvez accéder au live Rapport W&B. Pour essayer Weights & Biases gratuitement, inscrivez-vous sur Poids et biais, Ou visitez le Liste du marché W&B AWS.
À propos des auteurs
Thomas Capelle est ingénieur en apprentissage automatique chez Weights and Biases. Il est responsable de maintenir le référentiel www.github.com/wandb/examples en ligne et à jour. Il crée également du contenu sur MLOPS, les applications de W&B aux industries et l'apprentissage profond amusant en général. Auparavant, il utilisait l'apprentissage profond pour résoudre des prévisions à court terme concernant l'énergie solaire. Il a une formation en urbanisme, en optimisation combinatoire, en économie des transports et en mathématiques appliquées.
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 3 années chez AWS, elle a contribué à la mise en place de plateformes AI/ML pour les entreprises clientes. Lorsqu'elle ne travaille pas, elle adore les balades à moto, les romans policiers et les randonnées avec son husky de quatre ans.
Karthik Bharaty est le leader produit d'Amazon SageMaker avec plus d'une décennie d'expérience en matière de gestion de produits, de stratégie produit, d'exécution et de lancement.
- 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/improve-ml-developer-productivity-with-weights-biases-a-computer-vision-example-on-amazon-sagemaker/
- "
- &
- 000
- 10
- 100
- a
- Qui sommes-nous
- accès
- accessible
- accès
- Compte
- à travers
- Supplémentaire
- AI
- algorithmes
- Tous
- déjà
- Amazon
- selon une analyse de l’Université de Princeton
- il analyse
- appli
- applications
- appliqué
- architecture
- autour
- Associé(e)
- acoustique
- automatiquement
- autonome
- disponibles
- AWS
- fond
- Baseline
- car
- LES MEILLEURS
- construire
- construit
- la performance des entreprises
- voitures
- maisons
- central
- Charts
- Selectionnez
- choisi
- classe
- les classes
- code
- collaborons
- collaboration
- collaboration
- collection
- Sociétés
- complet
- ordinateur
- configuration
- contient
- contenu
- Correspondant
- engendrent
- crée des
- Clients
- tableau de bord
- données
- Base de données
- décennie
- décidé
- profond
- démontré
- déployer
- un
- Développeur
- mobiles
- Développement
- différent
- distribution
- domaine
- pendant
- chacun
- même
- Économie
- permettre
- permet
- énergie
- ingénieur
- Entrer
- Entreprise
- entités
- Environment
- notamment
- tout le monde
- exemple
- exécution
- Découvrez
- expérience
- explorez
- RAPIDE
- plus rapide
- Fonctionnalité
- Prénom
- suivre
- Abonnement
- Test d'anglais
- de
- plein
- amusement
- fonctions
- Général
- généré
- Git
- GitHub
- Don
- objectif
- aller
- Bien
- GPU
- a aidé
- aide
- Histoire
- Comment
- How To
- HTTPS
- identifier
- identifier
- Active
- image
- satellite
- la mise en oeuvre
- améliorer
- inclut
- Y compris
- secteurs
- Infrastructure
- technologie innovante
- contribution
- idées.
- inspiré
- installer
- instance
- des services
- l'intégration
- Interactif
- intéressé
- Interfaces
- d'introduction
- IT
- XNUMX éléments à
- en gardant
- ACTIVITES
- Etiquettes
- langue
- lancer
- leader
- APPRENTISSAGE
- apprentissage
- Bibliothèque
- lignes
- Liste
- le travail
- charge
- click
- machine learning
- faire
- FAIT DU
- Fabrication
- gestion
- Manuel
- travail manuel
- manuellement
- marché
- Masques
- math
- veux dire
- Médias
- Métrique
- pourrait
- l'esprit
- ML
- modèle
- numériques jumeaux (digital twin models)
- PLUS
- (en fait, presque toutes)
- moto
- plusieurs
- Mystère
- Nature
- Besoins
- cahier
- ouvert
- ouverture
- d'exploitation
- le système d'exploitation
- Avis
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- Optimiser
- Option
- Options
- de commander
- organisations
- Autre
- global
- propre
- Papier
- particulièrement
- passionné
- performant
- performances
- et la planification de votre patrimoine
- plateforme
- Plateformes
- Point
- Point de vue
- positif
- power
- solide
- Prédictions
- représentent
- Présentations
- processus
- traitement
- Produit
- gestion des produits
- productivité
- Projet
- projets
- fournit
- vite.
- raw
- pertinent
- répéter
- dépôt
- conditions
- Exigences
- un article
- responsables
- résultant
- Résultats
- routières
- Rôle
- Courir
- pour le running
- même
- évolutive
- scène
- scientifiques
- Rechercher
- clignotant
- segmentation
- service
- set
- Partager
- partage
- assistance technique à court terme
- vitrine
- montré
- signer
- étapes
- unique
- Taille
- So
- solaire
- énergie solaire
- sur mesure
- Solutions
- RÉSOUDRE
- quelques
- Standard
- Commencer
- j'ai commencé
- Boutique
- de Marketing
- STRONG
- studio
- Étude
- Support
- Sweep
- combustion propre
- équipe
- équipes
- techniques
- terminal
- conditions
- Les
- Le joint
- le monde
- des tiers.
- Avec
- fiable
- top
- suivre
- Tracking
- circulation
- Formation
- transformations
- Transparence
- confiance
- ui
- comprendre
- mobilier urbain
- us
- utilisé
- utilisateurs
- validation
- Plus-value
- divers
- véhicule
- version
- Vidéo
- Vidéos
- Voir
- vision
- Vulnérable
- Basé sur le Web
- que
- tout en
- Wikipédia
- Activités principales
- de travail
- world
- années
- Votre