[논문 리뷰] Mixed Precision Training of Convolutional Neural Networks using Integer Operations
논문은 ImageNet-1K에서 INT16 기반 혼합 정밀도 CNN 학습을 시연하여 FP32 정확도에 도달하거나 이를 초과하고, GP 하드웨어에서 엔드-투-엔드 학습 처리량을 약 1.8배 달성하며, Dynamic Fixed Point 스킴과 정수 FMA 커넬을 사용합니다.
The state-of-the-art (SOTA) for mixed precision training is dominated by variants of low precision floating point operations, and in particular, FP16 accumulating into FP32 Micikevicius et al. (2017). On the other hand, while a lot of research has also happened in the domain of low and mixed-precision Integer training, these works either present results for non-SOTA networks (for instance only AlexNet for ImageNet-1K), or relatively small datasets (like CIFAR-10). In this work, we train state-of-the-art visual understanding neural networks on the ImageNet-1K dataset, with Integer operations on General Purpose (GP) hardware. In particular, we focus on Integer Fused-Multiply-and-Accumulate (FMA) operations which take two pairs of INT16 operands and accumulate results into an INT32 output.We propose a shared exponent representation of tensors and develop a Dynamic Fixed Point (DFP) scheme suitable for common neural network operations. The nuances of developing an efficient integer convolution kernel is examined, including methods to handle overflow of the INT32 accumulator. We implement CNN training for ResNet-50, GoogLeNet-v1, VGG-16 and AlexNet; and these networks achieve or exceed SOTA accuracy within the same number of iterations as their FP32 counterparts without any change in hyper-parameters and with a 1.8X improvement in end-to-end training throughput. To the best of our knowledge these results represent the first INT16 training results on GP hardware for ImageNet-1K dataset using SOTA CNNs and achieve highest reported accuracy using half-precision
연구 동기 및 목표
- ImageNet-1K에서 INT16 정수 연산을 사용한 상태-의-최신 CNN 학습을 일반-purpose 하드웨어에서 시연한다.
- 신경망 학습을 위한 공유 텐서-전역 지수와 함께 Dynamic Fixed Point (DFP) 표현을 개발한다.
- 합성곱(Convolution) 및 GEMM를 위한 효율적인 정수 기반 커널을 설계하고, 레이어 간 오버플로우 및 스케일링을 관리한다.
- 하이퍼-파라미터 변경 없이 FP32 정확도에 도달하거나 이를 상회하는 혼합 정밀도 INT16 학습을 보여주고 처리량 이득을 얻는다.
제안 방법
- 텐서별 공유 지수 및 INT16 데이터 요소를 갖는 Dynamic Fixed Point (DFP) 포맷을 제안한다.
- INT16 텐서를 사용하여 공유된 8비트 서명 지수로 GEMM/컨볼루션 연산을 정수 FMA 명령으로 구현한다.
- DFP-32에서 DFP-16으로의 다운-컨버전을 최대값 기반 스케일링과 여러 반올림 전략으로 개발한다.
- FMA 체인에서의 오버플로를 방지하기 위해 부분 누적을 INT32로 수행하고 가끔 FP32 누적을 사용한다.
- 가중치의 FP32 마스터 카피를 유지하되, FP32 그래디언트로 업데이트하고 다음 층의 활성화/가중치를 DFP-16 원시로 양자화한다.
실험 결과
연구 질문
- RQ1일반-purpose 하드웨어에서 INT16 기반 혼합 정밀도 학습이 ImageNet-1K에서 처음부터 학습되는 대형 CNN의 FP32 정확도에 도달하거나 이를 상회할 수 있는가?
- RQ2Dynamic Fixed Point 표현과 공유 지수가 CNN 학습의 정확도와 성능에 어떤 영향을 미치는가?
- RQ3전방/후방 패스 및 가중치 업데이트를 위해 정수 FMA 커널(예: AVX512_4VNNI)을 사용할 때 잠재적 속도 증가와 하드웨어 효율은 어떤가?
- RQ4학습 중 컨볼루션 및 GEMM 커널 간의 오버플로우 및 스케일링 관리를 어떻게 수행하여 수치 안정성을 유지하는가?
주요 결과
- DFP16 혼합 정밀도 학습은 ImageNet-1K의 ResNet-50, GoogLeNet-v1, VGG-16, AlexNet에 대해 FP32 정확도와 같거나 이를 초과합니다.
- ResNet-50은 DFP16으로 75.77% Top-1 및 92.84% Top-5를 달성했고, FP32 기준 75.70% Top-1 및 92.78% Top-5를 상회합니다.
- 테스트 하드웨어에서 엔드-투-엔드 학습 처리량이 FP32 대비 1.8배 향상됩니다.
- 컨벌루션 커널: 3x3은 1.8배, 1x1은 1.4배 더 빠르고; 배치정규화는 2배 빠르며; ReLU/EltWise가 BN과 융합되어 메모리 대역폭 효율이 향상됩니다.
- GoogLeNet-v1, VGG-16, AlexNet 또한 하이퍼-파라미터 변경 없이 INT16 학습으로 SOTA 정확도에 도달합니다.
- GP 하드웨어에서 ImageNet-1K에 대한 최초의 INT16 CNN 학습 결과를 시연하며, SOTA CNN과 함께 half-precision 표현으로 보고된 최고 정확도를 달성합니다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.