[논문 리뷰] Rethinking floating point for deep learning
이 논문은 Kulisch 누적 및 ELMA를 포함한 8비트 로그 플로트로 retraining 없이 ResNet-50에서 float32 정확도에 근접을 달성하고, 28 nm ASIC 하드웨어에서 8/32-비트 정수 MAC 대비 에너지/면적 이점을 보임을 제시한다.
Reducing hardware overhead of neural networks for faster or lower power inference and training is an active area of research. Uniform quantization using integer multiply-add has been thoroughly investigated, which requires learning many quantization parameters, fine-tuning training or other prerequisites. Little effort is made to improve floating point relative to this baseline; it remains energy inefficient, and word size reduction yields drastic loss in needed dynamic range. We improve floating point to be more energy efficient than equivalent bit width integer hardware on a 28 nm ASIC process while retaining accuracy in 8 bits with a novel hybrid log multiply/linear add, Kulisch accumulation and tapered encodings from Gustafson's posit format. With no network retraining, and drop-in replacement of all math and float32 parameters via round-to-nearest-even only, this open-sourced 8-bit log float is within 0.9% top-1 and 0.2% top-5 accuracy of the original float32 ResNet-50 CNN model on ImageNet. Unlike int8 quantization, it is still a general purpose floating point arithmetic, interpretable out-of-the-box. Our 8/38-bit log float multiply-add is synthesized and power profiled at 28 nm at 0.96x the power and 1.12x the area of 8/32-bit integer multiply-add. In 16 bits, our log float multiply-add is 0.59x the power and 0.68x the area of IEEE 754 float16 fused multiply-add, maintaining the same signficand precision and dynamic range, proving useful for training ASICs as well.
연구 동기 및 목표
- 신경망에 대한 재학습이나 광범위한 양자화 없이 부동 소수점 표현을 더 에너지 효율적으로 만들 수 있는지 조사한다.
- 작은 워드 크기에서 동적 범위와 에너지 효율을 개선하면서 일반적인 부동 소수점 의미를 보존하는 새로운 산술을 개발한다.
- 제안된 산술을 표준 CNN에서 평가하고 ASIC 및 FPGA 플랫폼에서 전통적 정수 양자화 기준선과 비교한다.
제안 방법
- 8비트 로그 도메인 표현을 도입하고, 포지트(N,s) 및 Gustafson의 tapering에서 영감을 얻은 테이퍼링과 Kulisch 누적을 통한 ELMA (exact log-linear multiply-add)를 제안한다.
- 로그 도메인 곱셈과 선형 도메인 누적의 조합을 사용하여 에너지 효율적인 EMA/ELMA 연산을 가능하게 한다.
- 네트워크 재학습 없이 모든 수학 연산 및 float32 매개변수를 가장 가까운 짝수로 반올림하여 드롭인 대체로 교체한다.
- 32x32 매트릭스 곱셈-적산과 8/38-bit 로그 MADD를 갖춘 28 nm ASIC에서 합성하고, IEEE/표준 대안과의 전력/면적을 비교한다.
실험 결과
연구 질문
- RQ18비트 부동소수점 유사 표현이 재학습 없이 CNN에서 float32 근사치를 유지할 수 있는가?
- RQ2로그 도메인과 Kulisch 누적 기법이 하드웨어에서 일반적인 int8/32 양자화에 비해 에너지 및 면적 이점을 제공하는가?
- RQ3CNN 워크로드에 ELMA 기반 곱셈-덧셈을 채택할 때 정확도, 지연, 하드웨어 자원 간의 트레이드오프는 무엇인가?
주요 결과
- 8-bit log float with ELMA가 재학습 없이 ImageNet의 ResNet-50에서 top-1 정확도는 float32 대비 0.9% 이내, top-5 정확도는 0.2% 이내로 달성한다.
- On 28 nm ASIC에서 8/38-bit log MADD는 8/32-bit 정수 MADD 대비 전력은 0.96배, 면적은 1.12배를 사용한다.
- 16-bit 구성에서 log MADD는 IEEE-754 float16 FMA 대비 전력 0.59배, 면적 0.68배를 사용하면서도 유효 숫자 정밀도와 동적 범위를 유사하게 유지한다.
- FPGA 실험은 Kulisch 누적을 사용하는 ELMA가 int8/32 MAC 기준선에 대해 경쟁력 있는 결과를 보임을 보여준다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.