Vous pouvez utiliser Bord boule de neige AWS appareils dans des endroits tels que les navires de croisière, les plates-formes pétrolières et les usines avec une connectivité réseau limitée ou inexistante pour une large gamme d'applications d'apprentissage automatique (ML) telles que la surveillance, la reconnaissance faciale et l'inspection industrielle. Cependant, étant donné la nature distante et déconnectée de ces appareils, le déploiement et la gestion des modèles de ML à la périphérie sont souvent difficiles. Avec AWS IoT Greengrass ainsi que Gestionnaire de périphérie Amazon SageMaker, vous pouvez effectuer une inférence ML sur des données générées localement sur des appareils Snowball Edge à l'aide de modèles ML entraînés dans le cloud. Vous bénéficiez non seulement de la faible latence et des économies de coûts liées à l'exécution de l'inférence locale, mais vous réduisez également le temps et les efforts nécessaires pour mettre les modèles ML en production. Vous pouvez faire tout cela tout en surveillant et en améliorant en permanence la qualité des modèles sur l'ensemble de votre parc d'appareils Snowball Edge.
Dans cet article, nous expliquons comment vous pouvez utiliser AWS IoT Greengrass version 2.0 ou supérieure et Edge Manager pour optimiser, sécuriser, surveiller et maintenir un modèle de classification TensorFlow simple pour classer les conteneurs d'expédition (connex) et les personnes.
Commencer
Pour commencer, commandez un appareil Snowball Edge (pour plus d'informations, consultez Création d'une tâche AWS Snowball Edge). Vous pouvez commander un appareil Snowball Edge avec une AMI validée AWS IoT Greengrass dessus.
Après avoir reçu l'appareil, vous pouvez utiliser AWS OpsHub pour Snow Family ou le Client Snowball Edge pour déverrouiller l'appareil. Vous pouvez démarrer un Cloud de calcul élastique Amazon (Amazon EC2) avec la dernière version d'AWS IoT Greengrass installée ou utilisez les commandes sur AWS OpsHub pour Snow Family.
Lancez et installez une AMI avec les exigences suivantes, ou fournissez une référence d'AMI sur la console Snowball avant de commander et elle sera livrée avec toutes les bibliothèques et données de l'AMI :
- Le framework ML de votre choix, tel que TensorFlow, PyTorch ou MXNet
- Docker (si vous avez l'intention de l'utiliser)
- AWS IoT Greengrass
- Toutes les autres bibliothèques dont vous pourriez avoir besoin
Préparez l'AMI au moment de la commande de l'appareil Snowball Edge sur la console AWS Snow Family. Pour les instructions, voir Utilisation des instances de calcul Amazon EC2... Vous avez également la possibilité de mettre à jour l'AMI après le déploiement de Snowball sur votre emplacement périphérique.
Installez la dernière version d'AWS IoT Greengrass sur Snowball Edge
Pour installer AWS IoT Greengrass sur votre appareil, procédez comme suit :
- Installez la dernière version d'AWS IoT Greengrass sur votre appareil Snowball Edge. S'assurer
dev_tools=True
est réglé pour avoirggv2 cli
Voir le code suivant:
Nous référençons le --thing-name
vous avez choisi ici lorsque nous avons configuré Edge Manager.
- Exécutez la commande suivante pour tester votre installation :
- Sur la console AWS IoT, validez l'appareil Snowball Edge enregistré avec succès avec votre compte AWS IoT Greengrass.
Optimisez les modèles de ML avec Edge Manager
Nous utilisons Edge Manager pour déployer et gérer le modèle sur Snowball Edge.
- Installez l'agent Edge Manager sur Snowball Edge à l'aide de la dernière version d'AWS IoT Greengrass.
- Entraînez et stockez votre modèle ML.
Vous pouvez entraîner votre modèle de ML à l'aide de n'importe quel framework de votre choix et l'enregistrer dans un Service de stockage simple Amazon (Amazon S3). Dans la capture d'écran suivante, nous utilisons TensorFlow pour entraîner un modèle multi-étiquettes afin de classer les connex et les personnes dans une image. Le modèle utilisé ici est enregistré dans un compartiment S3 en créant d'abord un fichier .tar.
Une fois le modèle enregistré (TensorFlow Lite dans ce cas), vous pouvez lancer un Amazon Sage Maker Neo travail de compilation du modèle et optimiser le modèle ML pour Snowball Edge Compute (SBE_C
).
- Sur la console SageMaker, sous Inférence dans le volet de navigation, choisissez Travaux de compilation.
- Selectionnez Créer une tâche de compilation.
- Donnez un nom à votre tâche et créez ou utilisez un rôle existant.
Si vous créez un nouveau Gestion des identités et des accès AWS (IAM), assurez-vous que SageMaker a accès au bucket dans lequel le modèle est enregistré.
- Dans le Configuration d'entrée section, pour Emplacement des artefacts du modèle, entrez le chemin de
model.tar.gz
où vous avez enregistré le fichier (dans ce cas,s3://feidemo/tfconnexmodel/connexmodel.tar.gz
). - Pour Configuration d'entrée de données, saisissez la couche d'entrée du modèle ML (son nom et sa forme). Dans ce cas, ça s'appelle
keras_layer_input
et sa forme est [1,224,224,3], nous entrons donc{“keras_layer_input”:[1,224,224,3]}
.
- Pour Cadre d'apprentissage automatique, choisissez TFLite.
- Pour Dispositif cible, choisissez sbe_c.
- Laisser Options du compilateur
- Pour Emplacement de sortie S3, entrez le même emplacement que celui où votre modèle est enregistré avec le préfixe (dossier)
output
. Par exemple, nous entronss3://feidemo/tfconnexmodel/output
.
- Selectionnez Envoyer pour démarrer le travail de compilation.
Vous créez maintenant un package de déploiement de modèle à utiliser par Edge Manager.
- Sur la console SageMaker, sous Gestionnaire de périphérie, choisissez Emplois d'emballage de bord.
- Selectionnez Créer une tâche d'emballage Edge.
- Dans le Propriétés de l'emploi section, entrez les détails du travail.
- Dans le Source du modèle section, pour Nom de la tâche de compilation, entrez le nom que vous avez fourni pour la tâche de compilation Neo.
- Selectionnez Suivant.
- Dans le Configuration de sortie section, pour URI du compartiment S3, saisissez l'emplacement où vous souhaitez stocker le package dans Amazon S3.
- Pour Nom du composant, saisissez un nom pour votre composant AWS IoT Greengrass.
Cette étape crée un composant de modèle AWS IoT Greengrass dans lequel le modèle est téléchargé depuis Amazon S3 et décompressé vers le stockage local sur Snowball Edge.
- Créez un parc d'appareils pour gérer un groupe d'appareils, dans ce cas, un seul (SBE).
- Pour Rôle IAM¸ saisissez le rôle généré par AWS IoT Greengrass précédemment (–tes-role-name).
Assurez-vous qu'il dispose des autorisations requises en accédant à la console IAM, en recherchant le rôle et en y ajoutant les stratégies requises.
- Enregistrez l'appareil Snowball Edge dans la flotte que vous avez créée.
- Dans le Source de l'appareil section, entrez le nom de l'appareil. Le nom IoT doit correspondre au nom que vous avez utilisé précédemment, dans ce cas, –thing-name MyGreengrassCore.
Vous pouvez enregistrer des appareils Snowball supplémentaires sur la console SageMaker pour les ajouter à la flotte d'appareils, ce qui vous permet de regrouper et de gérer ces appareils ensemble.
Déployez des modèles de ML sur Snowball Edge à l'aide d'AWS IoT Greengrass
Dans les sections précédentes, vous avez déverrouillé et configuré votre appareil Snowball Edge. Le modèle ML est désormais compilé et optimisé pour les performances sur Snowball Edge. Un package Edge Manager est créé avec le modèle compilé et l'appareil Snowball est enregistré dans une flotte. Dans cette section, vous examinez les étapes impliquées dans le déploiement du modèle ML pour l'inférence à Snowball Edge avec le dernier AWS IoT Greengrass.
Composantes
AWS IoT Greengrass vous permet de déployer sur des appareils de périphérie en tant que combinaison de composants et d'artefacts associés. Les composants sont des documents JSON qui contiennent les métadonnées, le cycle de vie, quoi déployer quand et quoi installer. Les composants définissent également le système d'exploitation à utiliser et les artefacts à utiliser lors de l'exécution sur différentes options de système d'exploitation.
Artefacts
Les artefacts peuvent être des fichiers de code, des modèles ou des images de conteneur. Par exemple, un composant peut être défini pour installer une bibliothèque Python pandas et exécuter un fichier de code qui transformera les données, ou pour installer une bibliothèque TensorFlow et exécuter le modèle pour l'inférence. Voici des exemples d'artefacts nécessaires pour un déploiement d'application d'inférence :
- Proto gRPC et stubs Python (cela peut être différent en fonction de votre modèle et de votre framework)
- Code Python pour charger le modèle et effectuer l'inférence
Ces deux éléments sont chargés dans un compartiment S3.
Déployer les composants
Le déploiement nécessite les composants suivants :
- Agent Edge Manager (disponible dans les composants publics à GA)
- Modèle
- Application
Effectuez les étapes suivantes pour déployer les composants :
- Sur la console AWS IoT, sous L'herbe verte, choisissez Composantes, et créez le composant d'application.
- Recherchez le composant de l'agent Edge Manager dans la liste des composants publics et déployez-le.
- Déployez un composant de modèle créé par Edge Manager, qui est utilisé comme dépendance dans le composant d'application.
- Déployez le composant d'application sur l'appareil de périphérie en accédant à la liste des déploiements AWS IoT Greengrass et en créant un nouveau déploiement.
Si vous disposez d'un déploiement existant, vous pouvez le modifier pour ajouter le composant d'application.
Vous pouvez maintenant tester votre composant.
- Dans votre code de prédiction ou d'inférence déployé avec le composant d'application, codez dans la logique pour accéder aux fichiers localement sur l'appareil Snowball Edge (par exemple, dans le dossier entrant) et déplacez les prédictions ou les fichiers traités vers un dossier traité.
- Connectez-vous à l'appareil pour voir si les prédictions ont été faites.
- Configurez le code pour qu'il s'exécute en boucle, en vérifiant le dossier entrant pour les nouveaux fichiers, en traitant les fichiers et en les déplaçant vers le dossier traité.
La capture d'écran suivante est un exemple de configuration de fichiers avant le déploiement dans la Snowball Edge.
Après le déploiement, toutes les images de test ont des classes d'intérêt et sont donc déplacées vers le dossier traité.
Nettoyer
Pour tout nettoyer ou réimplémenter cette solution à partir de zéro, arrêtez toutes les instances EC2 en appelant le TerminateInstance
API contre les points de terminaison compatibles EC2 s'exécutant sur votre appareil Snowball Edge. Pour retourner votre appareil Snowball Edge, consultez Mise hors tension de la Snowball Edge ainsi que Retour de l'appareil Snowball Edge.
Conclusion
Cet article vous a expliqué comment commander un appareil Snowball Edge avec une AMI de votre choix. Vous compilez ensuite un modèle pour la périphérie à l'aide de SageMaker, empaquetez ce modèle à l'aide d'Edge Manager, puis créez et exécutez des composants avec des artefacts pour effectuer une inférence ML sur Snowball Edge à l'aide de la dernière version d'AWS IoT Greengrass. Avec Edge Manager, vous pouvez déployer et mettre à jour vos modèles de ML sur une flotte d'appareils Snowball Edge, et surveiller les performances à la périphérie avec des données d'entrée et de prédiction enregistrées sur Amazon S3. Vous pouvez également exécuter ces composants en tant que composants de longue durée AWS Lambda fonctions qui peuvent faire tourner un modèle et attendre que les données fassent l'inférence.
Vous combinez plusieurs fonctionnalités d'AWS IoT Greengrass pour créer un client MQTT et utilisez un modèle pub/sub pour appeler d'autres services ou microservices. Les possibilités sont infinies.
En exécutant l'inférence de ML sur Snowball Edge avec Edge Manager et AWS IoT Greengrass, vous pouvez optimiser, sécuriser, surveiller et gérer les modèles de ML sur des flottes d'appareils Snowball Edge. Merci d'avoir lu et n'hésitez pas à laisser des questions ou des commentaires dans la section commentaires.
Pour en savoir plus sur AWS Snow Family, AWS IoT Greengrass et Edge Manager, consultez ce qui suit :
À propos des auteurs
Raj Kadiyala est responsable du développement commercial AI/ML Tech au sein de l'organisation partenaire AWS WWPS. Raj a plus de 12 ans d'expérience dans l'apprentissage automatique et aime passer son temps libre à explorer l'apprentissage automatique pour trouver des solutions pratiques au quotidien et rester actif dans les grands espaces du Colorado.
Nida Beige est chef de produit senior - Tech chez Amazon Web Services où elle travaille au sein de l'équipe AWS Snow Family. Elle est passionnée par la compréhension des besoins des clients et l'utilisation de la technologie comme chef de file d'une pensée transformatrice pour fournir des produits de consommation. En plus du travail, elle aime voyager, faire de la randonnée et courir.
- 100
- 9
- accès
- Compte
- infection
- Supplémentaire
- Tous
- Amazon
- Amazon EC2
- Amazon Sage Maker
- Amazon Web Services
- api
- Application
- applications
- AWS
- la performance des entreprises
- vérification
- classification
- code
- Colorado
- commentaires
- composant
- calcul
- Conducteur
- Connectivité
- consommateur
- Produits de consommation
- Contenant
- Conteneurs
- La création
- croisière
- données
- journée
- Développement
- Compatibles
- INSTITUTIONNELS
- Edge
- Découvrez
- la reconnaissance faciale
- PERSONNEL
- famille
- Fonctionnalités:
- Prénom
- FLOTTE
- étages
- Framework
- Test d'anglais
- l'
- Grands espaces
- Réservation de groupe
- ici
- randonnée
- Comment
- How To
- HTTPS
- IAM
- Active
- image
- industriel
- d'information
- intérêt
- impliqué
- IOT
- IT
- Java
- Emploi
- Nouveautés
- APPRENTISSAGE
- apprentissage
- Bibliothèque
- limité
- Liste
- charge
- locales
- localement
- emplacement
- machine learning
- Match
- ML
- modèle
- Stack monitoring
- Navigation
- NEO
- réseau et
- Huile
- d'exploitation
- le système d'exploitation
- Option
- Options
- de commander
- Autre
- l'extérieur
- l'emballage
- les partenaires
- Personnes
- performant
- politiques
- prédiction
- Prédictions
- Produit
- Vidéo
- Produits
- public
- Python
- pytorch
- qualité
- gamme
- en cours
- réduire
- Exigences
- Courir
- pour le running
- sagemaker
- Services
- set
- Livraison
- navires
- étapes
- neige
- So
- Solutions
- passer
- Spin
- Commencer
- j'ai commencé
- storage
- Boutique
- surveillance
- combustion propre
- technologie
- Technologie
- tensorflow
- tester
- En pensant
- fiable
- Mises à jour
- attendez
- web
- services Web
- Activités principales
- vos contrats
- années