• 검색 결과가 없습니다.

Low-area DNN Core using data reuse technique

N/A
N/A
Protected

Academic year: 2021

Share "Low-area DNN Core using data reuse technique"

Copied!
5
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

데이터 재사용 기법을 이용한 저 면적 DNN Core

Low-area DNN Core using data reuse technique

조 철 원

*

, 이 광 엽

*

, 김 치 용

**★

Cheol-Won Jo

*

, Kwang-Yeob Lee

*

, Chi-Yong Kim

**★ Abstract

NPU in an embedded environment performs deep learning algorithms with few hardware resources. By using a technique that reuses data, deep learning algorithms can be efficiently computed with fewer resources. In previous studies, data is reused using a shifter in ScratchPad for data reuse. However, as the ScratchPad’s bandwidth increases, the shifter also consumes a lot of resources. Therefore, we present a data reuse technique using the Buffer Round Robin method. By using the Buffer Round Robin method presented in this paper, the chip area could be reduced by about 4.7% compared to the conventional method.

요 약

임베디드 환경에서의 NPU는 적은 하드웨어 자원으로 딥러닝 알고리즘을 수행한다. 데이터를 재사용하는 기법을 활용하면 적은 자원으로 딥러닝 알고리즘을 효율적으로 연산할 수 있다. 선행연구에서는 데이터 재사용을 위해 ScratchPad에서 shifter를 사용해 데이터를 재사용한다. 하지만 ScratchPad의 Bandwidth가 커짐에 따라 shifter 역시 많은 자원을 소모한다. 따라서 Buffer Round Robin방식을 사용한 데이터 재사용 기법을 제시한다. 본 논문에서 제시하는 Buffer Round Robin 방식 을 사용하여 기존의 방식보다 약 4.7%의 Chip Area를 줄일 수 있었다.

Key wordsData Reuse, Round Robin, BSPE, Demux by index, Deep Learning

* Dept. of Electronic and Computer Eng., Seokyeong University ** Dept. of Software, Seokyeong University

★Corresponding author

E-mail:kylee@skuniv.ac.kr, Tel:+82-2-940-7667 ※ Acknowledgment

Manuscript received Jan. 13, 2021; revised Mar. 21, 2021; accepted Mar. 22, 2021.

This research was supported by the MOTIE(Ministry of Trade, Industry & Energy) (10080568) and KSRC(Korea Semiconductor Research Consortium) support program for the development of the future semiconductor device. This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http:// creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited

Ⅰ. 서론

최근 임베디드 환경에서 딥러닝 알고리즘을 수행 하기 위해 많은 연구가 이루어지고 있다. 임베디드 환경에서는 저전력, 저 면적으로 딥러닝 알고리즘 을 수행해야 하므로 NPU(Neural Processing Unit) 의 연구가 활발하게 이루어지고 있다. 딥러닝 알고리즘을 하드웨어에서 수행할 때 요점이 되는 부분은 데이터 재사용이다. Off-Chip Memory에 서 데이터를 전송하게 되면 많은 전력이 소모된다. 따라서 재사용이 많은 딥러닝 알고리즘의 특성을 이용해 내부 ScratchPad에서 데이터를 재사용하는 기법들이 연구되고 있다. 대표적으로 WS(Weight

Stationary), RS(Row Stationary), Overlapping

Computation 등 많은 재사용 기법이 연구되었다 [1][2].

ISSN:1226-7244 (Print)

ISSN:2288-243X (Online) j.inst.Korean.electr.electron.eng.Vol.25,No.1,229~233,March 2021

논문번호 21-01-32 https://doi.org/10.7471/ikeee.2021.25.1.229

(2)

Fig. 1. Conventional BSPE Core. 그림 1. 기존의 BSPE Core

선행연구에서는 Row Stationary와 Overlapping Computation을 결합한 데이터 플로우를 적용한 BSPE Core를 제안했다[3][4]. BSPE Core는 그림 1과 같 다. 데이터 재사용을 위해 Row와 Column 단위로 Overlapping Computation을 수행한다. 이를 위해 가변적인 tiling width[4]를 가진다. Core 내부에는 최대 5×5 커널 연산을 수행하기 위해 총 6개의 column으로 구성된 ScratchPad가 존재한다. 기존에는 ScratchPad에서 데이터 재사 용을 수행하기 위해 Register Shift기법을 이용했 다. 본 논문에서는 기존의 Register Shift기법보다 저면적으로 데이터를 재사용 할 수 있는 Buffer Round Robin를 제안한다. Ⅱ. 본론

1. Conventional BSPE Core 가. Buffer Shifting

기존의 BSPE Core는 6개의 row로 구성된 Activation Buffer를 가진다. 1~5번의 ScratchPad는 현재 연 산할 데이터를 담고 있으며 6번은 다음 연산을 수 행할 prefetch된 activation을 갖고 있다. ScratchPad 1~5번에 있는 데이터의 연산이 모 두 종료되면 버퍼 내부의 데이터 시프팅이 수행되 며 그림 2와 같다. 그림 2에서 실선 영역은 실제 연 산에 사용되는 데이터 영역이며 점선 영역은 컨벌 루션 연산을 위해 사용되는 데이터 영역이다. 점선 영역의 데이터는 1-나의 Demux by index에 의해 정해진다. S2의 데이터가 S1로, S3의 데이터가 S2로 시프 트되어 마지막에는 prefetch된 데이터인 S6의 데이 터가 S5로 시프트된다. 이렇게 데이터 시프트가 종 료되면 다시 S1~S5의 데이터로 컨벌루션 연산을 수행한다. 1 1 1 1 1 ∙∙∙ 1 1 S1 2 2 2 2 2 ∙∙∙ 2 2 S2 3 3 3 3 3 ∙∙∙ 3 3 S3 4 4 4 4 4 ∙∙∙ 4 4 S4 5 5 5 5 5 ∙∙∙ 5 5 S5 6 6 6 6 6 ∙∙∙ 6 6 S6 7 7 7 7 7 ∙∙∙ 7 7 S1 2 2 2 2 2 ∙∙∙ 2 2 S2 3 3 3 3 3 ∙∙∙ 3 3 S3 4 4 4 4 4 ∙∙∙ 4 4 S4 5 5 5 5 5 ∙∙∙ 5 5 S5 6 6 6 6 6 ∙∙∙ 6 6 S6 T1 T2

Fig. 2. Data shifting inside the ScratchPad. 그림 2. ScratchPad 내부의 데이터 시프팅

(3)

Low-area DNN Core using data reuse technique 231

나. Demux by index

Demux(Demux by index)는 ScratchPad 1~5에 연결되어 BSPE가 연산을 하는 데 필요한 데이터를 전달하기 위해 Part-slicing을 수행한다. Overlapping Computation을 통한 데이터 재사용을 위해 필요한 만큼 분할돼야 하기 때문이다. Demux by index는 그림 3과 같다. INDEX DATA_IN DATA_OUT Demux By Index DATA_IN INDEX 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 (a) (b)

Fig. 3. Structure and operation of Demux by index. 그림 3. Demux by index의 구조와 동작 방식 Demux by index는 2개의 입력과 1개의 출력으 로 구성된다. Slicing될 데이터와 필요한 index가 입력으로 들어가고 index에 맞는 데이터가 출력으 로 나간다. 그림 (b)는 Demux By Index의 동작 방식이다. 입력 데이터가 들어오고 각 데이터는 INDEX에 따 라 연결된다. 그리고 INDEX가 입력으로 들어오면 해당되는 데이터가 출력으로 나간다.

Activation Buffer, Demux by index와 BSPE가 연결된 모습은 그림 4와 같다. BSPE demux5 demux5 demux5 demux4 1 1 1 1 1 ∙∙∙ 1 1 S1 2 2 2 2 2 ∙∙∙ 2 2 S2 3 3 3 3 3 ∙∙∙ 3 3 S3 4 4 4 4 4 ∙∙∙ 4 4 S4 5 5 5 5 5 ∙∙∙ 5 5 S5 6 6 6 6 6 ∙∙∙ 6 6 S6 demux5 n-1

Fig. 4. Structure of buffer and BSPE connected. 그림 4. Buffer와 BSPE가 연결된 구조

ScratchPad는 데이터 시프팅을 위해 모두 연결 된 모습이다. Demux는 S1~S5까지 총 5개가 각각 연결되어 출력값은 BSPE의 입력이 된다.

2. Proposed Buffer Round Robin

본 논문에서 제시하는 구조에서는 데이터 시프트 가 아닌 Buffer Round Robin을 사용한다. Buffer Round Robin을 사용하면 n-bit의 모든 버퍼가 연 결되지 않을 뿐만 아니라 n-bit shifter를 사용하지 않아 하드웨어 자원이 절약될 수 있다.

Buffer Round Robin는 기존의 Activation buffer 에 추가했던 prefetch 역할의 buffer를 제거하고 단 순히 index만 round robin하여 일종의 가상 buffer 를 갖는 구조이다.

Buffer Round Robin을 적용한 BSPE Core는 그림 5와 같으며, Buffer Round Robin을 위한 Demux6가 추가되었다.

Table 1. Buffer Round Robin behavior. 표 1. Buffer Round Robin의 동작

Index Activation Prefetch Store

0 {}  1 {}  2 {}  3 {}  4 {}  5 {} 

또한, 기존의 BSPE Core와 Prefetch한 데이터를 저장하는 방식에서 차이가 있다. 기존의 BSPE Core 는 Prefetch된 데이터를 R6에 저장했다. 하지만 Round Robin방식을 적용한 BSPE Core에서는 표 1의 Prefetch Store와 같이 동작한다. Index에 의해 현재 사용하지 않는 ScratchPad에 저장해서 다음 Index에서 Prefetch된 데이터를 사용한다.

Round Robin을 적용한 구조는 그림 6과 같다. 각 ScratchPad에 6개의 demux가 연결된다. Demux로 부터 나온 값은 Buffer Round Robin을 거쳐 BSPE 의 입력 activation이 된다.

그림 7은 Buffer Round Robin방법을 적용한 ScratchPad 내부의 데이터 흐름이다. 그림 2와 마 찬가지로 실선 영역은 컨벌루션 레이어를 수행하

(4)

Fig. 5. BSPE Core with Buffer Round Robin. 그림 5. Buffer Round Robin을 적용한 BSPE Core

면서 사용되는 데이터 영역이며, 점선 영역은 Demux by index에 의해 연산에 사용되는 데이터이다. 그 림 2는 실선 영역의 데이터에 대해 컨벌루션 연산이 종료되면 데이터의 시프팅이 일어난 반면, Buffer Round Robin을 적용한 그림 6에서는 시프팅이 발 생하지 않는다. 대신 표 1의 규칙에 따라 사용되는 ScratchPad의 역할이 바뀐다. BSPE Buffer Round Robin

demux5 demux5 demux5 demux4 demux5 1 1 1 1 1 ∙∙∙ 1 1 S1 2 2 2 2 2 ∙∙∙ 2 2 S2 3 3 3 3 3 ∙∙∙ 3 3 S3 4 4 4 4 4 ∙∙∙ 4 4 S4 5 5 5 5 5 ∙∙∙ 5 5 S5 6 6 6 6 6 ∙∙∙ 6 6 S6 demux6 i n d e x n-1

Fig. 6. Structure applying Buffer Round Robin. 그림 6. Buffer Round Robin을 적용한 구조

1 1 1 1 1 ∙∙∙ 1 1 S1 2 2 2 2 2 ∙∙∙ 2 2 S2 3 3 3 3 3 ∙∙∙ 3 3 S3 4 4 4 4 4 ∙∙∙ 4 4 S4 5 5 5 5 5 ∙∙∙ 5 5 S5 6 6 6 6 6 ∙∙∙ 6 6 S6 7 7 7 7 7 ∙∙∙ 7 7 S1 2 2 2 2 2 ∙∙∙ 2 2 S2 3 3 3 3 3 ∙∙∙ 3 3 S3 4 4 4 4 4 ∙∙∙ 4 4 S4 5 5 5 5 5 ∙∙∙ 5 5 S5 6 6 6 6 6 ∙∙∙ 6 6 S6

Fig. 7. ScratchPad with Buffer Round Robin. 그림 7. Buffer Round Robin을 적용한 ScratchPad

Ⅲ. 실험

본 실험은 CMOS 180nm에서 합성했으며 결과는 표 2와 같다.

Table 2. Comparison of existing BSPE Core and proposed BSPE Core.

표 2. 기존의 BSPE Core와 제시하는 BSPE Core 비교 Conventional BSPE

Core [3], [4]

Buffer Round Robin BSPE Core

Total Power(mW) 50.1152 52.5974

Chip Area() 429,822 409,591

Total Gates 48,955 46,650

(5)

Low-area DNN Core using data reuse technique 233

Conventional BSPE Core보다 Buffer Round

Robin을 적용한 BSPE Core에서 Total Power는 2mW가 증가했으나 Total Gates가 약 5% 감소했다. Ⅲ. 결론 본 논문에서는 컨볼루션 신경망 구조에서 컨볼루 션 연산에 필요한 데이터 재사용 기법을 제안하였다. 논문에서는 기존 BSPE Core에서 데이터 시프트를 통해 데이터를 이동하는 방법 대신 Round Robin을 통한 데이터 재사용 방법을 제시했다. ScratchPad의 데이터 재사용 방법을 Round Robin으로 대체한 결 과 Total Power는 2mW로 증가했다. 하지만 Total Gates는 약 5% 감소했으며, Operation당 전력 소모 량은 기존의 방법에 비해 약 5.6% 감소했다.

References

[1] Chen, Yu-Hsin, et al. “Eyeriss: An

energy-efficient reconfigurable accelerator for deep

convolutional neural networks,” IEEE journal of solid-state circuits Vol.52, No.1, pp.127-138, 2016. DOI: 10.1109/JSSC.2016.2616357

[2] Alwani, Manoj, et al. “Fused-layer CNN

accelerators,” 2016 49th Annual IEEE/ACM

International Symposium on Microarchitecture (MICRO). IEEE, 2016.

DOI: 10.1109/MICRO.2016.7783725

[3] Cheol-Won Jo, Kwang-Yeob Lee, and Ki-Hun Nam. “Implementation of low power BSPE Core for deep learning hardware accelerators,” Journal of IKEEE Vol.24, No.3, pp.895-900, 2020.

DOI: 10.7471/ikeee.2020.24.3.895

[4] Cheol-Won Jo, Kwang-Yeob Lee, “Bit-Serial multiplier based Neural Processing Element with Approximate adder tree,” International SoC Design Conference(ISOCC), 2020.

DOI: 10.1109/ISOCC50952.2020.9332993

[5] Chen, Tianshi, et al. “Diannao: A small-footprint high-throughput accelerator for ubiquitous machine-learning,” ACM SIGARCH Computer Architecture News, Vol.42, No.1, pp.269-284, 2014.

수치

Fig. 1. Conventional BSPE Core. 그림 1. 기존의 BSPE Core
Fig. 4. Structure of buffer and BSPE connected. 그림 4. Buffer와 BSPE가 연결된 구조
Fig. 5. BSPE Core with Buffer Round Robin. 그림 5. Buffer Round Robin을 적용한 BSPE Core

참조

관련 문서

 표본연구의 오류를 최소화하는 방법: 모집단으로부터 표 본을 여러 번 선정하여 개별 표본들을 조사하고 개별표 본으로부터 나오는 평균값의

무게 응답자의 연령, 상표의 매출 산술평균 모수통계..

한국인 심전도 진단 데이터 기상관측 데이터. 항공우주소재 물성 데이터

최상의 데이터 센터 구축을 위한 데이터 인프라 혁신 전략..

보안에 대한 Microsoft의 포괄적인 접근 방식은 데이터 센터, 휴대폰, 데스크톱의 데이터 또는 인터넷을 통해 전송 중인 데이터를 포함하여 위치에

우리나라는 음성통화 요금에 비해 데이터 요금이 상대 적으로 저렴: 음성- 데이터 간 요금 리밸런싱 시 데이터 다량 이용자는 음성통화 인하에 대한 혜택을 누릴 수

입문편 학습을 통해 데이터 분석을 거시적인 관점에서 이해하고, 데이터 분석의 대상이 되는 데이터와 분석의 필요성, 그리고 분석 의

제4장