Der Artikel präsentiert einen Algorithmus-System-Co-Design-Ansatz, um das Auf-Gerät-Training von Convolutional Neural Networks auf Mikrocontrollern mit nur 256KB Arbeitsspeicher zu ermöglichen.
Das Auf-Gerät-Training hat zwei einzigartige Herausforderungen: (1) Quantisierte Graphen neuronaler Netzwerke sind aufgrund der geringen Bitpräzision und des Fehlens von Normalisierungsschichten schwer zu optimieren. (2) Die begrenzten Hardwareressourcen erlauben keine vollständige Rückwärtspropagation.
Um die Optimierungsschwierigkeiten zu bewältigen, schlagen die Autoren "Quantization-Aware Scaling" vor, um die Gradientenskalen zu kalibrieren und das 8-Bit-quantisierte Training zu stabilisieren. Um den Speicherverbrauch zu reduzieren, führen sie "Sparse Update" ein, um die Gradientenberechnung weniger wichtiger Schichten und Subtensoren zu überspringen.
Die algorithmischen Innovationen werden in einem leichtgewichtigen Trainingssystem, der "Tiny Training Engine", umgesetzt. Dieses führt Graphenoptimierungen wie Graphenbeschneidung und Operatorumsortierung durch, um die Speicheranforderungen und Trainingsgeschwindigkeit weiter zu reduzieren.
Das Ergebnis ist die erste Lösung, die das Training von Convolutional Neural Networks auf Mikrocontrollern mit nur 256KB SRAM und 1MB Flash ohne zusätzlichen Speicher ermöglicht. Im Vergleich zu PyTorch und TensorFlow wird der Speicherverbrauch um mehr als 1000x reduziert, während die Genauigkeit auf Anwendungen für Tiny-ML beibehalten wird.
To Another Language
from source content
arxiv.org
Key Insights Distilled From
by Ji Lin,Ligen... at arxiv.org 04-04-2024
https://arxiv.org/pdf/2206.15472.pdfDeeper Inquiries