Das Elastic-AI-Ökosystem
Jeder kann mit KI experimentieren
Zugegeben, künstliche Intelligenz (KI) ist kein besonders einfaches Thema. Aber mit etwas Übung gelingt es, das erste KI-Modell z.B. in pyTorch zu erstellen und zu trainieren. Aber was nun? Wie bindet man diese KI in das eigene System ein? Wie führt man sie auf einem kleinen eingebetteten System aus? Wie verknüpft man sie mit eingehenden Daten und schickt die Ergebnisse an Konsumenten? Wer entwirft die notwendige eingebettete Hardware? Und wie programmiert man eine intelligente Anwendung, die dynamisch zwischen KI in der Cloud und lokaler KI auf dem Gerät umschalten kann?
Für all dies entwickeln wir ein Open-Source-KI-Ökosystem, das wir elastic AI nennen. Es besteht aus vierTeilen:
- elastic AI.creator, zur automatischen Generierung von optimierten KI-Beschleunigern für eingebettete FPGAs;
- elastic AI.runtime, zur Ausführung verteilter KI-Systeme und als Verbindung der eingebetteten zur Cloud- und Edge-KI;
- elastic AI.hardware, zur Entwicklung eigener intelligenter Endgeräte; und
- elastic AI.explorer, zur automatisierten Entwicklung, Optimierung und hardwareadaptiven Bereitstellung von KI-Modellen.
Das elastic-AI-Ökosystem
Eine Open-Source-Lösung für adaptive und verteilte KI
Creator

Mit dem elastic AI.creator ist es möglich, speziell für FPGAs optimierte KI-Modelle zu entwerfen, zu trainieren und in eine Hardwarebeschreibung zu übersetzen.
Er stellt zuerst speziell optimierte Schichten bereit, aus denen ein geeignetes Modell aufgebaut wird.
Das fertige Modell durchläuft anschließend sein Training und wird danach in eine VHDL-Darstellung der entsprechenden Zielkonfiguration des FPGAs übersetzt.
Diese VHDL-Dateien können mit einer Drittanbieter-Software wie Vivado Xilinx für den Elastic Node oder andere Systeme kompiliert werden.
Der Creator basiert auf den Arbeiten im LUTNet-Projekt. Den Quellcode und Informationen zur Verwendung finden Sie auf der dazugehörigen Github-Seite.
Verantwortlich: Lukas Einhaus, M.Sc.
Runtime

Die elastic AI.runtime ist eine Weiterentwicklung der Elastic IoT Platform und stellt gewissermaßen die Infrastruktur des Ökosystems dar. Es handelt sich dabei um eine Plattform zur Steuerung, Verwaltung und Überwachung von verteilten KI-Systemen. Sie gliedert sich in eine Embedded Runtime, eine Cloud Runtime und den Monitor, eine Cloud-Anwendung zur Überwachung.
Die Embedded Runtime kommt auf den jeweiligen Endgeräten der verteilten, eingebetten Systeme zum Einsatz und agiert als Schnittstelle zwischen dem Cloud Server und den jeweiligen Geräten. Sie kümmert sich um die allgemeine Steuerung und Kommunikation, die Ressourcenverwaltung sowie um die Auswahl von FPGA-Konfigurationen und – mittels der Elastic Node Middleware – deren Deployment wie auch deren Bedienung.
Die einzelnen Endgeräte haben serverseitig ihre Gegenstücke in Form von Digitalen Zwillingen. Diese dienen gleichzeitig als modellhafte Repräsentation der physischen Netzwerkelemente, als Lastabfänger und als Vermittler zu ihnen. Die Digitalen Zwillinge bieten außerdem Abstraktionen, die größere Flexibilität im Umgang mit konkreter, von bestimmten Protokollen und Strukturen abhängiger Hardware ermöglichen.
Der Monitor wurde schließlich zur Überwachung des gesamten Hardwaregefüges entwickelt und schafft mithilfe der Digitalen Zwillinge eine Übersicht über das verteilte System und den Status seiner Elemente.
Gesamter Quellcode und technische Einzelheiten auf Github:
- Serversegment der elastic AI.runtime
- Implementierung für den Elastic Node v5
- C-Implementierung des speziellen Runtime-Protokolls
Verantwortlich: Prof. Dr. Gregor Schiele
Hardware

Die dazugehörige Hardware ist die mittlerweile fünfte Iteration unseres einzigartigen Elastic Node.
Es handelt sich um ein kleines, sehr energieeffizientes Endgerät für verteilte Sensornetzwerke, das wahlweise durch sein Wireless-Modul mit Cloud- oder Edge-KI in Verbindung steht oder aber auf On-device-KI setzt.
Seit der ersten Version wurde die Hardware stetig verfeinert. Der Elastic Node v5 ist nunmehr weniger als 5,8 cm hoch und nur 3,4 cm breit und eignet sich damit auch für sehr platzbeschränkte Einsatzorte.
Sein heterogenes Design vereint im Wesentlichen einen stromsparenden Mikrocontroller (MCU), einen Zwischenspeicher für Daten sowie einen primär für KI-Anwendungen gedachten eingebetteten FPGA nebst Speicher für weitere KI-Modelle.
Der Mikrocontroller übernimmt vergleichsweise einfache Aufgaben wie die allgemeine Steuerung und das Auslesen von Sensordaten, während der FPGA spezifischere Aufgaben erledigt, für die zuvor mittels des Creators passende Neuronale Netzwerke zusammengestellt wurden.
Dank seines Modellspeichers kann sich der Elastic Node in situ dynamisch umkonfigurieren und hat somit für wechselnde Anforderungen immer das geeignete Neuronale Netzwerk parat.
Zu den weiteren Merkmalen zählen eine Verbrauchsüberwachung und die Möglichkeit zusätzliche Funktionen durch Erweiterungsboards hinzuzufügen.
Verantwortlich: Chao Qian, M.Sc..
Explorer

ElasticAI.explorer ist die zentrale Komponente für die automatisierte Entwicklung, Optimierung und hardwareadaptive Bereitstellung von KI-Modellen. Der elasticAI.explorer verbindet Hardwaresensitive Neuronale Architektursuche (HW-NAS) mit hardwarespezifischen Generierungs- und Deploymentprozessen (Generator) und ermöglicht damit die effiziente Übertragung von KI-Modellen auf eingebettete Zielsysteme.
Die integrierte NAS-Engine sucht systematisch nach Modellarchitekturen, die sowohl der maschinellen Lernaufgabe als auch den physikalischen Randbedingungen der Zielhardware entsprechen. Dazu kombiniert die Engine konfigurierbare Suchräume, multi-kriterielle Optimierungsverfahren und flexible Kriterienkataloge für Genauigkeit, Latenz und Ressourcenverbrauch. Aktuell werden klassische Suchstrategien (Random, Grid, Evolutionary Search) unterstützt. Erweiterungen wie quantisierungsbewusste NAS oder generative Suchansätze befinden sich in Entwicklung.
Über die Generator-Pipeline – bestehend aus ModelBuilder, ModelCompiler, Host und HardwareManager – erzeugt der elasticAI.explorer automatisch hardwareoptimierte Modelle und überführt sie in installierbare Artefakte. Das integrierte Deployment-System ermöglicht reproduzierbare Cross-Compilation-Prozesse, die Übertragung auf Zielsysteme sowie die automatisierte Auswertung der Laufzeitmetriken direkt auf dem Zielsystem. Derzeit wird Deployment auf dem Raspberry Pi 4/5 und dem Pico Mikrocontroller unterstützt und weitere befinden sich in Entwicklung. Nutzerseitig lassen sich zusätzlich eigene Generatoren definieren.
Weitere Komponenten, umfassen eine Reflection API, die unterstützte Layer- und Quantisierungsschemata verwaltet und validiert sowie ein Knowledge Repository zur strukturierten Speicherung von Architekturen, Modellen und Messdaten als Grundlage für das Trainieren zukünftiger KI-basierte Hardware-Kostenschätzer. Beide Komponenten befinden sich in aktiver Weiterentwicklung.
Weitere Ressourcen befinden sich auf GitHub.
Verantwortlich: Robin Feldmann, M.Sc.
Publikationen rund um das Ökosystem
-
Towards the optimal orchestration of service function chains to enable ultra-reliable low latency communication in an NFV-enabled networkDuisburg, Essen, 2024DOI, Online Volltext (Open Access)
-
FPGA-Augmented Intelligent Devices for the Internet of ThingsDuisburg, Essen, 2023DOI, Online Volltext (Open Access)
-
Elastic AI : System support for adaptive machine learning in pervasive computing systemsIn: CCF Transactions on Pervasive Computing and Interaction, Jg. 3, 2021, Nr. 3, S. 300 – 328DOI (Open Access)
-
In-Situ Artificial Intelligence for Self-∗ Devices : The Elastic AI Ecosystem (Tutorial)In: 2nd IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion, ACSOS-C 2021: Proceedings / 2nd IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion, ACSOS-C 2021, Virtual, Washington, 27 September - 1 October 2021. Piscataway: IEEE, 2021, S. 320 – 321
-
The Elastic Internet of Things - A Platform for Self-Integrating and Self-Adaptive IoT-Systems with Support for Embedded Adaptive HardwareIn: Future Generation Computer Systems, Jg. 113, 2020, S. 607 – 619
-
The Elastic Node: An Experimentation Platform for Hardware Accelerator Research in the Internet of ThingsIn: Proceedings of the IEEE International Conference on Autonomic Computing / ICAC 2019; Umea; Sweden; 16 - 20 June 2019. Piscataway Township: IEEE, 2019, S. 84 – 94
-
Demo Abstract : Deep Learning on an Elastic Node for the Internet of ThingsIn: IEEE International Conference on Pervasive Computing and Communications Workshops / PerCom Workshops 2018; Athens; Greece; 19-23 March 2018: Institute of Electrical and Electronics Engineers Inc., 2018, S. 424 – 426
-
Elastic Nodes for the Internet of Things : A Middleware-Based ApproachIn: Proceedings - 2017 IEEE International Conference on Autonomic Computing, ICAC 2017 / 14th IEEE International Conference on Autonomic Computing, ICAC 2017; The Ohio State University Columbus; United States; 17 July 2017 through 21 July 2017 / Wang, Xiaorui (Hrsg.). Piscataway, NJ: Institute of Electrical and Electronics Engineers Inc., 2017, S. 73 – 74