Publications

Detailed Information

에너지 효율적인 YOLO 가속기를 위한 Filter Switching 최적화 : Filter Switching Optimization for An Energy-Efficient YOLO Accelerator

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors

임경종

Advisor
이혁재
Issue Date
2022
Publisher
서울대학교 대학원
Keywords
YOLOFPGA가속기on-chip 메모리에너지
Description
학위논문(석사) -- 서울대학교대학원 : 공과대학 전기·정보공학부, 2022.2. 이혁재.
Abstract
You-only-look-once (YOLO) 와 같은 convolutional neural network (CNN) 을 기반으로 한 object detector 들은 우수한 성능을 달성하지만 높은 연산 복잡성과 함께 큰 memory 대역폭을 필요로 한다. 특히 제한된 power budget과 상대적으로 적은 on-chip memory footprint를 요구하는 edge device를 위해 object detector를 설계하는 것은 challenging 하다. 또한 CNN 기반 object detector들은 복잡하고 반복적인 연산을 위해 잦은 external memory access (EMA) 를 필요로 하게 된다. 하지만 잦은 EMA는 가속기의 성능 및 전력 소모 저하를 야기하는 주 원인이 된다. 이를 해결하기 위하여 이전 연구들은 EMA 횟수를 최소화하는 dataflow에 대해 초점을 맞춰왔으며, 이를 통해 전력소모를 최소화하였다. 하지만 EMA를 줄이기 위해 on-chip memory footprint 가 많아지는 문제가 야기되었으며, 특히 EMA를 통한 전력 소모 감소를 달성하였지만, 추가적으로 가속기 내부 자원들의 전력 소모 향상을 위한 연구까지는 도달하지 못하였다.
본 논문에서는 위 문제들을 해결하여 edge device에서도 제한된 자원을 효율적으로 활용될 수 있도록 energy 및 memory 효율적인 YOLO CNN 가속기를 제안한다. 첫번째로 YOLO 가속기 내부의 전력 소모 감소를 위하여 filter switching activity를 99.56% 줄일 수 있는 dataflow를 소개한다. 두번째로는 filter 와 feature map을 효율적으로 사용하기 위하여 multi-bank로 구성된 on-chip memory를 layer별로 reuse할 수 있는 방식을 제안한다. 이 방식을 통해 상대적으로 적은 on-chip memory를 사용하면서도 feature map에 대한 EMA를 완전히 제거함으로써 off-chip communication에 대한 전력 소모를 줄일 수 있다. 세번째로는 FPGA의 block-RAM (BRAM) 에 친화적인 memory bank를 설계하여 filter의 weight와 feature map이 layer별로 재사용 될 수 있도록 한다. 이를 통해 on-chip memory의 utilization을 낮추고 효율성을 높일 수 있게 된다. 마지막으로 본 논문에서 제안하고 있는 YOLO 가속기는 Tiny YOLOv2 모델을 사용하여 Xilinx ZC706 FPGA board에 implementation 하였다. Implementation 결과 5.05W의 전력 소모를 달성함과 동시에 370.5 GOPS의 throughput을 달성하였으며, 하드웨어 자원은 640개의 DSP 와 322.5 개의 BRAM을 사용하였다. 성능 대비 에너지 및 memory 효율은 각각 73.39 GOPS/W, 1.15 GOPS/BRAM을 달성하였다.
Convolutional neural network (CNN) based object detectors such as the you-only-look-once (YOLO) achieve remarkable performance but come with high computing complexity and a large memory bandwidth. Therefore, it is challenging to design an accelerator for such object detectors on edge devices, which have a limited power budget and relatively small on-chip memory footprint. Especially, CNN-based object detectors require frequent external memory access for complex and periodic computation. However, the frequent off-chip memory access is the main reason for decreasing the performance in terms of throughput and energy-efficiency.
To address this issue, previous works focus on the dataflow for reduce the number of external memory access resulting in power consumption decrease. However, it causes high on-chip memory footprint to reduce external memory access and also the power consumption of internal hardware resources is not investigated from these works.
In this paper, we propose an energy- and memory-efficient CNN accelerator for YOLO. First, we propose a novel dataflow which reduces the amount of filter switching by 99.56% on average. Second, we propose a layer-wise on-chip memory reuse scheme in which multi-bank on-chip buffers are efficiently utilized for both feature maps (FMs) and filters without the need to access external memory for FMs. Third, we present FPGA BRAM-aware memory bank design to be reused between weight and feature map across layers. The proposed design is implemented on a Xilinx ZC706 FPGA and consumes power of 5.05W but achieves a throughput rate of 370.5 GOPS for Tiny-YOLOv2 while using only 640 DSPs and 322.5 BRAMs. Our design achieves energy efficiency of 73.39 GOPS/W, thus outperforming those in previous works.
Language
kor
URI
https://hdl.handle.net/10371/183368

https://dcollection.snu.ac.kr/common/orgView/000000169811
Files in This Item:
Appears in Collections:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share