메모리 도구상자
Mixed precision (bf16/fp16)
32-bit 대신 16-bit 학습이 메모리 절반 + 현대 GPU에서 학습 가속.
bf16 vs fp16: bf16는 fp32랑 같은 범위(정밀도만 낮음)라 수치적으로 더 안정적. 하드웨어 지원하면 항상 bf16 선호(Ampere+: A100, RTX 3090+).
Gradient checkpointing
Compute를 메모리랑 trade — backward pass 중 activation 저장 대신 재계산. ~20% 느린 학습 비용에 VRAM 30~50% 감소.
Flash Attention 2
더 빠르고 메모리 효율적인 attention 구현. Attention 메모리를 O(n²)에서 O(n)으로 감소 + 학습 상당히 가속.
메모리 체크리스트 (영향 순)
- QLoRA(4-bit) 써 — 큰 모델에 단일 최대 승리.
- Gradient checkpointing 활성화.
- bf16 사용(가능하면 fp32 / fp16 X).
- Flash Attention 2 활성화.
- per_device batch 줄이고 gradient accumulation 늘려.
- max_seq_length 줄여.