Skip to main content
QUICK REVIEW

[논문 리뷰] Low-Precision Floating-Point Schemes for Neural Network Training

Marc Ortiz, Adrián Cristal|arXiv (Cornell University)|2018. 04. 14.
Numerical Methods and Algorithms참고 문헌 4인용 수 9
한 줄 요약

이 논문은 에너지 소비와 메모리 사용을 줄이면서 신경망 학습을 가속화하기 위해 저정밀도 부동소수점 및 고정소수점 산술 체계를 제안한다. 스트로스틱 반올림을 적용한 12비트 부동소수점 형식, 로컬 스케일링이 적용된 부동소수점 변형(기본 32비트 학습 대비 정확도 향상 2.42%), 그리고 곱셈을 비트 시프트로 대체하는 2의 거듭제곱 신경망을 도입하여 학습 시간과 자원 소비를 줄이고 정확도 손실를 최소화한다.

ABSTRACT

The use of low-precision fixed-point arithmetic along with stochastic rounding has been proposed as a promising alternative to the commonly used 32-bit floating point arithmetic to enhance training neural networks training in terms of performance and energy efficiency. In the first part of this paper, the behaviour of the 12-bit fixed-point arithmetic when training a convolutional neural network with the CIFAR-10 dataset is analysed, showing that such arithmetic is not the most appropriate for the training phase. After that, the paper presents and evaluates, under the same conditions, alternative low-precision arithmetics, starting with the 12-bit floating-point arithmetic. These two representations are then leveraged using local scaling in order to increase accuracy and get closer to the baseline 32-bit floating-point arithmetic. Finally, the paper introduces a simplified model in which both the outputs and the gradients of the neural networks are constrained to power-of-two values, just using 7 bits for their representation. The evaluation demonstrates a minimal loss in accuracy for the proposed Power-of-Two neural network, avoiding the use of multiplications and divisions and thereby, significantly reducing the training time as well as the energy consumption and memory requirements during the training and inference phases.

연구 동기 및 목표

  • 깊은 신경망 학습에 대해 스트로스틱 반올림을 적용한 저정밀도 고정소수점 산술 체계의 한계를 평가하는 것.
  • 모델 정확도를 유지하면서 효율성을 향상시키는 저정밀도 수치 표현의 대안을 탐색하는 것.
  • 2의 거듭제곱 값을 사용하여 간소화된 신경망 모델을 설계하여 고비용 곱셈과 나눗셈을 제거하는 것.
  • 로컬 스케일링이 적용된 부동소수점 산술 체계가 12비트만으로도 32비트 기준선을 초월하는 정확도 향상을 이룰 수 있음을 보여주는 것.
  • 저정밀도 형식에서 하드웨어 우아한 연산을 활용하여 에너지 효율적이고 고처리량 학습을 가능하게 하는 것.

제안 방법

  • 이중 정밀도 Caffe 프레임워크를 사용하여 12비트 고정소수점 및 12비트 부동소수점 산술을 시뮬레이션하며, 값들을 12비트로 제한한다.
  • 오버플로우 및 언더플로우를 처리하기 위해 스트로스틱 반올림을 적용하여 확률적 반올림을 통해 가장 가까운 표현 가능한 값으로 반올림함으로써 기대값을 유지한다.
  • 컨텍스트 플로트(문맥 부동소수점)를 도입하여, 각 레이어 또는 파라미터 그룹별로 지수 범위를 동적으로 조정하는 국소 스케일링이 적용된 부동소수점 형식을 제안한다.
  • 2의 거듭제곱 신경망을 제안하여 출력값과 기울기를 2의 거듭제곱 값으로 제한함으로써 곱셈 대신 비트 시프트 연산을 가능하게 한다.
  • 2의 거듭제곱 값에 대해 7비트 표현을 사용하여 학습 중 계산 복잡도를 크게 감소시킨다.
  • 모든 체계를 CIFAR-10에서 훈련된 ResNet 유사 아키텍처에서 평가하여 정확도, 학습 시간, 자원 사용량을 비교한다.

실험 결과

연구 질문

  • RQ112비트 고정소수점 산술에 스트로스틱 반올림을 적용했을 때 CIFAR-10에서 학습 중 모델 정확도를 유지할 수 있는가?
  • RQ2스트로스틱 반올림이 적용된 12비트 부동소수점 형식이 정확도와 안정성 측면에서 고정소수점보다 뛰어나게 되는가?
  • RQ3부동소수점 또는 고정소수점 형식에서의 국소 스케일링이 12비트만으로도 32비트 기준선을 초월하는 정확도 향상을 이룰 수 있는가?
  • RQ4네트워크 출력값과 기울기를 2의 거듭제곱 값으로 제한함으로써 학습 중 고비용 곱셈과 나눗셈을 제거할 수 있는가?
  • RQ5간소화된 수치 표현을 사용할 경우 정밀도 손실와 성능 향상 사이의 상호 교환 관계는 어떠한가?

주요 결과

  • 스트로스틱 반올림을 적용한 12비트 고정소수점 산술은 CIFAR-10에서 학습 중에 심각한 정확도 저하를 초래하여 학습 단계에 적합하지 않다.
  • 제안된 스트로스틱 반올림이 적용된 12비트 부동소수점 형식은 32비트 부동소수점 학습과 비교해도 최소한의 정확도 저하로 기준선 수준의 정확도를 달성한다.
  • 로컬 스케일링이 적용된 부동소수점(컨텍스트 플로트) 접근법은 32비트 기준선 대비 정확도를 2.42% 향상시켜 동적 범위 적응의 이점을 입증한다.
  • 2의 거듭제곱 신경망 표현 방식은 곱셈과 나눗셈을 비트 시프트로 대체함으로써 학습 시간과 에너지 소비를 줄인다.
  • 2의 거듭제곱 모델은 핵심 파라미터에 대해 오직 7비트만 사용함으로써 최소한의 정확도 손실(무시할 만한 저하)을 기록하며, 이는 메모리와 계산 오버헤드를 크게 감소시킨다.
  • 저정밀도 산술과 하드웨어 우아한 연산의 조합은 모델 성능을 훼손하지 않으면서 자원 제약이 있는 플랫폼에서도 효율적인 학습을 가능하게 한다.

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

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

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

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