Bearbeiten

Freigeben über


Erstellen einer AVOps-Lösung (Autonomous Vehicle Operations, autonomer Fahrzeugbetrieb)

Azure Machine Learning
Azure Data Factory
Azure Data Share
Azure Batch
GitHub

Lösungsmöglichkeiten

In diesem Artikel ist ein Lösungsvorschlag beschrieben. Ihr Cloudarchitekt kann diesen Leitfaden verwenden, um die Hauptkomponenten einer typischen 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 bietet Anleitungen und Empfehlungen für die Entwicklung einer Lösung für automatisiertes Fahren.

Aufbau

Diagramm: AVOps-Architektur

Laden Sie eine Visio-Datei herunter, die dieses Architekturdiagramm enthält.

Datenfluss

  1. Messdaten stammen aus Datenströmen für Sensoren wie Kameras, Radar, Ultraschall, Lidar und Fahrzeugtelemetrie. Datenprotokollierungen im Fahrzeug speichern Messdaten auf Protokollierungsspeichergeräten. Die Protokollierungsspeicherdaten werden dann in den Ziel-Data Lake hochgeladen. Ein Dienst wie Azure Data Box oder Azure Stack Edge oder eine dedizierte Verbindung wie Azure ExpressRoute erfasst Daten in Azure.

    Messdaten können auch synthetische Daten aus Simulationen oder anderen Quellen sein. (MDF4, TDMS und rosbag sind gängige Datenformate für Messungen.) In der DataOps-Phase werden erfasste Messungen verarbeitet. Validierungs- und Datenqualitätsprüfungen wie Prüfsummen werden durchgeführt, um Daten mit geringer Qualität zu entfernen. In dieser Phase werden rohe Informationsmetadaten extrahiert, die von Testfahrer*innen während einer Testfahrt aufgezeichnet werden. Diese Daten werden in einem zentralisierten Metadatenkatalog gespeichert. Diese Informationen unterstützen nachgelagerte Prozesse bei der Identifikation bestimmter Szenen und Sequenzen.

  2. Daten werden von einer Azure Data Factory-Pipeline zum Extrahieren, Transformieren und Laden (ETL) verarbeitet. Die Ausgabe wird in Roh- und Binärdaten in Azure Data Lake gespeichert. Metadaten werden in Azure Cosmos DB gespeichert. Je nach Szenario können sie dann an Azure Data Explorer oder Azure Cognitive Search gesendet werden.

  3. Zusätzliche Informationen, Erkenntnisse und Kontexte werden den Daten hinzugefügt, um ihre Genauigkeit und Zuverlässigkeit zu verbessern.

  4. Extrahierte Messdaten werden über Azure Data Share für Bezeichnungspartner*innen (Human-in-the-Loop) bereitgestellt. Drittanbieterpartner führen automatische Bezeichnungen durch, speichern Daten und greifen über ein separates Data Lake-Konto darauf zu.

  5. Beschriftete Datasets fließen zu nachgeschalteten MLOps-Prozessen, hauptsächlich zur Erstellung von Wahrnehmungs- und Sensorfusionsmodellen. Diese Modelle führen Funktionen aus, mit denen autonome Fahrzeuge Szenen erkennen (z. B. Spurwechsel, blockierte Straßen, Fußgänger, Ampeln und Verkehrszeichen).

  6. In der ValOps-Phase werden trainierte Modelle durch Open-Loop- und Closed-Loop-Tests überprüft.

  7. Tools wie Foxglove, die auf Azure Kubernetes Service oder Azure Container Instances ausgeführt werden, visualisieren erfasste und verarbeitete Daten.

Datensammlung

Die Datensammlung ist eine der größten Herausforderungen des autonomen Fahrzeugbetriebs (Autonomous Vehicles Operations, AVOps). Das folgende Diagramm zeigt ein Beispiel, wie Offline- und Onlinefahrzeugdaten gesammelt und in einem Data Lake gespeichert werden können.

Diagramm: Offline- und Onlinedatenerfassung

DataOps

Data Operations (DataOps) ist eine Reihe von Methoden, Prozessen und Tools zur Verbesserung der Qualität, Geschwindigkeit und Zuverlässigkeit von Datenvorgängen. Das Ziel des DataOps-Flusses für das autonome Fahren (Autonomous driving, AD) ist, sicherzustellen, dass die zur Steuerung des Fahrzeugs verwendeten Daten von hoher Qualität, Genauigkeit und Zuverlässigkeit sind. Durch die Verwendung 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 lokale Netzwerke ü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 der Datenverschiebung und Transformieren von Daten.
  • Azure Batch führt umfangreiche Anwendungen für Aufgaben wie Datenwrangling, Filtern und Vorbereiten von Daten und Extrahieren von Metadaten aus.
  • Azure Cosmos DB speichert Metadatenergebnisse, z. B. gespeicherte Messungen.
  • Data Share wird verwendet, um Daten mit Partnerorganisationen, z. B. Kennzeichnungsunternehmen, mit erhöhter Sicherheit zu teilen.
  • Azure Databricks bietet eine Reihe von Tools zum Verwalten von Datenlösungen auf Unternehmensniveau im großen Stil. Dies ist für langwierige Vorgänge mit großen Mengen von Fahrzeugdaten erforderlich. Technische Fachkräfte für Daten verwenden Azure Databricks als Analyseworkbench.
  • Azure Synapse Analytics dient dazu, schneller Erkenntnisse aus Data Warehouses und Big Data-Systemen zu gewinnen.
  • Azure Cognitive Search stellt Datenkatalogsuchdienste bereit.

MLOps

Zu Machine Learning-Vorgängen (MLOps) zählen:

  • Featureextraktionsmodelle (z. B. CLIP und YOLO) zum Klassifizieren von Szenen (ob sich z. B. ein Fußgänger in der Szene befindet) während der DataOps-Pipeline.
  • Modelle zur automatischen Beschriftung für die Bezeichnung erfasster Bilder sowie Lidar- und Radardaten.
  • Modelle für Wahrnehmung und maschinelles Sehen 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 mithilfe von erkannten und extrahierten Szenen ein Objekterkennungsmodell.

Die Übertragung des Containermodells für maschinelles Lernen in ein Format, das von SoC-Hardware (System on a Chip) 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 Machine Learning-Algorithmen wie Featureextraktion, automatische Bezeichnung, Objekterkennung und -klassifizierung sowie Sensorfusion zu entwickeln.
  • 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.
  • Mit Azure Container Registry können Sie Containerimages und -artefakte in einer privaten Registrierung erstellen, speichern und verwalten.

ValOps

Validierungsvorgänge (ValOps) sind der Prozess zum Testen entwickelter Modelle in simulierten Umgebungen über verwaltete Szenarien, bevor Sie teure Umgebungstests in der realen Welt durchführen. ValOps-Tests helfen, sicherzustellen, dass die Modelle die von Ihnen gewünschten Leistungsstandards, Genauigkeitsstandards und Sicherheitsanforderungen erfüllen. Das Ziel des Validierungsprozesses in der Cloud besteht darin, potenzielle Probleme zu identifizieren und zu beheben, bevor Sie das autonome Fahrzeug in einer Liveumgebung bereitstellen. ValOps umfasst Folgendes:

  • Simulationsvalidierung. Cloudbasierte Simulationsumgebungen (Open-Loop- und Closed-Loop-Tests) ermöglichen virtuelle Tests autonomer Fahrzeugmodelle. Diese Tests werden im großen Stil ausgeführt und sind kostengünstiger als Tests in der realen Welt.
  • Leistungsüberprüfung. In cloudbasierter Infrastruktur können umfangreiche Tests durchgeführt werden, um die Leistung autonomer Fahrzeugmodelle zu bewerten. Die Leistungsüberprüfung kann Belastungstests, Auslastungstests und Benchmarks umfassen.

Die Verwendung von ValOps für die Validierung kann Ihnen helfen, die Skalierbarkeit, Flexibilität und Kosteneffizienz einer cloudbasierten Infrastruktur zu nutzen und die Markteinführungszeit für autonome Fahrzeugmodelle zu verkürzen.

Open-Loop-Tests

Die Resimulation oder Sensorverarbeitung ist ein Open-Loop-Test- und Validierungssystem für automatische Fahrfunktionen. Es handelt sich um einen komplexen Prozess, und möglicherweise gibt es gesetzliche Anforderungen für Sicherheit, Datenschutz, Datenversionsverwaltung und Überwachung. Resimulationsprozesse zeichnen Rohdaten verschiedener Fahrzeugsensoren über ein Diagramm in der Cloud auf. Die Resimulation überprüft Datenverarbeitungsalgorithmen oder erkennt Regressionen. OEMs kombinieren Sensoren in einem gerichteten azyklischen Diagramm, das ein reales Fahrzeug darstellt.

Die Resimulation ist ein umfangreicher paralleler Computeauftrag. Dabei werden Dutzende oder Hunderte von PBs von Daten mit Zehntausenden von Kernen verarbeitet. Dies erfordert einen E/A-Durchsatz von mehr als 30 GB/s. Daten aus mehreren Sensoren werden zu Datasets kombiniert, die eine Ansicht darüber darstellen, was die Systeme für maschinelles Sehen im Fahrzeug aufzeichnen, wenn das Fahrzeug durch die reale Welt navigiert. Ein Open-Loop-Test überprüft die Leistung der Algorithmen anhand der Ground Truth mithilfe von Wiedergabe und Bewertung. Die Ausgabe wird später im Workflow für das Algorithmustraining verwendet.

  • Datasets stammen aus Testflottenfahrzeugen, die Sensorrohdaten sammeln (z. B. Kamera-, Lidar-, Radar- und Ultraschalldaten).
  • Die Datenmenge hängt von der Kameraauflösung und der Anzahl der Sensoren am Fahrzeug ab.
  • Rohdaten werden für verschiedene 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 Fehlerbehebungen oder neue Features wie das Erkennen neuer Objekttypen überprüft.
  • Eine zweite Neuinjektion des Auftrags wird durchgeführt, nachdem das Modell und die Software aktualisiert wurden.
  • Ground Truth-Daten werden verwendet, um die Ergebnisse zu überprüfen.
  • Ergebnisse werden in den Speicher geschrieben und zur Visualisierung im Azure Data Explorer ausgelagert.

Closed-Loop-Tests und Simulation

Der Closed-Loop-Test autonomer Fahrzeuge ist der Prozess zum Testen der Fahrzeugfunktionen unter Einbeziehung von Echtzeitfeedback aus der Umgebung. Die Aktionen des Fahrzeugs basieren sowohl auf seinem vorprogrammierten Verhalten als auch auf den dynamischen Bedingungen, auf die es trifft, und es passt seine Aktionen entsprechend an. Closed-Loop-Tests werden in einer komplexeren und realistischeren Umgebung ausgeführt. Damit wird die Fähigkeit des Fahrzeugs bewertet, reale Szenarien zu verarbeiten, einschließlich der Reaktion auf unerwartete Situationen. Ziel von Closed-Loop-Tests ist, zu überprüfen, ob das Fahrzeug unter verschiedenen Bedingungen sicher und effektiv betrieben werden kann, und seine Steuerungsalgorithmen und Entscheidungsprozesse nach Bedarf zu verfeinern.

Die ValOps-Pipeline integriert Closed-Loop-Tests, Drittanbietersimulationen und ISV-Anwendungen.

Szenarioverwaltung

Während der ValOps-Phase wird ein Katalog mit realen Szenarien verwendet, um die Fähigkeit der Lösung für autonomes Fahren, das Verhalten autonomer Fahrzeuge zu simulieren, zu überprüfen. Ziel ist es, die Erstellung von Szenariokatalogen zu beschleunigen, indem das Routennetzwerk, das Teil eines Szenarios ist, automatisch aus öffentlich zugänglichen und frei verfügbaren digitalen Karten gelesen wird. Verwenden Sie Drittanbietertools für die Szenarioverwaltung oder einen einfachen Open-Source-Simulator wie CARLA, der das OpenDRIVE-Format (xodr) unterstützt. Weitere Informationen finden Sie unter ScenarioRunner für CARLA.

ValOps-Komponenten

  • Azure Kubernetes Service führt umfangreiche Batchrückschlüsse für die Open-Loop-Validierung innerhalb eines Resin-Frameworks aus. Sie sollten blobFuse2 für den Zugriff auf die Messdateien verwenden. Sie können auch NFS verwenden, aber Sie müssen die Leistung für den Anwendungsfall auswerten.
  • Azure Batch führt umfangreiche Batchrückschlüsse für die Open-Loop-Validierung innerhalb eines Resin-Frameworks aus.
  • Azure Data Explorer bietet einen Analysedienst für Messungen und KPIs (d. h. Resimulation und Auftragsausführungen).

Zentralisierte AVOps-Funktionen

Eine AVOps-Architektur ist komplex und umfasst verschiedene Drittanbieter, Rollen und Entwicklungsphasen. Daher ist es wichtig, ein Modell mit geeigneter Governance zu implementieren.

Sie sollten ein zentralisiertes Team erstellen, das Funktionen wie Infrastrukturbereitstellung, Kostenverwaltung, Metadaten und Datenkatalog, Datenherkunft und allgemeine Orchestrierung und Ereignisbehandlung übernimmt. Die Zentralisierung dieser Dienste ist effizient und vereinfacht den Betrieb.

Sie sollten ein zentralisiertes Team für diese Aufgaben einsetzen:

  • Bereitstellen von ARM/Bicep-Vorlagen, einschließlich Vorlagen für Standarddienste wie Speicher und Compute, die von jedem Bereich und Unterbereich 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 alle AVOps-Komponenten übergreifende End-to-End-Herkunft und Rückverfolgbarkeit

Diagramm: Zentralisierte AVOps-Funktionen

Szenariodetails

Sie können diese Architektur verwenden, um eine Lösung für automatisiertes Fahren in Azure zu erstellen.

Mögliche Anwendungsfälle

Automobilhersteller, Tier-1-Anbieter und ISVs, die Lösungen für automatisiertes Fahren entwickeln.

Überlegungen

Diese Überlegungen bilden die Säulen des Azure Well-Architected Framework, einer Reihe von Leitprinzipien, die Sie zur Verbesserung der Qualität eines Workloads verwenden können. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Sicherheit

Sicherheit bietet Schutz vor vorsätzlichen Angriffen und dem Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Übersicht über die Säule „Sicherheit“.

Es ist wichtig, die Aufteilung der Zuständigkeiten zwischen dem Automobilhersteller und dem Cloudanbieter zu verstehen. Im Fahrzeug ist der Hersteller der Besitzer des gesamten Stapels, aber wenn die Daten in die Cloud wandern, gehen einige Verantwortlichkeiten auf den Cloudanbieter über. Platform-as-a-Service (PaaS) von Azure bietet integrierte verbesserte Sicherheit auf dem physischen Stapel, einschließlich des Betriebssystems. Sie können die folgenden Verbesserungen zusätzlich zu den Infrastruktursicherheitskomponenten anwenden. Diese Verbesserungen ermöglichen einen Zero Trust-Ansatz.

Kostenoptimierung

Bei der Kostenoptimierung geht es darum, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Sie können diese Strategien verwenden, um die Kosten zu senken, die mit der Entwicklung von Lösungen für autonomes Fahren verbunden sind:

  • Optimieren Sie die Cloudinfrastruktur. Eine sorgfältige Planung und Verwaltung der Cloudinfrastruktur kann Ihnen helfen, Kosten zu senken. Verwenden Sie beispielsweise kostengünstige Instanztypen und skalierungsfähige Infrastruktur, um sich ändernden Workloads gerecht zu werden. Befolgen Sie die Anleitung im Azure Cloud Adoption Framework.
  • Verwenden Sie Spot Virtual Machines. Sie können ermitteln, welche Workloads in Ihrer AVOps-Bereitstellung nicht innerhalb eines bestimmten Zeitraums verarbeitet werden müssen, und Spot Virtual Machines für diese Workloads verwenden. Mit Spot Virtual Machines profitieren Sie von unserer ungenutzten Azure-Kapazität und erzielen erhebliche Kosteneinsparungen. Wenn die Kapazität von Azure wieder benötigt wird, werden die Spot-VMs durch die Azure-Infrastruktur entfernt.
  • Verwenden Sie automatische Skalierung. Mit der automatischen Skalierung können Sie Ihre Cloudinfrastruktur automatisch bedarfsabhängig anpassen, wodurch der Bedarf an manuellen Eingriffen reduziert wird und Sie Kosten senken können. Weitere Informationen finden Sie unter Entwurf für Skalierung.
  • Erwägen Sie die Verwendung der Speicherebenen „Heiß“, „Kalt“ und „Archiv“. Speicher kann bei einer Lösung für autonomes Fahren sehr kostenintensiv sein, sodass Sie kostengünstige Speicheroptionen wie Cold Storage oder Speicher mit seltenem Zugriff auswählen müssen. Weitere Informationen finden Sie unter Datenlebenszyklusverwaltung.
  • Verwenden Sie Tools für Cost Management und Optimierung. Microsoft Cost Management bietet Tools, mit denen Sie Bereiche zur Kostenreduzierung identifizieren und adressieren können, z. B. ungenutzte oder nicht ausgelastete Ressourcen.
  • Erwägen Sie die Verwendung von Azure-Diensten. Beispielsweise können Sie Azure Machine Learning verwenden, um Modelle für autonomes Fahren zu erstellen und zu trainieren. Die Verwendung dieser Dienste kann kostengünstiger sein als Aufbau und Wartung einer internen Infrastruktur.
  • Verwenden gemeinsam genutzter Ressourcen. Wenn möglich, können Sie freigegebene Ressourcen wie freigegebene Datenbanken oder freigegebene Computeressourcen verwenden, um die Kosten zu senken, die mit der Entwicklung des autonomen Fahrens verbunden sind. Die zentralisierten Funktionen in dieser Architektur implementieren beispielsweise einen zentralen Bus, einen Event Hub und einen Metadatenkatalog. Dienste wie Azure Data Share können Ihnen ebenfalls helfen, dieses Ziel zu erreichen.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte

Weitere Informationen zur Entwicklung von DataOps für ein automatisiertes Fahrsystem finden Sie hier:

Folgende Artikel könnten für Sie ebenfalls von Interesse sein: