Hugging Face — 단일 GPU 학습 성능 가이드의 혼합 정밀도
Hugging Face — 단일/멀티 GPU 학습 성능 가이드의 혼합 정밀도
Hugging Face Transformers 는 모델 학습 성능을 끌어올리는 GPU 성능 튜닝 가이드를 제공해요. 그중에서도 혼합 정밀도(mixed precision) 를 핵심 방법 중 하나로 다뤄요.
핵심 방법
- 자동 혼합 정밀도(AMP): 모델을
float16/bfloat16으로 캐스팅해 연산을 빠르게 하고 VRAM을 줄인다.fp16=True/bf16=True같은 트레이너 플래그로 켠다. - CPU 오프로딩: GPU 메모리가 부족하면 파라미터·그래디언트를 CPU로 내린다.
- 어텐션 최적화: 메모리 효율 어텐션·플래시 어텐션을 켜 컨텍스트 길이를 늘린다.
왜 bfloat16인가
bfloat16은 float32와 동일한 지수 범위를 가져 fp16보다 안정적이고, AMP와 결합 시 많은 모델에서 정확도를 크게 떨어뜨리지 않는다.
영역
이 가이드는 단일 GPU부터 멀티 GPU(DDP/FSDP/ZeRO)까지 속도와 메모리 균형을 잡는 레시피 모음이에요. GPU 수가 늘어날수록 계층을 쌓아 스케일링하는 구조로, 혼합 정밀도는 그 최초 단계예요.