LLM VRAM 요구량 계산기란?
이 도구는 대규모 언어 모델(LLM)을 추론(inference) 목적으로 로드하고 구동할 때 필요한 GPU 비디오 메모리(VRAM)가 어느 정도인지 추정해 줍니다. 필요한 메모리 용량은 무엇보다 모델의 파라미터 수와, 각 가중치를 저장하는 데 사용하는 수치 정밀도(precision)에 따라 결정됩니다. 여기에 안전·오버헤드 계수를 더하는 이유는, KV 캐시·활성화 값(activations)·CUDA 컨텍스트처럼 순수 가중치 외에 추가로 메모리를 차지하는 요소들을 반영하기 위해서입니다.
사용 방법
모델 크기를 10억(B) 단위 파라미터 수로 입력하세요. 예를 들어 7B 모델이라면 7, Llama-3 70B라면 70을 넣으면 됩니다. 다음으로 정밀도를 선택합니다. FP32는 가중치당 4바이트, FP16/BF16은 2바이트, INT8은 1바이트, INT4 양자화는 0.5바이트를 사용합니다. 마지막으로 오버헤드 계수를 설정하세요. 짧은 컨텍스트 추론이라면 1.2(20% 여유분)가 무난한 기본값이며, 긴 컨텍스트나 배치 처리에서는 값을 더 높여 주는 것이 좋습니다.
공식 설명
$$\text{VRAM (GB)} = \text{Params (B)} \times \text{Bytes/Param} \times \text{Overhead}$$ 10억 바이트 ≈ 1GB이므로, 10억 단위 파라미터 수에 파라미터당 바이트 수를 곱하면 곧바로 기가바이트 단위가 나옵니다. 여기에 오버헤드 계수를 곱하면 런타임에 실제로 소모되는 메모리까지 포함한 값으로 늘어납니다.
계산 예시
7B 모델을 FP16, 오버헤드 계수 1.2로 구동하는 경우: $$7 \times 2 \times 1.2 = 16.8\,\text{GB}$$ 24GB 그래픽카드라면 여유롭게 들어갑니다. 같은 모델을 INT4로 돌리면: $$7 \times 0.5 \times 1.2 = 4.2\,\text{GB}$$ 8GB GPU에서도 거뜬히 실행됩니다.
자주 묻는 질문
실제 사용량이 순수 가중치보다 큰 이유는 무엇인가요? KV 캐시는 컨텍스트 길이와 배치 크기에 따라 커지고, 프레임워크는 활성화 값과 버퍼를 위한 메모리를 추가로 예약합니다. 오버헤드 계수는 바로 이 부분을 어림잡아 반영한 값입니다.
학습(training)도 포함되나요? 아닙니다. 학습에는 옵티마이저 상태와 그래디언트를 위해 대략 3~4배 더 많은 메모리가 필요합니다. 이 계산기는 추론을 기준으로 합니다.
오버헤드는 얼마로 잡아야 하나요? 짧은 프롬프트에는 약 1.2를, 긴 컨텍스트나 무거운 배치 처리에는 1.5~2.0 이상을 사용하세요.