idées de solutions
Cet article décrit une idée de solution. Votre architecte cloud peut utiliser ces conseils pour vous aider à visualiser les principaux composants d’une implémentation classique de cette architecture. Utilisez cet article comme point de départ pour concevoir une solution bien conçue qui s’aligne sur les exigences spécifiques de votre charge de travail.
Cette architecture fournit des conseils et des recommandations pour le développement d’une solution de conduite automatisée.
Architecture
Télécharger un fichier Visio qui contient les diagrammes d’architecture de cet article.
Dataflow
Les données de mesure proviennent de flux de données pour les capteurs tels que les caméras, les radars, les ultrasons, les lidar et les données de télémétrie des véhicules. Les enregistreurs de données dans le véhicule stockent les données de mesure sur les appareils de stockage des enregistreurs d’événements. Les données de stockage de l’enregistreur d’événements sont ensuite chargées dans le lac de données d’atterrissage. Un service tel que Azure Data Box ou Azure Stack Edge, ou une connexion dédiée comme Azure ExpressRoute, ingère des données dans Azure.
Les données de mesure peuvent également être des données synthétiques provenant de simulations ou d’autres sources. (MDF4, TDMS et rosbag sont des formats de données courants pour les mesures.) Dans la phase DataOps, les mesures ingérées sont traitées. Les vérifications de la qualité des données et de validation, comme la somme de contrôle, sont effectuées pour supprimer des données de faible qualité. Dans cette phase, les métadonnées d’informations brutes enregistrées par un pilote d’évaluation pendant une version d’évaluation sont extraites. Ces données sont stockées dans un catalogue de métadonnées centralisé. Ces informations aident les processus en aval à identifier des scènes et des séquences spécifiques.
Les données sont traitées par un pipeline Azure Data Factory extraire, transformer et charger (ETL). La sortie est stockée sous forme de données brutes et binaires dans Azure Data Lake. Les métadonnées sont stockées dans Azure Cosmos DB. Selon le scénario, il peut ensuite être envoyé à Azure Data Explorer ou Recherche cognitive Azure.
Des informations, des insights et un contexte supplémentaires sont ajoutés aux données pour améliorer sa précision et sa fiabilité.
Les données de mesure extraites sont fournies aux partenaires d’étiquetage (human-in-the-loop) via Azure Data Share. Les partenaires tiers effectuent l’étiquetage automatique, le stockage et l’accès aux données via un compte Data Lake distinct.
Les jeux de données étiquetés circulent vers des processus MLOps en aval, principalement pour créer des modèles de fusion de perception et de capteur. Ces modèles exécutent des fonctions utilisées par les véhicules autonomes pour détecter les scènes (autrement dit, les changements de voie, les routes bloquées, les piétons, les feux de circulation et les panneaux de circulation).
Dans la phase de ValOps, les modèles formés sont validés par le biais de tests en boucle ouverte et en boucle fermée.
Des outils tels que Foxglove, s’exécutant sur Azure Kubernetes Service ou Azure Container Instances, visualisez les données ingérées et traitées.
Collecte de données
La collecte de données est l’un des principaux défis des opérations de véhicules autonomes (AVOps). Le diagramme suivant montre un exemple de la façon dont les données de véhicules hors connexion et en ligne peuvent être collectées et stockées dans un lac de données.
DataOps
Les opérations de données (DataOps) sont un ensemble de pratiques, de processus et d’outils permettant d’améliorer la qualité, la vitesse et la fiabilité des opérations de données. L’objectif du flux DataOps pour la conduite autonome (AD) est de s’assurer que les données utilisées pour contrôler le véhicule sont de haute qualité, précises et fiables. En utilisant un flux DataOps cohérent, vous pouvez améliorer la vitesse et la précision de vos opérations de données et prendre de meilleures décisions pour contrôler vos véhicules autonomes.
Composants DataOps
- Data Box est utilisé pour transférer des données de véhicule collectées vers Azure via un opérateur régional.
- ExpressRoute étend le réseau local dans le cloud Microsoft via une connexion privée.
- Azure Data Lake Storage stocke les données en fonction des étapes, par exemple, brutes ou extraites.
- Azure Data Factory effectue etL via de calcul par lots et crée des flux de travail pilotés par les données pour orchestrer le déplacement et la transformation des données.
- Azure Batch exécute des applications à grande échelle pour des tâches telles que le wrangling de données, le filtrage et la préparation des données, et l’extraction de métadonnées.
- Azure Cosmos DB stocke les résultats des métadonnées, comme les mesures stockées.
- Data Share est utilisé pour partager des données avec des organisations partenaires, comme l’étiquetage des entreprises, avec une sécurité renforcée.
- Azure Databricks fournit un ensemble d’outils permettant de gérer des solutions de données de qualité entreprise à grande échelle. Il est nécessaire pour les opérations de longue durée sur de grandes quantités de données sur les véhicules. Les ingénieurs données utilisent Azure Databricks comme workbench d’analytique.
- Azure Synapse Analytics réduit le temps d’insights sur les entrepôts de données et les systèmes Big Data.
- Recherche cognitive Azure fournit des services de recherche de catalogue de données.
MLOps
Les opérations Machine Learning (MLOps) sont les suivantes :
- Modèles d’extraction de caractéristiques (tels que CLIP et YOLO) pour classifier les scènes (par exemple, si un piéton se trouve dans la scène) pendant le pipeline DataOps.
- Modèles d’étiquetage automatique pour l’étiquetage des images ingérées et des données lidar et radar.
- Modèles de perception et de vision par ordinateur pour détecter les objets et les scènes.
- Modèle de fusion de capteur qui combine des flux de capteur.
Le modèle de perception est un composant important de cette architecture. Ce modèle Azure Machine Learning génère un modèle de détection d’objet à l’aide de scènes détectées et extraites.
Le transfert du modèle Machine Learning conteneurisé vers un format qui peut être lu par le système sur un matériel de puce (SoC) et le logiciel de validation/simulation se produit dans le pipeline MLOps. Cette étape nécessite la prise en charge du fabricant soC.
Composants MLOps
- Azure Machine Learning est utilisé pour développer des algorithmes de Machine Learning, tels que l’extraction de fonctionnalités, l’étiquetage automatique, la détection et la classification d’objets et la fusion de capteurs.
- Azure DevOps prend en charge les tâches DevOps telles que CI/CD, les tests et l’automatisation.
- GitHub pour les entreprises est un autre choix pour les tâches DevOps telles que CI/CD, les tests et l’automatisation.
- Azure Container Registry vous permet de générer, stocker et gérer des images et artefacts conteneur dans un registre privé.
ValOps
Les opérations de validation (ValOps) sont le processus de test de modèles développés dans des environnements simulés via scénarios managés avant d’effectuer des tests environnementaux réels coûteux. Les tests ValOps permettent de s’assurer que les modèles répondent aux normes de performances souhaitées, aux normes de précision et aux exigences de sécurité. L’objectif du processus de validation dans le cloud est d’identifier et de résoudre les problèmes potentiels avant de déployer le véhicule autonome dans un environnement dynamique. ValOps inclut :
- Validation de simulation. La simulation basée sur le cloud ( open-loop et les environnements de test de boucle fermée) permettent de tester virtuellement des modèles de véhicules autonomes. Ce test s’exécute à grande échelle et est moins coûteux que les tests réels.
- Validation des performances. L’infrastructure basée sur le cloud peut exécuter des tests à grande échelle pour évaluer les performances des modèles de véhicules autonomes. La validation des performances peut inclure des tests de contrainte, des tests de charge et des benchmarks.
L’utilisation de ValOps pour la validation peut vous aider à tirer parti de l’extensibilité, de la flexibilité et de l’efficacité d’une infrastructure basée sur le cloud et de réduire le délai de mise sur le marché pour les modèles de véhicules autonomes.
Test de boucle ouverte
La re-simulation, ou de traitement des capteurs, est un système de test et de validation en boucle ouverte pour les fonctions de conduite automatique. Il s’agit d’un processus complexe et il peut y avoir des exigences réglementaires en matière de sécurité, de confidentialité des données, de contrôle de version des données et d’audit. Les processus de re-simulation ont enregistré des données brutes provenant de différents capteurs de voiture via un graphique dans le cloud. La re-simulation valide les algorithmes de traitement des données ou détecte les régressions. Les fabricants oem combinent des capteurs dans un graphique acyclique dirigé qui représente un véhicule réel.
La re-simulation est un travail de calcul parallèle à grande échelle. Il traite des dizaines ou des centaines de PBs de données à l’aide de dizaines de milliers de cœurs. Il nécessite un débit d’E/S de plus de 30 Go/s. Les données de plusieurs capteurs sont combinées en jeux de données qui représentent une vue de ce que les systèmes de vision par ordinateur sur véhicule enregistrent lorsque le véhicule navigue dans le monde réel. Un test de boucle ouverte valide les performances des algorithmes par rapport à la vérité au sol à l’aide de la relecture et du scoring. La sortie est utilisée ultérieurement dans le flux de travail pour l’apprentissage de l’algorithme.
- Les jeux de données sont générés à partir de véhicules de flotte de tests qui collectent des données de capteur brutes (par exemple, caméra, lidar, radar et données ultrasoniques).
- Le volume de données dépend de la résolution de la caméra et du nombre de capteurs sur le véhicule.
- Les données brutes sont réintédées par rapport aux différentes versions logicielles des appareils.
- Les données brutes du capteur sont envoyées à l’interface d’entrée du capteur du logiciel de capteur.
- La sortie est comparée à la sortie des versions logicielles précédentes et est vérifiée par rapport aux correctifs de bogues ou aux nouvelles fonctionnalités, telles que la détection de nouveaux types d’objets.
- Une deuxième nouvelle injection du travail est effectuée après la mise à jour du modèle et du logiciel.
- Les données de vérité de base sont utilisées pour valider les résultats.
- Les résultats sont écrits dans le stockage et déchargés dans Azure Data Explorer pour la visualisation.
Test et simulation en boucle fermée
Le test en boucle fermée des véhicules autonomes est le processus de test des capacités des véhicules tout en incluant des commentaires en temps réel de l’environnement. Les actions du véhicule sont basées à la fois sur son comportement pré-programmé et sur les conditions dynamiques qu’il rencontre, et il ajuste ses actions en conséquence. Les tests de boucle fermée s’exécutent dans un environnement plus complexe et réaliste. Il est utilisé pour évaluer la capacité du véhicule à gérer des scénarios réels, y compris la façon dont il réagit à des situations inattendues. L’objectif des tests en boucle fermée est de vérifier que le véhicule peut fonctionner en toute sécurité et efficacement dans diverses conditions, et d’affiner ses algorithmes de contrôle et les processus décisionnels en fonction des besoins.
Le pipeline ValOps intègre des tests de boucle fermée, des simulations tierces et des applications ISV.
Gestion des scénarios
Au cours de la phase ValOps, un catalogue de scénarios réels est utilisé pour valider la capacité de la solution de conduite autonome à simuler le comportement des véhicules autonomes. L’objectif est d’accélérer la création de catalogues de scénarios en lisant automatiquement le réseau de routage, qui fait partie d’un scénario, à partir de cartes numériques accessibles publiquement et librement disponibles. Utilisez des outils tiers pour la gestion des scénarios ou un simulateur open source léger comme CARLA, qui prend en charge format OpenDRIVE (xodr). Pour plus d’informations, consultez ScenarioRunner pour CARLA.
Composants ValOps
- Azure Kubernetes Service exécute une inférence par lots à grande échelle pour la validation en boucle ouverte dans une infrastructure De résine. Nous vous recommandons d’utiliser BlobFuse2 pour accéder aux fichiers de mesure. Vous pouvez également utiliser NFS, mais vous devez évaluer les performances pour le cas d’usage.
- Azure Batch exécute une inférence par lots à grande échelle pour la validation de boucle ouverte dans une infrastructure de résine.
- Azure Data Explorer fournit un service d’analytique pour les mesures et les indicateurs de performance clés (c’est-à-dire, les nouvelles simulations et les exécutions de travaux).
Fonctions AVOps centralisées
Une architecture AVOps est complexe et implique différents tiers, rôles et phases de développement. Il est donc important d’implémenter un bon modèle de gouvernance.
Nous vous recommandons de créer une équipe centralisée pour gérer des fonctions telles que l’approvisionnement d’infrastructure, la gestion des coûts, les métadonnées et le catalogue de données, la traçabilité et la gestion globale des événements et de l’orchestration. La centralisation de ces services est efficace et simplifie les opérations.
Nous vous recommandons d’utiliser une équipe centralisée pour gérer ces responsabilités :
- Fourniture de modèles ARM/Bicep, y compris des modèles pour les services standard tels que le stockage et le calcul utilisés par chaque zone et sous-zone de l’architecture AVOps
- Implémentation d’instances Azure Service Bus / Azure Event Hubs centrales pour une orchestration pilotée par les événements de la boucle de données AVOps
- Propriété du catalogue de métadonnées
- Fonctionnalités de traçabilité et de traçabilité de bout en bout sur tous les composants AVOps
Détails du scénario
Vous pouvez utiliser cette architecture pour créer une solution de conduite automatisée sur Azure.
Cas d’usage potentiels
Oem automobiles, fournisseurs de niveau 1 et éditeurs de logiciels indépendants qui développent des solutions pour la conduite automatisée.
Considérations
Ces considérations implémentent les piliers d’Azure Well-Architected Framework, qui est un ensemble de tenets guidants que vous pouvez utiliser pour améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.
Sécurité
La sécurité offre des garanties contre les attaques délibérées et l’abus de vos données et systèmes précieux. Pour plus d’informations, consultez Vue d’ensemble du pilier de sécurité.
Il est important de comprendre la division de responsabilité entre l’OEM automobile et le fournisseur de cloud. Dans le véhicule, l’OEM possède l’ensemble de la pile, mais à mesure que les données se déplacent vers le cloud, certaines responsabilités sont transférées au fournisseur de cloud. La plateforme Azure en tant que service (PaaS) offre une sécurité améliorée intégrée sur la pile physique, y compris le système d’exploitation. Vous pouvez appliquer les améliorations suivantes en plus des composants de sécurité de l’infrastructure. Ces améliorations permettent une approche Zero-Trust.
- Points de terminaison privés pour la sécurité réseau. Pour plus d’informations, consultez points de terminaison privés pour azure Data Explorer et Autoriser l’accès aux espaces de noms Azure Event Hubs via des points de terminaison privés.
- Chiffrement au repos et en transit. Pour plus d’informations, consultez vue d’ensemble du chiffrement Azure.
- Gestion des identités et des accès qui utilise les identités Microsoft Entra et stratégies d’accès conditionnel Microsoft Entra.
- sécurité au niveau des lignes (RLS) pour Azure Data Explorer.
- Gouvernance de l’infrastructure qui utilise azure Policy.
- Gouvernance des données qui utilise Microsoft Purview.
- gestion des certificats pour sécuriser la connexion des véhicules.
- Accès au privilège minimum. Limitez l’accès utilisateur avec just-In-Time (JIT) et Just-Enough-Administration (JEA), les stratégies adaptatives basées sur les risques et la protection des données.
Optimisation des coûts
L’optimisation des coûts consiste à réduire les dépenses inutiles et à améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.
Vous pouvez utiliser ces stratégies pour réduire les coûts associés au développement de solutions de conduite autonomes :
- Optimisez l’infrastructure cloud. Une planification et une gestion minutieuses de l’infrastructure cloud peuvent vous aider à réduire les coûts. Par exemple, utilisez des types d’instances rentables et une infrastructure de mise à l’échelle pour répondre aux charges de travail modifiées. Suivez les instructions de Azure Cloud Adoption Framework.
- Utilisez machines virtuelles Spot. Vous pouvez déterminer quelles charges de travail dans votre déploiement AVOps ne nécessitent pas de traitement dans un délai spécifique et utiliser des machines virtuelles Spot pour ces charges de travail. Les machines virtuelles Spot vous permettent de tirer parti de la capacité Azure inutilisée pour réaliser des économies importantes. Si Azure a besoin de la capacité, l’infrastructure Azure supprime les machines virtuelles spot.
- Utilisez la mise à l’échelle automatique. La mise à l’échelle automatique vous permet d’ajuster automatiquement votre infrastructure cloud en fonction de la demande, ce qui réduit la nécessité d’une intervention manuelle et vous aide à réduire les coûts. Pour plus d’informations, consultez Conception pour la mise à l’échelle.
- Envisagez d’utiliser des niveaux chauds, froids et archive pour le stockage. Le stockage peut être un coût important dans une solution de conduite autonome. Vous devez donc choisir des options de stockage rentables, telles que le stockage à froid ou le stockage à accès peu fréquent. Pour plus d’informations, consultez gestion du cycle de vie des données.
- Utilisez les outils de gestion des coûts et d’optimisation. Microsoft Cost Management fournit des outils qui peuvent vous aider à identifier et à résoudre les domaines de réduction des coûts, tels que les ressources inutilisées ou sous-utilisées.
- Envisagez d’utiliser des services Azure. Par exemple, vous pouvez utiliser azure Machine Learning pour créer et entraîner des modèles de conduite autonomes. L’utilisation de ces services peut être plus rentable que la construction et la maintenance de l’infrastructure interne.
- Utilisez des ressources partagées. Si possible, vous pouvez utiliser des ressources partagées, telles que des bases de données partagées ou des ressources de calcul partagées, pour réduire les coûts associés au développement autonome. Les fonctions centralisées dans cette architecture, par exemple, implémentez un bus central, un hub d’événements et un catalogue de métadonnées. Les services tels que Azure Data Share peuvent également vous aider à atteindre cet objectif.
Contributeurs
Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.
Auteurs principaux :
- Ryan Matsumura | Responsable du programme senior
- Jochen Schroeer | Architecte principal (Mobilité de ligne de service)
Autres contributeurs :
- Mick Alberts | Rédacteur technique
- David Peterson | Architecte principal
- Gabriel Sallah | Spécialiste global de la ceinture noire HPC/AI
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.
Étapes suivantes
- Qu’est-ce qu’Azure Machine Learning ?
- Qu’est-ce qu’Azure Batch ?
- documentation Azure Data Factory
- Qu’est-ce qu’Azure Data Share ?
Ressources associées
Pour plus d’informations sur le développement de DataOps pour un système de conduite automatisé, consultez :
opérations de données pour les opérations de véhicules autonomes
Vous pouvez également vous intéresser à ces articles connexes :