KOHb - Getty Images
Machine Learning auf Edge-Geräten mit SageMaker IoT Greengrass
Amazon SageMaker, ONNX und AWS IoT Greengrass unterstützen bei der Bereitstellung von Machine-Learning-Modellen auf Edge-Geräten und den einzelnen dafür notwendigen Schritten.
Viele Anwendungen müssen Aufgaben des maschinellen Lernens (Machine Learning, ML) auf Geräte in unmittelbarer Nähe der Endbenutzer bereitstellen und ausführen, anstatt diese Aufgaben aus der Ferne in der Cloud auszuführen. Diese Anforderung führt den Anwendungsfall der Ausführung von ML-Modellen auf Edge-Geräten ein, wie zum Beispiel intelligenten Kameras, Robotern, Sensoren sowie industriellen und mobilen Geräten.
Amazon SageMaker ist ein wichtiges Tool zur Vereinfachung der Entwicklung, Schulung, Bereitstellung und Ausführung von Machine-Learning-Aufgaben in der Cloud. Eine seiner Funktionen, SageMaker Edge Manager, unterstützt bei der Verwaltung und Bereitstellung von Funktionen des maschinellen Lernens auf Edge-Geräten. AWS kündigte allerdings an, dass es diese Funktion am 26. April 2024 abschaltet. AWS empfiehlt Unternehmen die Verwendung des Formats von Open Neural Network Exchange (ONNX) in Kombination mit AWS IoT Greengrass V2 als Ersatz für den Edge Manager.
IoT Greengrass ist eine AWS IoT-Funktion, die für die Verwaltung von IoT-Geräteflotten und der darauf bereitgestellten Software entwickelt wurde. Dieses Design macht es zu einer großartigen Option für die Bereitstellung von ML-Funktionen für entfernte IoT- und Edge-Geräte.
ONNX ist ein Open Source Tool, das es Teams ermöglicht, ML-Inferenzaufgaben auf einer Reihe von Edge-Geräten auszuführen. Es unterstützt mehrere Hardwaretypen, Betriebssysteme und Frameworks. ONNX-Modelle lassen sich auch in viele bestehende Amazon-SageMaker-Funktionen integrieren. Daher passen ONNX und AWS IoT Greengrass gut zusammen, um den ML-Bereitstellungsprozess auf Edge-Geräten zu optimieren, einschließlich groß angelegter Bereitstellungen.
So verwenden Sie ONNX und AWS IoT Greengrass
Unternehmen können drei Schritte befolgen, um ONNX und AWS IoT Greengrass zu nutzen.
Schritt 1: Trainieren Sie ein vorhandenes ML-Modell und stellen Sie es im ONNX-Format zur Verfügung
Der erste Schritt umfasst die üblichen Aufgaben im Zusammenhang mit der Erstellung und dem Training von ML-Modellen, wie Klassifizierung, Regression und Vorhersage, je nach erforderlichem Anwendungsfall.
SageMaker bietet mehrere Tools, die bei diesem Prozess helfen, wie JumpStart, Studio, Jupyter Notebook, Autopilot und explizite Auslöser von SageMaker Neo als Option in Betracht ziehen, da es eine leistungsoptimierte ausführbare ONNX-ML-Datei basierend auf dem Typ des Ziel-Edge-Geräts erstellt. In Anbetracht der begrenzten Rechenkapazitäten, die bei Edge-Geräten oft vorhanden sind, kann SageMaker Neo einen UX-Wert liefern.
Teams sollten die generierten ONNX-Ausgabedateien in einem S3-Bucket ablegen, von wo aus IoT Greengrass in den nachfolgenden Schritten auf sie zugreifen kann.
Schritt 2: Erstellen von AWS IoT Greengrass-Komponenten unter Verwendung der generierten Dateien im ONNX-Format
Sobald das Modell im ONNX-Format fertig ist, erstellen Sie eine IoT-Greengrass-Komponente. Das ist das Softwarepaket, das auf Edge-Geräten eingesetzt wird.
Erstellen Sie zunächst eine IoT-Greengrass-Komponentenrezeptdatei. Diese Datei enthält detaillierte Komponentenkonfigurationen, zum Beispiel ONNX-Laufzeit, Plattform-Betriebssystem, Skripte, die zur Laufzeit ausgeführt werden sollen, und den S3-Speicherort, an den die ONNX-Artefakte hochgeladen werden, sowie weitere Parameter.
Sobald die Rezeptdatei fertig ist, können Teams eine Komponente mithilfe des AWS SDK, der CLI oder der AWS-IoT-Konsole starten.
Geben Sie als Teil des Prozesses Spezifikationen für das Komponentenrezept an.
Sobald Greengrass die Komponente erstellt hat, ist sie in der AWS-IoT-Greengrass-Konsole verfügbar.
Schritt 3: Bereitstellung von IoT-Greengrass-Komponenten auf den Ziel-Edge-Geräten
Bevor Sie mit der Bereitstellung fortfahren, müssen die Teams die Greengrass-Kerngeräte konfigurieren. Das geschieht über den Bildschirm Greengrass core devices (Kerngeräte).
Damit das Zielgerät für Greengrass sichtbar ist, muss es die AWS IoT Greengrass Core Software installiert haben und den Greengrass-Client ausführen. Beim Start enthält die Client-Software Parameter wie den Namen des Kerngeräts. IoT Greengrass empfängt diese veröffentlichten Parameter und die Edge-Geräte sind sichtbar und bereit für die Bereitstellung.
Sobald die Kerngeräte für Greengrass sichtbar sind, ist die konfigurierte Komponente bereit, auf den Zielgeräten eingesetzt zu werden. Im Fenster Greengrass deploment erstellen Sie eine neue Bereitstellung, indem Sie auf die Schaltfläche Create (Erstellen) klicken.
Geben Sie dann ein Zielgerät oder eine Gruppe für diese Bereitstellung an.
Sobald die Bereitstellung abgeschlossen ist, wird die Machine-Learning-Funktionalität auf den Remote-Geräten ausgeführt und führt alle implementierten Inferenzaufgaben lokal aus. Außerdem werden die Daten bei Bedarf in AWS IoT Core veröffentlicht.
Sobald diese Daten bei AWS IoT ankommen, können sie in mehrere AWS-Services integriert werden, wie Lambda, CloudWatch Events, CloudWatch Logs, S3, Kinesis, DynamoDB, Simple Notification Service und Simple Queue Service. Diese Integration ermöglicht die Anwendungsüberwachung sowie die zusätzliche Implementierung komplexer und skalierbarer Funktionen in der Cloud, die auf den von Edge-Geräten bereitgestellten Daten basieren.
Bei der Verwendung von Amazon SageMaker können Anwendungseigentümer eine Reihe von Funktionen für den gesamten ML-Lebenszyklus nutzen. Diese Funktionen bieten in Kombination mit AWS IoT Greengrass einen soliden Ansatz zur Verwaltung von Geräten und ML-Softwarebereitstellungen für IoT- und Edge-Strategien. Die Kombination dieser beiden Services vereinfacht den Lebenszyklus von maschinellen Lernanwendungen, die die Ausführung von Logik am Edge in beliebigem Umfang erfordern.