Zum Inhalt springen
← Alle KI-News
Aionity · KI-NewsModelle

ExecuTorch bringt PyTorch-Modelle auf Arm-Cortex-M-Prozessoren

Ein neues ExecuTorch-Backend lässt PyTorch-Modelle direkt auf Arm-Cortex-M-CPUs laufen und nutzt dafür die CMSIS-NN-Bibliothek. In Tests auf einem Alif Ensemble E8 liefen vier MLPerf-Tiny-Modelle jeweils in höchstens 21,5 Millisekunden.

Symbolbild: ExecuTorch bringt PyTorch-Modelle auf Arm-Cortex-M-Prozessoren
Symbolbild · KI-generiert

Bisher mussten Entwicklerinnen und Entwickler PyTorch-Modelle für Cortex-M-Mikrocontroller in andere Framework-Formate übertragen und dafür getrennte Werkzeuge verwenden. Das neue Backend soll diesen Zwischenschritt vermeiden: Modelle werden innerhalb des ExecuTorch-Stacks exportiert, quantisiert und für das Zielgerät vorbereitet. Laut PyTorch gehören dadurch auch numerische Abweichungen beim Wechsel zwischen Frameworks nicht mehr zu diesem Ablauf.

Für die Ausführung ersetzt ExecuTorch ausgewählte PyTorch-Operatoren bereits während der Kompilierung durch angepasste Implementierungen. Diese greifen bei quantisierten Rechenoperationen auf CMSIS-NN zurück, eine Sammlung optimierter neuronaler Netzwerk-Kernels für Cortex-M. Der Zielprozessor und seine Befehlssatzerweiterungen werden vorab festgelegt; dadurch ist keine Auswahl des passenden Backends während der Laufzeit nötig. Die Quantisierung erzeugt INT8-Graphen, die auf die Datenanordnung der CMSIS-NN-Kernels abgestimmt sind.

Das Backend deckt laut PyTorch die Cortex-M-Leistungsklassen Scalar, DSP und MVE beziehungsweise Helium ab. Bei Systemen mit mehreren Verarbeitungseinheiten stellt es neben der Ausführung auf der CPU auch einen Ausführungspfad über einen Ethos-U-NPU bereit. Die Laufzeitumgebung von ExecuTorch benötigt laut PyTorch weniger als 20 KiB Flash-Speicher. Beim selektiven Build werden nur die Operatoren eingebunden, die ein Modell tatsächlich verwendet; die Gesamtgröße des Codes richtet sich damit nach dem Modell.

Für die Leistungstests nutzte PyTorch ein Alif Ensemble E8 mit einem einzelnen Cortex-M55-Kern. Vier der fünf Modelle aus der MLPerf-Tiny-Suite benötigten jeweils höchstens 21,5 Millisekunden und weniger als 90 KiB RAM. Die Werte beziehen sich auf diese Modelle und diese Plattform. PyTorch beschreibt außerdem Helium als besonders hilfreich für höhere Leistung bei Tiefen- und Punktfaltungen, die in Edge-ML-Modellen häufig vorkommen.

War der Artikel hilfreich?

💡 Tipp: Wenn du PyTorch-Modelle für Cortex-M-Geräte entwickelst, kannst du das ExecuTorch-Backend für den Export und die Ausführung auf der Ziel-CPU testen.

Frag Aiory dazu Aiory liest den Artikel und beantwortet deine Fragen dazu.

Quellen

  • PyTorchPrimärquelleInhalt der PyTorch Foundation, CC BY 4.0, zusammengefasst und übersetzt.

KI-erstellter Artikel: Die Aionity-KI hat recherchiert – sie sucht die Originalquelle (etwa die Seite des Herstellers), zieht weitere Berichte hinzu und schreibt daraus einen eigenen Text. Alle Quellen stehen oben. Eine eigene Meinung gibt sie nicht ab. Kennzeichnung nach Art. 50 KI-Verordnung. Fehler? Sag uns im Discord Bescheid.

Alle KI-Meldungen live im Discord Die wichtigsten auch auf X und Bluesky.

← Alle KI-News

Fragen? Einfach mitreden – im Discord.

Discord ist ein kostenloser Gruppenchat. Dort kannst du nachfragen, was eine Meldung bedeutet, eigene Fragen stellen und dich mit anderen austauschen – ganz ohne Vorwissen. Wir fangen gerade erst an: Schau gern vorbei und sag Hallo.