
Vergleich verschiedener Embedded Geräte
Die Auswahl der richtigen Hardware für Edge Machine Learning-Anwendungen ist von entscheidender Bedeutung, da verschiedene Geräte unterschiedliche Eigenschaften und Fähigkeiten aufweisen. Diese Desk Study bietet einen umfassenden Vergleich verschiedener Hardware-Plattformen für den Einsatz von Machine Learning-Modellen im Edge-Bereich. Die Hardware wird anhand verschiedener Kriterien, darunter Größe, Preis, Leistung, Flexibilität und benötigte Expertise, bewertet. Zusätzlich diskutieren wir, wie Machine Learning-Modelle auf diese Hardware-Plattformen implementiert werden können. Für diese Analyse wurden folgende Geräte untersucht:
PC (CPU und GPU)
Nvidia Jetson
Nano
TX2
AGX Orin
Raspberry Pi
MCU
FPGA
Vom Modell zum Device
Um ein Machine Learning-Modell auf Edge-Hardware zu implementieren, stehen verschiedene Ansätze zur Verfügung. Oftmals stellen die Modellgröße bzw. der benötigte Speicher eine große Hürde bei der Ausführung der Modelle auf Edge-Hardware dar. Zwei gängige Methoden zur Modellverkleinerung sind:
Quantisierung: Die Umwandlung von Modellgewichten in eine niedrigere Auflösung, um den Speicherbedarf zu verringern und die Inferenzgeschwindigkeit zu erhöhen.
Pruning: Das Entfernen von unwichtigen Gewichten im Modell, um die Modellgröße zu reduzieren, ohne signifikante Leistungseinbußen zu verursachen.
Die Validierung des Modells auf der ausgewählten Hardware sollte folgende Punkte beinhalten:
Ausführungsgeschwindigkeit
Hardwarekosten
Umsetzbarkeit/Einfachheit des Workflows
Letztlich ist das Ziel, eine Abschätzung aufzustellen, welche zwischen Nutzen und Aufwand der jeweiligen Edge Hardware abwiegt. Die Auswahl der geeigneten Edge-Hardware hängt von verschiedenen Faktoren ab, wie:
Flexibilität: Die Anforderungen des Projekts bestimmen die erforderliche Flexibilität der Hardware. FPGA bieten hohe Anpassbarkeit, während Mikrocontroller auf spezifische Anwendungen zugeschnitten sind.
Größe: Je nach verfügbarer Platzkapazität in der Umgebung kann die Größe der Hardware entscheidend sein. Kleine Geräte wie der Raspberry Pi 4B oder Mikrocontroller eignen sich gut für platzbeschränkte Umgebungen.
Energieverbrauch: In batteriebetriebenen Anwendungen ist der Energieverbrauch ein entscheidender Faktor. Mikrocontroller und einige FPGAs sind äußerst energieeffizient.
Leistung: Die Leistungsanforderungen des Machine Learning-Modells bestimmen die erforderliche Hardwareleistung. GPUs und Nvidia Jetson-Modelle bieten die hohe Rechenleistung.
Benötigte Expertise: Die Verfügbarkeit von Fachkenntnissen und Ressourcen zur Unterstützung der Software-Entwicklung ist entscheidend. Ein höheres Maß an Expertise ist bei FPGAs und Mikrocontrollern erforderlich.
Eigenschaften verschiedener Geräte
Die wesentlichen Eigenschaften verschiedener Geräte für Edge-Machine Learning-Anwendungen werden in folgender Tabelle verglichen. Die Bewertung einiger Eigenschaften wird mit einer Skala von 1 (sehr gut) bis 5 (mangelhaft) durchgeführt.
Computer
5
3 - 4
1
TensorFlow, PyTorch, AutoML, etc.
✓
1
1
✓
✓
✓
✓
Handys / Tablets
4
2 - 3
1
TensorFlow Lite
✓
3
2
✓
✓
✓
✓
Einplatinen-computer
3
1 - 2
1
TensorFlow, PyTorch, AutoML, etc.
✓
2
3
✓
✓
✓
✓
Mikrocontroller
2
1
4
TensorFlow Lite, STM32Cube.AI, AIfES
✓
5
5
✓
✓
✓
✓
SoC/ FPGA/ ASIC
1
1 - 5
5
FINN, Caffeinated FPGA
✓
4
4
✓
✓
✓
Abbildung 1 visualisiert und vergleicht die wesentlichen Eigenschaften von Computern, Einplatinencomputern, Mikrocontrollern und ASIC/FPGA-Geräten, darunter Flexibilität, Größe, Energieverbrauch, Leistung und die benötigte Expertise.
Eigenschaften untersuchter Geräte
Nachstehende Tabelle bietet einen Überblick über die Eigenschaften und Fähigkeiten untersuchter Geräte, die für Machine Learning-Anwendungen geeignet sind, sowie deren Leistung und etwaige Einschränkungen in Bezug auf die Implementierung von Machine Learning-Modellen. Die Bewertung einiger Eigenschaften wird mit einer Skala von 1 (sehr gut) bis 5 (mangelhaft) durchgeführt.
GPU Nvidia RTX A4000
5
~1000
2
TensorFlow, PyTorch, AutoML, etc.
1
X TB
Keine
CPU AMD Ryzen 7 3700X 8-Core Processor
5
~250
1
TensorFlow, PyTorch, AutoML, etc.
3
X TB
Keine
Nvidia Jetson AGX Orin
2
~2300
3
TensorFlow, PyTorch, AutoML, etc.
2
32 GB
Keine
Nvidia Jetson TX2
2
~200
3
TensorFlow, PyTorch, AutoML, etc.
3
4 GB
Keine
Nvidia Jetson Nano
2
~130
3
TensorFlow, PyTorch, AutoML, etc.
4
4 GB
Keine
Raspberry Pi 4B
2
~55
1
TensorFlow, PyTorch, AutoML, etc.
5
4 GB
Keine
Arduino Nano BLE Sense
1
~35
4
TensorFlow Lite
5
256 kB
Nur vollvernetze und 2D Convolution Schichten
Zynq UltraScale+ MPSoC ZCU104
3
~1500
5
TensorFlow Lite
3
2 GB
Nur vollvernetze und 2D Convolution Schichten
Fazit
Die Auswahl der Edge-Hardware für Machine Learning-Anwendungen erfordert eine sorgfältige Abwägung der Anforderungen des Projekts in Bezug auf Größe, Preis, Leistung und Flexibilität. Die Wahl von Komprimierungstechniken und die Validierung auf der ausgewählten Hardware sind ebenfalls entscheidend. Es ist wichtig, den Nutzen und den Aufwand der jeweiligen Hardware sorgfältig abzuschätzen, um die bestmögliche Lösung für das konkrete Anwendungsgebiet zu finden.
Last updated