Inference Budget / GUIDE
가중치와 KV 캐시를 따로 계산하는 이유
추론을 계획할 때 모델 파일 크기만 확인하면 긴 문맥이나 동시 요청에서 메모리 부족을 만날 수 있습니다. 이 계산기는 메모리를 가중치, KV 캐시, 추가 여유분의 세 항목으로 분리합니다. 각 항목을 따로 바꾸어 어떤 가정이 전체를 지배하는지 확인할 수 있습니다.
가중치 계산
가정상 80억 파라미터를 원소당 4비트로 보관하면 8 × 10⁹ × 4 ÷ 8 바이트, 약 3.73 GiB입니다. 이 값은 순수한 원소 저장량입니다. 실제 양자화 파일에는 스케일 등 부가 정보가 있고 일부 레이어가 다른 정밀도로 남을 수 있으므로 파일 크기나 런타임 메모리와 같다고 단정하면 안 됩니다.
캐시는 문맥과 동시 요청에 따라 변합니다
전체 어텐션의 간단한 KV 계산은 2 × L × Hkv × D × T × B × S입니다. K와 V 두 묶음, 레이어 수 L, KV 헤드 수 Hkv, 헤드 차원 D, 시퀀스 길이 T, 동시 시퀀스 수 B, 원소 바이트 S를 곱합니다. Hugging Face의 KV 캐시 설명에서도 이 구조의 저장량 계산을 확인할 수 있습니다.
이 사이트의 가상 예제는 레이어 32, KV 헤드 8, 차원 128, 문맥 8,192, 시퀀스 1, 캐시 2바이트입니다. 캐시는 정확히 1 GiB로 계산됩니다. 문맥을 두 배로 바꾸면 캐시는 2 GiB가 되고, 시퀀스까지 네 개로 바꾸면 8 GiB가 됩니다. 가중치는 이 변경으로 늘지 않습니다.
여유 비율은 측정값이 아닙니다
기본 20%는 계산을 시작하기 위한 예시 입력입니다. 특정 엔진에 검증된 보정 계수가 아닙니다. 활성값, 임시 버퍼, CUDA 그래프, 메모리 단편화와 통신 공간이 필요한 만큼 다르게 잡아야 합니다. 작은 모델의 여유 비율을 큰 모델에 그대로 재사용하지 마세요.
보고서를 남길 때
JSON 보고서에는 입력값과 각 항목의 계산 결과가 함께 들어갑니다. 후보 구성을 비교할 때 비트 수만 다르게 바꿨는지, 문맥 길이나 배치도 함께 바뀌었는지 확인할 수 있습니다. 같은 조건을 비교한 뒤 실제 런타임 피크와 차이를 기록하면 다음 계획의 근거가 됩니다.