Getty Images
Unternehmen, die Anwendungen ausführen, die auf maschinellem Lernen (ML) basieren, müssen Mechanismen implementieren, um Modelle für Inferenzaufgaben zu erstellen, zu trainieren, bereitzustellen und darauf zuzugreifen. Während Machine-Learning-Modelle in der Regel auf Backend-Infrastrukturen wie Cloud-Servern ausgeführt werden, wächst die Nachfragte nach Anwendungen, die auf ML-Modelle zugreifen, die in der Nähe der Edge-Geräte bereitgestellt werden, auf denen die Anwendungsfälle stattfinden.
Diese Nachfrage ist häufig auf spezifische Anforderungen in Bezug auf Bandbreite und schnelle Reaktionszeiten zurückzuführen. Eine Architektur, die sich ausschließlich auf Cloud-basierte Backend-Server für ML-Inferenz in Echtzeit verlässt, kann diese Anforderungen nicht unbedingt erfüllen. Nehmen wir zum Beispiel Anwendungen, die auf IoT-Geräten wie Industrieautomation, Smart Homes, Sensoren und Fahrzeugen eingesetzt werden. Diese Anwendungen erfordern minimale Latenzzeiten und die Möglichkeit, auf ML-Erkenntnisse in Echtzeit zuzugreifen, oft von entfernten Standorten aus, die keinen zuverlässigen Zugang zur Cloud haben.
Amazon SageMaker Edge Manager hat eine wichtige Rolle für Edge-basierte Machine-Learning-Anwendungen gespielt, da er ML-Funktionen ermöglicht und sie für Edge-Komponenten verfügbar macht. Er hat Unternehmen dabei geholfen, eine große Anzahl von Remote-Geräten zu verwalten und bietet die Möglichkeit, maschinelle Lernmodelle auf ihnen einzusetzen. Außerdem überwacht es den Systemzustand und die Genauigkeit dieser Geräte.
Amazon kündigte das Tool Ende 2020 an, stellt es aber am 26. April 2024 wieder ein. AWS empfahl die folgenden Alternativen für die Verwaltung von ML-Bereitstellungen auf Edge-Geräten:
- Open Neural Network Exchange (ONNX)
- AWS IoT Greengrass V2
Amazon hat zwar nicht offiziell erklärt, warum es den SageMaker Edge Manager außer Betrieb nimmt, aber das Tool überschneidet sich mit AWS IoT Greengrass, da beide Remote-Geräte verwalten und überwachen und ML-Modelle ermöglichen.
Wie ONNX und AWS IoT Greengrass funktionieren
ONNX ist ein Open Source Tool, das mehrere Laufzeiten auf Edge-Geräten unterstützt. ONNX ermöglicht die Bereitstellung von ML-Modellen auf Edge-Geräten mit einer Reihe von unterstützter Hardware, Betriebssystemen und Frameworks. Die Verwendung von ONNX zur Implementierung von ML-Edge-basierten Funktionen ermöglicht die Übertragbarkeit von Anwendungen auf verschiedene Gerätetypen. Sie kann auch eine bessere Leistung bei Inferenzaufgaben liefern. Unternehmen können ein Tool wie Amazon SageMaker Neo verwenden, um ONNX-Modelle zu kompilieren, was zu hochgradig optimierten Bereitstellungen für bestimmte Hardwaregeräte führen kann.
AWS IoT Greengrass ist ein Cloud-Angebot, mit dem Eigentümer von Anwendungen Geräteflotten verwalten und die auf verwalteten IoT-Edge-Geräten bereitgestellte Software erstellen und verwalten können. Dazu gehören ML-Inferenzfunktionen, die mit ONNX implementiert werden. Die bereitgestellte Software wird lokal ausgeführt, ermöglicht es den Geräten aber auch, ausgewählte Daten, wie zum Beispiel Metriken oder Inferenzergebnisse, an die Cloud zu senden, um den Systemzustand und die Genauigkeit zu überwachen.
Sobald die Daten bei AWS ankommen, kann IoT Greengrass mit anderen Amazon-Diensten wie S3, Kinesis, CloudWatch und SageMaker integriert werden. Unternehmen können diese Integrationen für Cloud-Ressourcen und zur Erweiterung der auf Edge-Geräten implementierten Funktionen nutzen. So können sie beispielsweise erweiterte Analysen oder automatisierte Aktionen als Reaktion auf bestimmte Ereignisse, die auf dem Edge-Gerät stattfinden, ausführen.
AWS IoT Greengrass verwendet ML-Modelle, die in der Cloud erstellt und trainiert wurden, und stellt sie auf Edge-Geräten bereit. Unternehmen können diese Modelle aus einer Vielzahl verfügbarer, vorab trainierter Modelle auswählen oder sie können Modelle mit SageMaker-Funktionen wie Studio oder Neo individuell erstellen, kompilieren und trainieren. Um ein breites Spektrum an Kompatibilität mit IoT- und Edge-Geräten zu gewährleisten, sollten Unternehmen diese Modelle idealerweise im ONNX-Format zur Verfügung stellen.
Sobald ONNX-Pakete für den Einsatz bereit sind, müssen sie in einem S3-Bucket gespeichert werden, auf das IoT-Greengrass-Komponenten veröffentlicht werden. Wenn Teams diesen Schritt abgeschlossen haben, können sie die Komponenten für Ziele bereitstellen, die als Greengrass-Geräte im AWS-IoT-Service definiert sind. Dieser Schritt ermöglicht die Verfügbarkeit von ML-Inferenzfunktionen auf Edge-Geräten sowie von Bibliotheken, die die Kommunikation mit AWS IoT Core unterstützen.
Damit diese Geräte für AWS IoT sichtbar sind, müssen sie auch die IoT-Greengrass-Client-Software ausführen. Die Anwendungssoftware, die auf diesen Geräten läuft, kann eine benutzerdefinierte Logik zur Veröffentlichung von Daten in IoT Core implementieren, indem sie die PublishToIoTCore-API aufruft, die im AWS IoT Device SDK verfügbar ist. Das ermöglicht die Anwendungsüberwachung und Automatisierungsaufgaben, die in der Cloud ausgeführt werden, indem die von AWS IoT unterstützten Integrationen mit anderen AWS-Services genutzt werden.
Kombinieren Sie Services zur Verwaltung von Machine-Learning-Edge-Anwendungen
Die Implementierung und Verwaltung von ML-Funktionen auf Edge-Geräten kann ein zeitaufwendiger Prozess sein. Unternehmen können die Verwendung eines Tools wie AWS IoT Greengrass in Betracht ziehen, um Edge-Geräte, Flottenbereitstellungen und Überwachungsaufgaben zu verwalten. Dieser Service ist zusammen mit den langfristigen SageMaker-Funktionen, die die Entwicklung, Erstellung und Schulung von ML-Modellen verwalten, eine solide Kombination von AWS-Services. Anwendungseigentümer können diese Tools nutzen, um ML-Anwendungen auf zuverlässige Weise am Edge zu erstellen und zu warten.