Aus Raspberry Pi Geek 01/2025

Raspberry Pi AI Kit: KI-Modul für den RasPi 5

© Anton Matveev / 123RF.com

RasPi mit Turbo

Konstantin Agouros

Das relativ preisgünstige Raspberry Pi AI Kit zeichnet sich durch einen geringen Stromverbrauch aus und beschleunigt KI-Anwendungen auf dem RasPi 5.

Das AI-Kit für den Raspberry Pi besteht aus zwei Komponenten: Über die Aufsteckplatine M.2 HAT+ lassen sich beliebige M.2-Module, beispielsweise für NVMe-Storage, an den RasPi 5 und damit direkt an den PCI-Bus anschließen. Darauf steckt ein Hailo-8L Entry-Level AI Accelerator, der sich auch in einem anderen Computer mit M.2-Schnittstelle installieren ließe. Diese Einsteigervariante leistet mit 13 TOPS halb so viele Teraoperationen pro Sekunde wie das Standardmodell Hailo-8.

Bevor Sie mit dem Testen der Software beginnen können, müssen Sie das System zusammenbauen [1]. Im ersten Arbeitsschritt montieren Sie dazu vier Abstandhalter, einen GPIO-Verlängerungsstecker und ein PCIe-Verlängerungskabel auf dem RasPi. Danach stecken Sie den M.2 HAT+ auf die Abstandhalter und das Flachbandkabel in den Anschluss auf dem HAT. Abbildung 1 zeigt das zusammengebaute System im Betrieb.

Abbildung 1: So sieht der fertig zusammengebaute AI-HAT im Betrieb aus.

Abbildung 1: So sieht der fertig zusammengebaute AI-HAT im Betrieb aus.

Nach einem Neustart des Raspberry Pi erscheint das Hailo-Board in der Ausgabe von Lspci so, wie in Listing 1 gezeigt. Die zweite Zeile verrät, dass die Installation des AI Accelerators erfolgreich war.

Listing 1

Lspci-Ausgabe

0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0000:01:00.0 Co-processor: Hailo Technologies Ltd. Hailo-8 AI Processor (rev 01)
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0001:01:00.0 Ethernet controller: Raspberry**Pi Ltd RP1 PCIe 2.0 South Bridge

Was das Board kann

Bei den AI-Accelerator-Modulen von Hailo handelt es sich nicht um generische Beschleuniger für neuronale Netze, mit denen man das Training verkürzen könnte. Sie erhöhen lediglich die Geschwindigkeit im Betrieb, also beim Schlussfolgern und der Inferenz. Zudem gestaltet sich die Ansprache des Beschleunigers nicht ganz einfach.

Viele Machine-Learning-Anwendungen verwenden PyTorch oder Tensorflow, meist sind auch vortrainierte Modelle auf eines der zwei Frameworks zugeschnitten. Will man eines der beiden mit einem Hardwarebeschleuniger verwenden, bieten sie dafür einfache Aufrufe, um das neuronale Netz in die Grafikkarte zu laden. Im Fall von Nvidia-Hardware geschieht dies über die CUDA-Schnittstelle. Danach werden die Eingangsdaten ebenfalls dorthin geschoben und die Antwort ausgelesen.

Wer nun ein Hailo-Board benutzen möchte, braucht das neuronale Netzwerk in einer speziell übersetzten und angepassten Version. Auf der Webseite von Hailo [2] finden sich unter dem Punkt Products | Software sowohl bereits übersetzte Netze (Model Zoo) als auch der Dataflow Compiler, der aus den gängigen Formaten in das nötige HEF-Format übersetzen kann.

Übersetzen bedeutet dabei aber kein einfaches Kompilieren; der Entwickler muss verstehen, wie er sein neuronales Netz in das gewünschte Format zu überführen hat. Die Hailo-Boards können beispielsweise nur mit ganzzahligen Werten umgehen, sodass man das Netz gegebenenfalls anpassen muss. Auf der Webseite von Hailo gibt es dafür ausführliche Anleitungen und Tutorials. Außerdem spielt das Ziel-Board bei der Übersetzung eine Rolle. Eine HEF-Datei für den Hailo-8 lässt sich nicht in den Hailo-8L laden und umgekehrt.

Die Hauptanwendung der AI-Beschleuniger von Hailo ist die Bilderkennung. Die Boards leisten dabei laut Hersteller-Webseite deutlich mehr Frames pro Sekunde in der Verarbeitung als ein Jetson Nano und verbrauchen dabei zudem deutlich weniger Strom. Für Anwendungen wie Sprachmodelle (LLMs) bringen die 8er-Boards jedoch nicht genügend Leistung mit. Allerdings hat Hailo bereits das Hailo-10H Generative AI Acceleration Modul angekündigt, das sich für LLMs eignen soll. Ein Raspberry Pi als Chatbot wäre eine interessante Alternative, vor allem wegen des vergleichsweise geringen Stromverbrauchs.

Installation der Software

Für die Installation der Software stehen Ihnen zwei Möglichkeiten offen. Die einfache Methode, bei Verwendung von Raspberry Pi OS, besteht in der Installation des Pakets hailo-all mittels Apt.

Das Meta-Paket aus dem Pi-OS-Standard-Repository installiert seinerseits die Pakete hailo-tappas-core-3.28.2, hailofw, hailort und rpicam-apps-hailo-postprocess. Dabei kommt (Stand August 2024) die Version 4.17 der Software zum Zug. Bei diesem Release fehlen allerdings die Python-Module zur direkten Nutzung des Hailo-Boards aus Python heraus. Die Codebeispiele des Herstellers verwenden stattdessen Gstreamer-Pipelines. Die notwendigen Plugins finden sich im Paket hailort.

Um nach dem Reboot zu überprüfen, ob alles funktioniert hat, setzen Sie das Kommando aus der ersten Zeile von Listing 2 ab. Sieht die Ausgabe so aus wie in den folgenden Zeilen, ist alles in Ordnung. Mithilfe des Befehls hailortcli lassen sich auch weitere Details über das Board herausfinden. Das Unterkommando monitor zeigt beispielsweise laufend in Top-Manier, was das Hailo-Board treibt, welche Netze darauf laufen und wie hoch der Datendurchsatz ist.

Listing 2

Funktionskontrolle

$ hailortcli fw-control identify
Executing on device: 0000:01:00.0
Identifying board
Control Protocol Version: 2
Firmware Version: 4.17.0 (release,app,extended context switch buffer)
Logger Version: 0
Board Name: Hailo-8
Device Architecture: HAILO8L
Serial Number: HLDDLBB241901708
Part Number: HM21LB1C2LAE
Product Name: HAILO-8L AI ACC M.2 B+M KEY MODULE EXT TMP
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben