Abstract:
Seit der Erfindung von Computern träumt der Mensch davon, ihnen selbstständiges Lernen und Denken beizubringen. Moderne Algorithmen des maschinellen Lernens (ML) rücken diesen Wunsch in greifbare Nähe. Die Erfindung der tiefen neuronalen Netze (Deep Neural Networks, DNNs) ist dabei ein wichtiger Meilenstein. Zahlreiche Anwendungen wie autonomes Fahren oder Robotik sind heute ohne DNNs undenkbar. Trotz ihrer Vielseitigkeit und ihrer sehr guten Vorhersagegenauigkeit für bisher algorithmisch schwer beschreibbare Probleme sind sie sehr rechenintensiv. Besonders rechenintensiv sind die Convolutional Neural Networks (CNNs), eine Unterkategorie der DNNs, die für die Bildverarbeitung unentbehrlich sind. ... mehrBeispielsweise erfordert die Verarbeitung von hochauflösenden Bildern Milliarden von Berechnungen, die erst durch die modernere und leistungsfähigere Hardware der letzten Jahre in die Praxis umgesetzt werden konnten.
Trotz der Fortschritte bei den Hardwarelösungen für CNNs gibt es noch viele offene Fragen, insbesondere in Bezug auf eingebettete Systeme und deren Anforderungen. Hierbei spielen nicht nur die Performance, sondern auch die Energieeffizienz, die Latenz, die Ausfallsicherheit (Safety) sowie die algorithmische Genauigkeit (Accuracy) eine Rolle. Dies wird am Beispiel autonomer Fahrzeuge deutlich: Eine Umgebungserkennung muss effizient, genau und zuverlässig durchgeführt werden.
In den letzten zwei Jahrzehnten wurden verschiedene Hardwarebeschleuniger, Tools und Optimierungsstrategien vorgestellt, um der zunehmenden Komplexität von CNNs gerecht zu werden. Die Suche nach optimalen CNN-Strukturen und Beschleunigern wurde durch Neural Architecture Search (NAS) automatisiert. Zudem wurden Quantisierung und Pruning untersucht, um eine höhere Energieeffizienz zu erzielen. Beim ersten Verfahren handelt es sich um die Reduzierung der Rechengenauigkeit, beim zweiten um das Auslassen von Rechenoperationen, die das Gesamtergebnis nur wenig beeinflussen. Solche Ansätze funktionieren insbesondere im Umfeld von CNNs sehr gut, da sie gewisse Ungenauigkeiten inhärent tolerieren können. Auch im Rahmen der robusten Ausführung von CNNs wurden in den letzten Jahren große Fortschritte erzielt. Trotz der Vielzahl an vorausgegangenen Arbeiten, gibt es noch viele offene Fragen und Herausforderungen, um CNNs energieeffizient und sicher einsetzen zu können, speziell im Hinblick auf anspruchsvolle Anwendungen wie dem autonomen Fahren.
Die vorliegende Arbeit präsentiert drei neue Ansätze, die den Entwurf von CNN-Beschleunigern und Modellen vereinfachen und gleichzeitig deren Energieeffizienz und Leistung während der Ausführung steigern. Zunächst wird das zyklenakkurate Simulationswerkzeug FLECSim-SoC vorgestellt, sowie eine analytische Alternative. Diese Werkzeuge ermöglichen es, den Einfluss verschiedener Architekturparameter des CNN-Beschleunigers auf dessen Energiebedarf, Chip-Fläche und Performanz systematisch zu untersuchen. Die beiden Werkzeuge ergänzen sich gegenseitig und sollten nicht als gegensätzlich betrachtet werden. Eine zyklenakkurate Simulation ist hochgenau, aber langwierig, während die analytische Modellierung leicht ungenauer, dafür aber deutlich schneller ist. In zwei Fallstudien wurde gezeigt, dass Simulationstools wertvolle Einblicke in die Auswirkungen verschiedener Beschleunigerkonfigurationen geben und somit den Entwurfsprozess vereinfachen können.
Um die Energieeffizienz der Beschleuniger weiter zu optimieren, wurde darauffolgend eine neuartige Pruning-Methode entworfen und untersucht. Dabei werden die Zwischenergebnisse von CNNs analysiert und Bereiche identifiziert, die mit den Dimensionen des Beschleunigers übereinstimmen und so besonders effizient durch diesen geprunt werden können. Da diese Regionen selten in CNNs vorkommen, wurde zusätzlich zu der Hardwarearchitektur noch ein Werkzeug entwickelt, welches Schwellenwerte bestimmt ab denen eine Region geprunt wird. Insgesamt konnten so mit dieser Pruning-Methode über 20% aller Berechnungen und 19% der Energie eingespart werden. Die entsprechende Hardware-Erweiterung benötigt dabei deutlich weniger Chip-Fläche als vergleichbare Arbeiten.
Im Rahmen der sicheren und effizienten Ausführung von CNNs wurde abschließend Mixed-Precision-Quantisierung untersucht. Diese ermöglicht es, die Präzision von Operanden feingranular einzustellen, um den Kompromiss zwischen Modellgenauigkeit und Energieeinsparung zu optimieren. Da CNN-Beschleuniger, welche Mixed-Precision unterstützen, oft eine hohe Latenz aufweisen, wird zunächst eine neue und platzsparende Hardwarearchitektur entwickelt. Durch die Verwendung von Mixed-Precision kann nicht nur die Energie reduziert, sondern auch die Robustheit von CNNs erhöht werden. Im Rahmen dieser Arbeit wurde gezeigt, dass durch eine dynamische Erhöhung der Berechnungspräzision bei Eingangsbildern gestört durch Wettereinflüsse, die ursprüngliche Modellgenauigkeit moderner CNNs wiederhergestellt werden konnte. Gleichzeitig konnten etwa 45% der energieaufwendigen Speicherzugriffe eingespart werden.
Abstract (englisch):
Since the invention of modern computers, people have dreamed of making them able to learn and think autonomously. Modern machine learning (ML) algorithms are bringing this dream within reach. A major milestone in this endeavor was the invention of Deep Neural Networks (DNNs). Numerous applications such as autonomous driving or robotics would be unthinkable today without DNNs. Despite their versatility and very good prediction accuracy for problems that were impossible to describe with traditional algorithms, they are very computationally intensive.
CNNs, a subcategory of DNNs that are indispensable for image processing, are particularly challenging. ... mehrFor example, to perform high-resolution image processing, tens of billions of computations must be performed, which could only be realized thanks to the modern and powerful computing hardware of recent years.
Despite the progress made in hardware solutions for CNNs, there are still many unanswered questions, specifically with regard to embedded systems and their requirements. Not only performance, but also energy efficiency, latency, reliability (safety) and algorithmic accuracy play an important role here. This becomes clear by exemplary means of autonomous vehicles: Environment perception must be efficient, accurate, and safe.
Over the last two decades, various hardware accelerators, tools and optimization strategies have been introduced to cope with the increasing complexity of CNNs. The search for optimal CNN topologies and accelerators has been automated by Neural Architecture Search (NAS). In addition, quantization and pruning were investigated in order to achieve higher energy efficiency. The first method involves the reduction of computing precision, while the second involves the omission of computing operations that have little impact on the overall result. Such approaches work particularly well in the context of CNNs, as they can inherently tolerate certain computational inaccuracies. Great progress has also been made in the robustness of CNNs. Despite the large amount of previous work, there are still many open questions and challenges to deploy CNNs in an energy-efficient and safe way, especially with regard to demanding applications such as autonomous driving.
In this thesis, we therefore introduce three new approaches that simplify the design of a CNN accelerator and algorithm, as well as increase their energy efficiency and performance. First, we introduce the cycle-accurate simulation tool FLECSim-SoC and an analytical counterpart. These tools make it possible to systematically investigate the influence of various architecture parameters of the CNN accelerator on its energy efficiency, chip area, and performance. The two tools are not opposing but complement each other. A cycle-accurate simulation is highly accurate, but time-consuming, and the analytical modeling is slightly less accurate but significantly faster. In two case studies we showed that the two simulation tools provide valuable insights into the impact of different accelerator configurations and thus help to guide the design process.
To further optimize the energy efficiency of the designed accelerators, we conceived, developed, and evaluated a novel pruning method subsequently. It analyzes regular regions in intermediate results of CNNs. Such regions can be pruned efficiently by the CNN accelerator if they match the dimensions of the accelerator. Since these regions rarely occur in CNNs, we designed, in addition to the hardware architecture, a tool, which determines thresholds that decide whether a region is pruned. Our pruning method is able to reduce the operations by 20% and saves up to 19% of energy. Thereby, the corresponding hardware extension requires significantly less chip area than comparable work.
In the context of robust and efficient execution of CNNs, we finally investigated mixed-precision quantization, which allows to set the precision of operands in a fine-granular manner. This can optimize the compromise between model accuracy and energy savings. Since CNN accelerators, which support mixed-precision, often have high latency, we first introduce a novel and area-efficient hardware architecture. With the help of mixed-precision inference, we cannot only reduce energy consumption, but also increase the robustness of the CNN, for example when an environ-ment perception has to cope with perturbed input images. By dynamically increasing the operand's precision in such a case, we could show that the original model accuracy of modern workloads could be restored. At the same time, about 45% of the energy-intensive memory accesses were saved.