LLM 추론 VRAM 계산기
입력
| 파라미터 수 | 7 |
|---|---|
| 가중치 정밀도 | FP16 / BF16 (16비트) |
| 런타임 오버헤드 | 20 % |
LLM 추론 VRAM 계산기
대규모 언어 모델을 추론용으로 서빙하는 데 필요한 GPU VRAM을 추정합니다. 파라미터 수, 가중치 정밀도, 그리고 KV 캐시·활성화·단편화를 위한 런타임 오버헤드를 입력으로 사용합니다.
입력
모델
런타임
결과
값을 입력하면 계산 결과가 표시됩니다.
세부 정보
LLM 추론 VRAM
대규모 언어 모델을 서빙하는 일은 직설적인 질문에서 시작됩니다. 이 모델이 GPU에 들어갈까요? 그 답은 모델의 가중치가 좌우하지만, 가중치만으로는 요구 사항을 과소평가하게 됩니다. 추론 서버는 KV 캐시와 각 레이어를 통과하는 활성화, 그리고 단편화로 잃는 일부 메모리도 보유해야 하기 때문입니다. 이 계산기는 세 가지 입력, 즉 파라미터 수와 가중치를 저장하는 정밀도, 그리고 나머지를 하나의 조정 가능한 수치로 묶은 런타임 오버헤드로부터 총 VRAM을 추정합니다.
가중치가 최저선을 정한다
모델의 가중치는 메모리에서 가장 큰 고정 비용입니다. 각 파라미터는 선택한 정밀도로 저장됩니다. 16비트 가중치는 각각 2바이트, 8비트 양자화는 1바이트, 4비트는 0.5바이트를 차지합니다. 따라서 파라미터 수 (10억 단위)을 비트로 저장하면 다음과 같이 차지합니다.
W=8N⋅b GB10억 개의 16비트 파라미터는 정확히 2 GB이며, 그래서 7B 모델은 가중치만으로 14 GB가 필요합니다. 비트 수를 8로 나누면 비트가 바이트로 환산되고, 파라미터를 10억 단위로, 메모리를 기가바이트로 세므로 단위가 곧바로 맞아떨어집니다.
런타임 오버헤드 더하기
가중치는 최저선일 뿐입니다. 추론 중에 서버는 처리 중인 모든 토큰의 어텐션 키와 값을 담은 KV 캐시를 유지하고, 각 요청이 레이어를 통과할 때 활성화를 할당하며, 단편화로 약간의 메모리를 잃습니다. 총합은 다음과 같습니다.
V=W⋅(1+o)여기서 는 가중치 크기에 대한 분수로 표현한 오버헤드입니다. KV 캐시는 가장 크고 가장 가변적인 구성 요소로 컨텍스트 길이와 동시 요청 수에 따라 커지므로, 적절한 오버헤드는 작업 부하에 크게 좌우됩니다. 짧은 프롬프트와 적당한 배치 크기에서는 20%가 합리적인 출발점이며, 긴 컨텍스트와 높은 처리량의 서빙은 이를 훨씬 더 높일 수 있습니다.
계산 예시
70억 파라미터 모델을 16비트 정밀도로 20% 오버헤드와 함께 서빙하는 경우를 봅시다.
WV=87×16=14 GB=14×(1+0.20)=16.8 GB16.8 GB의 총량은 24 GB 카드에는 여유롭게 들어가지만 16 GB 카드에는 자리를 남기지 않습니다. 같은 모델을 더 작은 GPU에서 실행하려면 8비트로 낮추어 가중치를 절반인 7 GB로 줄이고 총량을 약 8.4 GB 근처로 가져올 수 있습니다. 모델 크기와 정밀도의 관계는 양자화 기반 모델 크기 계산기에서 더 자세히 다룹니다.
모델을 들어가게 만들기
메모리는 가중치당 비트 수에 정비례하므로 양자화가 가장 직접적인 수단입니다. 16비트에서 8비트로 바꾸면 가중치 메모리가 절반이 되고, 8비트에서 4비트로 바꾸면 다시 절반이 되며, 보통 출력 품질 손실은 적고 수용 가능한 수준입니다. 양자화한 모델조차 단일 가속기를 초과하면, 대안은 가중치를 여러 GPU에 분할하거나 모델 일부를 큰 속도 비용을 감수하고 시스템 메모리로 오프로드하는 것입니다. 모델에 가속기가 몇 개 필요한지 추정하는 방법은 모델 구동에 필요한 GPU 수 계산기에서 다룹니다. 프레임워크와 컨텍스트 길이, 배치 크기가 모두 실제 수치를 움직이므로 여기서의 값은 계획용 추정치로 보고 실제 서빙 실행으로 확인하십시오.
자주 묻는 질문 (FAQ)
런타임 오버헤드는 무엇을 포함하나요?
추론 서버는 가중치 외에도 처리 중인 모든 토큰의 어텐션 키와 값을 저장하는 KV 캐시, 각 요청이 레이어를 통과하면서 생성되는 활성화, 그리고 메모리 단편화로 잃는 약간의 여유분을 보유해야 합니다. KV 캐시는 가장 크고 가장 가변적인 부분으로, 컨텍스트 길이와 동시 요청 수에 따라 커집니다. 따라서 긴 프롬프트나 큰 배치를 처리하는 서버는 기본값인 20%가 시사하는 것보다 훨씬 많은 메모리가 필요할 수 있습니다.
단일 오버헤드 백분율은 이 모든 것을 하나의 조정 가능한 수치로 묶습니다.
모델이 특정 GPU에 들어가는지 어떻게 알 수 있나요?
총 VRAM 추정값을 대상 가속기의 메모리와 비교하되, 운영체제와 드라이버를 위한 여유를 남겨 두십시오. 70억 파라미터 모델은 16비트에서 오버헤드를 포함해 약 17 GB가 필요하며, 이는 24 GB 카드에는 여유롭게 들어가지만 16 GB 카드에는 들어가지 않습니다. 추정값이 단일 GPU를 초과하면 모델을 양자화하거나 여러 GPU에 분할하거나, 큰 속도 손실을 감수하고 일부를 시스템 메모리로 오프로드해야 합니다.
양자화는 메모리를 얼마나 절약하나요?
메모리는 가중치당 비트 수에 정비례하므로, 16비트에서 8비트로 옮기면 가중치 메모리가 절반이 되고 4비트로 옮기면 4분의 1이 됩니다. 130억 파라미터 모델은 16비트에서 가중치에 약 26 GB가 필요하지만 8비트에서는 13 GB, 4비트에서는 오버헤드 전 약 6.5 GB만 필요합니다. 정밀도를 낮추면 더 큰 모델을 더 작은 카드에 올릴 수 있으며, 8비트와 4비트에서 출력 품질 손실은 대개 적고 수용 가능한 수준입니다.
면책조항
이것은 1차 추정값입니다. 실제 VRAM은 서빙 프레임워크, 컨텍스트 길이, 배치 크기, KV 캐시 정밀도에 따라 달라지며, 여기서는 이 모두를 단일 오버헤드 백분율로 묶었습니다. 하드웨어는 여유를 두고 산정하고, 실제 작업 부하로 확인한 뒤 결정하십시오.