[딥러닝 논문 리뷰와 알고리즘 공부] #2 Efficient Processing of Deep Neural Networks : A Tutorial and Survey

Jude's Sound Lab·2022년 3월 1일
0

Paper Review

목록 보기
2/16

Abstract

Deep neural networks는 다양한 분야에서 상당한 성능을 보이며 사용이 되고 있다. 하지만 딥러닝 연산은 높은 컴퓨터 연산을 필요로 하는 작업이다. 따라서 효율적인 연산의 중요성 즉, 과업의 정확도를 해치지 않고 하드웨어적인 소모값을 늘리지 않는 선에서 딥러닝의 활용도를 늘려가는 일은 매우 중요한 일이 되었다.
이 논문에서는 딥러닝 연산의 효율성을 높이기 위한 그간의 과정들을 다룰 것이다. 우선적으로 DNN들이 어떻게 발전되어왔고 진행이 되어왔는지를 살펴보고, hardware적인 platforms와 architecture가 이를 어떻게 보완해주었는지를 다룬다. 그리고 하드웨어 디자인적인 해결방법에 대해서 더 다룰 예정이다. 결국 이 논문에서 주로 다룰 것은 DNN의 효율성을 높이기 위한 하드웨어적인 접근 방법에 대한 가이드라인인 것 같다.

Introduction

논문은 다음과 같이 구성되어 있다.
section II : DNN의 역사와 진행도
section III : DNN의 주요 요소와 주요 모델들
section IV : DNN에 사용되는 다양한 resources
section V : hardware platforms와 다양한 optimizations들에 대한 소개
section VI : mixed-signal circuits와 new memory technology가 가지는 의미
section VII : joint algorithm과 hardware optimization의 역할
section VIII : 다양한 DNN design에서의 비교

section II, III의 내용은 DNN에 대한 기본적인 설명이기에 본 리뷰에서는 설명을 생략한다.

IV. DNN Development Resources

development resources들이 DNN의 빠른 성장에 큰 역할을 했다.
그리고 앞으로도 이 요소들은 딥러닝의 성장에 중요한 역할을 할 것이다.

A. Frameworks

Caffe(2014), Tensorflow(2015), Pytorch, Keras 등의 딥러닝 프레임 워크는 딥러닝의 편리한 사용을 돕는 것을 넘어서 engineering high performance를 위해서도 컴퓨터 연산의 효율성을 위한 작업에도 도움이 된다. 대표적인 예가 cnDNN library를 활용해서 GPU의 연산을 좀더 원할하게 한 것이다.

B. Models

우리는 미리 학습된 DNN 모델을 쉽게 다운로드 받고 사용이 가능하다. 특이한 점은 이 모델들은 만들어질때와 실제 사용이 될때에 1~2% 정도의 정확도 차이를 보인다는 것이다.

DNN 모델을 테스트 해보기 위한 데이터셋들은 공개적으로 구할 수 있는 것들이 있는데 그 대표적인 예가 MNIST, CIFAR, ImageNet dataset일 것이다. 상대적인 난이도로 봤을때 MNIST보다는 ImageNet이 좀더 어렵다. 하지만 이 난제조차도 2017년의 모델에서는 97.7%의 적중률(top-5)을 보였다.

D. Datasets for Other Tasks

single-object localization, objec detection등의 단순 분류를 넘어서 task들이 있다. 또한 ImageNet을 넘어서 PASCAL VOC, MS COCO와 같은 데이터 셋들이 있으며 이러한 데이터 셋들은 미래의 DNN 엔진들에 중요한 resouces로 작동을 할 것이다.

V. Hardware for DNN Processing

다양한 hardware platform들이 DNN processing을 지원한다. 예를 들어 Intel Knights Landing CPU는 딥러닝을 위한 특별한 벡터 instructions를 지원하며, Nvidia PASCAL GP100 GPU는 16-bit 수학 연산을 지원한다. system의 경우도 Nvidia DGX-1, Facebok Big Basin과 같은 특별한 DNN server를 찾아 볼 수 있다.
또한 DNN의 활용은 Nvidia Tegra, Samsung Exynos, FPGAs와 같은 System-on-chips에서도 사용이 되고 있다.
따라서 딥러닝 연산이 이러한 platfor위에서 어떻게 동작하는 지를 이해한다는 것은 매우 중요한 일이 되었다.

profile
chords & code // harmony with structure

0개의 댓글