Partager via


Exécuter des modèles Azure AI sur des appareils Siemens Industrial Edge

Cet article démontre comment exécuter des modèles d’IA Azure sur des appareils IoT Siemens Industrial Edge et les surveiller à partir d’un emplacement central dans Azure. L’architecture simplifie le processus d’intégration entre Azure et les services d’IA Siemens Industrial et se concentre sur deux domaines opérationnels :

  • Déployer des modèles Azure AI sur les appareils Siemens Industrial Edge – Ce domaine opérationnel implique la mise en œuvre de pipelines Azure Machine Learning pour l’entraînement, l’évaluation et l’enregistrement automatisés des modèles. Il comprend également l’automatisation du déploiement sécurisé et approuvé des modèles d’IA formés sur Azure du cloud vers le gestionnaire de modèles d’IA (AIMM) Siemens sur site.

  • Centraliser la télémétrie des appareils Siemens Industrial Edge dans Azure – Ce domaine opérationnel consiste à pousser les journaux d’inférence et les mesures vers le cloud, ce qui permet une surveillance centralisée des applications de périphérie dans Azure.

Architecture

Diagramme montrant le workflow du pipeline de données.

Flux de travail

  1. Le nouveau pipeline de données :

    a. Charge les données d’entraînement brutes à partir d’un conteneur de stockage de magasin de données brutes dédié. Le pipeline traite ensuite les données d’entraînement brutes et les met en forme dans un format acceptable pour l’entraînement du modèle.

    b. Enregistre les données traitées dans le conteneur de stockage du jeu de données traité.

  2. Le pipeline de développement du modèle est déclenché après le traitement des données brutes.

  3. Pipeline de développement du modèle :

    a. Charge les données d’entraînement traitées à partir du conteneur de stockage des jeux de données traités et effectue l’entraînement du modèle.

    b. Enregistre le modèle obtenu dans le catalogue des modèles.

  4. Le pipeline de validation et d’empaquetage est déclenché après l’entraînement du modèle.

  5. Pipeline de validation et d’empaquetage :

    a. Charge le modèle à partir du catalogue des modèles et effectue la validation du modèle.

    b. Si le modèle réussit la validation, le pipeline utilise la bibliothèque SDK Siemens AI pour empaqueter et enregistrer le modèle dans le conteneur de stockage des modèles packagés.

  6. Le pipeline de catégorisation et de livraison est déclenché une fois l’entraînement du modèle enregistré.

  7. Le pipeline de catégorisation et de livraison récupère le modèle entraîné dans le catalogue des modèles et le catégorise avec d’autres métadonnées, notamment les détails de la version du pipeline, la date de création et la version des données. Le pipeline enregistre ensuite le modèle dans le registre de conteneurs.

  8. Le pipeline de livraison initie un échange de messages entre le pipeline Machine Learning et l’AIMM de Siemens via Azure IoT Hub et Azure Event Hubs. Cette boucle est cruciale pour gérer et coordonner le déploiement d’un nouveau modèle :

    a. Le pipeline de livraison envoie un message via IoT Hub pour informer Siemens AIMM qu’un nouveau modèle est prêt à être déployé.

    b. Siemens AIMM reçoit cette notification et évalue l’état actuel des dispositifs de périphérie afin de déterminer s’ils sont prêts pour le nouveau modèle. Une fois qu’il est prêt, Siemens AIMM répond à IoT Hub avec une demande pour le nouveau modèle.

    c. Le pipeline de livraison génère un lien de signature d’accès partagé (SAS) pour le package de modèles dans le conteneur de stockage des modèles packagés.

    d. Le pipeline de livraison renvoie cette liaison SAS à Siemens AIMM via IoT Hub, ce qui lui permet de télécharger le modèle.

  9. Une fois que Siemens AIMM a reçu le lien SAS du pipeline de livraison, il contacte le conteneur de stockage des modèles packagés et télécharge le dernier modèle packagé.

  10. Siemens AIMM exécute des processus internes pour déployer le dernier modèle packagé sur le serveur d’inférence d’IA (AIIS) de Siemens.

  11. Siemens AIIS utilise le collecteur OpenTelemetry pour envoyer des mesures au moniteur de modèle Siemens AI.

  12. Siemens AI Model Monitor agrège tous les journaux et mesures des appareils et services de périphérie et envoie ces informations à Azure Monitor.

  13. Le recyclage des données implique les étapes suivantes :

    a. Le collecteur de données rassemble les données d’inférence produites par le modèle en cours d’exécution dans Siemens AIIS.

    b. Le collecteur de données transfère les données vers le hub de collecteur de données.

    c. Le hub du collecteur de données charge les données vers le compte de stockage Azure de la zone d’atterrissage des données pour un nouvel entraînement du modèle ultérieurement.

Architecture d’observabilité

Diagramme montrant le workflow de l’architecture d’observabilité Siemens.

Pour assurer le transfert fluide des journaux et des mesures depuis les périphériques Siemens Industrial Edge vers Azure, l’architecture utilise l’exportateur Azure Monitor du collecteur OpenTelemetry et du proxy d’authentification. Siemens AI Model Monitor déploie ces composants en tant que parties intégrantes. Cette configuration vous permet d’exporter des journaux et des mesures vers Application Insights et un espace de travail Azure Monitor. Il utilise une identité managée à partir de l’ID Microsoft Entra comme mécanisme d’authentification clé.

Les données de télémétrie circulent de la couche de technologie opérationnelle vers une instance du collecteur OpenTelemetry dans la couche de technologie de l’information. Ce collecteur exporte les données vers Application Insights et utilise le proxy d’authentification pour acquérir une identité de principal de service. Ce processus renforce l’authentification en utilisant une identité Microsoft Entra ID entièrement sauvegardée au lieu d’une clé secrète partagée ou d’une clé d’instrumentation. Un pipeline Azure DevOps génère et distribue automatiquement les certificats et les principaux de service, et associe les rôles et autorisations appropriés.

Pour une solution plus générique, consultez collecteur OpenTelemetry pour les scénarios IoT hérités.

Composants Siemens Industrial Edge

Les composants Siemens Industrial Edge comprennent les éléments suivants :

  • AI Model Monitor collecte des informations de télémétrie, des journaux et des mesures sur les performances du modèle à partir des appareils périphériques.

  • AIMM est un service utilisé pour orchestrer les périphériques et distribuer des modèles.

  • AIIS s’exécute sur les appareils Siemens Industrial Edge et utilise l’interpréteur Python intégré pour exécuter des modèles d’IA déployés à des fins d’inférence.

  • Utilisez le kit de développement logiciel AI pour empaqueter votre modèle, notamment la logique de prétraitement et de post-traitement, dans un pipeline d’inférence standard qui s’exécute sur AIIS. Utilisez ces outils Python et gérez votre environnement de codage et d’entraînement existant.

  • Siemens Data Collector rassemble les données d’inférence de Siemens AIIS pour un traitement ultérieur.

  • Siemens Data Collector Hub rassemble les données d’inférence de tous les collecteurs de données et les transfère vers le cloud pour un traitement ultérieur.

Composants Azure

Pour chaque composant de l’architecture, utilisez le guide de service approprié dans Well-Architected Framework, le cas échéant. Pour plus d’informations, consultez Guides de service Well-Architected Framework.

  • IoT Hub facilite la communication pour la livraison de modèles entre le cloud et la périphérie. IoT Hub enregistre AIMM en tant qu’appareil périphérique, ce qui permet aux services cloud d’envoyer des messages cloud à l’appareil.

  • L’espace de travail Machine Learning agit comme un hub central pour créer, organiser et héberger efficacement des artefacts et des tâches de Machine Learning pour les équipes. Par exemple, vous pouvez créer des tâches, des pipelines, des ressources de données, des modèles et des points de terminaison.

  • Azure Monitor est une solution Azure qui fournit des informations sur les performances et l’intégrité des applications et des ressources. Elle offre des outils pour collecter, analyser et agir sur les données de télémétrie.

  • Le stockage est un conteneur ou un référentiel basé sur le cloud utilisé pour stocker et gérer divers types de données de manière évolutive et accessible.

  • Azure Key Vault est un service cloud qui gère et stocke en toute sécurité des informations sensibles, telles que des clés secrètes, des clés de chiffrement et des certificats. Il fournit un contrôle centralisé sur les pistes d’accès et d’audit.

  • Azure Container Registry est un service de registre privé géré que vous pouvez utiliser pour créer, stocker et gérer des images de conteneur et des artefacts associés. Lorsque vous créez un espace de travail Machine Learning, il crée automatiquement une instance de Container Registry. Container Registry stocke des conteneurs Docker que vous pouvez utiliser pour former et déployer des modèles. Les conteneurs Docker encapsulent votre environnement de formation Machine Learning. Cette fonctionnalité garantit un environnement cohérent, reproductible et isolé, ce qui est crucial pour les workflows de Machine Learning.

Alternatives

  • Nous vous recommandons de remplacer IoT Hub par la fonctionnalité Agent MQTT Event Grid comme solution à long terme. Event Grid est un service de distribution de messages de publication et d’abonnement entièrement géré et hautement évolutif. Il utilise les protocoles MQTT et HTTP pour prendre en charge des modèles de consommation de messages flexibles.

  • Envisagez d’utiliser le pipeline de périphérie Azure Monitor sur Azure Arc pour pousser les journaux et les mesures vers Azure. Ce pipeline remplace les composants OpenTelemetry de votre architecture. Cette approche offre une connectivité transparente et sécurisée à Azure. Il améliore également l’extensibilité de l’informatique de l’usine Siemens vers le cloud Azure, simplifiant ainsi la gestion des identités. Cette alternative donne les résultats suivants :

    • Mise en service plus rapide pour le client.
    • Réduction de l’assistance de Siemens lors de la mise en service.
    • Réduction des coûts d’exploitation grâce à l’accès aux données d’observabilité.
  • Vous pouvez utiliser GitLab Accelerator pour développer vos pipelines de machine learning et améliorer encore les fonctionnalités dans Azure avec les exemples de cette implémentation.

Détails du scénario

Ce scénario relève le défi de l’intégration des modèles d’apprentissage automatique développés en Azure aux opérations d’usine gérées par les appareils Siemens Industrial Edge. L’objectif principal est d’assurer un déploiement et une surveillance efficaces, sécurisés et automatisés des modèles d’IA dans les environnements industriels.

Cette architecture permet de répondre au besoin de déploiement transparent et fiable d’applications pilotées par l’IA dans la fabrication et aux exigences opérationnelles strictes. Cette solution minimise les interventions manuelles, réduit les interruptions de production et améliore la visibilité des modèles d’apprentissage automatique dans l’atelier.

Cas d’usage potentiels

Cette architecture crée un environnement en boucle fermée pour la collecte de données, la modélisation de l’IA, la formation, le déploiement, l’inférence et la surveillance basés sur les produits Siemens et Microsoft. Vous pouvez mettre en œuvre des cas d’utilisation de l’IA évolutifs dans divers secteurs, tels que l’électronique, les biens de consommation emballés, l’automobile et les batteries.

Pour réduire les efforts manuels et les coûts, cette architecture intègre la préparation du modèle cloud, le transfert du modèle cloud vers la périphérie et l’exploitation du modèle sur le terrain. Elle fournit également une surveillance de la périphérie au cloud et crée une solution rentable avec un faible investissement initial dans le matériel et les logiciels d’IA.

Considérations

Il y a quelques considérations à prendre en compte pour mettre en œuvre les piliers du framework Azure Well-Architected, qui est un ensemble de principes directeurs utilisés pour améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Well-Architected Framework.

Fiabilité

La fiabilité garantit que votre application peut respecter les engagements que vous prenez envers vos clients. Pour plus d’informations, consultez la liste de contrôle de l’examen de la conception pour la fiabilité.

  • Utilisez des zones de disponibilité Azure pour les services Azure pris en charge afin d’améliorer la fiabilité au sein de la même région Azure.

  • Lorsque vous utilisez le stockage d’objets blob Azure, assurez-vous de configurer la redondance et les configurations de basculement appropriées pour votre compte de stockage.

  • Utilisez des modèles au niveau du code pour gérer les problèmes réseau transitoires et des fonctionnalités de persistance des messages pour vous protéger contre les défaillances logicielles et matérielles transitoires. Par exemple, vous pouvez utiliser le modèle de disjoncteur ou le modèle de la nouvelle tentative.

Sécurité

La sécurité offre des garanties contre les attaques délibérées et l’utilisation abusive de vos données et systèmes précieux. Pour plus d’informations, consultez la liste de contrôle de l’examen de la conception pour la sécurité.

Dans cette architecture, vous pouvez appliquer les principes de sécurité communs suivants :

  • Utilisez Microsoft Entra ID comme outil principal de gestion des identités et du contrôle d’accès.

  • Effectuez un exercice complet de modélisation des menaces pendant la phase de planification de votre solution afin d’identifier les risques de sécurité potentiels et de concevoir des stratégies d’atténuation. Pour plus d’informations, consultez la Modélisation des menaces du cycle de vie du développement de la sécurité Microsoft.

  • Utilisez les identités managées lorsqu’elles sont prises en charge et stockez toutes les autres clés secrètes dans Key Vault. Configurez les paramètres de suppression réversible, activez la journalisation et renforcez le contrôle d’accès pour renforcer la sécurité de Key Vault.

  • Appliquez le principe du moindre privilège en utilisant le contrôle d’accès basé sur les rôles (RBAC) pour réguler l’accès et les autorisations aux ressources. Pour plus d’informations, consultez Qu’est-ce qu’Azure RBAC ?.

  • Utilisez des réseaux virtuels et des points de terminaison privés pour sécuriser les services cloud et les communications cloud-périphérie.

Optimisation des coûts

L’optimisation des coûts consiste à chercher des moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez la liste de contrôle de l’examen de la conception pour l’optimisation des coûts.

  • Examinez et optimisez régulièrement le volume de données stockées dans Log Analytics en ajustant les périodes de conservation et les stratégies d’archivage. Cette stratégie permet de réduire considérablement les coûts de stockage.

  • Profitez de la période de conservation gratuite de 30 jours pour les données ingérées. Après cette période, envisagez d’archiver les données moins critiques dans un stockage moins coûteux ou de réduire les périodes de conservation pour minimiser les dépenses courantes. Pour en savoir plus, consultez Tarification d’Azure Monitor.

  • Évaluez la nécessité et l’utilisation des ressources dépendantes telles que Key Vault, Application Insights, Container Registry et les comptes de stockage. Optimisez leurs configurations pour éviter des coûts inutiles.

  • Examinez régulièrement la taille et l’échelle de ces ressources pour vous assurer qu’elles correspondent à vos exigences de charge de travail actuelles, réduisant ainsi la capacité excédentaire qui pourrait entraîner des coûts plus élevés.

  • Estimez le nombre de messages que votre instance IoT Hub traite quotidiennement et sélectionnez le niveau le plus rentable. Pour éviter le surapprovisionnement, choisissez un niveau qui correspond étroitement à votre utilisation réelle.

  • Mettez en œuvre des stratégies pour réduire le nombre de messages envoyés, telles que le traitement par lots ou l’optimisation des charges utiles de données, afin de minimiser les coûts.

  • Utilisez le calculateur de prix Azure pour simuler divers scénarios de charge de travail et choisir les configurations les plus rentables pour votre architecture. Cette approche vous aide à anticiper les coûts et à identifier les domaines d’économies potentiels.

  • Réexaminez régulièrement vos estimations de coûts et ajustez les configurations au fur et à mesure de l’évolution de vos charges de travail pour garantir une optimisation continue des coûts. Pour plus d’informations, voir Vue d’ensemble des tarifs Azure.

Excellence opérationnelle

L’excellence opérationnelle couvre les processus opérationnels qui déploient une application et la maintiennent en production. Pour plus d’informations, consultez la liste de contrôle de l’examen de la conception pour l’excellence opérationnelle.

  • Créez et gérez votre infrastructure à l’aide d’outils d’infrastructure en tant que code tels que les modèles Bicep, Terraform ou Azure Resource Manager. Ces outils garantissent la cohérence, la répétabilité et l’évolutivité du déploiement de votre infrastructure.

  • Intégrez les pratiques de sécurité dès le début du cycle de vie des applications en appliquant des mesures de sécurité DevOps. Cette approche minimise l’effet des vulnérabilités et rapproche les considérations de sécurité de l’équipe de développement, ce qui permet un développement plus rapide et plus sécurisé.

  • Utilisez Azure Pipelines pour déployer votre infrastructure via des processus d’intégration et de livraison continues. Cette approche garantit un déploiement efficace, automatisé et fiable de vos ressources, réduisant ainsi le risque d’erreurs manuelles et augmentant la vitesse de déploiement.

  • Intégrez des outils de détection de clés secrètes dans vos pipelines d’intégration continue pour éviter de valider des clés secrètes dans votre référentiel. Cette mesure proactive protège votre base de code contre d’éventuelles failles de sécurité.

Efficacité en termes de performance

L’efficacité des performances est la capacité de votre charge de travail à évoluer efficacement pour répondre aux exigences des utilisateurs. Pour plus d’informations, consultez la liste de contrôle de l’examen de la conception pour l’efficacité des performances.

  • Choisissez le niveau IoT Hub approprié en fonction du volume quotidien de messages échangés par votre charge de travail :

    • Pour les projets de petite à moyenne envergure échangeant jusqu’à 5 millions de messages par jour, sélectionnez le niveau S2 Standard.

    • Pour les projets à grande échelle nécessitant la prise en charge de jusqu’à 300 millions de messages par jour ou une moyenne de 3 400 messages par seconde, optez pour le niveau S3 Standard.

    Pour en savoir plus, consultez Tarification IoT Hub.

  • Utilisez des clusters de calcul, et non des instances de calcul, pour la production dans Machine Learning. Les clusters de calcul mettent les ressources à l’échelle de manière dynamique en réponse aux différentes demandes de trafic, garantissant ainsi des performances et une rentabilité optimales.

  • Activez les paramètres de diagnostic pour Machine Learning afin de surveiller et de mettre à l’échelle les services en fonction des besoins de votre entreprise. Surveillez régulièrement l’utilisation moyenne des instances de calcul ou des nœuds de cluster de calcul. À mesure que le nombre d’expériences augmente, ajustez le nombre de nœuds de votre cluster de calcul pour garantir une capacité suffisante et maintenir les performances.

Contributeurs

Microsoft gère cet article. Il a été écrit initialement par les contributeurs suivants.

Principaux auteurs :

Contributeur :

Pour voir les profils LinkedIn non publics, connectez-vous à LinkedIn.

Références