모델 크기보다 전체 메모리를 계산한다
양자화는 가중치를 더 적은 비트로 표현해 메모리 요구를 낮춥니다. 다만 품질 손실은 모델과 양자화 방식, 업무에 따라 달라지므로 원문의 1~2% 같은 일반 수치를 구매 근거로 삼으면 안 됩니다. 실제 후보를 같은 도메인 평가 세트로 비교해야 합니다.
필요 메모리에는 가중치뿐 아니라 KV 캐시, 런타임 버퍼와 여유 공간이 포함됩니다. 문맥 길이, 동시 요청과 배치가 늘면 KV 캐시가 커집니다. GQA나 PagedAttention은 낭비를 줄일 수 있지만 물리적 한도를 없애지 않습니다. 목표 문맥과 동시 사용자 수를 먼저 정한 뒤 최고 사용량을 측정해야 합니다.
capacity sheet에는 quantized weight, KV per token, layer, max prompt+output, concurrent sequence, temporary workspace, CUDA graph와 safety margin을 둡니다. 구현마다 KV dtype, offload와 allocator가 달라 계산치는 시작점일 뿐입니다. 실제 engine에서 1, 4, 16 sequence와 p95 길이를 replay해 peak allocated, reserved memory, OOM과 queue를 측정합니다.
메모리 bandwidth는 decode tokens/s에 큰 영향을 줄 수 있고 compute는 prompt prefill, batch에서 중요할 수 있습니다. GPU spec 한 숫자 대신 짧은 interactive, 긴 document와 batch embedding을 따로 benchmark합니다. CPU, unified memory offload가 fit을 가능하게 해도 TTFT, decode와 system responsiveness가 허용되는지 확인합니다.
양자화 품질은 평균 benchmark만 보지 않고 업무에서 중요했던 rare name, number, JSON, code test와 긴 context retrieval로 비교합니다. 같은 base model의 precision별 answer, 사람 수정률과 refusal을 봅니다. 작은 품질 손실이 외부 검토 시간을 늘리면 hardware savings를 상쇄합니다.