Edge Computing und künstliche Intelligenz mit Raspberry Pi und Nvidia Jetson nano

Zwei Trends zeigen eine hohe Konvergenz: Edge Computing als Gegenentwurf zu Cloud Computing im Zuge der Internet-of-Things (IoT) Entwicklung und künstliche Intelligenz (KI, AI). Letztere ragt nunmehr in fast alle denkbaren Anwendungsbereiche hinein. Drei Gründe für die Konvergenz sind: 1. Möglichkeit, personenbeziehbare Daten weder zu speichern noch über Netze zu übertragen, 2. Daten vorzuverarbeiten, um die Datenmenge auf Netzen mit niedriger Bandbreite gering zu halten. 3. Ressourcen auf zentralen Servern zu sparen. Zwei Geräteklassen in unterschiedlichen Leistungsstufen, der Raspberry Pi (35 €) und der Nvidia Jetson nano (120 €) sind für Edge Computing und künstliche Intelligenz einsetzbar. Beide sind grundsätzlich für KI-Anwendungen geeignet und werden von „Makern“ und Hochschulen erprobt.

Edge Computing

Definition von Edge Computing

Gartner definiert Edge Computing als: „… part of a distributed computing topology where information processing is located close to the edge, where things and people produce or consume that information.“ (Gartner 2020). Das bedeutet frei übersetzt: Edge Computing ist Teil einer verteilten Computer-Topologie, bei der die Informationsverarbeitung nicht zentral, sondern in den Randzonen des Netzwerkes angesiedelt ist, dort, wo Geräte oder Menschen diese Informationen erzeugen oder nutzen.

Edge-Computing umfasst also Basistechnologien, die es ermöglichen, Berechnungen (inkl. deep learning) am Netzwerkrand durchzuführen (vgl. Shi et al. 2016b, S. 638).

Die Technologien basieren auf verschiedenen architektonische Ansätzen wie z.B. OpenFog und Mobile Edge Computing. Seit 2010 gibt es den Begriff Edge Computing im Zusammenhang mit dem Begriff „IoT“ (Internet of Things). Bereits zu diesem Zeitpunkt überholte die Anzahl an vernetzten Maschinen die Anzahl von Menschen. Dies führt zu einer hohen Dazenmenge, die die Kapazität von Kommunikationsnetzwerken und insbesondere Cloud-Computing-Leistung an die Grenzen bringen kann. Daher ist ein stärker dezentralisiertes Modell wie Edge-Computing erforderlich, um Cloud-Computing zu ergänzen und zu entlasten.

Charakterisierung von Edge Computing

Edge Computing hat die folgenden „Treiber“ (Wang 2018):

  1. Daten: Die Anzahl der vernetzten Computer wächst und die Kosten für Hardware fällt. Die Datenmenge wächst. Der Transfer der Daten und ihre Speicherung auf  zentralisierten Strukturen ist teilweise schwierig und kostspielig.
  2. Latenz: In Situationen, in denen eine schnelle Reaktion auf die  Daten vor Ort benötigt wird, kann die Übertragung über das Netzwerk zu langsam sein und die Reaktion soll direkt am Entstehungsort der Daten erfolgen. Ein typisches Beispiel wäre die digitale Unterstützung klinischer Operationen.
  3. Datenschutz: Den Inhalt und die Verarbeitung von Daten lokal zu halten oder gar nicht zu speichern, ist in der Regel ein wirksames Mittel, um Sicherheitslücken proaktiv zu vermeiden. Gesetze, die eine Übertragung und Speicherung von Daten untersagen, werden zunehmend verschärft.

 

Raspberry Pi

Der Raspberry Pi (Abb. 1) ist ein Linx-Scheckkartencomputer und wird von der  Raspberry Pi Foundation vermarktet. Die  Raspberry Pi Foundation ist eine wohltätige Stiftung in Großbritannien. Zweck der Stiftung ist die Förderung der Informatik-Ausbildung, insbesondere an Schulen. Damit verfolgt die Raspberry Pi Foundation ein vergleichbares Ziel wie die Calliope gGmbH in Deutschland. Ziel ist, Menschen auf der ganzen Welt preiswerte, angemessen leistungsgerechte Computer zur Verfügung zu stellen, damit sie in der Lage sind, die digitale Welt zu verstehen, zu erschaffen und zu modellieren (Priyadarshiny 2018). Stand 2020 haben über 30 Millionen Exemplare eines Raspberry Pis einen Käufer gefunden (vgl. Tung 2019).

Technik des Raspberry

Der Raspberry Pi 3b  besitzt 4 ARM Cortex-A53 Kerne (1200 MHz) und eine Broadcom VideoCore IV GPU. Der Ram liegt bei 1024 MB DDR2 Speicher. Es ist ein Wlan-Chip auf der Platine verbaut und das Betriebssystem wird üblicherweise über eine SD-Karte gestartet. Weitere Anschlüsse sind ein HDMI-Ausgang, ein Lan-Anschluss, vier USB-Anschlüsse und GPIO Pins für das Anschließen weiterer Sensoren, Aktoren oder auch eine Kameras. (reichelt 2020)

– Abb. folgt

Abb. 1:  Raspberry Pi 3b

Der Raspberry Pi 3 kann viele KI-Modelle nicht ausführen. Dazu zählen derzeit beispielsweise alle MobileNetv2 SSD Modelle mit einer Auflösung von über 300×300 Pixeln und alle ResNet SSD Modelle. YOLOv3 tiny ist mit dem Raspberry Pi kompatibel (NVIDIA 2019b).

Der Preis des Raspberry Pi 3 liegt bei etwa 35 Euro (vgl. Amazon 2020). Die Maße bleiben unter den verschiedenen Versionen der Raspberry Pis in der Regel identisch und betragen 85,6 × 56mm (Datenreise 2020).

Die aktuelle Version ist der Raspberry Pi 4. Sie ist in bestimmten Situationen teils um den Faktor vier schneller (The MagPi magazine 2020) als die Vorgängerversion Raspberry Pi 3. Gerade bei KI-Anwendungen ist der Leistungsschub merkbar: Bei der Ausführung von MobileNet auf TensorFlow Basis liegt der Leistungszuwachs bei etwa 300% (Allan 2019).

Einsatz des Raspberry in „Edge Computing und künstliche Intelligenz“-Szenarien

Auf dem Raspberry Pi haben studentische Arbeitsgruppen der Hochschule Niederrhein bereits KI-Modelle entworfen und implementiert die

  • Bienen mit und ohne Pollenhöschen zählen können,
  • Meisen im Nistkasten erkennen und zählen können.

Nvidia Jetson Nano

Nvidia ist historisch ein Grafikkarten-Hersteller. Schon früh hat Nvidia die Schnittstellen zu seinen Grafikkarten freigegeben, so dass sich die Karten schnell als Parallelrechner für z.B. Bilderkennung und Simulationsrechnungen etablierten. Mit der Jetson Serie liefert Nvidia preiswerte kleine Rechner „in der Raspberry Pi Klasse“  insbesondere für die Verbindung von KI und Edge Computing. NVIDIA bewirbt den Jetson Nano expliziert für das Einsetzen als  kostengünstigen und energieeffizienten KI-System in IoT-Szenarien beworben.  (NVIDIA 2020c)

Technik des Jetson Nano

Der Jetson nano basiert auf einem ARM Cortex-A57 Prozessor mit vier Kernen. Die GPU ist ein NVIDIA-Grafikprozessor mit der Maxwell-Architektur und 128 NVIDIA CUDA Recheneinheiten. CUDA ist eine von NVIDIA freigegebene Programier-Schnittstelle für  KI-Anwendungen in einer Parallelarchitektur. Es sind 4 GB LPDDR4 Arbeitsspeicher auf dem nano verbaut. Zu den Anschlüssen gehören ein Gigabit-Ethernet Anschluss und vier USB-Steckplätze, von denen einer USB-3 beherrscht. Die Maße betragen 69,6 mm x 45 mm. (vgl. NVIDIA 2020c) Nvidia selbst vergleicht den Jetson Nano mit dem Raspberry Pi 3. KI-Anwendungen laufen etwa um einen Faktor 50 performanter als auf dem Raspberry.

Das NVIDIA DeepStream SDK soll die Ausführung von KI-Modellen beschleunigen. Dafür kommt TensorRT zum Einsatz. (vgl. NVIDIA 2016). TensorRT ist eine C++ Bibliothek, die die Grafikkarte bestmöglich nutzen soll. In anderen Umgebungen erzeugte erzeugte Modelle müssen in das TensorRT-Format konvertiert werden.  Auch PyTorch, das gerne von Universitäten eingesetzt wird,  und TensorFlow von Google (NVIDIA 2020b) verhalten sich so.

Das ONNX-Format ist bei der Konvertierung ein Zwischenformat (NVIDIA 2020a). YOLOv4, das auf Darknet basiert, wird nicht direkt unterstützt. Es gibt eine Alternative, bei der das YOLOv4 Modell mit Hilfe von einer PyTorch Implementierung in das ONNX-Format konvertiert wird ( Tianxiaomo 2020). Auch YOLOv4 tiny wird nicht unterstützt (vgl. Bochkovskiy 2020g). Der Autor von YOLOv4 empfiehlt die Nutzung der tkDNN Bibliothek (vgl. Bochkovskiy 2020a). tkDNN versucht ebenfalls die beste Performanz mit Hilfe von TensorRT zu errei-chen: „The main goal of this project is to exploit NVIDIA boards as much as possible to obtain the best inference performance.“ (Gatti 2020)

– Abb. folgt

Abb. 2: Entwicklerkit und Modul des Jetson Nano

Vergleich des Raspberry Pi und des Nvidia Jetson nano für Edge Computing und künstliche Intelligenz

In einem Szenario zur Identifizierung von belegten und freien Parkplätzen wurde die Leistungsfähigkeit der zwei Geräte im Rahmen einer Masterarbeit (Maus 2020) gegenübergestellt. Erwartungsgemäß zeigt sich, dass der für KI-Aufgaben optimierte Jetson nano schneller ist. Der Geschwindigkeutsvorsprung hängt jedoch stark von der verwendeten Technologie ab und unterscheidet sich z.B. beim Vergleich Yolo mit Darknet und TensorFlow..

Quellen

Maus, Dennis (2020) KI-Architekturen zur Objekterkennung – eine praxisorientierte Untersuchung am Beispiel von YOLO und SSD (Masterthesis an der Hochschule Niederrhein, Betreuung Prof. Dr. Claus Brell)

Links zu Edge Computing und künstliche Intelligenz

Der Raspberry Pi auf raspberrypi.org

Der NVIDIA Jetson nano

 

Stand 19.01.2021, wird fortgesetzt

 

 

Teile diesen Beitrag.

Ein Gedanke zu „Edge Computing und künstliche Intelligenz mit Raspberry Pi und Nvidia Jetson nano

  1. Pingback: Raspberry-Pi-Edge-Computing: “Verwaltung von IoT-verbundenen Anlagen innerhalb von Unternehmen” – Lausitzer Allgemeine Zeitung

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert