Skip to main content
QUICK REVIEW

[논문 리뷰] Phoenix: A Low-Precision Floating-Point Quantization Oriented Architecture for Convolutional Neural Networks

Chen Wu, Mingyu Wang|arXiv (Cornell University)|2020. 02. 29.
Image Processing Techniques and Applications참고 문헌 60인용 수 5
한 줄 요약

Phoenix는 校정, 미세조정 또는 재학습 없이도 정확도 손실이 극히 적은(≤0.5% top-1, ≤0.3% top-5) 정규화 중심의 8비트 부동소수점 양자화 방법을 제안한다. 이 방법은 고도로 효율적인 하드웨어 프로세서 아키텍처를 가능하게 하여, AlexNet과 VGG16에 대해 각각 3.32배와 7.45배 빠른 성능을 내며, GPU보다 151배 적은 에너지를 소비한다.

ABSTRACT

Convolutional neural networks (CNNs) achieve state-of-the-art performance at the cost of becoming deeper and larger. Although quantization (both fixed-point and floating-point) has proven effective for reducing storage and memory access, two challenges -- 1) accuracy loss caused by quantization without calibration, fine-tuning or re-training for deep CNNs and 2) hardware inefficiency caused by floating-point quantization -- prevent processors from completely leveraging the benefits. In this paper, we propose a low-precision floating-point quantization oriented processor, named Phoenix, to address the above challenges. We primarily have three key observations: 1) 8-bit floating-point quantization incurs less error than 8-bit fixed-point quantization; 2) without using any calibration, fine-tuning or re-training techniques, normalization before quantization further reduces accuracy degradation; 3) 8-bit floating-point multiplier achieves higher hardware efficiency than 8-bit fixed-point multiplier if the full-precision product is applied. Based on these key observations, we propose a normalization-oriented 8-bit floating-point quantization method to reduce storage and memory access with negligible accuracy loss (within 0.5%/0.3% for top-1/top-5 accuracy, respectively). We further design a hardware processor to address the hardware inefficiency caused by floating-point multiplier. Compared with a state-of-the-art accelerator, Phoenix is 3.32x and 7.45x better in performance with the same core area for AlexNet and VGG16, respectively.

연구 동기 및 목표

  • 교정, 미세조정 또는 재학습 없이도 저정밀도 양자화에서 발생하는 정확도 저하 문제를 해결한다.
  • 특수 설계된 프로세서 아키텍처를 통해 부동소수점 승산기의 하드웨어 비효율성을 극복한다.
  • 8비트 부동소수점 양자화를 통해 메모리 대역폭과 저장 요구량을 줄이며, 높은 모델 정확도를 유지한다.
  • 하드웨어-소프트웨어 공동 설계 접근법을 통해 VGG16 및 ResNet152와 같은 깊은 신경망에서 효율적인 추론을 가능하게 한다.

제안 방법

  • 활성화 함수에 양자화 이전에 정규화를 적용하는 정규화 중심의 8비트 부동소수점 양자화 방법을 제안하여 정확도 손실을 감소시킨다.
  • 통계적 분포를 기반으로 비균일 양자화를 적용하여 가중치와 활성화의 양자화 오차를 최소화한다.
  • 입력 활성화 및 가중치를 프로세싱 엔티티(PE) 간에 공유하는 완전한 파이프라인화된 데이터 플로우 기반의 처리 요소(PE) 아키텍처를 설계하여 온칩 대역폭을 감소시킨다.
  • 정밀도 손실을 최소화하기 위해 전체 정밀도 곱을 유지하는 8비트 부동소수점 승산기를 구현하여 고정소수점 대비 하드웨어 효율성을 향상시킨다.
  • 양자화 방법과 프로세서 설계를 통합하여 추가 교정 또는 재학습 없이 종단 간 저정밀도 추론을 가능하게 한다.
  • TSMC 28nm 공정 기술에서 회로 배치 및 루팅 최적화를 통해 높은 성능과 에너지 효율성을 달성한다.

실험 결과

연구 질문

  • RQ1깊은 CNN에서 8비트 부동소수점 양자화가 8비트 고정소수점 양자화보다 더 낮은 양자화 오차를 달성할 수 있는가?
  • RQ2교정 또는 재학습 없이도 활성화 함수를 양자화 이전에 정규화하면 정확도 저하를 줄일 수 있는가?
  • RQ3전체 정밀도 곱을 유지할 경우, 8비트 부동소수점 승산기가 8비트 고정소수점 승산기보다 더 높은 하드웨어 효율성을 달성할 수 있는가?
  • RQ4맞춤형 프로세서 아키텍처가 저정밀도 부동소수점 양자화의 이점을 최대한 활용하면서도 면적과 에너지 오버헤드를 최소화할 수 있는가?
  • RQ5제안된 시스템은 깊은 CNN 추론에서 최신 가속기 및 GPU에 비해 성능 및 에너지 효율성 측면에서 어떻게 비교되는가?

주요 결과

  • 제안된 정규화 중심의 8비트 부동소수점 양자화는 교정, 미세조정 또는 재학습 없이도 VGG16과 같은 깊은 CNN에서 ≤0.5% top-1 및 ≤0.3% top-5 정확도 손실을 달성한다.
  • Phoenix는 동일한 코어 면적을 사용하여 최신 가속기 대비 AlexNet에서 3.32배, VGG16에서 7.45배 더 높은 성능을 달성한다.
  • Phoenix 프로세서는 TSMC 28nm에서 코어 면적이 1.44 mm², 전력 소모 1091.2 mW일 때 피크 성능 2.048 TMAC/s를 달성한다.
  • Phoenix는 단일 이미지 추론에서 Nvidia TITAN Xp GPU보다 151배 적은 에너지를 소비하여 뛰어난 에너지 효율성을 입증한다.
  • 완전한 파이프라인화된 데이터 플로우 아키텍처를 통해 처리 요소 간에 입력을 공유함으로써 내부 대역폭 요구량을 감소시킨다.
  • 8비트 부동소수점 승산기에서 전체 정밀도 곱 처리를 적용함으로써 고정소수점 대비 더 높은 하드웨어 효율성을 달성한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.