Mixed precision training

panwoo·2025년 2월 19일

week5: Mixed precision training

혼합 정밀도(Mixed Precision)

  • 파라미터(Weights)와 옵티마이저는 FP32 유지, 활성값(Activation)만 FP16/BF16로 변환하여 속도를 향상시키는 기법

연산 속도 변화

  • FP32 < TF32 < FP16/BF16 (속도 증가)
  • 32비트를 16비트로 단순 변환하면 손실이 크므로, 핵심 정보(FP32)는 유지하면서 연산 속도를 최적화하려고 TF32 탄생

배치 크기에 따른 특징

  • 작은 배치 → 혼합 정밀도를 써도 메모리 사용량이 크게 줄지 않음
    → 오히려 메모리 사용량 증가
  • 배치 크기 증가 → 활성값(Activation) 비율이 커짐
    1. 혼합 정밀도에서는 파라미터 & 옵티마이저는 FP32 유지
    2. 활성값만 배치 크기에 따라 변화
    3. 배치 크기가 커질수록 활성값의 비율이 증가

혼합 정밀도 적용 요소

📌 파라미터 (Weights)

  • 모델이 학습하는 가중치, 네트워크의 핵심 값
  • 학습 중 옵티마이저에 의해 업데이트됨
  • FP32 유지 (정밀도 손실 방지)

📌 옵티마이저 (Optimizer)

  • 가중치를 조정하는 알고리즘 (ex. Adam, SGD)
  • 모델이 학습할 때 손실(Loss)를 최소화하도록 학습 방향을 조절
  • FP32 유지 (수치 안정성 확보)

📌 활성값 (Activation)

  • 뉴런에서 나온 연산 결과 (레이어 간 중간 결과)
  • 최종 예측 값을 만드는데 사용됨
  • 혼합 정밀도 적용 → FP16/BF16 변환 가능 (속도 향상, 메모리 절약)

0개의 댓글