Open Access System for Information Sharing

Login Library

 

Thesis
Cited 0 time in webofscience Cited 0 time in scopus
Metadata Downloads

압축된 뉴럴 네트워크의 연산을 위한 에너지 효율이 높은 하드웨어 가속기 설계

Title
압축된 뉴럴 네트워크의 연산을 위한 에너지 효율이 높은 하드웨어 가속기 설계
Authors
류성주
Date Issued
2021
Publisher
포항공과대학교
Abstract
인공지능은 인간의 두뇌 활동을 모방함으로써 컴퓨터 프로그램상에 인간의 인지능력을 구현하는 영역이다. 여러 가지 인공지능의 구현 방법 중 딥 뉴럴 네트워크 (deep neural network, DNN)들은 컴퓨터 영상처리, 음성인식, 번역 등을 비롯한 여러 가지 응용 분야에서 전례가 없는 좋은 성능을 보여주는 덕분에 많은 인기를 얻고 있다. DNN들은 보통 수십에서 수백 개 이상의 신경망 계층 (layer)들로 구성되며, 이러한 딥 뉴럴 네트워크의 연산은 상당히 많은 수의 곱셈-덧셈 (multiply-accumulate, MAC) 동작들이 주를 이룬다. MAC 연산을 효율적으로 수행하기 위해, 몇몇 전용 하드웨어 가속기들이 소개됐다. 기본 구조는 systolic array 기반의 MAC array이며, 이러한 MAC array는 동시에 많은 입력값 (input)들과 가중치 (weight)들을 이용한 행렬 (matrix-matrix) 곱셈 연산을 수행한다. 그러나, 최근 DNN 모델들은 매우 높은 계산 복잡도 (25G 번의 동작들)와 매우 큰 메모리 사용량 (150M 데이터들)을 갖기 때문에, 하드웨어에서 이렇게 부담스러운 모델들을 연산하는 것이 여전히 어려운 문제로 남아있다. 그리하여 많은 연구자들이 DNN 모델들의 계산량 및 메모리 사용량을 줄이는 연구를 수행해오고 있다. 잘 알려진 방법들 중의 하나는 DNN에 사용하는 데이터들을 낮은 비트 정밀도 (bit precision)로써 표현하는 것이다. 낮은 비트 정밀도를 사용할수록, 하드웨어로 MAC 동작을 수행하기 위한 연산 복잡도가 2차 식으로 (quadratically) 줄어들고 메모리 사용량은 1차 식으로 (linearly) 줄어든다. 이러한 방법으로 많은 MAC 연산 횟수에 대한 부담을 완화할 수 있다. 한편, DNN 연산에서 최적의 비트 정밀도를 찾기 위한 연구 결과들이 소개됐다. 그 결과, 대부분의 network들에서 layer에 따라 서로 다른 다양한 비트 정밀도가 필요하다는 사실이 잘 알려져오고 있다. 이렇게 다양한 조건의 여러 quantized neural network들을 처리하기 위해, 정밀도를 가변할 수 있는 (precision-scalable) 하드웨어 가속기들이 소개되었다. 그러나, 기존에 소개된 가변 정밀도 하드웨어 가속기들은 다음과 같은 한계점을 갖는다. 예를 들어, 곱셈기의 이용률 (utilization)이 감소하거나, 정밀도 가변이 가중치에 대해서만 지원되거나, 정밀도 가변을 위한 회로가 칩 면적을 많이 증가시킨다. DNN 모델들의 복잡도를 줄이기 위해 잘 알려진 또 다른 방법은 비교적 덜 중요한 가중치 (weight) 연결들을 삭제하는 가중치 pruning 방법이다. 가중치 pruning 방법을 적용할 때 AlexNet과 VGG-16 네트워크에서 각각 9배, 13배의 가중치 연결도를 줄일 수 있다. 그러나, 이러한 sparse neural network들을 dense 행렬 연산에 최적화된 기존 하드웨어에서 연산한다면, 많은 곱셈기에서 의미 없는 `0'에 의한 곱셈 연산을 수행하기 때문에, 실질적인 큰 성능향상 효과는 일어나지 않는다. Sparse 가중치 행렬들을 효율적으로 처리하기 위해, compressed-sparse row (CSR), compressed-sparse column (CSC), bit-vector encoding, run-length encoding (RLE)을 비롯한 여러 인코딩 방법들이 소개됐다. 이 방법들은 `0' 값들을 최대한 압축함으로써 DNN 연산을 위해 필요한 데이터들의 수를 많이 감소시키지만, 행렬 상에서 `0'값들이 일반적으로 불규칙한 분포로 저장되어 있으므로 성능향상이 제한적이다. 이러한 sparse neural network들의 추론 작업을 효율적으로 수행하기 위해 전용 하드웨어 가속기들이 설계되었다. 이러한 sparse neural network 가속기에서는 `0'이 아닌 입력들과 가중치들 중에 같은 채널 인덱스를 갖는 값들을 짝으로 만들기 위한 index-matching 회로가 반드시 필요하다. 그러나, 기존 sparse neural network 가속기들의 경우, index-matching 단계에서 곱셈기들의 이용률이 감소하거나, 메모리와 곱셈기 사이의 경로에서 데이터 멈춤 (stall) 현상이 빈번히 발생하는데, 이로 인해 전체 시스템의 연산 처리 효율 (throughput)이 크게 떨어지는 단점을 갖는다. 위에서 언급한 배경을 바탕으로, 본 학위 논문에서는 두 가지 대중적인 압축된 (compressed) 뉴럴 네트워크 (quantized neural network 및 sparse neural network) 들의 면적 및 에너지 효율이 높은 하드웨어 가속기 설계 방법을 제안하였다. 먼저, bitwise summation 방법을 제안하여, 이를 이용해 설계한 BitBlade 가속기 구조를 소개하였다. 또한, 입력값들과 가중치 값들을 메모리로부터 효율적으로 불러오기 위해 channel-wise aligning 방법이 제안되었다. 상용 28nm CMOS 공정을 이용해 테스트 칩을 제작하였으며, SRAM 버퍼의 용량과 연산기의 개수 사이에 균형을 맞춤으로써 칩과 DRAM 간의 통신 횟수를 줄였다. 두 번째로, 고성능의 sparse neural network 하드웨어 가속기 SPRITE를 소개하였다. SPRITE 가속기 구조의 핵심 내용은 index-matching 비교기들이 matrix 밀도에 크게 관계없이 일정한 매칭 확률을 갖도록 한 것이다. 덧붙여, DNN 하드웨어에서 많이 사용되는 MAC 연산기는 일반적으로 칩의 많은 부분을 차지하는 동시에 timing-critical path들을 차지하는 이유로 시스템의 성능을 결정하는 요소 중 하나이다. 이러한 MAC 연산기의 성능을 높이기 위해, DNN 처리 과정에서 필요한 많은 수의 거듭되는 MAC 연산 중 최종 MAC 연산 결과만 DNN 연산에 실질적으로 사용한다는 특성을 기반으로, feedforward-cutset-free (FCF) pipelining 방법을 제안하여 DNN 하드웨어 가속기의 칩 면적 및 사용 전력을 감소시켰다. 이렇게 본 학위 논문에서는 하드웨어에서의 DNN 연산을 고성능과 높은 에너지 효율로 수행할 수 있도록 하는 하드웨어 설계 방법들을 소개하였다. 최근에, 스마트폰, 스마트 워치, 인공지능 스피커를 비롯한 여러 edge/IoT 장치들에서 DNN 연산을 수행하고자 하는 수요가 급격히 늘어나고 있는데, 제안한 설계 방법들을 통해 이러한 DNN 연산을 전용 하드웨어에서 효율적으로 수행하도록 하는데 이바지함을 기대하고 있다.
In this dissertation, we propose design methodologies to efficiently handle two popular types of compressed neural networks (quantized/sparse neural networks) on custom hardware. While such compressed neural networks reduce both the memory footprint and the computational complexity, computing the compressed neural networks on the conventional hardware accelerators leads to the performance degradation. To overcome such a limitation, we first propose the BitBlade, a compact precision-scalable neural network hardware accelerator. While previous scalable accelerators require a large chip area to support dynamic precision scaling, our BitBlade architecture achieves the scalability with smaller area by introducing a bitwise summation scheme. The BitBlade chip was fabricated in a 28nm CMOS technology and the throughput and the system-level energy-efficiency were improved by up to 7.7x and 1.64x, respectively, compared to the state-of-the-art precision-scalable accelerators. In addition, we propose the SPRITE, a high-performance accelerator for sparse neural networks. Previous sparsity-aware accelerators experience the under-utilization or stalls in a multiplication stage due to the irregular indices of non-zero values. On the other hand, our SPRITE architecture achieves the high utilization of multiply-accumulate units over a wide range of sparsity thanks to the constant probability of channel index-matching. The SPRITE improves the system performance by up to 6.1x compared to previous sparsity-aware neural processing units with comparable overall energy-efficiency. Before introducing our accelerators for the compressed neural networks, we also present a feedforward-cutset-free pipelined multiply-accumulate unit tailored to machine learning hardware accelerators.
URI
http://postech.dcollection.net/common/orgView/200000369194
https://oasis.postech.ac.kr/handle/2014.oak/111282
Article Type
Thesis
Files in This Item:
There are no files associated with this item.

qr_code

  • mendeley

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

Views & Downloads

Browse