Page cover

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.

Gerät
Größe
Preis [€]
Nötige Expertise
Toolkit
Akkubetrieb
Leistung
Speicher
Bluetooth
Bildverarbeitung HD Bilder
Audioverarbeitung
Sensordaten 3 Dim.

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.

Abbildung 1: Eigenschaften verschiedener Geräte

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.

Gerät
Größe
Preis [€]
Nötige Expertise
Toolkit
Leistung
Speicher
Einschränkungen des ML Modells

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