Fachthema
Maschinelles Lernen im Gerät: ML auf Embedded-Plattformen
Offene Tools, klare Architektur und maximale Hardwareeffizienz: Wie Sie ML-Modelle performant auf Embedded-Systemen einsetzen können.

Embedded Machine Learning – von der Theorie zur effizienten Umsetzung
Während KI als Begriff häufig für alles zwischen autonomem Fahren und Chatbots verwendet wird, ist Machine Learning (ML) konkreter und praxisnäher. Im Kern geht es darum, aus einer großen Menge an Daten Modelle zu erzeugen und diese Modelle auf neue Daten anzuwenden. Besonders leistungsfähig werden solche Systeme, wenn sie auf Deep Learning basieren, also auf vielschichtigen, künstlichen neuronalen Netzen. Der Aufbau dieser Netze wird als Architektur bezeichnet.
Training vs. Inferenz - zwei Seiten des ML-Prozesses
Machine-Learning-Frameworks lassen sich grob in zwei Kategorien einteilen:
- Trainingsframeworks, die Modelle aus vorhandenen Daten „lernen“ lassen
- Inferenzframeworks, die diese gelernten Modelle auf neue Daten anwenden
Einige Frameworks beherrschen beides, andere spezialisieren sich auf eine der beiden Aufgaben.
Das Trainieren solcher Modelle erfordert typischerweise große Datenmengen und hohe Rechenleistung. Deshalb findet dieser Schritt oft auf leistungsfähigen PCs mit GPU-Unterstützung bzw. direkt in der Cloud statt. Das Training auf Embedded-Plattformen ist hingegen eine seltene Ausnahme, die spezialisierten Sonderlösungen vorbehalten bleibt.
Im Gegensatz dazu ist das Anwenden (Inferenz) eines bereits trainierten Modells wesentlich ressourcenschonender. Es ist ideal für den Einsatz auf Embedded-Plattformen, etwa in industriellen Geräten oder Edge-Systemen geeignet.

Wildwuchs der Herstellerlösungen
Wer heute in die Welt der Embedded-ML-Lösungen eintaucht, trifft schnell auf ein breites Spektrum an herstellerspezifischen Toolchains, also einer Sammlung von Software-Werkzeugen, die zusammenarbeiten. Fast jeder Prozessorhersteller versucht, mit einer eigenen, oft grafisch aufbereiteten Werkzeugkiste zu punkten. Damit soll es möglich sein, schnell erste Modelle zu erzeugen. Was auf den ersten Blick attraktiv klingt, hat aber mehrere Haken:
- Eingeschränkte Portabilität: Die enge Verzahnung mit spezifischen Prozessoren macht einen Wechsel zu anderen Plattformen schwierig.
- Trügerische Einfachheit: Komplexe Themen werden stark vereinfacht dargestellt, was leicht zu Fehleinschätzungen führt.
- Herstellerspezifische Modifikationen: Viele Frameworks werden „verbogen“, um auf proprietärer Hardware zu laufen – das erschwert die Nutzung offener Ressourcen und Dokumentationen.
- Erheblicher Einarbeitungsaufwand: Trotz hübscher Oberflächen sind diese Toolchains meist nicht universell nutzbar und schwer skalierbar.
Cloud-basierte Dienste für Embedded-ML-Training setzen auf ähnliche Prinzipien. Auch hier bestehen langfristige Abhängigkeiten und wenig Flexibilität.
Offen, unabhängig und leistungsfähig
Bei Ginzinger electronic systems verfolgen wir einen anderen Weg. Unser Fokus liegt auf Offenheit und Unabhängigkeit. Wir setzen auf TensorFlow Lite – ein bewährtes, offenes Inferenzframework, das sich sowohl mit C++ als auch mit Python einsetzen lässt. Wichtig dabei: Wir verwenden das Mainline-Repository von TensorFlow – ohne herstellerspezifische Anpassungen. So bleibt maximale Flexibilität erhalten:
- Keine Abhängigkeit von Prozessorherstellern oder deren Tools
- Nutzung aller öffentlich verfügbaren Tutorials, Anleitungen und Best Practices
- Weiterverwendung bestehender Trainingsskripte
- Geringe Einstiegshürde für Entwickler:innen
Der Entwickler/die Entwicklerin kann direkt loslegen – ohne proprietäre Hürden oder aufwendige Einarbeitungsphasen.
Inferenz mit Hardwarebeschleunigung
Zur Beschleunigung der Inferenz auf Embedded-Hardware werden speziell angepasste Plugins genutzt, die den Pfad vom TensorFlow Lite Framework zur Hardware über proprietäre Treiber ermöglichen. Dieser Pfad ist für Anwender:innen transparent – beim Laden des Modells genügt es, den Pfad zum Plugin anzugeben.
Der Effekt ist messbar: In unseren Projekten konnte die Ausführungszeit der Modelle je nach Architektur um bis zu den Faktor 50 verbessert werden. Gerade bei zeitkritischen Anwendungen im industriellen Umfeld ist diese Effizienzsteigerung entscheidend.
Was ist mit Alternativen?
Frameworks wie PyTorch oder Laufzeitumgebungen wie ONNX Runtime und OpenCV DNN sind im wissenschaftlichen Bereich oder für Prototyping weit verbreitet. Doch für den von uns eingesetzten Prozessor – den i.MX8M Plus von NXP – existieren aktuell keine Optionen zur hardwarebeschleunigten Inferenz für diese Umgebungen. Daher bieten wir dafür keine offizielle Unterstützung in GELin (Ginzinger Embedded Linux).
Fazit: Embedded Machine Learning muss nicht kompliziert oder herstellergebunden sein. Mit offenen Frameworks wie TensorFlow Lite, kombiniert mit gezielter Hardwareintegration, lassen sich leistungsfähige und flexible Lösungen entwickeln. Ganz im Sinne von Effizienz, Nachhaltigkeit und technischer Unabhängigkeit.
