[논문 리뷰] Towards Unified INT8 Training for Convolutional Neural Network
이 논문은 컨volutional 신경망을 위한 통합된 INT8 훈련 프레임워크를 제안하며, 두 가지 신규 기법인 Direction Sensitive Gradient Clipping과 Deviation Counteractive Learning Rate Scaling을 통해 저비트 역전파의 안정성을 높인다. 이는 MobileNetV2, InceptionV3 및 객체 검출기 등 다양한 네트워크에서 안정적이고 정확한 INT8 훈련을 가능하게 하며, 전용 하드웨어 없이 Pascal GPU에서 훈련 시간을 22% 감소시킨다.
Recently low-bit (e.g., 8-bit) network quantization has been extensively studied to accelerate the inference. Besides inference, low-bit training with quantized gradients can further bring more considerable acceleration, since the backward process is often computation-intensive. Unfortunately, the inappropriate quantization of backward propagation usually makes the training unstable and even crash. There lacks a successful unified low-bit training framework that can support diverse networks on various tasks. In this paper, we give an attempt to build a unified 8-bit (INT8) training framework for common convolutional neural networks from the aspects of both accuracy and speed. First, we empirically find the four distinctive characteristics of gradients, which provide us insightful clues for gradient quantization. Then, we theoretically give an in-depth analysis of the convergence bound and derive two principles for stable INT8 training. Finally, we propose two universal techniques, including Direction Sensitive Gradient Clipping that reduces the direction deviation of gradients and Deviation Counteractive Learning Rate Scaling that avoids illegal gradient update along the wrong direction. The experiments show that our unified solution promises accurate and efficient INT8 training for a variety of networks and tasks, including MobileNetV2, InceptionV3 and object detection that prior studies have never succeeded. Moreover, it enjoys a strong flexibility to run on off-the-shelf hardware, and reduces the training time by 22% on Pascal GPU without too much optimization effort. We believe that this pioneering study will help lead the community towards a fully unified INT8 training for convolutional neural networks.
연구 동기 및 목표
- 정량화된 기울기로 인한 INT8 훈련의 불안정성 및 시스템 충돌 문제를 해결하기 위해.
- 다양한 CNN 아키텍처와 작업을 지원하는 통합적이고 하드웨어에 종속되지 않는 프레임워크를 개발하기 위해.
- 수렴 한계 분석을 통해 안정적인 INT8 훈련에 대한 이론적 근거를 제공하기 위해.
- 특수 하드웨어나 복잡한 네트워크 수정 없이도 일반적인 GPU에서 실용적인 속도 향상을 가능하게 하기 위해.
제안 방법
- 기울기의 네 가지 고유한 특성(예리하고 넓은, 진화적, 깊이별, 구조별)을 경험적으로 규명하여, 이는 가중치와 활성화와 다름을 밝혀낸다.
- 기울기 정량화 오차와 학습률 간의 관계를 이론적으로 유도하여 안정적 훈련을 위한 두 원칙을 설정한다.
- 기울기 크기와 방향을 기반으로 적응적으로 클리핑하여 정량화된 기울기에서 방향 편차를 최소화하는 Direction Sensitive Gradient Clipping을 제안한다.
- 정량화 편차의 부정적 영향을 상쇄하기 위해 동적으로 학습률을 조정하는 Deviation Counteractive Learning Rate Scaling을 도입한다.
- 일반적인 하드웨어와의 호환성을 확보하기 위해 NVIDIA의 DP4A 명령세트를 사용해 프레임워크를 구현한다.
- 오직 컨볼루션 레이어만을 INT8로 최적화하여 최소한의 공학적 노력으로도 뚜렷한 속도 향상을 달성한다.
실험 결과
연구 질문
- RQ1INT8 훈련이 가중치/활성화 정량화보다 더 도전적인 이유가 되는 기울기의 고유한 특성은 무엇인가?
- RQ2기울기 정량화 오차 하에서 INT8 훈련의 수렴이 이론적으로 어떻게 제한될 수 있는가?
- RQ3기울기 클리핑을 방향에 민감하게 조정하여 훈련 중 방향 편차를 줄일 수 있는가?
- RQ4정량화 편차의 부정적 영향을 상쇄하기 위해 학습률 스케일링을 어떻게 설계할 수 있는가?
- RQ5특수 하드웨어 없이도 다양한 네트워크와 작업에서 안정적이고 효율적인 INT8 훈련을 달성할 수 있는가?
주요 결과
- 제안된 통합된 INT8 훈련 프레임워크는 InceptionV3를 사용해 ImageNet에서 95.00%의 Top-1 정확도를 달성하여 정밀도가 높은 성능을 보였다.
- MobileNetV2와 InceptionV3에서 이 방법은 INT8 훈련에서 71.20%의 Top-1 정확도를 기록했으며, FP32 대비 1.19%의 정확도 손실만을 보였다.
- 객체 검출 작업에서는 PASCAL VOC 및 COCO 데이터셋에서 모두 전체 정밀도 모델 대비 mAP가 1.8% 이내로 유지되었다.
- GeForce GTX 1080Ti(Pascal GPU)에서 종합 훈련 시간을 22% 감소시켰으며, 역전파 단계에서 1.94배의 속도 향상을 달성했다.
- 이 방법은 Faster R-CNN과 RetinaNet과 같은 객체 검출 네트워크에서 처음으로 INT8 훈련을 성공적으로 구현했다.
- ResNet-50에서 오직 INT8 컨볼루션 레이어만을 사용해도 전방전파에서 1.63배, 역전파에서 1.94배의 속도 향상을 달성했으며, 최소한의 최적화로도 가능했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.