원리
- AMP (Automatic Mixed Precision)
- 기본적으로 모델 학습은 **FP32(32비트 부동소수)**로 계산합니다.
- AMP는 autocast() 안에서 어차피 큰 정밀도가 필요 없는 연산(행렬 곱, 합성곱 등)을 **FP16(16비트)**으로 자동 변환해요.
- 덕분에:
- 메모리 사용량 절반 (같은 tensor 크기도 FP16이면 2배 작음)
- GPU Tensor Core 활용 (FP16/TF32에 최적화된 연산 유닛) → 속도 빨라짐
- 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 |