Skip to main content
QUICK REVIEW

[논문 리뷰] Training DNNs with Hybrid Block Floating Point

Mario Drumond, Tao Lin|arXiv (Cornell University)|2018. 04. 04.
Parallel Computing and Optimization Techniques참고 문헌 22인용 수 28
한 줄 요약

이 논문은 깊이 신경망 학습을 위한 하이브리드 블록 부동소수점과 부동소수점 표현인 HBFP를 제안한다. 여기서 내적 연산은 하드웨어 효율성을 위해 블록 부동소수점(BFP)으로 계산되고, 다른 연산은 정밀도를 유지하기 위해 전체 정밀도 부동소수점으로 수행된다. HBFP는 FP16 대비 최대 8.5배 높은 처리량과 2배의 모델 압축을 달성하면서도 FP32 수준의 모델 정확도를 확보하여 고밀도이자 에너지 효율적인 DNN 가속기를 가능하게 한다.

ABSTRACT

The wide adoption of DNNs has given birth to unrelenting computing requirements, forcing datacenter operators to adopt domain-specific accelerators to train them. These accelerators typically employ densely packed full precision floating-point arithmetic to maximize performance per area. Ongoing research efforts seek to further increase that performance density by replacing floating-point with fixed-point arithmetic. However, a significant roadblock for these attempts has been fixed point's narrow dynamic range, which is insufficient for DNN training convergence. We identify block floating point (BFP) as a promising alternative representation since it exhibits wide dynamic range and enables the majority of DNN operations to be performed with fixed-point logic. Unfortunately, BFP alone introduces several limitations that preclude its direct applicability. In this work, we introduce HBFP, a hybrid BFP-FP approach, which performs all dot products in BFP and other operations in floating point. HBFP delivers the best of both worlds: the high accuracy of floating point at the superior hardware density of fixed point. For a wide variety of models, we show that HBFP matches floating point's accuracy while enabling hardware implementations that deliver up to 8.5x higher throughput.

연구 동기 및 목표

  • DNN 학습에서 고정소수점 산술의 제한된 다이내믹 레인지와 하드웨어 비효율성 문제를 해결하기 위해.
  • 순수한 블록 부동소수점(BFP)의 한계, 예를 들어 지수 선택 과제와 넓은 텐서 분포로 인한 데이터 손실 문제를 극복하기 위해.
  • 고정소수점 산술의 하드웨어 밀도와 부동소수점 계산의 정밀도를 활용하는 하이브리드 표현을 설계하기 위해.
  • FP32 정확도를 유지하면서 메모리 대역폭과 모델 크기를 줄이고, 고처리량·저면적 DNN 가속기를 구현하기 위해.
  • HBFP가 다양한 DNN 아키텍처와 데이터셋에서 FP32의 즉각적인 대체제로 기능할 수 있음을 검증하기 위해.

제안 방법

  • HBFP는 모든 내적 연산을 8비트 또는 12비트 가수를 사용한 BFP로 수행하고, 다른 모든 연산(예: 활성화, 정규화)은 전체 정밀도 부동소수점으로 계산한다.
  • 각 내적 연산 전에 동적으로 지수를 선택함으로써 강력한 스케일링을 가능하게 하고, 가수 폭을 최소화한다.
  • BFP 정밀도를 최소한의 면적과 메모리 오버헤드로 향상시키기 위해 타일링 및 넓은 가중치 저장 최적화를 적용한다.
  • 활성화는 부동소수점 형식으로 저장되지만, 8비트 표현 또는 ReLU에 대한 단일 비트 플래그 등을 사용해 압축할 수 있어 메모리 대역폭을 줄일 수 있다.
  • FPGA 프로토타입은 8비트 BFP 승산기와 FP32 유사 활성화 유닛을 사용하여 구현되었으며, 높은 처리량과 낮은 자원 사용을 입증했다.
  • 해당 설계는 ResNet, WideResNet, DenseNet 및 LSTM 모델을 사용한 이미지 분류 및 언어 모델링 작업을 통해 평가되었다.

실험 결과

연구 질문

  • RQ1하이브리드 BFP-FP 표현은 처리량을 크게 향상시키면서도 FP32 수준의 정확도를 달성할 수 있는가?
  • RQ2BFP에서 동적 지수 선택은 좁은 가수 폭에서 데이터 손실을 완화하고 수렴 성능을 향상시킬 수 있는가?
  • RQ3다른 연산이 여전히 FP32에 머무르는 동안 내적 연산에만 BFP를 선택적으로 사용할 경우, 모델 정확도를 유지할 수 있는가?
  • RQ4HBFP를 FP16 또는 FP32 대신 사용할 경우, 면적, 처리량, 메모리 대역폭 측면에서 어떤 하드웨어 효율성 향상이 이루어지는가?
  • RQ5HBFP는 다양한 DNN 아키텍처와 데이터셋에서 FP32의 즉각적인 대체제로 기능할 수 있는가?

주요 결과

  • 8비트 가수를 사용한 HBFP는 동일한 FPGA에서 FP16 기반 가속기 대비 8.5배 높은 처리량을 달성했으며, 변환 유닛의 성능 오버헤드가 전혀 없었다.
  • 12비트 가수를 사용한 HBFP는 평가된 모든 모델에서 FP32 테스트 오차를 정확히 재현했다: CIFAR-100에서 ResNet-50는 26.07%, ImageNet은 1.89%, PTB에서 LSTM은 61.31퍼플렉서티.
  • 8비트 가수를 사용한 HBFP는 ImageNet에서 23.88%의 테스트 오차를 기록했으며, FP32와 0.24% 이내로 거의 동일한 정확도를 확보하여 정밀도를 낮추었음에도 유사한 성능을 보였다.
  • HBFP는 활성화를 좁은 부동소수점 또는 압축된 형식으로 저장함으로써 전방 및 역전파에서 메모리 대역폭을 최대 4배까지 줄였다.
  • FPGA 프로토타입의 변환 유닛은 자원의 1% 미만을 차지하며 성능에 영향을 주지 않아 효율적인 통합이 가능했다.
  • HBFP는 최대 2배의 모델 압축을 가능하게 하여 차량 메모리 용량과 분산 학습을 위한 외부 메모리 대역폭 요구량을 줄였다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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