Déployer l’IA et le computing du Machine Learning localement et en périphérie

Container Registry
IoT Edge
Machine Learning
Azure Stack Edge

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

Diagramme d’architecture : données locales effectuant l’apprentissage d’un modèle dans Azure Machine Learning, avec un modèle déployé de retour en périphérie pour l’inférence.

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é à :

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 ML 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.

Étapes suivantes

Documentation du produit

Modules Microsoft Learn :