2026년 8월 25일 화요일

LoRA 실전 ① — 메모리 산수: 내 GPU에 뭐가 들어가나

파인튜닝 하드웨어의 모든 질문은 하나의 산수로 환원된다: 파라미터당 몇 바이트를 쓰는가. 이 시리즈는 "내 CPU/GPU로 뭐가 되나"를 숫자로 답하는 실전편이다. 첫 글은 그 기초 대수 — 이것만 알면 어떤 모델이 어떤 하드웨어에 들어가는지 암산할 수 있다.

파라미터당 바이트 사다리

  • 추론: fp16 = 2B/파라미터 (7B 모델 → 14GB), 4비트 양자화(Q4/GGUF) = ~0.57B (7B → ~4.6GB). 출처: EleutherAI Transformer Math 101.
  • Full fine-tuning: 혼합정밀 기준 ~18B/파라미터 — 가중치 6B(fp16 사본 2 + fp32 마스터 4) + Adam 상태 8B + 그래디언트 4B (HF 공식 분해). 즉 7B 모델 full FT = 126GB+, 4B 모델을 배치 16으로 돌리면 ~85GB. 소비자 GPU에서는 불가능하다.
  • LoRA (16-bit): ~2.5B/파라미터 (7B → ~19GB). 어댑터만 학습하므로 12B/파라미터짜리 Adam 세금이 거의 0이 된다 — 이것이 LoRA가 통하는 이유의 전부다 (LoRA 논문: 학습 파라미터 1/10000, 어댑터 파일은 수십 MB).
  • QLoRA (4-bit): ~0.6-0.75B/파라미터. base를 NF4로 동결하고 그 위에 어댑터 (QLoRA: 65B를 48GB GPU 한 장에, 33B를 24GB에).

암기할 표 — QLoRA/LoRA 최소 VRAM (Unsloth 공식)

  • 3B → 3.5 / 8 GB  ·  7B → 5 / 19 GB  ·  8B → 6 / 22 GB
  • 14B → 8.5 / 33 GB  ·  32B → 26 / 76 GB  ·  70B → 41 / 164 GB (앞이 QLoRA, 뒤가 16-bit LoRA)
  • 어림법: QLoRA VRAM ≈ 파라미터(B) × 0.6 GB. OOM의 최다 원인은 배치 크기 — 1~3에서 시작하라.

학습이 아니라 서빙이 문제일 때 — KV 캐시

추론 VRAM의 복병은 가중치가 아니라 KV 캐시다. 토큰당 비용 = 2 × 레이어 수 × KV 헤드 수 × 헤드 차원 × 정밀도 바이트 (NVIDIA 공식 공식). 예: Llama-3-8B(GQA)는 토큰당 128KB → 8K 컨텍스트 ≈ 1GB, 128K ≈ 17GB. vLLM의 PagedAttention이 유명해진 이유가 이것이다 — 순진한 할당은 KV 메모리의 60-80%를 낭비한다(vLLM).

속도의 물리학 — 대역폭이 전부다

배치 1 생성 속도는 계산이 아니라 메모리 대역폭에 묶인다: tokens/s ≈ (대역폭 × ~0.65) ÷ 모델 파일 크기 (추론 광속 유도). 듀얼채널 DDR4(51GB/s)로 7B Q4 → 7-8 t/s, RTX 4090(1,008GB/s) → 10배. 이 공식 하나가 시리즈 전체를 관통한다.

정리

한 줄 교훈: 학습 메모리의 주범은 옵티마이저 상태와 활성화, 서빙 메모리의 주범은 KV 캐시다 — 가중치가 제일 싸다. 그래서 처방은 QLoRA + gradient checkpointing + 배치 1-2, 그리고 서빙에서는 파라미터 수가 아니라 컨텍스트 길이를 예산하라. 다음 글: 그럼 CPU만으로는 어디까지 되나.

— LoRA 실전 시리즈 ① / 다음 글: CPU로 어디까지 되나

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

sLM 평가 방법론 ⑪ (완결) — 평가 챕터 쓰기: 심사위원이 재실행할 수 있게

마지막 편의 기준은 하나다: 적대적인 심사위원이 논문만 보고 모든 숫자를 재실행할 수 있는가. 2026년의 평가 보고는 체크리스트 주도·버전 고정이 표준이다. 체크리스트를 뼈대로 쓰라 ACL Responsible NLP 체크리스트 의 A~D절(한...