Skip to main content
QUICK REVIEW

[논문 리뷰] Mixed Precision Training With 8-bit Floating Point

Naveen Mellempudi, Sudarshan Srinivasan|arXiv (Cornell University)|2019. 05. 29.
Robotic Mechanisms and Dynamics참고 문헌 23인용 수 41
한 줄 요약

본 논문은 가중치, 활성화, 오차 및 그래디언트에 대해 8비트 FP8을 사용하고 32비트 누산기를 활용하여 심층 신경망을 훈련시키고, Imagenet-1K 및 WMT16에서 다수의 모델과 작업에 걸쳐 최첨단 정확도를 달성한다.

ABSTRACT

Reduced precision computation for deep neural networks is one of the key areas addressing the widening compute gap driven by an exponential growth in model size. In recent years, deep learning training has largely migrated to 16-bit precision, with significant gains in performance and energy efficiency. However, attempts to train DNNs at 8-bit precision have met with significant challenges because of the higher precision and dynamic range requirements of back-propagation. In this paper, we propose a method to train deep neural networks using 8-bit floating point representation for weights, activations, errors, and gradients. In addition to reducing compute precision, we also reduced the precision requirements for the master copy of weights from 32-bit to 16-bit. We demonstrate state-of-the-art accuracy across multiple data sets (imagenet-1K, WMT16) and a broader set of workloads (Resnet-18/34/50, GNMT, Transformer) than previously reported. We propose an enhanced loss scaling method to augment the reduced subnormal range of 8-bit floating point for improved error propagation. We also examine the impact of quantization noise on generalization and propose a stochastic rounding technique to address gradient noise. As a result of applying all these techniques, we report slightly higher validation accuracy compared to full precision baseline.

연구 동기 및 목표

  • 저수준 정밀도 훈련을 통해 심층 학습의 증가하는 계산 격차를 해소하려는 동기 부여.
  • 스톱틱 반올림 없이 중요한 계산 경로에서 가중치, 활성화, 오차, 그래디언트에 대해 FP8 연산을 제안합니다.
  • FP8 전반에 걸쳐 대형 데이터셋과 모델에서 훈련을 입증하고 마스터 복사 가중치 정밀도를 감소시키는 방법을 제시합니다.
  • 손실 스케일링 문제 및 양자화 잡음이 정확도에 미치는 영향을 해결하여 정확도 보존 또는 향상을 도모합니다.

제안 방법

  • 가중치, 활성화, 오차, 그래디언트에 대해 FP8 (s=1,e=5,m=2)와 32비트 FP 누산기를 사용합니다.
  • 전방향, 역전파 및 가중치 업데이트 경로에 양자화 연산을 삽입하여 32비트 출력을 FP8로 하향 변환합니다.
  • 손실 스케일링을 적용하여 그래디언트 언더플로우를 방지하고 최적화 안정성을 유지합니다.
  • 업데이트를 위한 FP32 계산 경로에서는 FP16 마스터 가중치를 저장하고 FP32를 FP16 저장으로 메모리에 다시 저장합니다.
  • 반올림 모드를 조사하고 확률적 반올림을 도입하여 그래디언트 노이즈를 완화하고 일반화를 개선합니다.

실험 결과

연구 질문

  • RQ1FP8 혼합 정밀도 훈련이 합성곱 신경망 아키텍처(ResNet 변형) 및 NLP/Seq2Seq 모델에서 FP32 기준과 비슷하거나 더 높은 정확도를 달성할 수 있나요?
  • RQ2훈련 중 FP8의 감소된 서브노말 범위를 다루는 가장 좋은 손실 스케일링 전략과 반올림 방법은 무엇인가요?
  • RQ3FP8이 Imagenet-1K 및 WMT16과 같은 대형 데이터셋에서 수렴성, 일반화 및 메모리 효율성에 어떤 영향을 미치나요?

주요 결과

  • FP8 훈련은 향상된 손실 스케일링과 함께 ResNet-18/34/50의 Imagenet-1K에서 FP32 기준에 근접하거나 다소 높아진 top-1 정확도를 달성합니다(69.71 대 69.23; 72.95 대 72.96; 75.70 대 75.47).
  • FP32 누산기를 사용하는 FP8 훈련은 ResNet 워크로드와 GNMT/Transformer 번역 과제에서 WMT16의 수렴 및 정확도를 안정적으로 유지합니다.
  • WMT16에서 FP8의 BLEU 점수는 FP32 기준과 유사합니다(GNMT 24.6 대 24.3; Transformer 23.0 대 23.6).
  • 일부 모델(GNMT 등)에 대해 수렴 저해를 방지하고 일반화를 개선하기 위해 FP8에서 동적 손실 스케일링 전략이 필요합니다.
  • 활성화/그래디언트의 확률적 반올림은 일반화를 개선하고 결정론적 반올림에 비해 검증 성능이 약간 더 나은 결과를 제공할 수 있습니다.
  • FP16 마스터 복사본과 FP8 계산은 가중치 저장의 마스터 용량을 50% 줄이면서 정확도 저하 없이 가능하게 합니다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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