Bearbeiten

End-to-End-Fertigung durch maschinelles Sehen am Edge

Azure Data Factory
Azure IoT Edge
Azure IoT Hub
Azure Machine Learning
Azure Pipelines

Diese Beispielarchitektur zeigt einen End-to-End-Ansatz für Internet of Things-maschinelles-Sehen (IoT) in der Fertigung.

Aufbau

Diagram showing the end-to-end approach to computer vision from the edge to the cloud and back.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

  1. Das IoT Edge-Modul Video Analyzer erfasst den Live-Videostream, zerlegt ihn in Einzelbilder und führt einen Rückschluss der Bilddaten durch, um festzustellen, ob ein Incident stattgefunden hat.
  2. Das benutzerdefinierte Modul verwendet auch Azure Storage SDK-Methoden oder Blob-API, um die rohen Videodateien auf Azure Storage hochzuladen, was als roher Medienspeicher fungiert.
  3. Das benutzerdefinierte Modul sendet die Rückschlussergebnisse und Metadaten an den Azure IoT Hub, der als zentrale Nachrichtenzentrale für die Kommunikation in beide Richtungen fungiert.
  4. Azure Logic Apps überwacht IoT Hub auf Meldungen zu Incidentereignissen. Logic Apps leitet Rückschlussergebnisse und Metadaten zur Speicherung an Microsoft Dataverse weiter.
  5. Wenn ein Incident auftritt, sendet Logic Apps SMS- und E-Mail-Benachrichtigungen an den Standorttechniker. Der Standorttechniker verwendet basierend auf Power Apps eine mobile App, um den Incident zu bestätigen und zu beheben.
  6. Power Apps pullt Rückschlussergebnisse und Metadaten aus Dataverse und den unverarbeiteten Videodateien von Blob Storage, um relevante Informationen zum Incident anzuzeigen. Power Apps aktualisiert Dataverse mit der vom Standorttechniker bereitgestellten Incidentlösung. Dieser Schritt fungiert als Human-in-the-loop-Überprüfung für das erneute Training des Modells.
  7. Azure Data Factory ist der Datenorchestrator, der unverarbeitete Videodateien mit den entsprechenden Rückschlussergebnissen und Metadaten aus Dataverse aus dem Rohmedienspeicher abruft.
  8. Data Factory speichert die unverarbeiteten Videodateien sowie die Metadaten in Azure Data Lake, das zu Überwachungszwecken als Videoarchiv dient.
  9. Data Factory bricht die unverarbeiteten Videodateien in Frames auf, konvertiert die Rückschlussergebnisse in Bezeichnungen und lädt die Daten in Blob Storage hoch, das als ML-Datenspeicher fungiert.
  10. Änderungen am Modellcode lösen automatisch die Azure Pipelines Modellorchestrierungspipeline aus, die Operatoren auch manuell auslösen können. Codeänderungen starten auch den Trainings- und Validierungsprozess des ML-Modells auf Azure Machine Learning.
  11. Azure Machine Learning beginnt mit dem Trainieren des Modells, indem die Daten aus dem ML-Datenspeicher validiert und die erforderlichen Datasets in Azure Premium Blob Storage kopiert werden. Diese Leistungsstufe bietet einen Datencache für ein schnelleres Modelltraining.
  12. Azure Machine Learning verwendet das Dataset im Premium-Datencache, um das Modell zu trainieren, die Leistung des trainierten Modells zu überprüfen, es anhand des neu trainierten Modells zu bewerten und das Modell in der Azure Machine Learning-Registrierung zu registrieren.
  13. Die Azure Pipelines Modell-Orchestrierung überprüft die Leistung des neu trainierten ML-Modells und ermittelt, ob es besser ist als vorherige Modelle. Wenn das neue Modell besser abschneidet, lädt die Pipeline das Modell von Azure Machine Learning herunter und erstellt eine neue Version des ML-Inferencing-Moduls zur Veröffentlichung in Azure Container Registry.
  14. Wenn ein neues ML Rückschlussmodul bereit ist, stellt Azure Pipelines den Modulcontainer aus Container Registry für das IoT Edge Modul in IoT Hub bereit.
  15. IoT Hub aktualisiert das IoT Edge-Gerät mit dem neuen ML-Rückschlussmodul.

Komponenten

  • Der Azure IoT Edge-Dienst analysiert Gerätedaten lokal, um weniger Daten an die Cloud zu senden, auf Ereignisse schnell zu reagieren und in geringen Konnektivitätsbedingungen zu funktionieren. Ein IoT Edge-ML-Modul kann aktionsfähige Einblicke aus Streamingvideodaten extrahieren.
  • Azure IoT Hub ist ein verwalteter Dienst, der eine zuverlässige und sichere bidirektionale Kommunikation zwischen Millionen von IoT-Geräten und einem cloudbasierten Back-End ermöglicht. IoT Hub bietet gerätespezifische Authentifizierung, Nachrichtenrouting, Integration in andere Azure-Dienste und Verwaltungsfeatures für die Steuerung und Konfiguration der IoT-Geräte.
  • Azure Logic Apps ist ein serverloser Clouddienst zum Erstellen und Ausführen automatisierter Workflows, die Apps, Daten, Dienste und Systeme integrieren. Entwickler können einen visuellen Designer verwenden, um Workflows für allgemeine Aufgaben zu planen und zu orchestrieren. Logic Apps enthält Connectors für viele beliebte Clouddienste, lokale Produkte und andere SaaS-Anwendungen (Software-as-a-Service). In dieser Lösung führt Logic Apps den automatischen Benachrichtigungs-Workflow aus, der SMS- und E-Mail-Warnungen an Techniker vor Ort sendet.
  • Power Apps ist eine Datenplattform und eine Suite von Apps, Diensten und Connectors. Sie fungiert als Umgebung für die schnelle Anwendungsentwicklung. Die zugrunde liegende Datenplattform ist Microsoft Dataverse.
  • Dataverse ist eine cloudbasierte Speicherplattform für Power Apps. Dataverse unterstützt Human-in-the-Loop-Benachrichtigungen und speichert Metadaten, die der MLOps-Datenpipeline zugeordnet sind.
  • Azure Blob Storage ist ein skalierbarer und sicherer Objektspeicher für unstrukturierte Daten. Sie können es für Archive, Data Lakes, Hochleistungscomputer, maschinelles Lernen und Cloud-native Workloads verwenden. In dieser Lösung stellt Azure Blob Storage einen lokalen Datenspeicher für den ML-Datenspeicher und einen Premium-Datencache zum Trainieren des ML-Modells bereit. Der Premium-Tarif von Blob Storage ist für Workloads vorgesehen, die schnelle Antwortzeiten und hohe Transaktionsraten erfordern – wie in diesem Beispiel mit Human-in-the-Loop-Videobeschriftung.
  • Data Lake Storage ist ein hochgradig skalierbarer und sicherer Speicherdienst für Hochleistungs-Analyseworkloads. Die Daten stammen in der Regel aus mehreren heterogenen Quellen und können strukturiert, teilweise strukturiert oder unstrukturiert sein. Azure Data Lake Storage Gen2 vereint die Funktionen von Azure Data Lake Storage Gen1 mit Blob Storage und bietet Dateisystemsemantik, Sicherheit auf Dateiebene und Skalierung. Darüber hinaus stehen der mehrstufige Speicher, die Hochverfügbarkeit und die Notfallwiederherstellung von Blob Storage zur Verfügung. In dieser Lösung stellt Data Lake Storage den Archivvideospeicher für die unverarbeiteten Videodateien und Metadaten zur Verfügung.
  • Azure Data Factory ist eine vollständig verwaltete, serverlose Hybridlösung für Datenintegrations- und -transformationsworkflows. Sie bietet eine codefreie Benutzeroberfläche und einen benutzerfreundlichen Überwachungsbereich. Azure Data Factory verwendet Pipelines für die Datenverschiebung. Zuordnungsdatenflüsse führen verschiedene Transformationsaufgaben wie Extrahieren, Transformieren, Laden (ETL) und Extrahieren, Laden, Transformieren (ELT) aus. In diesem Beispiel orchestriert Data Factory die Daten in einer ETL-Pipeline mit den Rückschlussdaten, die er für ein erneutes Training speichert.
  • Azure Machine Learning ist ein professioneller Dienst für maschinelles Lernen, mit dem Sie schnell Modelle erstellen und bereitstellen können. Es bietet Anwendern aller Kenntnisstufen einen Low-Code-Designer, automatisiertes maschinelles Lernen und eine gehostete Jupyter-Notebook-Umgebung, die verschiedene IDEs unterstützt.
  • Azure Pipelines, teil von Azure DevOps teambasierten Entwicklerdiensten, erstellt CI- und CD-Pipelines (Continuous Integration). In diesem Beispiel überprüft der Azure Pipelines Modellorchestrator ML Code, löst serverlose Aufgabenpipelines aus, vergleicht ML Modelle und erstellt den Rückschlusscontainer.
  • Container Registry erstellt und verwaltet die Docker-Registrierung zum Erstellen, Speichern und Verwalten von Docker-Containerimages, einschließlich containerisierter ML Modelle.
  • Azure Monitor erfasst Telemetriedaten von Azure-Ressourcen, sodass die Teams Probleme proaktiv identifizieren und Leistung und Zuverlässigkeit maximieren können.

Alternativen

Anstatt die Datenpipeline zum Aufgliedern des Videodatenstroms in Bildframes zu verwenden, können Sie ein Azure Blob Storage-Modul auf dem IoT Edgegerät bereitstellen. Das Rückschlussmodul lädt dann die rückgeleiteten Bildrahmen in das Speichermodul auf dem Edgegerät hoch. Das Speichermodul bestimmt, wann die Frames direkt in den ML-Datenspeicher hochgeladen werden sollen. Der Vorteil dieses Ansatzes besteht darin, dass dadurch ein Schritt aus der Datenpipeline wegfällt. Der Kompromiss besteht darin, dass das Edgegerät eng an Azure Blob Storage gekoppelt ist.

Für die Modellorchestrierung können Sie entweder Azure Pipelines oder Azure Data Factory verwenden.

  • Der Vorteil von Azure Pipelines ist die enge Verbindung mit dem ML-Modellcode. Sie können die Trainingspipeline einfach mit Codeänderungen über CI/CD auslösen.
  • Der Vorteil von Data Factory ist, dass jede Pipeline die erforderlichen Rechenressourcen bereitstellen kann. Data Factory hält nicht an den Azure Pipelines-Agenten fest, um ML-Training durchzuführen, was den normalen CI/CD-Fluss behindern könnte.

Szenariodetails

Vollständig automatisierte Smart Factorys verwenden künstliche Intelligenz (KI) und maschinelles Lernen (ML), um Daten zu analysieren, Systeme auszuführen und Prozesse im Laufe der Zeit zu verbessern.

In diesem Beispiel senden Kameras Bilder an ein Azure IoT Edge-Gerät, auf dem ein ML-Modell ausgeführt wird. Das Modell berechnet Rückschlüsse und sendet verwertbare Ausgaben zur weiteren Verarbeitung an die Cloud. Menschliche Operationen sind Teil der Intelligenz, die das ML-Modell erfasst. Der ML Prozess ist ein kontinuierlicher Zyklus aus Trainings-, Test-, Optimierungs- und Validierungszyklen der ML-Algorithmen.

Mögliche Anwendungsfälle

Fertigungsprozesse verwenden ioT-maschinelles-Sehen in Sicherheits- und Qualitätssicherungsanwendungen. IoT-Systeme für maschinelles Sehen können:

  • Tragen Sie dazu bei, die Einhaltung von Fertigungsrichtlinien sicherzustellen, z. B. ordnungsgemäße Bezeichnungen.
  • Identifizieren von Fertigungsfehlern wie Oberflächenebenheit.
  • Erhöhen Sie die Sicherheit, indem Sie Gebäude- oder Bereichseingänge überwachen.
  • Aufrechterhalten der Sicherheit von Mitarbeitern durch Erkennung der Verwendung persönlicher Schutzgeräte (Personal Equipment, PPE) und anderer Sicherheitsverfahren.

Überlegungen

Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Verfügbarkeit

ML-basierte Anwendungen benötigen in der Regel eine Reihe von Ressourcen für das Training und eine andere für die Bereitstellung. Trainingsressourcen benötigen in der Regel keine hohe Verfügbarkeit, da Produktionsanfragen diese Ressourcen nicht direkt nutzen. Ressourcen, die für die Bereitstellung von Anforderungen erforderlich sind, benötigen Hochverfügbarkeit.

Operations

Diese Lösung ist in drei operative Bereiche unterteilt:

  • Bei IoT-Vorgängen verwendet ein ML-Modell auf dem Edgegerät Echtzeitbilder von verbundenen Kameras zum Ableiten von Videoframes. Das Edgegerät sendet auch zwischengespeicherte Videodatenströme an den Cloudspeicher, um sie für die Überwachung und das erneute Modelltraining zu verwenden. Nach dem erneuten ML-Training aktualisiert Azure IoT Hub das Edge-Gerät mit dem neuen ML-Inferencing-Modul.

  • MLOps verwendet DevOps Methoden, um Modelltrainings-, Test- und Bereitstellungsvorgänge zu orchestrieren. Die MLOps-Lebenszyklusverwaltung automatisiert den Prozess der Verwendung ML-Modelle für komplexe Entscheidungen oder die Produktion der Modelle. Der Schlüssel zu MLOps ist eine enge Koordination zwischen den Teams, die die ML-Modelle erstellen, trainieren, bewerten und einsetzen.

  • Human-in-the-Loop-Vorgänge benachrichtigen Personen, bei bestimmten Schritten in der Automatisierung eingreifen zu müssen. Bei Human-in-the-Loop-Transaktionen überprüfen und bewerten Worker die Ergebnisse der ML-Vorhersagen. Menschliche Intelligenz wird Teil der Intelligenz, die vom ML Modell erfasst wird, und hilft bei der Überprüfung des Modells.

    Die folgenden menschlichen Rollen sind Teil dieser Lösung:

    • Standorttechniker erhalten die Incidentbenachrichtigungen, die Logic Apps sendet, und überprüfen die Ergebnisse oder Vorhersagen des ML Modells manuell. Standorttechniker könnten beispielsweise ein Ventil untersuchen, dessen Versagen vom Modell vorhergesagt wurde.

    • Datenbeschrifter beschriften Datensätze für die Nachschulung, um die Schleife der End-to-End-Lösung zu schließen. Der Datenbeschriftungsprozess ist besonders wichtig für Bilddaten, als ersten Schritt beim Trainieren eines zuverlässigen Modells mithilfe von Algorithmen. In diesem Beispiel organisiert Azure Data Factory die Videobilder in positive und falsch-positive Gruppierungen, was die Arbeit des Datenbeschrifters erleichtert.

    • Datenanalysten verwenden die beschrifteten Datasets, um die Algorithmen so zu trainieren, dass sie die richtigen Realvorhersagen treffen. Datenanalysten verwenden MLOps mit GitHub Actions oder Azure Pipelines in einem CI-Prozess, um ein Modell automatisch zu trainieren und zu validieren. Das Training kann manuell oder automatisch ausgelöst werden, indem neue Trainingsskripts oder Daten eingecheckt werden. Datenanalysten arbeiten in einem Azure Machine Learning-Arbeitsbereich, der Modelle automatisch registrieren, bereitstellen und verwalten kann.

    • IoT-Ingenieure verwenden Azure Pipelines, um IoT-Edge-Module in Containern in der Container Registry zu veröffentlichen. Techniker können die Infrastruktur bei Bedarf mithilfe einer CD-Pipeline bereitstellen und skalieren.

    • Sicherheitsprüfer können die archivierten Videodatenströme überprüfen, um Anomalien zu erkennen, die Konformität zu bewerten und die Ergebnisse zu bestätigen, wenn Fragen zu den Vorhersagen eines Modells auftreten.

    Bei dieser Lösung erfasst IoT Hub Telemetriedaten von den Kameras und sendet die Metriken an Azure Monitor, damit die Techniker vor Ort diese untersuchen und Fehler beheben können. Azure Machine Learning sendet Einblicksmetriken und Modelltelemetriedaten an Azure Monitor, sodass die IoT-Techniker und Datenanalysten Vorgänge optimieren können.

Leistung

IoT-Geräte verfügen nur über begrenzten Speicher und begrenzte Verarbeitungsleistung, daher ist es wichtig, die Größe des an das Gerät gesendeten Modell-Containers zu begrenzen. Stellen Sie sicher, dass Sie ein IoT-Gerät verwenden, das Modellrückschluss durchführen und in einem akzeptablen Zeitraum Ergebnisse liefern kann.

Um die Leistung für Trainingsmodelle zu optimieren, verwendet diese Beispielarchitektur Azure Premium Blob Storage. Diese Leistungsstufe ist für Workloads konzipiert, die sehr schnelle Antwortzeiten und hohe Transaktionsraten erfordern, wie in diesem Human-in-the-loop-Szenario für die Videobeschriftung.

Leistungsaspekte gelten auch für die Datenerfassungspipeline. Data Factory maximiert die Datenbewegung durch die Bereitstellung einer hochleistungsfähigen, kosteneffektiven Lösung.

Skalierbarkeit

Die meisten Komponenten in dieser Lösung sind verwaltete Dienste, die automatisch skaliert werden.

Die Skalierbarkeit für die IoT-Anwendung hängt von den IoT Hub-Kontingenten und der Drosselung ab. Zu beachtende Faktoren:

  • Maximales tägliches Kontingent von Nachrichten, die an IoT Hub gesendet werden
  • Kontingent von verbundenen Geräten in einer IoT Hub-Instanz
  • Erfassungs- und Verarbeitungsdurchsatz.

Bei ML bezieht sich die Skalierbarkeit auf Scale-Out-Cluster, die zum Trainieren von Modellen anhand großer Datensätze verwendet werden. Dank der Skalierbarkeit kann das ML-Modell auch den Anforderungen der Anwendungen, die es nutzen, gerecht werden. Um diese Anforderungen zu erfüllen, muss der ML Cluster auf CPUs und GPU-fähigen Knoten (Graphics Processing Unit) eine aufskalierte Skalierung bereitstellen.

Allgemeine Informationen zur Entwicklung skalierbarer Lösungen finden Sie im Azure Architecture Center in der Prüfliste zur Leistungseffizienz.

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

Die Zugriffsverwaltung in Dataverse und anderen Azure-Diensten stellt sicher, dass nur autorisierte Benutzer auf die Umgebung, Daten und Berichte zugreifen können. Diese Lösung verwendet Azure Key Vault zur Verwaltung von Passwörtern und Geheimnissen. Der Speicher wird mit kundenseitig verwalteten Schlüsseln verschlüsselt.

Allgemeine Informationen zum Entwerfen sicherer IoT-Lösungen finden Sie in der Azure-Sicherheitsdokumentation und in der Azure IoT-Verweisarchitektur.

Kostenoptimierung

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

Im Allgemeinen sollten Sie den Azure-Preisrechner verwenden, um Ihre Kosten zu ermitteln. Weitere Überlegungen finden Sie unter Kostenoptimierung.

Azure Machine Learning stellt auch die Dienste Container Registry, Azure Storage und Azure Key Vault zur Verfügung, was zusätzliche Kosten verursacht. Weitere Informationen finden Sie unter Funktionsweise des Azure Machine Learning-Diensts: Architektur und Konzepte.

Die Preise für Azure Machine Learning beinhalten die Kosten für die virtuellen Maschinen (VMs), die zum Trainieren des Modells in der Cloud verwendet werden. Informationen zur Verfügbarkeit von Azure Machine Learning und VMs pro Azure-Region finden Sie unter Verfügbare Produkte nach Region.

Beitragende

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

Hauptautor:

Nächste Schritte