In deep neural network (DNN), community has explored to replace 32-bit floating point representations with low-precision block floating point (BFP) to reduce the computational cost for DNN training. BFP-based training provides high computational efficiency. However, we observe that the accuracy loss could be significant, which makes the trained models show much lower accuracy than the floating point. To solve this problem, this paper first conducts a characterization analysis using DNN models, and demonstrates that having single shared exponent in BFP has a large impact on the final accuracy degradation. Exploiting the observation, we propose multi-exponent BFP, a modified BFP that represents each value in a BFP group using either of two exponents, which effectively enables two dynamic ranges for each BFP group. Our accelerator efficiently supports the multi-exponent BFP-based general matrix-matrix multiplication (GEMM) with marginal hardware cost. Our experiments show that the multi-exponent technique allows to obtain higher final accuracy, while not lowering the training speed substantially.
딥러닝 분야에서는 모델 훈련의 연산 비용을 줄이기 위해 부동소수점 데이터를 block floating point (BFP) 데이터로 대체하는 연구가 주목받고 있다. BFP 기반의 훈련은 높은 연산 효율성을 보인다. 하지만 BFP 데이터로 훈련된 모델은 부동소수점 대비 큰 모델 정확도 손실을 나타낼 수 있다. 이러한 문제를 해결하기 위해, 본 연구에서는 딥러닝 모델 훈련 상에서 BFP의 특성을 분석하여 정확도 손실이 단일 공유 지수에 의해 발생함을 확인하고 두 개의 공유 지수를 갖는 다중 지수 BFP 데이터를 제안한다. 본 연구에서 제안하는 가속기는 다중 지수 BFP 데이터 기반의 행렬 곱셈 연산을 약간의 하드웨어 비용을 추가하여 처리한다. 그리고 실험을 통해 다중 지수 BFP의 정확도 향상과 추가적인 하드웨어 비용에 의한 가속기의 연산 속도 저하가 없음을 보인다.