- Published on
"8B 모델에 몇 GB 필요한가요"의 정답은 표가 아니라 두 개의 공식입니다. 가중치는 파라미터 수 곱하기 bpw 나누기 8이고, KV 캐시는 2 곱하기 레이어 수 곱하기 KV 헤드 수 곱하기 head_dim 곱하기 바이트 수 곱하기 토큰 수입니다. 이 글은 두 공식을 llama.cpp 소스와 공식 표에 직접 대조해 검증합니다 — ggml 블록 구조체에서 유도한 Q8_0의 8.5 bpw는 llama.cpp가 발표한 8.5008과 소수점 셋째 자리까지 맞고, 같은 방식으로 역산한 파라미터 수는 8.02~8.04B로 Llama-3.1-8B의 실제 값 8,030,261,248과 일치합니다. 그리고 진짜 함정을 짚습니다 — Llama-3.1-8B를 Q4_K_M으로 줄이면 가중치는 4.58 GiB지만 128K 컨텍스트의 KV 캐시는 정확히 16 GiB로 가중치의 3.5배이고, 16GB 카드에서 당신을 막는 건 모델이 아니라 컨텍스트입니다. 품질 손실은 llama.cpp가 RTX 4090에서 측정해 공개한 KL 발산 수치로만 이야기하고(같은 Q4_K_M이 Llama-2에서는 PPL 1.4% 손해인데 Llama-3에서는 2.8%로 두 배라는 사실 포함), tok/s 수치가 하드웨어 없이 제시되면 왜 쓸모없는지 — llama.cpp 공식 README의 표가 정확히 그렇습니다 — 도 함께 정리합니다.