title: BPLS back propagation layer scheduling
Creators: name: Dangl, Stefan
Publisher: name: TU Wien
Year: 2024
Subjects: subject: machine learning
subject: training
subject: TinyML
subject: on-device learning
subject: optimization techniques
subject: microcontrollers
subject: neural networks

description: Machine Learning nimmt zunehmend Platz in unsere Gesellschaft ein. Während neuronale Netze nicht mehr nur in großen Rechenzentren anzutreffen sind, findet man sie immer öfters auch auf kleinen Embedded Devices. Machine Learning ist generell sehr energie- und ressourcenintensiv. Gerade Embedded Devices unterliegen oft Ressourcenbeschränkungen, was das Ausführen, aber vor allem auch das Training auf ihnen erschwert. Dementsprechend werden neue Konzepte für effizientes Training benötigt. Diese Arbeit stellt das sogenannte Back Propagation Layer Scheduling (BPLS) vor. BPLS überspringt weniger kritische Trainingsschritte und reduziert dadurch den Stromverbrauch und die Trainingszeit. Abhängig von der Konfiguration kann BPLS auch den Spitzenspeicherbedarf (peakmemory) senken. Im Rahmen dieser Arbeit wurde BPLS in zahlreichen Fine-Tuning-Experimenten, basierend auf Cifar10, Cifar100 und einem speziell dafür erstellten Keyord-Datensatz untersucht. In den Experimenten wurden die Netzwerkkonfigurationen verschiedener Trainingsansätze mittels Euklidischer Distanz und Kosinus-Ähnlichkeit verglichen. Dabei zeigte sich, dass BPLS sich ähnlichen Optima annähert wie das Training mit entsprechenden Layer-spezifischen Learning Rates. Weiters wurde mittles UMAP gezeigt, dass beide Ansätze nahezu identische Pfade zu dem jeweiligen Optimum aufweisen. Des Weiteren haben wir eine Reduktion von 51.3% der Operationen bei verbesserter Genauigkeit erreicht. Bei einem anderen Test wurde der Spitzenspeicherbedarf um 49.6% reduziert, bei leicht verringerter Genauigkeit (1.9%). Auf MCUs korreliert die Reduktion der Operationen mit der Trainingszeit und dem Energiebedarf. Dadurch können größere neuronale Netze auf kleineren und weniger performanten Geräten trainiert werden. Die erwarteten Optimierungen wurden mittels MCU validiert.
description: In recent years, machine learning has advanced rapidly. Nowadays, neural networks are not only used in large data centers but also on tiny embedded devices, which often have power and performance constraints. Machine learning tasks are highly computationally- and power intensive. Accordingly, concepts for efficient training are in high demand. This work presents the Back Propagation Layer Scheduling (BPLS) approach. BPLS can reduce power consumption and shorten training time by skipping less critical training operations or, depending on the chosen configuration, reduce memory requirements. We investigated BPLS in numerous fine-tuning experiments, featuring the Cifar10, Cifar100 and a custom created key-word dataset. By comparing the weights of various training approaches using Euclidean Distance and Cosine Similarity, we discovered that BPLS and its Per-Layer Learning Rate counterpart approach similar optima. Furthermore, UMAP indicates that they follow nearly identical training paths, towards those optima. We required up to 51.3% less operations for training with improved accuracy. In another test, a reduction in peak memory of up to 49.6%, with only a slight decrease in accuracy (1.9%) was achieved. On MCUs, this reduction in number of operations directly correlates with training time and energy consumption. This allows to train larger networks on smaller and weaker devices. The expected optimizations were validated on an actual MCU.