Mittlerweile gibt es ja schon einige Mikrocontroller mit KI-Beschleuniger. Es gibt den ESP32-S3 mit SIMD-Befehlen zur Beschleunigung der Neuronenberechnung. Es gibt auch die STM32N6 Serie, die wohl auch einen Beschleuniger drinnen hat. Mich interessiert die konkrete Struktur, aber im Netz findet man vorwiegend nur Marketinggelaber. Die Frage ist, was kann man mit KI auf dem Mikrocontroller machen. Es gibt von STM einen Modellzoo, aber ob das die Hauptanwendungen sind? https://stm32ai.st.com/model-zoo/
> Es gibt den ESP32-S3 mit SIMD-Befehlen zur Beschleunigung der > Neuronenberechnung. > Die Frage ist, was kann man mit KI auf dem Mikrocontroller machen. Die Frage ist, was ist überhaupt "KI" in diesem Fall? Machine Learning" -ML- ist im embedded der passendere Begriff und da gibt es seit Jahrzehnten etliches, bspw. auch NPC-Spiele-Algorithmen. Oder wenigsten mit edge-AI. Nur nach KI gefragt wird's doch nur wieder "Bullshit-Bingo". Da mal ein Paper zu einer praktischen "AI-Anwendung" auf STM32: "... integrating a machine learning–based In- trusion Detection System (IDS) on the STM32F407-DISCO platform. ... A lightweight deep learning model was optimized for embedded deployment, achieving reliable classification accuracy with low memory and computational overhead ... " https://openreview.net/pdf?id=Y6SAZDGWtl Da eine (?) AI-library für STM32: https://wiki.st.com/stm32mcu/wiki/AI:NanoEdge_AI_Library_for_anomaly_detection_(AD)
:
Bearbeitet durch User
Welcher der beiden Mikrocontroller hatte ein höhere KI-Rechenleistung? 1. Der ESP32-S3 2. Ein STM32N6
Christoph M. schrieb: > Die Frage ist, was kann man mit KI auf dem Mikrocontroller machen. Nichts, ausser Marketing. Mit ach und krach bekommt man eine einzelne Logikfunktion hin. Bekannt ist das NOT abgebildet mit einem Neuronennetz.
Michael B. schrieb: > Christoph M. schrieb: >> Die Frage ist, was kann man mit KI auf dem Mikrocontroller machen. > > Nichts, ausser Marketing. > > Mit ach und krach bekommt man eine einzelne Logikfunktion hin. [ ] Du hast dir die Seite im ersten Post angeschaut: https://stm32ai.st.com/model-zoo/ [ ] Du kennst dich mit der Thematik aus
> Welcher der beiden Mikrocontroller hatte ein höhere KI-Rechenleistung?
Bei Embedded solltet man eher fragen: hoehere KI-Rechenleistung pro mA!
Zumindest ich kann keine Kuehlkoerper auf die MCUs nageln bloss weil BI
zu faul zum selber denken war...
Vanye
Vanye R. schrieb: > Bei Embedded solltet man eher fragen: hoehere KI-Rechenleistung pro mA! Das könnte bei Rechnern mit großer Graphikkarte auch eine Rolle spielen. Wenn die 300W hat laufen die Stromkosten bei längerem Betrieb auch ins Geld. Bei den Embedded-Systemen würde ich die Neuro-Architektur als sehr relevant einschätzen. Während der ESP32-S3 die SIMD Befehle mit load/store hat, könnte der ST32N6 schon eine Art NPU haben, mit der man Matrixmultiplikaitonen in einem Rutsch durchführen kann (das wäre wichtig für die CNN um die Bilder zu klasifizieren). Welche Rechengenauigkeit möglich ist und ob die Aktivierungsfunktionen gleich mitgerechnet werden können, wird sicherlich auch ein große Rolle spielen.
Wie kann man einen einfache Schrifterkennung auf das Unhiker K10 bringen? Es gibt den MNIST Datensatz (handschriftliche Ziffern von 0-9) mit dem Modelle trainieren kann: https://www.geeksforgeeks.org/machine-learning/mnist-dataset/ Welche Toolchain kann man nutzen, um ein funktionierendes Beispiel zu erzeugen? Eigentlich gäbe es Tensorflow-Lite: https://www.unihiker.com/new-17372.html Weil das flashen mit der Arduino-Umgebung relativ lange geht, wäre mir ein Micropython Bibliothek lieber.
Christoph M. schrieb: > Die Frage ist, was kann man mit KI auf dem Mikrocontroller machen. Gib Bescheid wenn Du eine Antwort gefunden hast.
Christoph M. schrieb: > Welcher der beiden Mikrocontroller hatte ein höhere KI-Rechenleistung? > > 1. Der ESP32-S3 > 2. Ein STM32N6 Der S3 sollte 16 MAC pro Kern und Takt können. Das sind bei 2 Kernen und 240MHz 2x2x16x240MHz = 15,4 GOPS. Der N6 hat 300 MAC-Einheiten bei 1GHz Takt und da 1 MAC=2 Operationen sind, sind das 600GOPS. . Der N6 ist also der klare Sieger, aber er ist auch etwas teurer. Der öffentliche 10.000er Preis bei ST ist um die 9€ (nur der Chip), während man den S3 auch in Deutschland für um die 6€ als fertiges Board bekommt.
:
Bearbeitet durch User
Christoph M. schrieb: > Die Frage ist, was kann man mit KI auf dem Mikrocontroller machen. Zum Beispiel Erkennung von Personen auf Bildern. Also z.B. eine Überwachungskamera, die meldet, wenn sich jemand ums Haus schleicht. Dazu müsste der Controller natürlich noch ein Interface für einen Bildsensor haben (heutzutage meist CSI-2), eine ISP (Image Signal Processor, weil die meisten Sensoren heutzutage RAW-Bilder schicken) und hinterher noch einen Videoencoder, der H264 kann. Ganz zufällig hat der STM32N6 genau das alles.
Markus K. schrieb: > Der S3 sollte 16 MAC pro Kern und Takt können. Das sind bei 2 Kernen und > 240MHz 2x2x16x240MHz = 15,4 GOPS. Die Rechnung klingt interessant, aber ich melde mal deutliche Zweifel an. Der S3 müsste den 128Bit (8*8Bit)SIMD Befehl inclusive Befehl lesen, Daten lesen und Rückschreiben in einem Zyklus und das mit zwei Kernen, können. Da könnte der Speicher eine Bremse sein, der den Durchsatz gar nicht erlaubt oder sich die zwei Kerne den Zugriff gegenseitig blockieren. Außerdem besteht die Berechnung eines neueronalen Netzes aus mehren Befehlen als der MAC/Load/Store Befehl und die dürften dann die durchschnittliche Performance deutlich senken. Ich glaube für ein zuverlässiges Ergebnis bräuchte man einen konkreten Benchmark.
Markus K. schrieb: > sich jemand -v- ums Haus v - "bestimmtes!" Sonst: Bewegungsmelder mit IR-KI für 7,95€ nutzen.
:
Bearbeitet durch User
Christoph M. schrieb: > Markus K. schrieb: >> Der S3 sollte 16 MAC pro Kern und Takt können. Das sind bei 2 Kernen und >> 240MHz 2x2x16x240MHz = 15,4 GOPS. > > Die Rechnung klingt interessant, aber ich melde mal deutliche Zweifel > an. > > Der S3 müsste den 128Bit (8*8Bit)SIMD Befehl inclusive Befehl lesen, > Daten lesen und Rückschreiben in einem Zyklus und das mit zwei Kernen, > können. Du schreibst oben "der ESP32-S3 die SIMD Befehle mit load/store hat". Das habe ich so interpretiert, dass die SIMD-Befehle das selber können. Wenn das nicht so ist, macht das natürlich einen großen Unterschied. Prinzipiell haben Befehle und Daten getrennte Busse und sollten daher parallel gehen. > Da könnte der Speicher eine Bremse sein, der den Durchsatz gar > nicht erlaubt oder sich die zwei Kerne den Zugriff gegenseitig > blockieren. Ich bin davon ausgegangen, das eine Dual-Kern CPU unabhängige Caches für die beiden Cores hat. Ich habe aber gerade ins TRM geschaut und da steht, dass es bei gleichzeitigen Zugriffen einen Arbiter gibt. Das finde ich jetzt enttäuschend. > Außerdem besteht die Berechnung eines neueronalen Netzes aus > mehren Befehlen als der MAC/Load/Store Befehl und die dürften dann die > durchschnittliche Performance deutlich senken. Ich glaube für ein > zuverlässiges Ergebnis bräuchte man einen konkreten Benchmark. Klar, aber das ist ja immer so. Auch die NPUs können nicht alles in Hardware und wenn die 300 MACs parallel kann, dann muss man die ja auch erstmal vollbekommen, also das Netz muss so beschaffen sein, dass das geht. Insgesamt scheint der S3 aber deutlich weiter vom theoretischen Maximum entfernt zu sein, als ich gedacht hatte.
Thorsten S. schrieb: > Markus K. schrieb: >> sich jemand -v- ums Haus > > v - "bestimmtes!" > > Sonst: Bewegungsmelder mit IR-KI für 7,95€ nutzen. Personen identifizieren können die kleinen Netze idR nicht. Die Idee ist zum einen, dass die KI Menschen von Tieren unterscheiden kann, ohne dass man das Gerät so montieren muss, dass es den Boden nicht trifft. Zum anderen ist das damit halt schon in der Kamera integriert. Mit dem IR-Melder hast Du ja zwei Geräte und müsstest das auch noch irgendwie in das Videosystem integrieren. Es gibt durchaus Videolösungen, bei denen man in der Aufzeichnung z.B. nach allen Leuten mit einer roten Mütze suchen kann. Ansonsten gibts ja z.B. Rückfahrkameras für Baumaschinen, die sowas können. Ultraschall z.B. reagiert ja auch auf Gras oder Hügel, aber die Kamera eben nicht.
Christoph M. schrieb: > Michael B. schrieb: >> Nichts, ausser Marketing. >> >> Mit ach und krach bekommt man eine einzelne Logikfunktion hin. > > [ ] Du hast dir die Seite im ersten Post angeschaut: > https://stm32ai.st.com/model-zoo/ > [ ] Du kennst dich mit der Thematik aus Er ist halt kein Lese- oder Auskennkopf. :-)
Christoph M. schrieb: > die Hauptanwendungen Naja, ein 32N6 ist immer noch eine MCU. Gesten, Keyword Spotting, Präsenzerkennung. Viel mehr wird das nicht sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.