Skip to main content
QUICK REVIEW

[논문 리뷰] DPRed: Making Typical Activation and Weight Values Matter In Deep Learning Computing

Alberto Delmás, Sayeh Sharify|arXiv (Cornell University)|2018. 04. 17.
Advanced Neural Network Applications참고 문헌 48인용 수 5
한 줄 요약

DPRed는 가중치와 활성화를 그룹화하여 각 그룹에 맞는 정밀도를 적용함으로써 딥 네트워크의 동적 정밀도 감소를 제안한다. 이로 인해 외부 메모리 트래픽이 최대 65% 감소하고 성능 및 에너지 효율성이 향상된다. 하드웨어는 활성화 그룹별로 정밀도를 동적으로 조정할 수 있으며, 네트워크 재학습이나 모델 아키텍처 변경 없이 8비트 네트워크에서 1.82배에서 2.81배의 성능 향상을 달성한다.

ABSTRACT

We show that selecting a single data type (precision) for all values in Deep Neural Networks, even if that data type is different per layer, amounts to worst case design. Much shorter data types can be used if we target the common case by adjusting the precision at a much finer granularity. We propose Dynamic Precision Reduction (DPRed), where we group weights and activations and encode them using a precision specific to each group. The per group precisions are selected statically for the weights and dynamically by hardware for the activations. We exploit these precisions to reduce: 1) off-chip storage and off- and on-chip communication, and 2) execution time. DPRed compression reduces off-chip traffic to nearly 35% and 33% on average compared to no compression respectively for 16b and 8b models. This makes it possible to sustain higher performance for a given off-chip memory interface while also boosting energy efficiency. We also demonstrate designs where the time required to process each group of activations and/or weights scales proportionally to the precision they use for convolutional and fully-connected layers. This improves execution time and energy efficiency for both dense and sparse networks. We show the techniques work with 8-bit networks, where 1.82x and 2.81x speedups are achieved for two different hardware variants that take advantage of dynamic precision variability.

연구 동기 및 목표

  • 딥 러닝 가속기에서 고정 정밀도 설계의 비효율성을 해결하기 위해, 희귀한 고값을 고려하기 위해 과잉 자원을 할당하는 문제를 해결한다.
  • 대부분의 활성화와 가중치가 0에 가까운 점을 활용하여, 층 단위 프로파일링보다 더 세분화된 정밀도 적응을 가능하게 한다.
  • 각 그룹의 값 분포에 맞는 정밀도를 사용하여 압축함으로써 외부 메모리 대역폭과 내부 회로 통신을 줄인다.
  • 각 데이터 그룹의 정밀도에 따라 처리 단위가 성능을 조절할 수 있도록 하여 실행 시간과 에너지 효율성을 향상시킨다.
  • 모델 재학습이나 아키텍처 변경 없이 입력 기반 활성화 정밀도에 맞는 하드웨어 가속을 가능하게 한다.

제안 방법

  • DPRed는 가중치와 활성화를 작은 클러스터로 그룹화하고, 각 그룹에 값 분포에 맞는 정밀도를 할당한다.
  • 가중치의 경우 정밀도는 프로파일링을 통해 사전에 정적 선택되며, 모델 사전 처리 단계에서 적용된다.
  • 활성화의 경우 정밀도는 런타임에 입력에 따라 동적으로 결정되며 하드웨어가 선택한다.
  • 압축/해제압 블록을 사용하여 그룹별 정밀도에 맞는 데이터를 저장하고 복원함으로써 외부 메모리 트래픽을 줄인다.
  • DStripes 가속기 아키텍처는 처리 단위가 각 데이터 그룹의 정밀도에 비례해 작업 시간을 조절할 수 있도록 DPRed를 통합한다.
  • 이 방법은 밀도 높은 네트워크와 희소 네트워크 모두를 지원하며, 기존의 양자화 및 프루닝 기법과 호환된다.

실험 결과

연구 질문

  • RQ1고정된 층 단위 정밀도보다 동적이고 그룹 단위 정밀도 적응이 외부 메모리 트래픽을 더 효과적으로 줄일 수 있는가?
  • RQ2층 수준을 넘어서 더 세분화된 정밀도 적응을 통해 성능 향상과 에너지 효율성 향상은 어느 정도 달성될 수 있는가?
  • RQ3모델 재학습이나 아키텍처 변경 없이 정밀도 감소를 가중치와 활성화 모두에 적용할 수 있는가?
  • RQ4입력 기반 활성화 정밀도가 하드웨어 성능과 통신 효율성에 어떤 영향을 미치는가?
  • RQ5대역폭 감소와 성능 향상 측면에서 DPRed는 기존의 압축 및 양자화 기법과 비교해 어떻게 성능을 내는가?

주요 결과

  • DPRed는 16비트 및 8비트 모델에서 각각 베이스라인 대비 외부 메모리 트래픽을 35%와 33%로 줄였으며, 고정된 층 단위 정밀도 대비 50%보다 우수하다.
  • 압축 기법은 외부 메모리 트래픽을 기존 고정 정밀도 기법보다 38%로 줄여 더 뛰어난 성능을 보였다.
  • DStripes는 두 가지 하드웨어 버전에서 8비트 네트워크에서 각각 1.82배와 2.81배의 성능 향상을 달성했다. 이는 각 그룹의 동적 정밀도에 적응함으로써 가능했다.
  • 이 방법은 정밀도에 비례해 실행 시간을 조절할 수 있도록 하여, 밀도 높은 네트워크와 희소 네트워크 모두에서 에너지 효율성을 향상시켰다.
  • DPRed는 8비트 양자화 네트워크에서도 효과적이며, 기존의 양자화 기법에 대한 강건성을 입증했다.
  • 이 방법은 프루닝 및 양자화와 수직적 관계를 이루며, EIE, TRT, Bit-Fusion와 함께 조합해 성능을 추가로 향상시킬 수 있다.

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

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

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

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