Cette architecture de référence montre l’utilisation d’Azure Stack Edge pour étendre l’inférence du Machine Learning rapide à partir du cloud vers des scénarios locaux ou en périphérie. Azure Stack Hub fournit des fonctionnalités Azure, telles que le calcul, le stockage, le réseau et le Machine Learning à accélération matérielle, à n’importe quel emplacement en périphérie.
Architecture
Téléchargez un fichier Visio de cette architecture.
Workflow
L’architecture se compose des étapes suivantes :
- Azure Machine Learning . Machine Learning vous permet de générer, former, déployer et gérer des modèles de Machine Learning dans un environnement informatique. Ces modèles peuvent ensuite être déployés sur différents services Azure, notamment (mais pas limité à) Azure Container Instances, Azure Kubernetes Service (AKS) et Azure Functions.
- Azure Container Registry . Container Registry est un service qui crée et gère le Registre de Docker. Container Registry crée, stocke et gère les images conteneurs Docker et peut stocker des modèles Machine Learning en conteneur.
- Azure Stack Edge . Azure Stack Edge est un appareil informatique en périphérie qui est conçu pour l’inférence de Machine Learning en périphérie. Les données sont prétraitées à la périphérie avant d’être transférées vers Azure. Azure Stack Edge inclut un matériel d’accélération de calcul conçu pour améliorer les performances de l’inférence d’IA à la périphérie.
- Données locales. Les données locales font référence à toutes les données utilisées dans l’apprentissage du modèle Machine Learning. Les données peuvent résider dans n’importe quelle solution de stockage local, notamment les déploiements Azure Arc.
Components
Détails du scénario
Cas d’usage potentiels
Cette solutions est idéale pour le secteur d’activité des télécommunications. L’extension de l’inférence s’utilise couramment pour :
- exécuter une inférence de Machine Learning locale rapide sur les données à mesure qu’elles sont ingérées et que vous avez une importante empreinte matérielle locale ;
- créer des solutions de recherches à long terme où les données locales existantes sont nettoyées et utilisées pour générer un modèle ; Le modèle est ensuite utilisé à la fois localement et dans le cloud ; un nouvel apprentissage est effectué régulièrement au fur et à mesure de l’arrivée de nouvelles données.
- créer des applications logicielles qui doivent réaliser des inférences sur les utilisateurs, à la fois dans un emplacement physique et en ligne.
Recommandations
Ingestion, transformation et transfert de données stockées localement
Azure Stack Edge peut transformer les données provenant du stockage local avant de les transférer vers Azure. Cette transformation s’effectue à l’aide d’un appareil Azure IoT Edge déployé sur l’appareil Azure Stack Edge. Ces appareils IoT Edge sont associés à une ressource Azure IoT Hub sur la plateforme cloud d’Azure.
Chaque module IoT Edge est un conteneur Docker qui effectue une tâche spécifique dans un workflow d’ingestion, de transformation et de transfert. Par exemple, un module IoT Edge peut collecter des données à partir d’un partage local Azure Stack Edge et transformer les données dans un format prêt pour le Machine Learning. Ensuite, le module transfère les données transformées vers un partage de cloud Azure Stack Edge. Vous pouvez ajouter des modules personnalisés ou intégrés à votre appareil IoT Edge ou vous pouvez développer des modules IoT Edge personnalisés.
Notes
Les modules IoT Edge sont inscrits en tant qu’images conteneurs Docker dans Container Registry.
Dans la ressource Azure Stack Edge sur la plateforme cloud d’Azure, le partage cloud est associé à une ressource de compte Stockage Blob Azure. Toutes les données du partage cloud sont automatiquement chargées dans le compte de stockage associé. Vous pouvez vérifier la transformation et le transfert des données en montant le partage local ou cloud, ou en parcourant le compte de stockage Azure.
Formation et déploiement d’un modèle
Après avoir préparé et stocké les données dans Stockage Blob, vous pouvez créer un jeu de données Machine Learning qui se connecte à Stockage Azure. Un jeu de données représente une seule copie de vos données dans le stockage qui est directement référencée par Machine Learning.
Vous pouvez utiliser l’interface de ligne de commande (CLI) Machine Learning, le Kit de développement logiciel (SDK) R, le Kit de développement logiciel (SDK) Python, le concepteur ou Visual Studio Code pour générer les scripts nécessaires à la formation de votre modèle.
Après la formation et le préparation du modèle au déploiement, vous pouvez le déployer sur différents services Azure, notamment, mais pas limité à :
- Azure Container Registry . Vous pouvez déployer les modèles dans un Registre Docker privé tel qu’Azure Container Registry, car il s’agit d’images conteneurs Docker.
- Azure Container Instances . Vous pouvez déployer l’image conteneur Docker du modèle directement sur un groupe de conteneurs.
- Azure Kubernetes Service . Vous pouvez utiliser Azure Kubernetes Service pour mettre automatiquement à l’échelle l’image conteneur Docker du modèle pour les déploiements de production à grande échelle.
- Azure Functions . Vous pouvez empaqueter un modèle pour qu’il s’exécute directement sur une instance Azure Functions.
- Azure Machine Learning . Vous pouvez utiliser des instances de calcul, des stations de travail de développement cloud managées, pour la formation et l’inférence des modèles. Vous pouvez également déployer le modèle sur des appareils IoT Edge et Azure Stack Edge locaux.
Notes
Pour cette architecture de référence, le modèle est déployé sur Azure Stack Edge afin de le rendre disponible pour l’inférence locale. Le modèle est également déployé sur Container Registry pour s’assurer qu’il est disponible pour l’inférence dans la plus grande variété de services Azure.
Inférence avec un modèle récemment déployé
Azure Stack Edge peut rapidement exécuter des modèles Machine Learning localement sur des données locales à l’aide de son matériel d’accélération de calcul intégré. Ce calcul se produit entièrement à la périphérie. Cela se traduit par des insights rapides de données grâce au matériel qui est plus proche de la source de données que d’une région cloud public.
De plus, Azure Stack Edge peut continuer à transférer des données vers Machine Learning pour la reformation et l’amélioration continues à l’aide d’un pipeline de Machine Learning qui est associé au modèle déjà exécuté sur les données stockées localement.
Considérations
Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.
Disponibilité
- Envisagez de placer votre ressource Azure Stack Edge dans la même région Azure que les autres services Azure qui y auront accès. Pour optimiser les performances de chargement, envisagez de placer votre compte Stockage Blob Azure dans la région où votre appliance dispose de la meilleure connexion réseau.
- Envisagez Azure ExpressRoute pour une connexion stable et redondante entre votre appareil et Azure.
Simplicité de gestion
- Les administrateurs peuvent vérifier que la source de données à partir du stockage local a été transférée correctement vers la ressource Azure Stack Edge. Pour cette vérification, ils peuvent monter le partage de fichiers SMB (Server Message Block)/NFS (Network File System) ou se connecter au compte de stockage Blob associé en utilisant l’Explorateur Stockage Azure.
- Utilisez des jeux de données Machine Learning pour référencer vos données dans le stockage Blob lors de la formation de votre modèle. Le référencement du stockage permet de ne plus devoir incorporer de secrets, de chemins de données ou de chaînes de connexion dans vos scénarios de formation.
- Dans votre espace de travail Machine Learning, inscrivez et suivez les modèles de machine learning pour suivre les différences entre vos modèles à différents moments dans le temps. Vous pouvez également reproduire les métadonnées de contrôle de version et de suivi dans les balises que vous utilisez pour les images conteneurs Docker qui se déploient dans Container Registry.
DevOps
- Passez en revue l’approche de gestion de cycle de vie MLOps pour Machine Learning. Par exemple, utilisez GitHub ou Azure Pipelines pour créer un processus d’intégration continue qui forme et reforme automatiquement un modèle. La formation peut être déclenchée lorsque de nouvelles données remplissent le jeu de données ou qu’une modification est apportée aux scripts de formation.
- L’espace de travail Azure Machine Learning inscrit et gère automatiquement les images conteneurs Docker pour les modèles Machine Learning et les modules IoT Edge.
Optimisation des coûts
L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.
- Utiliser la calculatrice de prix Azure pour estimer les coûts.
- La tarification Azure Stack Edge est calculée sous la forme d’un abonnement mensuel forfaitaire avec des frais d’expédition uniques.
- Azure Machine Learning déploie également les services Container Registry, Stockage Azure et Azure Key Vault, ce qui entraîne des frais supplémentaires. Pour plus d’informations, consultez Fonctionnement d’Azure Machine Learning : architecture et concepts.
- La tarification Azure Machine Learning comprend des frais pour les machines virtuelles utilisées pour la formation du modèle dans le cloud public.
Étapes suivantes
Documentation du produit
Modules Microsoft Learn :
- Bien démarrer avec l’intelligence artificielle dans Azure
- Utiliser des données dans Azure Machine Learning