[논문 리뷰] Sparse Systolic Tensor Array for Efficient CNN Hardware Acceleration
이 논문은 모바일 디바이스에서 효율적인 INT8 CNN 추론을 가능하게 하기 위해 가변 밀도 기반 블록(VDBB) 스퍼스티 기법과 재사용 최적화된 시스톨릭 텐서 어레이(STA) 마이크로아키텍처를 제안한다. VDBB 기법을 시간적으로 전개하고 하드웨어로 구현된 IM2COL 변환을 통합함으로써, 87.5% 스퍼스티 수준에서 최대 55.7 TOPS/W의 성능을 달성하며, 이는 이전의 스퍼스티 CNN 가속기들보다 뛰어난 에너지 효율성을 보이며 다양한 스퍼스티 수준에서도 높은 하드웨어 활용도를 유지한다.
Convolutional neural network (CNN) inference on mobile devices demands efficient hardware acceleration of low-precision (INT8) general matrix multiplication (GEMM). Exploiting data sparsity is a common approach to further accelerate GEMM for CNN inference, and in particular, structural sparsity has the advantages of predictable load balancing and very low index overhead. In this paper, we address a key architectural challenge with structural sparsity: how to provide support for a range of sparsity levels while maintaining high utilization of the hardware. We describe a time unrolled formulation of variable density-bound block (VDBB) sparsity that allows for a configurable number of non-zero elements per block, at constant utilization. We then describe a systolic array microarchitecture that implements this scheme, with two data reuse optimizations. Firstly, we increase reuse in both operands and partial products by increasing the number of MACs per PE. Secondly, we introduce a novel approach of moving the IM2COL transform into the hardware, which allows us to achieve a 3x data bandwidth expansion just before the operands are consumed by the datapath, reducing the SRAM power consumption. The optimizations for weight sparsity, activation sparsity and data reuse are all interrelated and therefore the optimal combination is not obvious. Therefore, we perform an design space evaluation to find the pareto-optimal design characteristics. The resulting design achieves 16.8 TOPS/W in 16nm with modest 50% model sparsity and scales with model sparsity up to 55.7TOPS/W at 87.5%. As well as successfully demonstrating the variable DBB technique, this result significantly outperforms previously reported sparse CNN accelerators.
연구 동기 및 목표
- 고정 스퍼스티 수준을 가진 DBB 가속기의 한계를 해결하기 위해, 다양한 스퍼스티 수준을 가진 CNN 모델에 대해 확장성이 없는 문제를 해결한다.
- INT8 GEMM 워크로드에 대해 구조적 스퍼스티에서 가변 스퍼스티 비율을 지원할 때도 높은 하드웨어 활용도와 에너지 효율성을 유지하기 위해 노력한다.
- 하드웨어 최적화된 IM2COL 변환을 통해 SRAM 전력 소비를 감소시키며, 효과적인 데이터 대역폭을 3배로 증가시킨다.
- 시스톨릭 어레이 아키텍처에서 가중치 스퍼스티, 활성화 스퍼스티, 데이터 재사용을 공동 최적화하여 처리량과 에너지 효율성을 극대화한다.
- 디자인 스페이스를 평가하고 16nm 모바일 SoC 배포를 위한 파레토 최적 구성(configuration)을 규명한다.
제안 방법
- 모든 스퍼스티 수준(12.5%에서 100%까지)을 손실 없이 지원할 수 있도록 구성 가능한 비영 요소를 가진 블록 당 허용하는 시간 전개 VDBB 수식을 제안한다.
- 각 처리 요소당 MAC 수를 조절함으로써 운영자와 부분 곱의 재사용을 증가시키는 텐서 PE(TPE)를 갖춘 시스톨릭 텐서 어레이(STA)를 설계한다.
- 데이터 소비 직전에 현장에서 변환을 수행하는 하드웨어 지연 IM2COL 유닛을 도입하여 효과적인 데이터 대역폭을 3배로 확장하고 SRAM 전력 소비를 감소시킨다.
- 활성화 스퍼스티를 위한 클록 게이팅을 적용하여 부하 균형을 해치지 않으면서도 전력 소비를 절감한다.
- 데이터 재사용, 스퍼스티 지원, 하드웨어 자원 할당을 공동 최적화하기 위해 종합적인 디자인 스페이스 탐색을 수행한다.
- 성능, 에너지 효율성(TOPS/W), 면적 효율성 등 다양한 모델 스퍼스티 수준에서의 성능을 평가하기 위해 16nm 공정 기술을 사용한다.
실험 결과
연구 질문
- RQ1하드웨어 가속기가 스퍼스티 수준에 따라 유연하게 변화할 수 있도록 하되, 활용도나 에너지 효율성을 저하시키지 않도록 하기 위해 어떤 방법을 써야 하는가?
- RQ2INT8 GEMM를 위한 스퍼스티 시스톨릭 어레인지에서 높은 데이터 재사용과 효과적인 대역폭 확장을 가능하게 하는 아키텍처 기법은 무엇인가?
- RQ3데이터패스에 IM2COL 변환을 통합함으로써 스퍼스티 CNN 가속기에서 SRAM 전력 소비를 어떻게 줄일 수 있는가?
- RQ4이동용 CNN 추론을 위한 스퍼스티 시스톨릭 어레인지에서 재사용, 스퍼스티 지원, 하드웨어 비용 간 최적의 트레이드오프는 무엇인가?
- RQ5가변 DBB 스퍼스티는 고정 스퍼스티 또는 무작위 스퍼스티 가속기 대비 에너지 효율성을 얼마나 향상시킬 수 있는가?
주요 결과
- 제안된 VDBB 아키텍처는 12.5%에서 100%까지 모든 스퍼스티 수준을 지원하여 다양한 CNN 모델에서 일관된 성능 향상을 가능하게 한다.
- 텐서 PE를 갖춘 재사용 최적화된 STA는 50% 모델 스퍼스티 수준에서 16.8 TOPS/W의 성능을 달성하며, 16nm 공정에서 87.5% 스퍼스티 수준에선 55.7 TOPS/W까지 확장된다.
- 하드웨어로 실행된 IM2COL 유닛은 효과적인 대역폭을 3배로 증가시켜 외부 대역폭을 늘리지 않으면서도 SRAM 전력 소비를 감소시킨다.
- 이전의 스퍼스티 CNN 가속기들—SMT-SA 및 Kang [21]—보다 에너지 효율성과 처리량 측면에서 모두 뛰어나다.
- 디자인 스페이스 평가를 통해 이동용 배포를 위한 스퍼스티 지원, 재사용, 면적 비용 간 균형을 이룬 파레토 최적 구성(configuration)을 규명했다.
- 시간 전개된 VDBB, 향상된 데이터 재사용, 그리고 내장된 IM2COL 변환의 조합은 고정 스퍼스티 또는 무작위 스퍼스티 대비 뚜렷한 성능 및 에너지 효율성 우수성을 제공한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.