Jeder Ara-1-Beschleuniger kann mehrere KI-Modelle auf jedem Frame ohne Umschaltzeit oder Belastung des Host-Prozessors ausführen; so lassen sich komplexe Aufgaben in Echtzeit erledigen. Kinara hat die Architektur von Ara-1 auf maximale Reaktionsfähigkeit ausgelegt. Im Gegensatz zu anderen Inferencing Pipelines, die zur Maximierung des Durchsatzes auf die Stapelverarbeitung mehrerer Bilder zurückgreifen, ist Ara-1 für eine Stapelgröße von 1 optimiert.
Damit muss ein Smart-Kamera-Design nicht mehr den Host-Prozessor für die Durchführung eines Re-Identifizierungsalgorithmus nutzen, wenn der Beschleuniger eine Inferenzierung auf einem anderen Bild oder einem Teil eines Bildes ausführt. Beides lässt sich auf den Ara-1 verlagern, um dessen höhere Geschwindigkeit zu nutzen. Ist noch mehr Leistung erforderlich, z. B. bei Edge-AI-Geräten, bei denen verschiedene Anwendungen eine Inferenzierung brauchen, lassen sich auch mehrere Ara-1-Beschleuniger parallel einsetzen.
Für ein höheres Maß an Erweiterbarkeit erlaubt Ara-1 nicht nur die Chip-Down-Integration auf der Platine der Smart-Kamera oder des Geräts, sondern auch Plug-in Upgrades. Zur Chip-Down-Integration nutzt Ara-1 den Industriestandard PCIe als Schnittstelle mit hoher Bandbreite. Dies erlaubt eine einfache Verbindung zu Host-Prozessoren mit PCIe-Gen-3-Schnittstellen. Als zweiten Integrationspfad lassen sich die M.2-Module von Kinara nutzen; diese kann man direkt in eine aufrüstbare Hauptplatine einstecken, so die Vorteile der PCIe-Schnittstelle nutzen und damit die Eingänge von bis zu 16 Kamera-Feeds verarbeiten. Eine weitere Option für Systeme und Prototypen mit Standard-Hardware ist die integrierte USB-3.2-Unterstützung des Ara-1. Über eine einfache Kabelverbindung lassen sich KI-Algorithmen auf einem Laptop testen, Hardware-Evaluierungskits (wie die vielen NXP-i.MX-Entwicklungsboards) für den Produktionsstart verwenden oder einfache Upgrades für bestehende Systeme bereitstellen.
Software-Infrastruktur für einen nahtlosen Übergang
Die Software-Infrastruktur für die Ara-1-Beschleuniger erlaubt eine einfache Integration mit dem NXP-Prozessor-Portfolio und den dazugehörigen Software Stacks. Zur Rationalisierung der Entwicklung können Entwickler zwischen verschiedenen Ansätzen wählen. Modelle können zur Laufzeit mit C++ oder den zunehmend verbreiteten Python-APIs (Application Programming Interfaces) in einer Linux-Umgebung auf Arm oder Windows auf x86 bereit gestellt und verwaltet werden. Die Laufzeit-API von Kinara unterstützt Befehle zum Laden und Löschen von Modellen, zur Übergabe von Modelleingaben, zum Empfang von Inferenzdaten und zur vollständigen Kontrolle der Inferenz- und der Hardware-Komponenten.
Die »GStreamer«-Umgebung bietet eine weitere Möglichkeit, um in den Genuss der Leistung der Ara-1-Beschleuniger zu kommen. GStreamer ist eine Bibliothek, die für die Erstellung von Rechengraphen von Media-Komponenten entwickelt wurde. Sie ermöglicht die einfache Zusammenstellung von Filter-Pipelines, die sich zu komplexeren Anwendungen verbinden lassen und die auf sich ändernde Situationen in den eingehenden Video- und Sensorfeed-Daten reagieren können.
Anders als viele KI-Plattformen bietet das Kinara-SDK (Software Development Kit) einen End-to-End-Ansatz. Das SDK akzeptiert trainierte Modelle in vielen verschiedenen Formen wie TensorFlow, PyTorch, ONNX, Caffe2 und MXNet und bietet direkte Unterstützung für Hunderte von Modellen wie YOLO, TFPose, EfficientNet und Transformer Networks. Das SDK umfasst eine vollständige Entwicklungsumgebung für die Leistungsoptimierung mithilfe von Quantisierung, sie nutzt eine automatische Abstimmung zur Sicherung der Modellgenauigkeit und sie ermöglicht ein Scheduling der Ausführung zur Laufzeit. Das SDK-Konzept bietet Einblicke in die Modellausführung und erleichtert damit Leistungsoptimierung und Parameterabstimmung. Mit einem bitgenauen Simulator können Ingenieure die Leistung vor der Implementierung in Silizium bewerten.
Fazit
Künstliche Intelligenz entwickelt sich zu einem integralen Bestandteil von immer mehr Embedded-Systemen. Es ist daher wichtig, Inferenzfunktionen in eine breite Palette von Plattformen integrieren zu können, um so den sich wandelnden Anforderungen gerecht zu werden. Dank der Flexibilität von Kinaras Ara-1 und dem zugehörigen SDK können Kunden fortschrittliche KI-Beschleunigung problemlos mit ihren bestehenden oder neuen Embedded-Systemen kombinieren.