Core Concepts
Durch eine patch-basierte Inferenz-Planung können wir den Spitzenspeicherverbrauch bestehender Netzwerke um das 4-8-Fache reduzieren, ohne die Genauigkeit zu beeinträchtigen. Durch die gemeinsame Optimierung von Netzwerkarchitektur und Inferenz-Planung erreicht MCUNetV2 einen Rekord an Genauigkeit für Bildklassifizierung und Objekterkennung auf Mikrocontrollern.
Abstract
Die Studie analysiert den Speicherengpass beim Tiny Deep Learning auf Mikrocontrollern (MCUs) und schlägt eine patch-basierte Inferenz-Planung vor, um dieses Problem zu lösen.
Zunächst wird festgestellt, dass effiziente CNN-Designs eine sehr unausgewogene Speicherverteilung aufweisen, bei der die ersten Blöcke eine um eine Größenordnung höhere Speichernutzung haben als der Rest des Netzwerks. Dies schränkt die Modellkapazität und Eingabeauflösung ein, die auf MCUs ausführbar sind.
Um dieses Problem zu lösen, wird eine patch-basierte Inferenz-Planung vorgeschlagen, bei der nur ein kleiner räumlicher Bereich des Merkmalsmaps gleichzeitig verarbeitet wird. Dies reduziert den Spitzenspeicherverbrauch erheblich. Allerdings führt die reduzierte Spitzenleistung zu einem Berechnungsoverhead, da die Eingabepixel überlappen müssen, um die gleichen Ausgabewerte zu erhalten.
Um diesen Overhead zu reduzieren, wird eine Neuverteilung des Rezeptionsfelds vorgeschlagen, bei der das Rezeptionsfeld und die Rechenleistung in die späteren Stufen des Netzwerks verschoben werden. Dies verringert die Größe der Eingabepatchs und den Berechnungsoverhead, ohne die Leistung des Netzwerks zu beeinträchtigen.
Schließlich wird eine gemeinsame Suche nach der optimalen Netzwerkarchitektur und Inferenz-Planung vorgeschlagen, um den Speicherverbrauch und die Rechenleistung unter Berücksichtigung der Hardwarebeschränkungen zu optimieren.
Die Ergebnisse zeigen, dass MCUNetV2 den Spitzenspeicherverbrauch bestehender Netzwerke um das 4-8-Fache reduzieren kann, ohne die Genauigkeit zu beeinträchtigen. Auf ImageNet erreicht MCUNetV2 einen Rekord von 71,8% Genauigkeit auf MCUs und übertrifft den Stand der Technik bei der Objekterkennung auf Mikrocontrollern um 16,9% mAP.
Stats
Die Spitzenspeichernutzung von MobileNetV2 ist 8-mal höher in den ersten 5 Blöcken als im Rest des Netzwerks.
Die patch-basierte Inferenz reduziert den Spitzenspeicherverbrauch von MobileNetV2 um den Faktor 8, von 1372kB auf 172kB.
Die patch-basierte Inferenz erhöht den Rechenaufwand von MobileNetV2 um 10%, die Neuverteilung des Rezeptionsfelds reduziert den Overhead auf nur 3%.
Quotes
"Die Spitzenspeichernutzung ist 8-mal höher in den ersten 5 Blöcken als im Rest des Netzwerks."
"Die patch-basierte Inferenz reduziert den Spitzenspeicherverbrauch von MobileNetV2 um den Faktor 8, von 1372kB auf 172kB."
"Die patch-basierte Inferenz erhöht den Rechenaufwand von MobileNetV2 um 10%, die Neuverteilung des Rezeptionsfelds reduziert den Overhead auf nur 3%."