메모리는 거의 모든 LLM 배포 결정의 구속 제약. 계산은 단순한데 모든 조각을 추적해야 해.
총 메모리 ≈ params × bytes_per_param + KV cache + activation 버퍼 + 프레임워크 오버헤드
| 포맷 | params당 바이트 | 7B 모델 가중치 | 70B 모델 가중치 |
|---|---|---|---|
| FP32 | 4 | 28 GB | 280 GB |
| FP16 / BF16 | 2 | 14 GB | 140 GB |
| INT8 / Q8 | 1 | 7 GB | 70 GB |
| INT4 / Q4 | 0.5 | 3.5 GB | 35 GB |
이건 가중치만. 추가:
- KV cache — 컨텍스트 길이 × n_layers × n_kv_heads × d_head × precision에 비례. Llama 3.3 70B 128K 컨텍스트 FP16: ~32 GB.
- 추론 중 활성 — 보통 몇 GB, 학습 중엔 훨씬 큼.
- 프레임워크 오버헤드 — CUDA 드라이버, 할당자, optimizer state. 종종 총량의 5-15%.
H100 80 GB가 70B INT4 모델(35 GB) + ~32 GB KV cache 여유 + 오버헤드 수용 가능. FP16은 H100 최소 2장 필요. 이 단순 산수가 배포의 거의 모든 "모델 X 써야 하나?" 대화를 형성.