Effiziente tiefe neuronale Netze für eingebettete Systeme
Bild- und Sprachverarbeitung, Computergraphik und Visualisierung, Human Computer Interaction, Ubiquitous und Wearable Computing
Zusammenfassung der Projektergebnisse
Maschinelles Lernen (ML) gehört in der Künstlichen Intelligenz (KI) zu den vielversprechendsten Methoden für das Lernen und Entscheiden unter Unsicherheiten. Die überwältigende Mehrheit der jüngsten Fortschritte in der KI stammt von tiefen neuronalen Netzen (Deep Neural Networks, DNN) für große Datenmengen, und die heutigen zugehorigen Algorithmen verbessern den Stand der Technik in Bezug auf die Genauigkeit für die große Mehrheit der KI-Aufgaben dramatisch. Beispiele hierfür sind unter anderem die Bild- und Sprachverarbeitung, mit so unterschiedlichen Anwendungen wie Robotik, Medizin, autonome Navigation, und Empfehlungssysteme. Der Hauptanwendungsbereich von ML ist heutzutage jedoch die “virtuelle Welt“. Um aber den Anforderungen künftiger Anwendungen wie der autonomen Navigation im Personenverkehr und bei Lieferdiensten gerecht zu werden, ist ein Übergang von ML in die “wilde Welt“ erforderlich. Dieser Übergang erfordert die Verarbeitung komplexer ML-Modelle in der Nähe des Zielortes, der in der Regel über limitierte Rechenkapazitäten, unzuverlässige Online-Verbindungen und eine begrenzte Batterielebensdauer verfügt. Daher muss die Lücke zwischen den enormen Rechenanforderungen solcher ML-Modelle und den Hardwarekapazitäten geschlossen werden. Das vorliegende Projekt verfolgte einen zweigleisigen Ansatz zur Lösung dieses Problems. Einerseits wurden Methoden entwickelt, die bestehende ML-Modelle so komprimieren, dass der Rechen- und Speicherbedarf erheblich reduziert wird und somit ein Einsatz auf ressourcenbeschränkten mobilen Geräten möglich ist. Beispiele hierfür sind Arbeiten zur Quantisierung, bei der im Wesentlichen von hochpräzisen Gleitkomma-Operatoren auf niedrigpräzise Festkomma-Operatoren umgestellt wird, aber auch das Pruning, bei dem die Modelle dünnbesetzt sind, indem bestimmte Modellgewichte gegen Null trainiert werden. Andererseits wurden auch neue ML-Modelle untersucht, die weniger Rechen- und Speicherbedarf aufweisen oder bereits eine integrierte Unterstützung für die Komprimierung enthalten. Ein Beispiel ist ein Bayesian Network Classifier, dessen Struktur während des Trainings gelernt wird, um so möglichst kompakte Modelle zu finden. Ein anderes Beispiel ist ein Bayesian Neural Network, bei dem skalare Werte durch Verteilungen ersetzt werden, aus denen gut gewählte quantisierte Werte selektiert werden. Im Folgenden möchten wir einige wesentliche Erkenntnisse kurz hervorheben. Es war überraschend zu sehen, dass ARM-Prozessoren mit spezialisierten Prozessoren wie GPUs und FPGAs konkurrieren können, wenn die Softwarearchitektur gut gewählt ist. Dies bedeutet zwar nicht, dass ARM-Prozessoren letztendlich schneller sind oder eine hohe Genauigkeit erreichen, aber der Abstand zwischen diesen Prozessoren kann erheblich verringert werden, wenn eine gute Kompressionsmethode gewählt wird. Im Wesentlichen ermöglicht dies, dass allgegenwärtig verfügbare ARM-Prozessoren stärker genutzt werden können als bisher angenommen. Wahrend für große Teile der Community FPGAs die beste Wahl für maschinelles Lernen sind, muss festgestellt werden, dass dies nur teilweise korrekt ist. Umfassende Experimente mit verschiedenen Komprimierungstechniken auf verschiedenen Prozessoren, die alle ein ähnliches Leistungsbudget von etwa 5 Watt haben, haben gezeigt, dass GPUs letztlich die höchste Genauigkeit ermöglichen, indem sie die größten Modelle besser unterstützen. Im Gegensatz dazu konnen FPGAs keine so großen Modelle unterstützen, aber sie zeichnen sich durch einen höheren Durchsatz aus, wenn sie ein Modell auf den lokalen Ressourcen des Chips halten können. Somit wird der Bedarf an höchster Genauigkeit heute wahrscheinlich am besten von GPUs erfüllt, während der höchste Durchsatz in der Regel mit FPGAs erreicht wird. Allzweckprozessoren wie ARM konnen zwar die höchste Genauigkeit von GPUs erreichen (die richtige Software-Architektur vorausgesetzt), bleiben aber in Bezug auf den Durchsatz immer hinter GPUs und FPGAs zurück. Dennoch sind sie aufgrund ihrer allgegenwartigen Verfügbarkeit ein wichtiger Kandidat. Schließlich sind wir der Meinung, dass FPGAs prinzipiell hervorragend für das maschinelle Lernen geeignet sind, allerdings fehlt ihnen die erforderliche Speicherbandbreite, um Modelle zu unterstützen, die die On-Chip-Kapazität übersteigen. Es wird interessant sein zu sehen, wie sich die Computerlandschaft verändert, wenn FPGA-Anbieter beispielsweise durch 3D-Die-Stacking diese Bandbreitenbeschränkung überwinden können. Abschließend möchten wir darauf hinweisen, dass alle vorstehenden Aussagen nur für CMOS-basierte Prozessoren und für ML-Modelle gelten, die auf dem Paradigma des “Deep Learning“ basieren, d. h. auf tiefen Convolutional Neural Networks. Innovationen in der Computerarchitektur und im maschinellen Lernen können die vorliegende Situation wesentlich verändern.
Projektbezogene Publikationen (Auswahl)
-
“Resource Efficient Deep Eigenvector Beamforming”. In: 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2018
M. Zohrer, L. Pfeifenberger, G. Schindler, H. Fröning, and F. Pemkopf
-
N-Ary Quantization for CNN Model Compression and Inference Acceleration. 2019
G. Schindler, W. Roth, F. Pernkopf, and H. Fröning
-
“Towards Efficient Forward Propagation on Resource-Constrained Systems”. In: Machine Learning and Knowledge Discovery in Databases. Ed. by M. Berlingerio, F. Bonchi, T. Gärtner, N. Hurley, and G. Ifrim. Springer International Publishing, 2019
G. Schindler, M. Zöhrer, F. Pernkopf, and H. Fröning
-
“On Resource-Efficient Bayesian Network Classifiers and Deep Neural Networks”. In: 2020 25th International Conference on Pattern Recognition (ICPR). IEEE Computer Society, 2021, pp. 10297–10304
W. Roth, F. Pernkopf, G. Schindler, and H. Fröning
-
“On the Difficulty of Designing Processor Arrays for Deep Neural Networks”. In: IoT Streams for Data-Driven Predictive Maintenance and IoT, Edge, and Mobile for Embedded Machine Learning. Ed. by J. Gama, S. Pashami, A. Bifet, M. Sayed-Mouchawe, H. Fröning, F. Pernkopf, G. Schiele, and M. Blott. Springer International Publishing, 2020
K. Stehle, G. Schindler, and H. Fröning
-
“Parameterized Structured Pruning for Deep Neural Networks”. In: Machine Learning, Optimization, and Data Science. Ed. by G. Nicosia, V. Ojha, E. La Malfa, G. Jansen, V. Sciacca, P. Pardalos, G. Giuffrida, and R. Umeton. Springer International Publishing, 2020
G. Schindler, W. Roth, F. Pernkopf, and H. Fröning
-
“Resource-Efficient Neural Networks for Embedded Systems”
W. Roth, G. Schindler, M. Zöhrer, L. Pfeifenberger, R. Peharz, S. Tschiatschek, H. Fröning, F. Pernkopf, and Z. Ghahramani
-
“Towards Real-Time Single-Channel Singing-Voice Separation with Pruned Multi-Scaled Densenets”. In: ICASSP 2020 - 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2020, pp. 806–810
M. Huber, G. Schindler, C. Schörkhuber, W. Roth, F. Pernkopf, and H. Fröning
-
“Training Discrete-Valued Neural Networks with Sign Activations Using Weight Distributions”. In: Machine Learning and Knowledge Discovery in Databases. Ed. by U. Brefeld, E. Fromont, A. Hotho, A. Knobbe, M. Maathuis, and C. Robardet. Springer International Publishing, 2020
W. Roth, G. Schindler, H. Fröning, and F. Pernkopf
-
“Compressing and Mapping Deep Neural Networks on Edge Computing Systems”. PhD thesis. Heidelberg University, 2021
G. Schindler