869 0

CNN 가속화를 위한 효율적인 SIMD 구현 기법

Title
CNN 가속화를 위한 효율적인 SIMD 구현 기법
Other Titles
Efficient SIMD Implementation for Accelerating Convolutional Neural Network
Author
이승진
Alternative Author(s)
Lee, Sung Jin
Advisor(s)
정기석
Issue Date
2019-02
Publisher
한양대학교
Degree
Master
Abstract
오늘날 컨볼루션 신경망 (Convolutional Neural Network)은 컴퓨터 비전, 음성 인식, 자연어 처리 등 다양한 분야에서 사용되고 있다. 컨볼루션 신경망의 정확도를 높이기 위해 망을 깊게 모델을 설계하는 연구가 진행되고 있으며 이에 따라 연산량 또한 급격하게 증가하고 있다. 따라서 컨볼루션 신경망은 연산을 빠르게 처리하기 위해 Graphic Processing Unit (GPU)와 같은 가속기를 통해 구현되고 있는 추세이다. 하지만 Internet of Things (IoT) 기기와 같은 경량의 임베디드 시스템은 한정된 자원으로 인해 GPU와 같은 고성능의 가속기를 수용하는데 한계가 있다. 따라서 이러한 경량의 임베디드 시스템은 Central Processing Unit (CPU)를 효율적으로 활용하여 컨볼루션 신경망을 가속하는 것이 중요하다. 현대의 CPU에는 일반적으로 벡터 연산을 통해 데이터 병렬화를 수행할 수 있는 Single Instruction Multiple Data (SIMD) 연산기가 내장되어 있다. 본 논문은 경량의 임베디드 시스템을 위해 컨볼루션 신경망을 가속하기 위한 효율적인 SIMD 구현 기법을 제안하고, 성능 향상을 실험을 통해서 검증하였다. 본 논문에서는 컨볼루션 신경망의 기본 모델 중 하나인 LeNet-5을 ARM 코어에 내장된 SIMD 연산기인 ARM NEON으로 가속했다. 또한 멀티코어 환경에서 병렬프로그래밍 API인 OpenMP를 사용하여 각 코어의 SIMD 연산기를 모두 활용하여 가속하였다. 성능향상을 위해 제안한 방법은 SIMD 장치 내의 벡터 레지스터의 활용도를 높이기 위해 컨볼루션 커널의 형태를 수정하는 데이터 재구성 (Data Reshaping) 기법이다. 그 결과 특징 추출 과정의 실행 속도는 통상적 방법 대비 최대 1.9배까지 가속되었고, 에너지 소모는 최대 58%까지 감소하였다. 실험 결과, 제안하는 기법이 SIMD 연산을 이용해서 CNN을 구현한 프로그램의 성능향상에 기여한 점을 알 수 있다.; Today, Convolutional Neural Network (CNN) is widely used in a variety of fields such as computer vision, speech recognition, and natural language processing. To increase the accuracy of CNN, researches have been carried out to design deeper CNN. For this reason, the amount of computation has also been increasing. Therefore, CNN has lately been accelerated through accelerators such as Graphic Processing Unit (GPU). However, resource-constrained embedded platforms such as Internet of Things (IoT) devices cannot afford to have such accelerators. Therefore, it is important to accelerate CNN by the Central Processing Unit (CPU) efficiently. The Single Instruction Multiple Data (SIMD) unit which can perform data parallelization through vector operation is integrated in many CPUs. In this thesis, we propose an efficient SIMD implementation method for accelerating CNN for the resource-constrained embedded system and verify the performance improvement through experiments. LeNet-5, one of the basic model of CNN, is accelerated by ARM NEON which is the SIMD architecture integrated in ARM core. In addition, all the NEON units integrated in quad-core are employed by using OpenMP which is an API for shared-memory parallel programming. The proposed method is the Data Reshaping technique that modifies the shape of the convolution kernel to improve the utilization of the vector register in NEON units. In the experiment, the execution speed of the feature extraction is accelerated up to 1.9 times compared with the conventional method and the energy dissipation is also reduced by up to 58% than the conventional method. The experimental results show that the proposed method contributes to the performance improvement of CNN implementation with SIMD operation.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/99699http://hanyang.dcollection.net/common/orgView/200000434404
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > ELECTRONICS AND COMPUTER ENGINEERING(전자컴퓨터통신공학과) > Theses (Master)
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