h1

h2

h3

h4

h5
h6
http://join2-wiki.gsi.de/foswiki/pub/Main/Artwork/join2_logo100x88.png

Efficiency and scalability exploration of an application-specific instruction-set processor for deep convolutional neural networks



Verantwortlichkeitsangabevorgelegt von Andreas Bytyn, M.Sc.

ImpressumAachen : RWTH Aachen University 2020

Umfang1 Online-Ressource : Illustrationen, Diagramme


Dissertation, Rheinisch-Westfälische Technische Hochschule Aachen, 2020

Veröffentlicht auf dem Publikationsserver der RWTH Aachen University 2021


Genehmigende Fakultät
Fak06

Hauptberichter/Gutachter
;

Tag der mündlichen Prüfung/Habilitation
2020-12-15

Online
DOI: 10.18154/RWTH-2021-02253
URL: https://publications.rwth-aachen.de/record/814602/files/814602.pdf

Einrichtungen

  1. Lehrstuhl für Integrierte Systeme der Signalverarbeitung (611810)

Inhaltliche Beschreibung (Schlagwörter)
application-specific instruction-set processors (frei) ; artificial intelligence (frei) ; convolutional neural networks (frei) ; hardware optimization (frei) ; machine learning (frei)

Thematische Einordnung (Klassifikation)
DDC: 621.3

Kurzfassung
Mit der zunehmenden Nutzung künstlicher neuronaler Netze zur Umsetzung von Aufgaben wie der Klassifikation von Bildern, Objektdetektion, usw., ist die Notwendigkeit gestiegen solche Anwendungen zu beschleunigen. Heutzutage sind speziell Convolutional Neural Networks (CNNs) in der breiten Masse von Anwendungen vorzufinden, wie unter anderem ersichtlich durch die vielen CNN-basierten Filter zur Bildaufbesserung in Smartphones, jedoch auch in traditionelleren Branchen wie der Automobilindustrie, welche CNNs zur Erkennung von Fußgängern, Verkehrszeichen, usw., nutzt. Aktuell verfügbare Signalverarbeitungsarchitekturen besitzen jedoch nicht den gewünschten Grad an Flexibilität und Energieeffizienz, welcher in Szenarien mit beschränkter Energieverfügbarkeit und Leistungsaufnahme notwendig ist. Diese Dissertation stellt Methoden und eine prototypische Implementierung einer solchen Signalverarbeitungsarchitektur vor, sodass hiermit die Lücke zwischen Flexibilität und Energieeffizienz überbrückt wird. Hierzu werden Untersuchungen durchgeführt und Optimierungen sowohl der zugrundeliegenden Algorithmen, der Software, als auch der Hardware vorgenommen. Verschiedene algorithmische Optimierungen, welche dabei helfen können, die Energieeffizienz der Signalverarbeitung zu erhöhen, werden quantitativ in dieser Dissertation untersucht. Dies schließt Methoden zur Quantisierung der Berechnungen und zur Kompression der Parameter neuronaler Netze ein. Um sicherzustellen, dass eben genannte Untersuchungen repräsentativ sind, werden verschiedene CNN Architekturen, sowohl mit üblichen Faltungsebenen als auch mit fortgeschritteneren Blöcken, wie z.B. residuellen Faltungsblöcken und so genannten „depthwise-separable Convolutions“, untersucht. Basierend auf dieser tiefgehenden Analyse wird ein Prozessor mit applikationsspezifischen Instruktionssatz von Grund auf neu entwickelt, welcher in der Lage ist verschiedene dieser effizienzsteigernden Techniken auszunutzen. Die arithmetischen Einheiten dieses Prozessors wurden basierend auf den Ergebnissen der vorangegangenen Untersuchung hinsichtlich der Quantisierbarkeit so ausgelegt, dass die dynamische Verlustleistungsaufnahme minimal ist. Hierzu werden sub-wort parallele Multiplizierer mit reduzierter Wortbreite eingesetzt, welche ebenfalls in der Lage sind, die spärliche Besetzung mit von Null verschiedenen Werten in den Daten der CNN Berechnungen auszunutzen. Um eine hohe Auslastung der arithmetischen Einheiten sicherzustellen, wurden viele applikationsspezifische Submodule in den Prozessor integriert. Weiterhin wurde der Entwurfsraum, welcher durch die Auswahl verschiedener Grade an Datenparallelismus innerhalb des Prozessors entsteht, ausführlich untersucht. Hierzu wurde der Prozessor in einer modernen 28 nm CMOS Technologie mittels Logiksynthese realisiert. Mehrere unterschiedlich skalierte Varianten des Prozessors wurden anschließend bis hin zur Platzierung und Verdrahtung implementiert und zur weiteren Analyse simuliert. Hochoptimierte Software Kernfunktionen, welche verschiedene Arten des Parallelismus ausnutzen und hierdurch die Datenlokalität maximieren sowie externe Datenzugriffe minimieren, wurden für genannten Prozessor entwickelt. Das Ermitteln eines optimalen Datenflusses, sprich die Festlegung welche Teile des CNNs in lokalen Speichern gehalten werden und an welchen Stellen Daten besser nachgeladen werden, wird analytisch mittels eines Integer Non-Linear Programming (INLP) Ansatzes formuliert. Dieses INLP Modell wird zur Untersuchung auf Systemebene genutzt und hiermit werden Parameter wie die chip-interne Speichermenge sowie die externe Speicherbandbreite untersucht. Schlussendlich wird eine Simulation des fertig verdrahteten Chips zusammen mit den optimierten Software Kernfunktionen genutzt, um verschiedene CNNs zu messen und miteinander zu vergleichen. Diese finalen Resultate werden mit denen anderer Hardwarebeschleuniger, welche dem Stand der Technik entsprechen, verglichen. Hierbei zeigt sich, dass eine Leistungsfähigkeit und Energieeffizienz auf dem Level anderer festverdrahteter Lösungen realisiert wird, während eine deutlich gesteigerte Flexibilität durch die Nutzung einer Instruktionssatz-basierten Signalverarbeitungsarchitektur umgesetzt wird.

With the increasing adoption of artificial neural networks (ANNs) for the realization of tasks like image classification, object detection, etc., an equally increased need for the efficient acceleration of these workloads has arisen. Today, especially convolutional neural networks (CNNs) have reached both the mainstream consumer market, as evident e.g. by many CNN-based image enhancement filters found in modern smartphone cameras, and also more traditional branches like the automotive industry, which aims to use CNNs for pedestrian detection, traffic sign recognition, etc. Currently available off-the-shelf processing systems, however, do not provide both the desired degree of flexibility and energy efficiency that is required in energy and power constrained environments. This thesis provides methods and a proof of concept hardware implementation that help in bridging this efficiency-flexibility gap by jointly investigating algorithm, software, and hardware optimizations. Several algorithmic techniques that help to increase the overall processing efficiency are quantitatively investigated in this thesis, including different methods for the quantization of computations and for the compression of neural network parameters (pruning). To ensure that the overall results are representative, different CNNs using regular convolutional layers, as well as more advanced residual blocks and depthwise-separable convolutions are explored. Based on this in-depth analysis, an application-specific instruction-set processor (ASIP) was designed from scratch, which is capable of exploiting several of these efficiency enhancing techniques. Its arithmetic units were designed based on the previously mentioned quantization analysis in order to minimize their dynamic power consumption by employing subword-parallel multipliers with reduced wordwidth, which are also capable of exploiting the sparsity found in CNN computations. Many application-specific sub-modules were incorporated to ensure a high degree of utilization regarding the arithmetic units. Furthermore, the ASIP’s design space, resulting from choosing different degrees of data-level parallelism (DLP), is thoroughly investigated based on results obtained via logic synthesis using a modern 28nm CMOS technology. Several differently scaled versions of the resulting processor were implemented down to the placed and routed chip to subsequently simulate and further analyze them. Highly optimized software kernels, which exploit multiple degrees of parallelism and aim at maximizing local data reuse in an effort to minimize redundant off-chip transfers, were implemented for the proposed ASIP. The problem of determining a suitable data flow pattern, i.e. figuring out which portions of the CNN to keep in local memory and when and where to load new data, is analytically modeled in this thesis via an integer non-linear programming (INLP) formulation. This INLP model is used for a system-level exploration of several relevant parameters like on-chip memory size and off-chip bandwidth. Finally, post-layout netlist simulations are used together with the optimized software kernels to execute several benchmark CNNs. These final results are compared to other state-of-the-art accelerators, showing performance values and energy efficiencies on the same level as other hardwired solutions, while offering vastly increased flexibility through the ASIP’s software programmability.

OpenAccess:
Download fulltext PDF
(additional files)

Dokumenttyp
Dissertation / PhD Thesis

Format
online

Sprache
English

Externe Identnummern
HBZ: HT020873951

Interne Identnummern
RWTH-2021-02253
Datensatz-ID: 814602

Beteiligte Länder
Germany

 GO


OpenAccess

QR Code for this record

The record appears in these collections:
Document types > Theses > Ph.D. Theses
Faculty of Electrical Engineering and Information Technology (Fac.6)
Publication server / Open Access
Public records
Publications database
611810

 Record created 2021-02-27, last modified 2023-04-11


OpenAccess:
Download fulltext PDF
(additional files)
Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)