340 0

효과적인 CNN 추론 가속화를 위한 인공신경망 가속기 구조

Title
효과적인 CNN 추론 가속화를 위한 인공신경망 가속기 구조
Other Titles
Efficient Accelerator Architecture for Convolutional Neural Network Inference
Author
박상수
Advisor(s)
정기석
Issue Date
2023. 2
Publisher
한양대학교
Degree
Doctor
Abstract
컨볼루션 신경망 (Convolutional Neural Network, CNN)은 이미지 분류, 물체 인식 등 컴퓨터 비전 분야에서 문제 해결을 위한 방법으로 큰 주목을 받고 있으며, 비약적인 발전과 함께 물체인식 분야에서 사람의 물체인식 수준을 큰 폭으로 뛰어넘고 있다. 컨볼루션 신경망의 이러한 우수한 성능을 위해서, 컨볼루션 신경망의 망 (Layer)을 깊게 설계하는 연구가 진행되고 있으며, 이에 따라 연산량이 증가하고 있다. 컨볼루션 신경망의 연산량 중에서 가장 큰 비중을 차지하는 것은 행렬 곱셈 연산으로, 행렬 곱셈 연산을 빠르게 처리하기 위해 Graphic Processing Unit (GPU)을 사용하여 추론을 가속하고 있는 추세이다. GPU는 범용 연산기로 추론을 빠르게 가속하는 것이 가능하지만, 많은 전력소모로 인하여 경량의 임베디드 시스템에서 사용하기에는 한계가 존재한다. 이러한 문제를 해결하기 위해 높은 에너지 효율로 동작 가능한 고성능의 신경망 가속기 연구 (Neural Processing Unit, NPU)가 활발하게 진행되고 있지만, 효율성 관점에서 하드웨어 구현 비용 (Performance/Power/Area)과 신경망 가속기 내부에서 수행되는 연산 효율 (Computing Unit Utilization)에 대한 분석은 상대적으로 적다. 본 학위 논문에서는 행렬 곱셈 하드웨어를 통한 신경망 가속을 위해 행렬 곱셈 방법, 연산의 효율성 개선 및 하드웨어 구현 비용 최소화에 대한 연구를 진행하였다. 본 논문에서는 곱셈 연산이 덧셈 연산에 비해 구현 비용이 높은 점에 착안하여, 이를 개선할 수 있는 행렬 곱셈 알고리즘 및 다양한 형태의 행렬 곱셈에서도 높은 연산 효율을 가질 수 있는 하드웨어 구조를 제안하여 신경망 가속기의 연산 효율과 전력 효율성을 높였다. 본 논문에서는 첫 번째로 행렬 곱셈의 하드웨어 구현 비용을 개선할 수 있는 행렬 곱셈 알고리즘 (Cost-Centric Matrix Multiplication)을 제안하였다. 곱셈 연산은 복잡한 연산 과정으로 인하여 덧셈 연산에 비해 6배 이상의 반도체 면적과 에너지 소모가 요구되며, 따라서 컨볼루션 신경망의 가속에는 높은 하드웨어 구현 비용이 필요하다. 본 논문에서 제안하는 행렬 곱셈 알고리즘은 곱셈 연산을 덧셈 연산으로 변환하여 곱셈의 횟수를 기존의 행렬 곱셈 알고리즘 대비 14% 줄였으며 이를 하드웨어로 구현하여 기존의 행렬 곱셈 하드웨어에 비해 14.38%의 반도체 면적과 13.37%의 전력 소모를 줄일 수 있는 것을 확인하였다. 또한, 가속기 내부의 온칩 메모리 (SRAM)에 로드 된 데이터의 재사용성을 최대화면서 하드웨어 구현 복잡성을 줄이기 위해, 균일한 크기의 데이터를 여러 단계의 버퍼에 걸쳐 재사용하는 Data Tiling (DT) 기법을 제안하였고, 이 두가지 방법을 이용한 신경망 가속기는 기존 연구 대비 추론 속도의 저하 없이 최대 11.6배의 전력 효율성, 전력 및 면적 효율성에서 최대 88배의 성능 향상이 가능함을 확인하였다. 마지막으로, 본 논문에서는 신경망에서 사용되는 다양한 모양 및 크기의 행렬 곱셈으로 인하여 발생되는 가속기의 연산 효율 감소를 개선하기 위한 행렬 곱셈 하드웨어를 제안하였다. 신경망 가속기에서 일반적으로 사용되는 Systolic Array, SIMD 구조는 연산 되는 행렬의 모양 및 크기가 가속기에서 계산 가능한 행렬의 모양과 일치하거나 정사각형 모양에 가까울 때만 높은 연산 효율을 얻는 것이 가능하다. 하지만 컨볼루션 신경망에 사용되는 행렬 곱셈은 수평 또는 수직 방향으로 긴 형태의 행렬 곱셈이 큰 비중을 차지하며, 행렬의 모양 및 크기가 다양하기 때문에 연산 효율은 신경망에 따라 매우 상이하다. 본 논문에서는 이러한 문제를 해결하고자 신경망 가속기 내부의 온칩 메모리와 연산 장치 사이에 Multiplexer (MUX) 회로를 추가하여, 가속기에서 연산 되는 행렬 곱셈의 모양 (행렬 모드)을 변경할 수 있는 행렬 엔진 (Configurable Matrix Engine)을 제안한다. 제안하는 행렬 엔진은 신경망의 행렬 곱셈에서 가장 최적의 연산 효율을 얻을 수 있는 행렬 모드에 맞춰 온칩 메모리와 연산 장치 사이 간의 데이터 패스 (Datapath)를 설정하여, 연산 효율을 높인다. 제안하는 하드웨어는 추가적인 0.4%의 면적 및 0.23%의 전력소모 오버헤드로, 기존 가속기 구조 대비 최대 68.4% 추론 처리량 (초당 추론 가능한 이미지의 숫자) 개선, 에너지 소모는 40% 감소가 가능함을 확인하였다. | Convolutional Neural Networks (CNNs) have emerged as a promising solution for computer vision, and they achieved tremendous progress in that field. CNNs require a considerable amount of computation because they have many convolution layers. Numerous studies have been conducted to accelerate CNNs with high energy efficiency by designing neural network accelerators. However, from an efficiency perspective, improvements to hardware implementation cost (Performance/Power/Area, PPA), and computational efficiency (computing unit utilization) remain a problem. In this dissertation, we have studied a neural network accelerator architecture with cost-effective (CENNA) and computational-effective (CONNA) matrix multiplication hardware. The main objectives of this dissertation are to reduce the hardware implementation cost and improve the computational efficiency of matrix multiplication for neural network accelerators. CENNA is a novel architecture that reduces the hardware implementation cost by replacing multipliers with adders. Multiplier requires more than six times silicon area and power consumption compared to adder due to the complex computation process. Compared to the conventional matrix multiplication algorithm, the proposed matrix multiplication decreases the number of multiplication by 14%, thus silicon area and power consumption are reduced by 14.38% and 13.37%, respectively. Also, to reduce the implementation cost while maximizing the reuse of data loaded into on-chip memory, it reuses uniform-sized data across multiple-stage buffers called Data tiling (DT). The experimental results show that the accelerator using the two proposed methods improves power and overall efficiency by up to 11.6 times and 88 times respectively, without degrading computing performance over conventional neural network accelerators. CONNA is a novel matrix multiplication hardware to improve computational efficiency by changing the shape of matrix multiplication conducted in the hardware. Typical neural network accelerators can achieve high computational efficiency only when the shape and size of the matrix being computed match the shape of the processing element (PE) array in the accelerator or is close to a square shape. However, matrix multiplications in CNNs have non-squared matrices with various shapes and dimensions, and such irregular shapes lead to the poor computational efficiency of the PEs. To improve computational efficiency, CONNA includes multiplexers between on-chip memory and PEs. It configures the data path to the shape of matrix multiplication that can achieve optimal computational efficiency. With negligible overhead, the proposed CONNA improves both the computational efficiency and the inference throughput by over 68.4% and reduces the energy dissipation by 40% over conventional neural network accelerators.
URI
http://hanyang.dcollection.net/common/orgView/200000652624https://repository.hanyang.ac.kr/handle/20.500.11754/179687
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > DEPARTMENT OF ELECTRONIC ENGINEERING(융합전자공학과) > Theses (Ph.D.)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE