tinyML EMEA - Kathrin Gerhard: MILEA – An Approach for Small Scale Applications

EDGE AI FOUNDATION
13 Jul 202313:03

Summary

TLDRCatherine Gerard, Softwareentwicklerin und Projektmanagerin bei Robert Bosch GmbH, präsentiert Milia, eine Machine-Learning-Bibliothek für eingebettete Systeme. Milia ermöglicht die effiziente Implementierung von ML-Algorithmen auf Geräten mit begrenzten Ressourcen wie Mikrocontrollern, indem es eine Zwei-Phasen-Entwicklung nutzt: Softwareentwicklung und Kalibrierung. Die Bibliothek unterstützt verschiedene Algorithmen, darunter neuronale Netze und Entscheidungsbäume, und bietet eine schnelle Echtzeit-Berechnung mit Hardwarebeschleunigung. Milia ist flexibel, ermöglicht schnelle Anpassungen und wird bereits in Serienproduktionen verwendet, um die Leistung von eingebetteten Systemen zu verbessern.

Takeaways

  • 😀 Milia ist eine Bibliothek für maschinelles Lernen auf eingebetteten Geräten, entwickelt von Catherine Gerard und ihrem Team bei Robert Bosch GmbH.
  • 😀 Die Hauptmotivation hinter Milia ist es, eine effiziente Implementierung von maschinellen Lernalgorithmen auf ressourcenbegrenzten Mikrocontrollern zu ermöglichen.
  • 😀 Milia unterstützt verschiedene Algorithmen wie mehrlagige Perzeptronen (MLP), SVMs, Entscheidungsbäume und in-house entwickelte Algorithmen.
  • 😀 Ein Anwendungsbeispiel von Milia ist die schnelle Erkennung von Druckwertänderungen in der Motorsteuerung, um die Leistung zu optimieren.
  • 😀 Der Entwicklungsprozess von Milia besteht aus zwei Phasen: Softwareentwicklung (Implementierung von Algorithmen) und Kalibrierung (Konfiguration und Feinabstimmung der Modelle).
  • 😀 Mit Milia können Konfigurationen der ML-Algorithmen in einem Flat-Buffer-Format gespeichert und ohne Software-Neuaufbau aktualisiert werden, was Flexibilität und Geschwindigkeit bietet.
  • 😀 Milia ermöglicht eine schnelle und einfache Änderung der Algorithmen durch einfaches Anpassen der Konfigurationsdateien.
  • 😀 Milia unterstützt Echtzeitbetrieb auf Mikrocontrollern mit begrenzten Ressourcen, wie z.B. 300 MHz Prozessorleistung, 8 MB Flash und 1 MB RAM.
  • 😀 Hardwarebeschleuniger wie der TFA (Datenflussarchitektur) können verwendet werden, um die Leistung von Modellen bis zu 50% zu steigern.
  • 😀 Die Implementierung von maschinellem Lernen auf Mikrocontrollern wird durch die Nutzung von offenen Frameworks wie TensorFlow und Scikit-Learn erleichtert, ohne Software- oder Hardwareabhängigkeiten.
  • 😀 Milia wird bereits in Serienproduktion verwendet, und das Team ist offen für die Entwicklung zusätzlicher Algorithmen auf Kundenwunsch.

Q & A

  • Was ist Milia und was ist sein Hauptzweck?

    -Milia ist eine Bibliothek, die entwickelt wurde, um Machine-Learning-Algorithmen auf eingebetteten Geräten effizient auszuführen. Ihr Hauptzweck ist es, maschinelles Lernen auf ressourcenbeschränkten Geräten zu ermöglichen, die in realen Anwendungen wie Motorsteuergeräten verwendet werden.

  • Wer sind die Hauptpersonen hinter Milia?

    -Die Hauptpersonen hinter Milia sind Catherine Gerard, eine Softwareentwicklerin und Projektmanagerin bei Robert Bosch GmbH, und ihr Kollege Edward Musa, der ebenfalls an diesem Projekt arbeitet.

  • Warum ist es wichtig, maschinelles Lernen auf eingebetteten Geräten zu integrieren?

    -Maschinelles Lernen auf eingebetteten Geräten ist wichtig, weil es ermöglicht, komplexe Prozesse wie die Fehlererkennung oder Vorhersage auf Geräten mit begrenzten Ressourcen durchzuführen. Dies führt zu effizienteren und präziseren Anwendungen, die nicht nur auf der traditionellen Modellierung basieren.

  • Welche Hardwareeinschränkungen gibt es bei der Implementierung von maschinellem Lernen auf einem Mikrocontroller?

    -Die wichtigsten Einschränkungen bei der Implementierung von maschinellem Lernen auf Mikrocontrollern sind begrenzte Ressourcen wie Rechenleistung, Flash-Speicher und RAM. In dem beschriebenen Beispiel gibt es weniger als 1 Millisekunde Rechenzeit, 80 KB Flash und 2 KB RAM für den Einsatz von maschinellen Lernalgorithmen.

  • Welche Algorithmen unterstützt Milia?

    -Milia unterstützt eine Reihe von Algorithmen, darunter neuronale Netze (MLP, LSTM, CNN), binäre Entscheidungsbäume, Zufallswälder und Gaußsche Prozesse sowie einige Inhouse-Algorithmen.

  • Was ist das Besondere an der Konfigurationsphase von Milia?

    -In der Konfigurationsphase von Milia wird der Machine-Learning-Algorithmus konfiguriert und angepasst, ohne dass eine vollständige Neukompilierung der Software erforderlich ist. Dies ermöglicht schnelle Anpassungen der Algorithmen und Verbesserungen in der realen Anwendung.

  • Was sind Flatbuffers und wie werden sie in Milia verwendet?

    -Flatbuffers sind ein von Google entwickeltes Standardformat für die Serialisierung von Daten. In Milia wird es verwendet, um die Konfiguration der maschinellen Lernmodelle zu speichern, was eine schnelle und effiziente Handhabung der Konfigurationsdateien ermöglicht, die dann auf den Mikrocontroller geladen werden.

  • Wie funktioniert der Ablauf von Milia von der Entwicklung bis zur Validierung?

    -Der Entwicklungsprozess bei Milia erfolgt in zwei Phasen: Zuerst wird der Algorithmus entwickelt und in die Bibliothek integriert. Danach erfolgt die Kalibrierung, bei der der Algorithmus mithilfe von Flatbuffer-Konfigurationsdateien an die spezifischen Bedürfnisse angepasst wird. Schließlich wird der Interpreter des Modells validiert und getestet, bevor er in der realen Anwendung verwendet wird.

  • Welche Vorteile bietet die Verwendung von Hardwarebeschleunigern bei der Ausführung von Milia?

    -Die Verwendung von Hardwarebeschleunigern, wie dem TFA (Data Flow Architecture), ermöglicht eine Beschleunigung der Leistung von bis zu 50 %, was die Laufzeit erheblich reduziert und eine schnellere Ausführung der maschinellen Lernmodelle auf den eingebetteten Geräten ermöglicht.

  • Was sind die Hauptmerkmale der Milia-Bibliothek?

    -Die Milia-Bibliothek bietet eine flexible und effiziente Lösung für maschinelles Lernen auf eingebetteten Geräten. Sie ist kompatibel mit externen Frameworks, benötigt keine speziellen Software- oder Hardwareabhängigkeiten und ermöglicht eine einfache Aktualisierung von Algorithmen durch die Verwendung von Flatbuffer-Konfigurationsdateien. Außerdem unterstützt sie eine Vielzahl von Algorithmen und ermöglicht die Anpassung an spezifische Kundenanforderungen.

Outlines

plate

هذا القسم متوفر فقط للمشتركين. يرجى الترقية للوصول إلى هذه الميزة.

قم بالترقية الآن

Mindmap

plate

هذا القسم متوفر فقط للمشتركين. يرجى الترقية للوصول إلى هذه الميزة.

قم بالترقية الآن

Keywords

plate

هذا القسم متوفر فقط للمشتركين. يرجى الترقية للوصول إلى هذه الميزة.

قم بالترقية الآن

Highlights

plate

هذا القسم متوفر فقط للمشتركين. يرجى الترقية للوصول إلى هذه الميزة.

قم بالترقية الآن

Transcripts

plate

هذا القسم متوفر فقط للمشتركين. يرجى الترقية للوصول إلى هذه الميزة.

قم بالترقية الآن
Rate This

5.0 / 5 (0 votes)

الوسوم ذات الصلة
Maschinelles LernenEingebettete SystemeMiliaEchtzeitbetriebSoftwareentwicklungKalibrierungNeurale NetzeAlgorithmusHardwarebeschränkungenEmbedded DevicesBosch
هل تحتاج إلى تلخيص باللغة الإنجليزية؟