Wie ein Open Model Zoo die Entwicklung Ihres Edge-KI-Systems vorantreiben kann

Blog_Header_How_an_Open_Model_Zoo_Can_Boost_Your_Edge_AI_System_Development

Die Entwicklung von Edge-KI-Systemen wurde durch die spannende Entstehung neuer speziell entwickelter Verarbeitungsarchitekturen vorangetrieben, die es uns ermöglichen, am Edge so viel mehr zu tun. Ein wichtiger, untrennbarer Bestandteil eines Edge-AI-Angebots ist die dedizierte Software, die die Hardware ermöglicht. Natürlich bringt jeder neue Chip seinen eigenen Software-Stack und seine eigene Entwicklungsumgebung mit, doch der Umfang dieser Möglichkeiten für Entwickler ist unterschiedlich.

Um Entwickler wirklich zu unterstützen, muss KI-Software nicht nur robust sein, sondern dem Entwickler auch Flexibilität bieten und die Markteinführungszeit mithilfe zahlreicher Entwicklertools verkürzen. Ein offener AI Model Zoo ist eine großartige Ressource für Entwickler und ein wichtiger Teil dieses Rahmens.

Was ist ein Modell Zoo?

Der Model Zoo ist ein Repository, das eine große Palette vortrainierter, vorkompilierter Deep-Learning-NN-Modelle und -Aufgaben enthält, die in den Formaten TensorFlow und ONNX verfügbar sind. Ziel ist es, Entwicklern eine schnelle Funktionalität für den sofortigen Einstieg zu bieten, indem für jedes vortrainierte Modell eine binäre HEF-Datei bereitgestellt und die Hailo-Toolchain und Anwendungssuite unterstützt wird.

Mit dem Ziel, Entwicklern den Einstieg in die Hailo-KI-Prozessoren, so einfach wie möglich zu machen, haben wir unser eigenes offenes Hailo Modell Zoo Repository erstellt, das Folgendes umfasst:

  • Vortrainierte Modelle – eine große Auswahl, die sowohl die Vielseitigkeit als auch die hohe KI-Leistung der Hailo-AI-Prozessoren demonstriert
  • Vorkonfigurierte Build-Flows – validierte und optimierte Flows, um jedes Netzwerk von einem ONNX/TensorFlow-Modell in eine bereitstellbare Binärdatei zu bringen, einschließlich Modellbewertung und Leistungsanalyse.

Um eine einfache Auswertung zu ermöglichen, haben wir in unseren Model Zoo beliebte Modelle aus Open-Source-Repositories ohne Änderungen aufgenommen und mit öffentlich verfügbaren Datensätzen trainiert. Außerdem wurde ein Link zur Modellquelle hinzugefügt für den Fall, dass Benutzer das Modell anpassen möchten, beispielsweise indem sie es anhand ihres eigenen benutzerdefinierten Datensatzes trainieren.

Darüber hinaus unterstützt der Hailo Model Explorer die Benutzer bei der Auswahl der besten NN-Modelle für ihre KI-Anwendungen und sorgt so für besser informierte Entscheidungen und maximale Effizienz auf der Hailo-Plattform. Der Modell Explorer bietet eine interaktive Schnittstelle mit Filtern, die auf Hailo-Geräten, Aufgaben, Modellen, FPS und Genauigkeit basieren und es dem Benutzer ermöglichen, zahlreiche NN-Modelle aus der umfangreichen Bibliothek von Hailo zu untersuchen.

Hailo_Model_Zoo_Diagram
Figure 1: The Hailo Model Zoo – from an open-source pre-trained model in ONNX/TensorFlow to a compiled a deployment-ready product using optimized build flows

Wie es funktioniert

Der Model Zoo verwendet den Hailo Dataflow Compiler für einen vollständigen Fluss von einem vortrainierten Modell (ckpt/ONNX) zu einem finalen Hailo Executable Format (HEF), das auf dem Hailo-8 ausgeführt werden kann. Dafür stellt der Hailo Model Zoo den Nutzern folgende Funktionen zur Verfügung:

  • Parsen: Übersetzen Sie das Tensorflow/ONNX-Modell in die interne Darstellung von Hailo, die die Netzwerktopologie und die ursprünglichen Gewichte des Modells enthält. Die Ausgabe dieser Phase ist eine Hailo-Archivdatei (HAR).
  • Profil: ein Bericht, der die erwartete Leistung des Modells auf dem Hailo-8 einschließlich FPS, Latenz, Stromverbrauch und einer vollständigen Aufschlüsselung für jede Ebene im HTML-Format enthält
  • Quantisieren: Optimieren Sie das Modell für die Laufzeit, indem Sie es von voller Genauigkeit auf eine begrenzte ganzzahlige Bitgenauigkeit (4/8/16) umstellen und gleichzeitig die Genauigkeitsverschlechterung minimieren. Diese Phase umfasst mehrere Algorithmen, die die Leistung optimieren, indem sie die Genauigkeit des quantisierten Modells sicherstellen. Die Ausgabe dieser Phase ist eine Hailo-Archivdatei, die die quantisierten Gewichte enthält
  • Auswerten: Bewerten Sie die Modellgenauigkeit anhand gängiger Datensätze (z. B. ImageNet, COCO). Die Auswertung kann sowohl am Vollpräzisionsmodell als auch am quantisierten Modell mit unserem numerischen Emulator oder dem Hailo-8 durchgeführt werden.
  • Kompilieren: Kompilieren Sie das quantisierte Modell, um eine HEF-Datei (Hailo Executable Format) zu generieren, die auf dem Hailo-8-Chip bereitgestellt werden kann.
Hailo Model Zoo functionality flow chart
Abbildung 2: Funktionsflussdiagramm des Hailo-Modells Zoo.
In Blau sind Blöcke, die den Hailo Dataflow Compiler verwenden

Im letzten Schritt des Hailo Model Zoo wird die HEF-Datei generiert, die in der endgültigen Anwendung verwendet werden soll. Zur Veranschaulichung: Hier wird die HEF-Datei des YOLOv3-Objekterkennungsnetzwerks für Ihre ADAS-Anwendung, oder die des CenterPose-Netzwerks (Pose Estimation) für eine Smart Home Kameralösung erstellt.

Die Modelle in unserem Repository wurden ausgewählt, um ein breites Spektrum gängiger Architekturen und Aufgaben abzudecken. Es umfasst beliebte hochmoderne Architekturen wie YOLOv3, YOLOv4, CenterPose, CenterNet, ResNet-50 usw., von denen viele bereits Teil unserer KI-Benchmarks sind. Um ein einfaches Benchmarking zu ermöglichen, verfügt jedes vortrainierte Modell über eigene Vor-/Nachbearbeitungsfunktionen und einen eigenen Ablauf zur Datensatzerfassung, um die Auswertung durchführbar zu machen. Wir haben alle diese Funktionen in ein benutzerfreundliches Paket gepackt, sodass es einfach und schnell reproduziert werden kann und die Leistung in einer Vielzahl von Netzwerken gemessen werden kann. Mit den leistungsstarken KI-Beschleunigungsfunktionen des Hailo-8-KI-Prozessors können Benutzer den Model Zoo nutzen, um eine außergewöhnliche Leistung für diese beliebten Modelle in Edge-Geräten zu erzielen.

Was TAPPAS damit zu tun hat

Benutzer können das beschleunigte Modell vom AI Model Zoo in ihre eigene Anwendung integrieren. Durch die Verwendung des Hailo Model Zoo in Kombination mit unserem TAPPAS High-Performance Application Toolkit kann ein Edge-KI-Entwickler in kurzer Zeit eine aussagekräftige Anwendung erstellen und bereitstellen. Tatsächlich basieren alle Anwendungen in TAPPAS auf Model Zoo-Netzwerken.

Um einen gängigen Anwendungsfall als Beispiel zu nehmen: Die Posenschätzung ermöglicht es, aussagekräftige Erkenntnisse über das Verhalten und die Wünsche von Käufern zu gewinnen, und zwar für den Einsatz in Smart Retail Intelligent Video Analytics (IVA). Für einen Benutzer, der diese Art von Anwendung entwickelt, kann es sinnvoll sein, sie auf der Grundlage vorab trainierter Modelle zur Pose-Schätzung wie CenterPose_RegNetX_1.6GF in unserem Modell-Zoo zu entwickeln. Basierend auf dem Hailo TAPPAS lässt sich das Modell dann problemlos in Ihre Anwendung integrieren.

Figure 3: Our pre-trained pose estimation model running on a warehouse security camera footage on the Hailo-8 AI processor

Ein weiterer interessanter Anwendungsfall ist die intelligente Verkehrsüberwachung für Smart City Anwendungen. Mithilfe des vorhandenen vorkompilierten Modells SSD_MobileNet_v1 VisDrone können Sie die Anwendung im Handumdrehen zum Laufen bringen. Tatsächlich hat ein kleines Team von Hailo-Ingenieuren genau das bei Hailos erstem Hackathon innerhalb von 24 Stunden geschafft!

Figure 4: the Hailo-8 AI processor running the SSD_MobileNet_v1_VisDrone model as part of our TAPPAS Tiling app on a high-resolution live video feed of a busy city motorway (see can see our full demo here)
Abbildung 4: Der Hailo-8-KI-Prozessor, der das Modell SSD_MobileNet_v1_VisDrone als Teil unserer TAPPAS-Tiling-App auf einem hochauflösenden Live-Video-Feed einer stark befahrenen Stadtautobahn ausführt (unsere vollständige Demo finden Sie hier)

Der Hailo Model Zoo bietet Edge-KI-Entwicklern eine umfassende Umgebung zum Generieren ihrer nächsten Deep-Learning-Anwendung mit sofort einsatzbereiten vortrainierten Modellen und Anwendungslösungen für eine Vielzahl nützlicher neuronaler Aufgaben. Mit Blick auf die Zukunft werden wir kontinuierlich neue hochmoderne Modelle hinzufügen, neue Aufgaben und Metaarchitekturen abdecken und unsere vorkonfigurierten Build-Flows und Optimierungsprozesse verbessern, um Entwicklern dabei zu helfen, die bestmöglichen Edge-KI-Anwendungen zu erstellen und dabei die branchenführenden Funktionen des Hailo-8-KI-Prozessors zu nutzen.

Weitere Informationen finden Sie in unserem Hailo Model Zoo
oder auf dem Hailo Model Zoo Github


Don’t miss out

Sign up to our newsletter to stay up to date