Publications

Detailed Information

The Design Method and Application of Convolutional Neural Network Specialized Hardware Accelerator Utilizing Sparsity : 컨볼루셔널 뉴럴네트워크의 제로 데이터를 활용한 전용 하드웨어 가속기의 설계 방법론 및 응용

DC Field Value Language
dc.contributor.advisor유승주-
dc.contributor.author김동영-
dc.date.accessioned2019-10-21T02:28:12Z-
dc.date.available2019-10-21T02:28:12Z-
dc.date.issued2019-08-
dc.identifier.other000000156174-
dc.identifier.urihttps://hdl.handle.net/10371/162026-
dc.identifier.urihttp://dcollection.snu.ac.kr/common/orgView/000000156174ko_KR
dc.description학위논문(박사)--서울대학교 대학원 :공과대학 컴퓨터공학부,2019. 8. 유승주.-
dc.description.abstract뉴럴네트워크는 다양한 어플리케이션에서 널리 쓰이고 있다.
특히, Convolutional Neural Network (CNN)은 영상 인식 및 분류 시스템에서 괄목할만한 정확도를 보이고 있다.
비록 CNN이 다양한 어플리케이션에서 높은 정확도를 보이고 있지만, 이러한 정확도를 얻기 위해서는 많은 convolutional layer가 필수적이다.
하지만 이러한 network는 많은 계산량을 요구하기 때문에 제한된 하드웨어 자원을 가지고 있는 VR혹은 자율주행 자동차 등의 물체 인식 및 감지를 위한 실시간 임베디드 시스템에 CNN을 적용하는 것은 기술적으로 넘어야 할 장벽이 존재한다.
그렇기 때문에 물체 인식 및 감지를 위한 실시간 임베디드 시스템에 CNN을 적용하기 위해 convolutional layer 최적화는 매우 중요하다.

일반적으로 convolutional layer는 하나의 결과값을 계산하기 위해 3차원 데이터를 입력으로 받아 수천개의 곱셈 및 덧셈을 수행하고, 3차원 출력을 생성하기 위해 이러한 과정을 반복한다.
따라서 convolutional layer를 수행하는데는 매우 많은 양의 연산이 필요하며, 곱셈 및 덧셈의 양을 줄여 빠른 convolution을 구현함으로써 물체 인식 및 감지를 위한 실시간 임베디드 시스템에 CNN을 적용하는것이 가능 할 수 있다.
뉴럴 네트워크 가속을 위해 최근 몇년간 전용 하드웨어 가속기에 대한 연구가 활발히 진행되고 있다.
제안된 뉴럴 네트워크 전용 하드웨어 가속기들은 주로 뉴럴 네트워크에 제로 데이터가 많다는 특성 (sparsity)과 양자화 적용 후에도 정확도 손실이 적다는 특성 (low-precision)을 활용하여 뉴럴네트워크를 최적화한다.

CNN의 입력 activation및 weight에 많은 제로 데이터가 있다는 사실을 활용하여 우리는 제로 데이터를 활용한 뉴럴네트워크 전용 하드웨어 가속기를 제안한다.
기존 뉴럴네트워크 전용 하드웨어 가속기와 달리 우리는 activation 및 weight의 제로 데이터를 모두 활용하여 가속기의 수행시간 및 에너지 소모량을 감축한다.
또한 제로 데이터를 활용한 전용 하드웨어 가속기의 병렬성을 증가시킬 때 발생하는 새로운 문제인 zero-induced load imbalance를 소개하고 이를 완화하기 위한 방안을 제시한다.
본 논문은 제로 데이터를 활용한 아키텍처에서 추가적인 에너지 소모 감소를 위한 다양한 최적화 기법 또한 제안한다.

우리는 뉴럴네트워크가 더 복잡한 어플리케이션을 처리하고 높은 정확도를 얻기 위해 깊어지고 있는 현상에 주목한다.
뉴럴 네트워크는 향후 layer수가 증가할수록 계산량이 기하급수적으로 증가하여 최적화 없이 하드웨어 자원이 제한된 실시간 임베디드 시스템에 적용하기 어려워질 것으로 예상된다.
따라서 우리는 미래 뉴럴 네트워크 전용 하드웨어 가속기가 sparsity와 low-precision 모두 적용하는 등 극도의 최적화를 진행해야 제한된 하드웨어 자원 상에서 원하는 성능을 달성할 수 있을 것으로 예상한다.
이러한 최적화 방법을 현존하는 뉴럴 네트워크 가속기 구조에 그대로 적용할 경우 기대 성능을 얻을 수 없도록 하는 새로운 문제가 발생할 수 있지만 아직 이에 대한 분석이 부족하다.

본 논문에서 우리는 제로 데이터를 활용한 뉴럴네트워크 전용 하드웨어 가속기 (ZeNA)를 제안한다.
ZeNA는 CNN의 activtion과 weight 모두의 제로 데이터를 활용하여 뉴럴 네트워크의 수행 시간은 물론 소모 전력 또한 감축한다.
제안된 전용 하드웨어 가속기는 제로 데이터를 전혀 활용하지 못하거나, activation과 weight의 제로 데이터 중 한 종류의 제로 데이터만 활용하는 기존의 뉴럴 네트워크 전용 하드웨어 가속기 대비 더 높은 성능과 낮은 전력 소모량을 보인다.
또한 우리는 zero-induced load imbalance의 해결법, 메모리 전력 최적화 기법 등 제로 데이터를 활용한 전용 하드웨어 가속기를 위한 다양한 최적화 기법및 sparsity와 low-precison을 모두 활용하는 미래의 뉴럴 네트워크 전용 가속기에 대한 분석 또한 제시한다.
-
dc.description.abstractNeural networks show ever-widening usage in various applications.
Especially, convolutional neural networks (CNNs) show reliable accuracy on various vision tasks from image classification to segmentation.
Even though CNNs offer reliable accuracy, they demand deep convolutional layers which have considerable computations.
Such deep layers are unsuitable for real-time embedded systems for object recognition and detection (e.g., virtual reality and autonomous car), since they require a large number of computations with restricted hardware resources.
Thus, in order to realize real-time recognition systems on embedded systems, it is critical to optimize the convolutional layers.

Typically, each convolutional layer takes three-dimensional data as input, and performs convolution requiring a large number of multiplications and additions, resulting in three-dimensional output data.
Thus, reducing the amount of multiplications and additions is the key to realize fast convolution as well as real-time recognition systems on embedded devices.
As a solution to high computation overheads of convolution, neural network accelerators have been widely studied in recent years.

Based on the fact that CNNs can be characterized by a significant amount of zero values in both kernel weights and activations, we propose Zero-aware Neural Network Accelerator.
Unlike previous approaches exploiting sparsity, we aim at utilizing zero values in both activations and weights to reduce runtime and energy consumption of convolution.
We also introduce new problem of fine-grained zero-aware parallel hardware architectures for CNN, which we call zero-induced load imbalance problem, and present solutions to mitigate this problem.
In order to achieve further energy reduction, we propose several optimization methods for zero-aware architecture such as memory optimization.

We also take notice that the neural network becomes deeper to handle more complicated tasks and to achieve higher accuracy.
However, since deeper layers prevent us from implementing real-time embedded applications, future hardware accelerators for neural networks are desirable to support both zero-skipping and very low-precision scheme to meet tight performance requirement while satisfying restricted resource.
Applying both zero-skipping and very low-precision approach to current architectures may incur new problems that prevent us from achieving fully optimized hardware accelerators, which however, has not been analyzed quantitatively.

In this dissertation, we propose a novel Zero-aware Neural Network Accelerator for CNNs named ZeNA.
It aims at exploiting zero values in both kernel weights and input activations thereby reducing the runtime and energy consumption of convolution.
The proposed architecture can provide higher performance and lower energy consumption compared with existing hardware accelerators, which are unaware of zero values or utilize only one type of zero values.
In addition, we propose various optimization approaches for zero-aware hardware accelerator such as solutions to mitigate zero-induced load imbalance problem and memory energy optimization methods.
At the end of the dissertation, we propose quantitative analysis for zero-aware hardware accelerator including impact of data compression on ZeNA and comparison between various ZeNA architectures, which have distinct configurations of bit-width and and zero data ratio.
-
dc.description.tableofcontentsAbstract i

Contents viii

List of Tables ix

List of Figures xv

Chapter 1 Introduction 1

Chapter 2 Background 9
2.1 NeuralNetwork...................... 9
2.1.1 Neuron ...................... 9
2.1.2 LinearClassifier.................. 10
2.1.3 BackPropagation................. 11
2.1.4 BasicNeuralNetworkTopology . . . . . . . . . 12
2.2 ConvolutionalNeuralNetwork .............. 15
2.2.1 Convolutional Neural Network . . . . . . . . . . 15
2.2.2 Layers in Convolutional Neural Network . . . . . 15

Chapter 3 Related Work 21
3.1 Sparsity .......................... 23
3.1.1 DeepCompression ................ 23
3.2 Quantization........................ 25
3.2.1 LogarithmicQuantization............. 25
3.2.2 XNOR-Net .................... 26
3.2.3 DoReFaNet .................... 28
3.3 Hardware Accelerator (Zero-agnostic) . . . . . . . . . . 30
3.3.1 DianNao...................... 30
3.3.2 DaDianNao .................... 31
3.4 Hardware Accelerator (Zero-activation-aware) . . . . . . 33
3.4.1 Eyeriss ...................... 33
3.4.2 Cnvlutin...................... 34
3.5 Hardware Accelerator (Zero-weight-aware) . . . . . . . 37
3.5.1 Cambricon-X ................... 37

Chapter 4 Zero-aware Neural Network Accelerator (ZeNA) V1 39
4.1 IdeaOverview....................... 39
4.2 Architecture........................ 45
4.2.1 ArchitectureOverview .............. 45
4.2.2 WorkDistribution................. 45
4.2.3 DataflowandComputation............ 46
4.2.4 Zero-aware Processing Element Architecture . . 51
4.3 KernelAllocation ..................... 59
4.3.1 Intra-WGLoadImbalance ............ 59
4.3.2 KernelAllocation................. 60
4.4 Evaluation......................... 64
4.4.1 EvaluationMethodology ............. 64
4.4.2 Performance.................... 66
4.4.3 Energy....................... 66

Chapter 5 Zero-aware Neural Network Accelerator (ZeNA) V2 71
5.1 IdeaOverview....................... 71
5.1.1 Intra-/Inter-WG Load Imbalance . . . . . . . . . 71
5.1.2 Appropriate Memory Architecture for Embedded Systems...................... 72
5.1.3 MemoryOptimization .............. 74
5.2 Architecture........................ 75
5.2.1 ArchitectureOverview .............. 75
5.3 DynamicWGAllocation ................. 78
5.3.1 Inter-WGLoadImbalance ............ 78
5.3.2 DynamicWGAllocation............. 78
5.4 MemoryOptimization................... 80
5.4.1 ClockGating ................... 80
5.5 Evaluation......................... 83
5.5.1 EvaluationMethodology ............. 83
5.5.2 Performance.................... 85
5.5.3 Energy....................... 87

Chapter 6 Further Analysis 91
6.1 ImpactofDataCompressiononZeNA . . . . . . . . . . 91
6.1.1 Data Compression Methodology . . . . . . . . . 92
6.1.2 EvaluationandAnalysis ............. 93
6.2 Zero-aware Hardware Accelerator with Very Low-precision 100
6.2.1 Prototyping .................... 101
6.2.2 EvaluationandAnalysis ............. 109
6.3 Comparison between Fine-grained Zero-aware Hardware Accelerators........................ 119
6.3.1 SCNN....................... 119
6.3.2 EvaluationAnalysis................ 120

Chapter 7 Conclusion 125

Bibliography 128

국문초록 136
-
dc.language.isoeng-
dc.publisher서울대학교 대학원-
dc.subject뉴럴네트워크-
dc.subject뉴럴네트워크 최적화-
dc.subject컨볼루션 뉴럴네트워크-
dc.subject양자화-
dc.subject하드웨어 가속기 구조-
dc.subject.ddc621.39-
dc.titleThe Design Method and Application of Convolutional Neural Network Specialized Hardware Accelerator Utilizing Sparsity-
dc.title.alternative컨볼루셔널 뉴럴네트워크의 제로 데이터를 활용한 전용 하드웨어 가속기의 설계 방법론 및 응용-
dc.typeThesis-
dc.typeDissertation-
dc.contributor.AlternativeAuthorDong Young Kim-
dc.contributor.department공과대학 컴퓨터공학부-
dc.description.degreeDoctor-
dc.date.awarded2019-08-
dc.identifier.uciI804:11032-000000156174-
dc.identifier.holdings000000000040▲000000000041▲000000156174▲-
Appears in Collections:
Files in This Item:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share