본문 바로가기
AI & Data Analysis/Deep Learning

AMP + TF32

by doraemin_dev 2025. 8. 29.

 

 원리

  1. AMP (Automatic Mixed Precision)
    • 기본적으로 모델 학습은 **FP32(32비트 부동소수)**로 계산합니다.
    • AMP는 autocast() 안에서 어차피 큰 정밀도가 필요 없는 연산(행렬 곱, 합성곱 등)을 **FP16(16비트)**으로 자동 변환해요.
    • 덕분에:
      • 메모리 사용량 절반 (같은 tensor 크기도 FP16이면 2배 작음)
      • GPU Tensor Core 활용 (FP16/TF32에 최적화된 연산 유닛) → 속도 빨라짐
  2. TF32 (TensorFloat-32)
    • NVIDIA A100, RTX 30 시리즈 이상 GPU에서 기본 활성화.
    • FP32처럼 32비트 폭을 쓰지만, 실제 유효 자릿수는 FP16과 비슷하게 줄임.
    • 즉, 속도는 FP16에 가깝게, 안정성은 FP32 비슷하게 얻는 모드.
    • AMP와 함께 쓰면 대부분의 matmul/conv 연산이 TF32 + FP16 조합으로 처리돼서 빠르면서 메모리도 크게 줄어요.

쉽게 말하면:
정밀도를 살짝 포기하는 대신, GPU가 훨씬 효율적인 연산 유닛을 쓰도록 해서 속도↑, 메모리↓ 효과가 생긴 거예요.


👉 요약:
AMP+TF32는 정밀도를 낮춰 GPU 연산 효율을 극대화한 덕분에 메모리 사용량이 확 줄었습니다. ( 15576MiB 에서 579MiB로 줄어듦 )
이제 남는 메모리를 활용해 batch_size를 늘리면 속도가 더 빨라질 수 있고, 필요하면 lr 스케일링도 같이 해주면 좋아요.

 

'AI & Data Analysis > Deep Learning' 카테고리의 다른 글

[ScRAT] Complete Summary  (0) 2025.08.21
[ScRAT] using of cell type annotation  (0) 2025.08.20
[protocell4P] Customized Dataset  (2) 2025.08.14
[Survey] Methods to Reduce Cell Count  (2) 2025.08.14
[ScRAT] SPILT Dataset Results  (4) 2025.08.08