[논문 리뷰] An Efficient Hardware Accelerator for Structured Sparse Convolutional Neural Networks on FPGAs
이 논문은 FPGAs에서 구조적 희소성 컨volution 신경망을 위한 하드웨어 가속기를 제안하며, 영향을 받지 않는 0-weight MAC 연산을 건너뛰고, 0-게이팅을 통해 에너지를 절감하는 희소 단위 데이터플로우를 사용한다. 설계는 Xilinx ZCU102에서 AlexNet에 대해 987장/초, VGG-16에 대해 48장/초의 성능을 달성하여 이전 FPGA 가속기 대비 1.5×에서 6.7×의 성능 향상과 2.0×에서 6.2×의 높은 에너지 효율성을 제공한다.
Deep Convolutional Neural Networks (CNNs) have achieved state-of-the-art performance in a wide range of applications. However, deeper CNN models, which are usually computation consuming, are widely required for complex Artificial Intelligence (AI) tasks. Though recent research progress on network compression such as pruning has emerged as a promising direction to mitigate computational burden, existing accelerators are still prevented from completely utilizing the benefits of leveraging sparsity owing to the irregularity caused by pruning. On the other hand, Field-Programmable Gate Arrays (FPGAs) have been regarded as a promising hardware platform for CNN inference acceleration. However, most existing FPGA accelerators focus on dense CNN and cannot address the irregularity problem. In this paper, we propose a sparse wise dataflow to skip the cycles of processing Multiply-and-Accumulates (MACs) with zero weights and exploit data statistics to minimize energy through zeros gating to avoid unnecessary computations. The proposed sparse wise dataflow leads to a low bandwidth requirement and a high data sharing. Then we design an FPGA accelerator containing a Vector Generator Module (VGM) which can match the index between sparse weights and input activations according to the proposed dataflow. Experimental results demonstrate that our implementation can achieve 987 imag/s and 48 imag/s performance for AlexNet and VGG-16 on Xilinx ZCU102, respectively, which provides 1.5x to 6.7x speedup and 2.0x to 6.2x energy-efficiency over previous CNN FPGA accelerators.
연구 동기 및 목표
- 자르기로 인해 발생하는 비정규적인 희소성 처리에 어려움을 겪는 기존 FPGA 가속기의 비효율성 해결
- 구조적 희소성을 활용하여 희소 추론에서의 밀집형 CNN 가속기의 한계 극복
- 0-게이팅을 통해 에너지 소비 최소화하고, 희소 계산에서의 데이터 공유를 통해 대역폭 절감
- 다양한 CNN 모델 크기와 희소성 패턴에 적응 가능한 유연하고 자원 활용도가 높은 가속기 설계
- 데이터플로우 최적화와 하드웨어 인식 희소성 활용을 통해 FPGA에서 높은 성능과 에너지 효율성 확보
제안 방법
- 0-weight를 가진 MAC 연산을 건너뛰는 희소 단위 데이터플로우 제안으로 좌표 재구성의 필요성 제거
- 제안된 데이터플로우를 사용해 희소 가중치와 입력 활성화를 효율적으로 매핑하기 위한 벡터 생성 모듈(VGM) 도입
- 입력 활성화가 0일 때 사용되지 않는 PE를 비활성화하는 0-게이팅 논리 구현으로 동적 전력 감소
- DDR 액세스당 데이터 처리량을 두 배로 늘리기 위해 8비트 고정소수점 양자화 적용으로 자원 활용도 향상
- 계산 집중도와 片내 메모리 제약 조건을 고려해 크기가 설정 가능한 PE 어레이(예: 48×28 PE) 설계
- 피크 성능 및 에너지 효율성 확보를 위해 루프라이닝 모델링 적용
실험 결과
연구 질문
- RQ1비정규적인 희소성 관련 오버헤드 없이도 CNN의 구조적 희소성을 효율적으로 처리할 수 있는 데이터플로우는 어떻게 설계할 수 있는가?
- RQ2FPGA에서 희소 CNN 추론의 에너지 소비를 최소화할 수 있는 아키텍처 기법은 무엇인가?
- RQ3제안된 데이터플로우는 기존 FPGA 가속기 대비 희소 및 밀집형 CNN의 성능과 에너지 효율성에서 어떻게 비교되는가?
- RQ4데이터플로우 및 양자화 최적화를 통해 자원 활용도와 처리량은 얼마나 향상될 수 있는가?
- RQ5높은 성능과 에너지 효율성을 달성하기 위해 FPGA에서 PE 어레이 크기와 비트너비의 최적 구성은 무엇인가?
주요 결과
- 제안된 가속기는 Xilinx ZCU102에서 구조적 희소 AlexNet에 대해 987장/초의 성능을 달성하여 이전 FPGA 가속기 대비 1.5×에서 6.7×의 성능 향상을 보였다.
- VGG-16에 대해서는 48장/초의 성능을 기록하여 이전 작업 대비 2.2×에서 2.3×의 성능 향상과 3.4×에서 6.2×의 높은 에너지 효율성을 확보했다.
- 8비트 양자화를 적용한 결과 96장/초의 처리량을 달성하여, 밀집형 및 희소형 FPGA 가속기 대비 4.4×에서 4.6×의 성능 향상과 6.1×에서 11.2×의 에너지 효율성 향상을 기록했다.
- 8비트 연산을 사용할 경우 최고 처리량이 1075.2 GOP/s에 도달하며, 각 PE에서 두 개의 8×8 곱셈을 두 개의 DSP를 사용해 수행함으로써 가능해졌다.
- 48×28 구성에서 1344개의 PE를 구현하였으며, AlexNet에서는 8개 이상, VGG-16에서는 16개 이상의 PE에서 대역폭 및 자원 제약으로 인해 성능이 정점에 도달했다.
- 8비트 데이터를 사용할 경우, LUT 및 MUX 사용 감소로 인해 논리 셀 효율성이 이전 설계 대비 약 100배 향상되었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.