Lösungsideen
In diesem Artikel wird eine Lösungsidee beschrieben. Ihr Cloudarchitekt kann diese Anleitung verwenden, um die Hauptkomponenten für eine typische Implementierung dieser Architektur zu visualisieren. Verwenden Sie diesen Artikel als Ausgangspunkt, um eine gut durchdachte Lösung zu entwerfen, die den spezifischen Anforderungen Ihrer Workload entspricht.
Diese Architektur enthält Anleitungen und Empfehlungen für die Entwicklung einer automatisierten Fahrlösung.
Architektur
Laden Sie eine Visio-Datei herunter, die die Architekturdiagramme in diesem Artikel enthält.
Datenfluss
Messdaten stammen aus Datenströmen für Sensoren wie Kameras, Radar, Ultraschall, Lidar und Fahrzeugtelemetrie. Datenlogger im Fahrzeug speichern Messdaten auf Logger-Speichergeräten. Die Loggerspeicherdaten werden dann in den Landedatensee hochgeladen. Ein Dienst wie Azure Data Box oder Azure Stack Edgeoder eine dedizierte Verbindung wie Azure ExpressRoute, erfasst Daten in Azure.
Messdaten können auch synthetische Daten aus Simulationen oder aus anderen Quellen sein. (MDF4, TDMS und Rosbag sind gängige Datenformate für Messungen.) In der DataOps-Phase werden aufgenommene Messungen verarbeitet. Validierungs- und Datenqualitätsprüfungen, z. B. Prüfsummen, werden durchgeführt, um Daten mit niedriger Qualität zu entfernen. In dieser Phase werden rohe Informationsmetadaten extrahiert, die von einem Testtreiber während eines Testlaufwerks aufgezeichnet werden. Diese Daten werden in einem zentralisierten Metadatenkatalog gespeichert. Diese Informationen helfen nachgelagerten Prozessen, bestimmte Szenen und Sequenzen zu identifizieren.
Daten werden von einer Azure Data Factory Extrahieren, Transformieren und Laden (ETL)-Pipeline verarbeitet. Die Ausgabe wird als Roh- und Binärdaten in Azure Data Lakegespeichert. Metadaten werden in Azure Cosmos DBgespeichert. Je nach Szenario kann es dann an Azure Data Explorer oder Azure Cognitive Searchgesendet werden.
Zusätzliche Informationen, Erkenntnisse und Kontext werden den Daten hinzugefügt, um ihre Genauigkeit und Zuverlässigkeit zu verbessern.
Extrahierte Messdaten werden partnern (human-in-the-loop) über Azure Data Sharezur Verfügung gestellt. Drittanbieterpartner führen automatische Bezeichnungen, Speichern und Zugreifen auf Daten über ein separates Data Lake-Konto durch.
Bezeichnete Datasets fließen in nachgelagerte MLOps- Prozesse, hauptsächlich zur Erstellung von Wahrnehmungs- und Sensorfusionsmodellen. Diese Modelle führen Funktionen aus, die von autonomen Fahrzeugen verwendet werden, um Szenen zu erkennen (also Fahrspuränderungen, blockierte Straßen, Fußgänger, Ampeln und Verkehrsschilder).
In der ValOps Stufe werden trainierte Modelle über Open-Loop- und Closed-Loop-Tests überprüft.
Tools wie Foxglove, ausgeführt auf Azure Kubernetes Service oder Azure Container Instances, visualisieren erfasste und verarbeitete Daten.
Datensammlung
Die Datenerfassung ist eine der wichtigsten Herausforderungen autonomer Fahrzeuge (AVOps). Das folgende Diagramm zeigt ein Beispiel dafür, wie Offline- und Online-Fahrzeugdaten in einem Data Lake gesammelt und gespeichert werden können.
DataOps
Datenvorgänge (DataOps) sind eine Reihe von Methoden, Prozessen und Tools zur Verbesserung der Qualität, Geschwindigkeit und Zuverlässigkeit von Datenvorgängen. Ziel des DataOps-Flusses für autonomes Fahren (AD) ist es, sicherzustellen, dass die zur Steuerung des Fahrzeugs verwendeten Daten von hoher Qualität, Genauigkeit und Zuverlässigkeit sind. Mithilfe eines konsistenten DataOps-Flusses können Sie die Geschwindigkeit und Genauigkeit Ihrer Datenvorgänge verbessern und bessere Entscheidungen treffen, um Ihre autonomen Fahrzeuge zu steuern.
DataOps-Komponenten
- Data Box wird verwendet, um gesammelte Fahrzeugdaten über einen regionalen Netzbetreiber an Azure zu übertragen.
- ExpressRoute erweitert das lokale Netzwerk über eine private Verbindung in die Microsoft-Cloud.
- Azure Data Lake Storage Speichert Daten basierend auf Phasen, z. B. roh oder extrahiert.
- Azure Data Factory führt ETL über Batch compute aus und erstellt datengesteuerte Workflows zum Orchestrieren von Datenbewegungen und Transformieren von Daten.
- Azure Batch führt umfangreiche Anwendungen für Aufgaben aus, z. B. Datenrangling, Filtern und Vorbereiten von Daten und Extrahieren von Metadaten.
- Azure Cosmos DB- speichert Metadatenergebnisse, z. B. gespeicherte Messungen.
- Datenfreigabe- wird verwendet, um Daten mit Partnerorganisationen wie Bezeichnungsunternehmen mit erhöhter Sicherheit zu teilen.
- Azure Databricks bietet eine Reihe von Tools für die Aufrechterhaltung von Datenlösungen auf Unternehmensniveau im großen Maßstab. Es ist für lange Betriebsabläufe in großen Mengen von Fahrzeugdaten erforderlich. Datentechniker verwenden Azure Databricks als Analyse-Workbench.
- Azure Synapse Analytics reduziert Zeit für Einblicke in Data Warehouses und Big Data-Systeme.
- Azure Cognitive Search stellt Suchdienste für den Datenkatalog bereit.
MLOps
Machine Learning Operations (MLOps) umfassen:
- Featureextraktionsmodelle (z. B. CLIP und YOLO) zum Klassifizieren von Szenen (z. B. ob sich ein Fußgänger in der Szene befindet) während der DataOps Pipeline.
- Automatische Bezeichnungsmodelle zum Bezeichnen von aufgenommenen Bildern und Lidar- und Netzdaten.
- Wahrnehmungs- und Computervisionsmodelle zum Erkennen von Objekten und Szenen.
- Ein Sensorfusionsmodell, das Sensorströme kombiniert.
Das Wahrnehmungsmodell ist ein wichtiger Bestandteil dieser Architektur. Dieses Azure Machine Learning-Modell generiert ein Objekterkennungsmodell mithilfe erkannter und extrahierter Szenen.
Die Übertragung des containerisierten Machine Learning-Modells auf ein Format, das von System auf einem Chip (SoC) Hardware und Validierungs-/Simulationssoftware gelesen werden kann, erfolgt in der MLOps-Pipeline. Dieser Schritt erfordert die Unterstützung des SoC-Herstellers.
MLOps-Komponenten
- Azure Machine Learning wird verwendet, um Algorithmen für maschinelles Lernen zu entwickeln, z. B. Featureextraktion, automatische Bezeichnung, Objekterkennung und Klassifizierung und Sensorfusion.
- Azure DevOps bietet Unterstützung für DevOps-Aufgaben wie CI/CD, Tests und Automatisierung.
- GitHub für Unternehmen ist eine alternative Wahl für DevOps-Aufgaben wie CI/CD, Tests und Automatisierung.
- Azure Container Registry ermöglicht es Ihnen, Containerimages und Artefakte in einer privaten Registrierung zu erstellen, zu speichern und zu verwalten.
ValOps
Validierungsvorgänge (ValOps) sind das Testen entwickelter Modelle in simulierten Umgebungen über verwaltete Szenarien, bevor Sie teure Umwelttests durchführen. ValOps-Tests tragen dazu bei, dass die Modelle Ihre gewünschten Leistungsnormen, Genauigkeitsstandards und Sicherheitsanforderungen erfüllen. Ziel des Validierungsprozesses in der Cloud ist es, potenzielle Probleme zu identifizieren und zu beheben, bevor Sie das autonome Fahrzeug in einer Liveumgebung bereitstellen. ValOps umfasst:
- Simulationsvalidierung. Cloudbasierte Simulation (Open-Loop- und Closed-Loop-Tests) Umgebungen ermöglichen virtuelle Tests autonomer Fahrzeugmodelle. Diese Tests werden skaliert und sind weniger teuer als reale Tests.
- Leistungsüberprüfung. Cloudbasierte Infrastruktur kann umfangreiche Tests durchführen, um die Leistung autonomer Fahrzeugmodelle zu bewerten. Die Leistungsüberprüfung kann Stresstests, Auslastungstests und Benchmarks umfassen.
Mithilfe von ValOps zur Validierung können Sie die Skalierbarkeit, Flexibilität und Kosteneffizienz einer cloudbasierten Infrastruktur nutzen und zeitaufwendige Lösungen für autonome Fahrzeugmodelle reduzieren.
Open-Loop-Tests
Re-Simulation oder Sensorverarbeitungist ein Open-Loop-Test- und Validierungssystem für automatische Fahrfunktionen. Es ist ein komplexer Prozess, und es gibt möglicherweise regulatorische Anforderungen für Sicherheit, Datenschutz, Datenversionsverwaltung und Überwachung. Re-Simulationsprozesse erfassten Rohdaten aus verschiedenen Autosensoren über ein Diagramm in der Cloud. Re-Simulation überprüft Algorithmen zur Datenverarbeitung oder erkennt Regressionen. OEMs kombinieren Sensoren in einem gerichteten azyklischen Diagramm, das ein reales Fahrzeug darstellt.
Re-Simulation ist ein groß angelegter paralleler Computeauftrag. Sie verarbeitet zehn oder Hunderte von PBs von Daten mithilfe von Zehntausenden von Kernen. Er erfordert einen E/A-Durchsatz von mehr als 30 GB/s. Daten aus mehreren Sensoren werden in Datasets kombiniert, die eine Sicht darauf darstellen, was die Computer-Vision-Systeme im Fahrzeug aufzeichnen, wenn das Fahrzeug in der realen Welt navigiert. Bei einem Open-Loop-Test wird die Leistung der Algorithmen anhand von Replay und Score überprüft. Die Ausgabe wird später im Workflow für die Algorithmusschulung verwendet.
- Datasets stammen aus Testflottenfahrzeugen, die Rohsensordaten sammeln (z. B. Kamera-, Lidar-, Radar- und Ultraschalldaten).
- Die Datenlautstärke hängt von der Kameraauflösung und der Anzahl der Sensoren auf dem Fahrzeug ab.
- Rohdaten werden anhand verschiedener Softwareversionen der Geräte erneut verarbeitet.
- Unformatierte Sensordaten werden an die Sensoreingabeschnittstelle der Sensorsoftware gesendet.
- Die Ausgabe wird mit der Ausgabe früherer Softwareversionen verglichen und auf Fehlerkorrekturen oder neue Features überprüft, z. B. das Erkennen neuer Objekttypen.
- Eine zweite Erneuteinjektion des Auftrags wird ausgeführt, nachdem das Modell und die Software aktualisiert wurden.
- Daten zur Bodenwahrung werden verwendet, um die Ergebnisse zu validieren.
- Ergebnisse werden für die Visualisierung in den Azure-Daten-Explorer geschrieben und in den Azure-Daten-Explorer geladen.
Closed-Loop-Tests und -Simulationen
Geschlossene Tests autonomer Fahrzeuge sind der Prozess der Prüfung von Fahrzeugfunktionen, einschließlich Echtzeitfeedback aus der Umgebung. Die Aktionen des Fahrzeugs basieren sowohl auf dem vorprogrammierten Verhalten als auch auf den dynamischen Bedingungen, die es trifft, und es passt seine Aktionen entsprechend an. Closed-Loop-Tests werden in einer komplexeren und realistischeren Umgebung ausgeführt. Es wird verwendet, um die Fähigkeit des Fahrzeugs zu bewerten, reale Szenarien zu verarbeiten, einschließlich der Reaktion auf unerwartete Situationen. Ziel der Closed-Loop-Tests ist es, zu überprüfen, ob das Fahrzeug unter verschiedenen Bedingungen sicher und effektiv arbeiten kann, und seine Steuerungsalgorithmen und Entscheidungsprozesse nach Bedarf zu verfeinern.
Die ValOps-Pipeline integriert Closed-Loop-Tests, Simulationen von Drittanbietern und ISV-Anwendungen.
Szenarioverwaltung
Während der ValOps-Phase wird ein Katalog realer Szenarien verwendet, um die Fähigkeit der autonomen Fahrlösung zu überprüfen, das Verhalten autonomer Fahrzeuge zu simulieren. Ziel ist es, die Erstellung von Szenariokatalogen zu beschleunigen, indem das Routennetzwerk, das teil eines Szenarios ist, von öffentlich zugänglichen und frei verfügbaren digitalen Karten automatisch gelesen wird. Verwenden Sie Tools von Drittanbietern für die Szenarioverwaltung oder einen einfachen Open-Source-Simulator wie CARLA, der OpenDRIVE (xodr)-Formatunterstützt. Weitere Informationen finden Sie unter ScenarioRunner für CARLA.
ValOps-Komponenten
- Azure Kubernetes Service führt umfangreiche Batch-Inference für die Open-Loop-Validierung innerhalb eines Resin-Frameworks aus. Es wird empfohlen, BlobFuse2- für den Zugriff auf die Messdateien zu verwenden. Sie können auch NFS verwenden, aber Sie müssen die Leistung für den Anwendungsfall auswerten.
- Azure Batch führt umfangreiche Batch-Ableitungen für die Open-Loop-Überprüfung innerhalb eines Resin-Frameworks aus.
- Azure Data Explorer bietet einen Analysedienst für Messungen und KPIs (d. a. re-simulation and job runs).
Zentrale AVOps-Funktionen
Eine AVOps-Architektur ist komplex und umfasst verschiedene Drittanbieter, Rollen und Entwicklungsphasen, daher ist es wichtig, ein gutes Governancemodell zu implementieren.
Es wird empfohlen, ein zentralisiertes Team zu erstellen, um Funktionen wie Infrastrukturbereitstellung, Kostenverwaltung, Metadaten und Datenkatalog, Lineage und allgemeine Orchestrierung und Ereignisbehandlung zu verarbeiten. Die Zentralisierung dieser Dienste ist effizient und vereinfacht vorgänge.
Es wird empfohlen, dass Sie ein zentralisiertes Team verwenden, um diese Aufgaben zu erfüllen:
- Bereitstellen von ARM/Bicep-Vorlagen, einschließlich Vorlagen für Standarddienste wie Speicher und Compute, die von den einzelnen Bereichen und Unterbereichen der AVOps-Architektur verwendet werden
- Implementierung von zentralen Azure Service Bus /Azure Event Hubs-Instanzen für eine ereignisgesteuerte Orchestrierung der AVOps-Datenschleife
- Besitz des Metadatenkatalogs
- Funktionen für End-to-End-Linien und Rückverfolgbarkeit für alle AVOps-Komponenten
Szenariodetails
Sie können diese Architektur verwenden, um eine automatisierte Fahrlösung in Azure zu erstellen.
Potenzielle Anwendungsfälle
Automobil-OEMs, Tier 1-Anbieter und ISVs, die Lösungen für automatisiertes Fahren entwickeln.
Betrachtungen
Diese Überlegungen implementieren die Säulen des Azure Well-Architected-Frameworks. Dies ist eine Reihe von Leitdashets, die Sie verwenden können, um die Qualität einer Workload zu verbessern. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.
Sicherheit
Die Sicherheit bietet Sicherheitsmaßnahmen gegen bewusste Angriffe und den Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Sicherheitssäule.
Es ist wichtig, die Verantwortungsteilung zwischen dem Automobil-OEM und dem Cloudanbieter zu verstehen. Im Fahrzeug besitzt der OEM den gesamten Stapel, aber da die Daten in die Cloud verschoben werden, übertragen einige Verantwortlichkeiten an den Cloudanbieter. Die Azure-Plattform als Dienst (PaaS) bietet integrierte verbesserte Sicherheit im physischen Stapel, einschließlich des Betriebssystems. Sie können zusätzlich zu den Infrastruktursicherheitskomponenten die folgenden Verbesserungen anwenden. Diese Verbesserungen ermöglichen einen Zero-Trust Ansatz.
- Private Endpunkte für die Netzwerksicherheit. Weitere Informationen finden Sie unter Privaten Endpunkten für Azure Data Explorer- und Zugriff auf Azure Event Hubs-Namespaces über private Endpunktezulassen.
- Verschlüsselung im Ruhezustand und während der Übertragung. Weitere Informationen finden Sie unter Azure-Verschlüsselungsübersicht.
- Identitäts- und Zugriffsverwaltung, die Microsoft Entra-Identitäten und Microsoft Entra Conditional Access-Richtlinien verwendet.
- Zeilenebenensicherheit (Row Level Security, RLS) für Azure Data Explorer.
- Infrastrukturgovernance, die Azure Policyverwendet.
- Datengovernance, die Microsoft Purviewverwendet.
- Zertifikatverwaltung, um die Verbindung von Fahrzeugen zu sichern.
- Geringster Berechtigungszugriff. Beschränken Sie den Benutzerzugriff mit Just-In-Time (JIT) und Just-Enough-Administration (JEA), risikobasierte adaptive Richtlinien und Datenschutz.
Kostenoptimierung
Die Kostenoptimierung geht es darum, unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Kostenoptimierungssäule.
Sie können diese Strategien verwenden, um die Kosten zu reduzieren, die mit der Entwicklung autonomer Fahrlösungen verbunden sind:
- Optimieren sie die Cloudinfrastruktur. Die sorgfältige Planung und Verwaltung der Cloudinfrastruktur kann Ihnen helfen, Kosten zu senken. Verwenden Sie beispielsweise kostenwirksame Instanzentypen und skalierungsbasierte Infrastruktur, um sich ändernde Workloads zu erfüllen. Befolgen Sie die Anleitungen im Azure Cloud Adoption Framework.
- Verwenden Sie virtuelle Computer. Sie können ermitteln, welche Workloads in Ihrer AVOps-Bereitstellung keine Verarbeitung innerhalb eines bestimmten Zeitrahmens erfordern und spot virtual machines for these workloads verwenden. Mithilfe von Spot Virtual Machines können Sie die nicht genutzte Azure-Kapazität nutzen, um erhebliche Kosteneinsparungen zu erzielen. Wenn Azure die Kapazität zurück benötigt, werden von der Azure-Infrastruktur virtuelle Computer ausgeräumt.
- Verwenden Sie die automatische Skalierung. Die automatische Skalierung ermöglicht es Ihnen, Ihre Cloudinfrastruktur basierend auf Bedarf automatisch anzupassen, den Bedarf an manuellen Eingriffen zu reduzieren und Ihnen dabei zu helfen, Kosten zu senken. Weitere Informationen finden Sie unter Entwurf für die Skalierung.
- Erwägen Sie die Verwendung von Hot-, Cool- und Archivebenen für den Speicher. Der Speicher kann bei einer autonomen Fahrlösung erhebliche Kosten haben, daher müssen Sie kostengünstige Speicheroptionen auswählen, z. B. Kaltspeicher oder Speicher mit seltenem Zugriff. Weitere Informationen finden Sie unter Datenlebenszyklusverwaltung.
- Verwenden Sie Kostenverwaltungs- und Optimierungstools. Microsoft Cost Management bietet Tools, mit denen Sie Bereiche zur Kostenreduzierung identifizieren und adressieren können, z. B. nicht verwendete oder nicht genutzte Ressourcen.
- Erwägen Sie die Verwendung von Azure-Diensten. Sie können beispielsweise Azure Machine Learning verwenden, um autonome Fahrmodelle zu erstellen und zu trainieren. Die Nutzung dieser Dienste kann kostengünstiger sein als gebäude- und pflegeinterne Infrastruktur.
- Verwenden Sie freigegebene Ressourcen. Wenn möglich, können Sie gemeinsam genutzte Ressourcen wie freigegebene Datenbanken oder gemeinsam genutzte Computeressourcen verwenden, um die Kosten zu reduzieren, die mit der autonomen Fahrentwicklung verbunden sind. Die zentralen Funktionen in dieser Architektur, z. B. implementieren Sie einen zentralen Bus-, Event Hub- und Metadatenkatalog. Dienste wie Azure Data Share können Ihnen auch dabei helfen, dieses Ziel zu erreichen.
Beitragende
Dieser Artikel wird von Microsoft verwaltet. Sie wurde ursprünglich von den folgenden Mitwirkenden verfasst.
Hauptautoren:
- Ryan Matsumura | Senior Program Manager
- Jochen Schroeer | Lead Architect (Service Line Mobility)
Andere Mitwirkende:
- Mick Alberts | Technischer Autor
- David Peterson | Chefarchitekt
- Gabriel Sallah | HPC/AI Global Black Belt Spezialist
Um nicht öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.
Nächste Schritte
- Was ist Azure Machine Learning?
- Was ist Azure Batch?
- Azure Data Factory-Dokumentation
- Was ist Azure Data Share?
Verwandte Ressourcen
Weitere Informationen zum Entwickeln von DataOps für ein automatisiertes Fahrsystem finden Sie unter:
Möglicherweise sind Sie auch an diesen verwandten Artikeln interessiert: