Ariel-ML: Computing Parallelization with Embedded Rust for Neural Networks on Heterogeneous Multi-core Microcontrollers
Dieser Beitrag stellt Ariel-ML vor, ein Open-Source-Embedded-Rust-Toolkit, das die parallele Inferenz für TinyML-Modelle auf heterogenen Multicore-Mikrocontrollern automatisiert und dabei eine überlegene Latenzleistung demonstriert, während gleichzeitig Speicherverbräuche erzielt werden, die mit traditionellen C/C++-Lösungen vergleichbar sind.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie haben einen winzigen, batteriebetriebenen Computer (wie den in einem intelligenten Thermostat oder einem Fitness-Tracker). Jahrelang waren diese Geräte wie Solo-Künstler: Sie hatten nur eine Gehirnzelle (einen einzelnen Prozessorkern), um all ihre Gedanken zu verarbeiten. Sie wurden zudem in einer alten, etwas riskanten Programmiersprache namens C/C++ geschrieben, was so ist, als würde man ein Haus mit Holzbalken bauen, die verrotten können, wenn man nicht aufpasst.
Jetzt geschehen zwei große Veränderungen:
- Das Hardware-Upgrade: Neue winzige Computer kommen mit mehreren Gehirnzellen (Multi-Core-Prozessoren) auf den Markt, wie ein Chor statt eines Solisten.
- Das Sicherheits-Upgrade: Entwickler wechseln zu einer neuen Sprache namens Rust, die wie die Verwendung von Stahlträgern ist, die viel schwerer zu brechen oder zu beschädigen sind.
Das Problem? Bislang gab es keine einfache Möglichkeit, diesen neuen „Chor"-Computern beizubringen, wie sie zusammenarbeiten können, um komplexe Rätsel zu lösen (wie das Erkennen einer Stimme oder das Identifizieren einer Katze auf einem Foto), und zwar mit der neuen „Stahl"-Sprache. Bestehende Werkzeuge waren entweder in der alten Sprache gefangen oder konnten den mehreren Gehirnzellen nicht mitteilen, wie sie die Arbeit aufteilen sollen.
Da kommt Ariel-ML ins Spiel.
Stellen Sie sich Ariel-ML als einen super-effizienten Dirigenten für diesen neuen Chor vor. So funktioniert es, unter Verwendung einfacher Analogien:
1. Der Übersetzer (Die Build-Pipeline)
Stellen Sie sich vor, Sie haben ein komplexes Rezept, das in der Sprache eines gehobenen Küchenchefs geschrieben ist (wie PyTorch oder TensorFlow). Ariel-ML nimmt dieses Rezept und übersetzt es in einen spezifischen Satz von Anweisungen, den der winzige Computer versteht. Es verwendet ein Werkzeug namens IREE (denken Sie daran als eine High-Tech-Übersetzungsmaschine), um das große Rezept in kleine, handhabbare Aufgaben zu zerlegen.
2. Der Dirigent (Der Multicore-Scheduler)
Dies ist die größte Innovation des Papiers. Sobald das Rezept zerlegt ist, betrachtet der „Dirigent" von Ariel-ML die mehreren Gehirnzellen (Kerne) im Gerät.
- Der alte Weg: Eine Gehirnzelle versucht, alles zu erledigen, während die anderen untätig warten, bis sie an der Reihe sind.
- Der Ariel-ML-Weg: Der Dirigent verteilt sofort verschiedene Teile des Rezepts an verschiedene Gehirnzellen. Wenn Sie zwei Gehirnzellen haben, teilen sie die Arbeit zur Hälfte auf und erledigen die Aufgabe fast doppelt so schnell. Das Papier nennt dies einen „greedy scheduler" (gierigen Planer), was nur eine ausgefallene Art zu sagen ist, dass er jede freie Gehirnzelle ergreift und ihr sofort eine Aufgabe gibt, sodass niemand herum sitzt und nichts tut.
3. Das Sicherheitsnetz (Rust)
Da Ariel-ML vollständig in Rust geschrieben ist, fungiert es wie ein Sicherheitsnetz. In den alten Tagen (C/C++) konnte das gesamte System abstürzen, wenn ein Programm versuchte, Speicher zu verwenden, der ihm nicht gehörte. Rust verhindert dies durch Design. Das Papier behauptet, dass dies die Software viel sicherer und zuverlässiger macht, was entscheidend ist, da diese Geräte zunehmend mit dem Internet verbunden werden.
Was haben sie bewiesen?
Die Autoren testeten Ariel-ML auf mehreren realen winzigen Computern (wie dem Raspberry Pi Pico und Nordic-Chips). Sie verglichen es mit den alten Werkzeugen:
- Geschwindigkeit: Auf Computern mit zwei Gehirnzellen war Ariel-ML bis zu 1,6-mal schneller als die alten Werkzeuge. Es gelang dem Chor erfolgreich, im Einklang zu singen.
- Speicher: Das Papier gibt zu, dass das endgültige Programm aufgrund von Rust und den neuen Übersetzungswerkzeugen, die so robust sind, etwas mehr Platz im Arbeitsspeicher des Computers einnimmt (wie ein etwas schwererer Rucksack). Allerdings zeigten sie, dass die Geschwindigkeitsgewinne auf Multi-Core-Geräten dieses zusätzliche Gewicht wert sind.
- Genauigkeit: Sie überprüften die Mathematik noch einmal und bestätigten, dass Ariel-ML exakt dieselben Antworten liefert wie die großen, leistungsstarken Computer, die zum Trainieren der Modelle verwendet wurden.
Das Fazit
Ariel-ML ist das erste Werkzeugset, das es Entwicklern ermöglicht, moderne, komplexe KI-Modelle zu übernehmen, sie in die sichere, moderne Rust-Sprache zu übersetzen und die Arbeit automatisch auf mehrere Gehirnzellen in winzigen, stromsparenden Geräten aufzuteilen. Es schließt die Lücke zwischen den „altmodischen" Single-Core-Geräten und der „neuen Schule" der Multi-Core-Zukunft und ermöglicht es diesen winzigen Gadgets, schneller und sicherer zu denken, ohne dass ein massives Batterie-Upgrade erforderlich ist.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.