LLM 추론 시 VRAM 병목 방지: 가중치·KV 캐시·활성화 함수별 메모리 할당 전략
LLM 추론 엔진 설계 시 VRAM 할당 구조를 이해하면 OOM 오류를 사전에 최적화할 수 있음.
요약
LLM을 GPU에 로드하는 것만으로는 추론 성공을 보장할 수 없는데, 이는 모델 가중치 외에도 추론 과정에서 VRAM을 점유하는 요소가 많기 때문입니다. VRAM은 크게 모델 가중치, KV 캐시, 활성화 및 작업 공간, 런타임 오버헤드라는 네 가지 항목으로 할당됩니다. 모델 가중치는 추론 전 고정적으로 할당되며, 70B 파라미터 모델 기준으로 FP16/BF16에서는 약 140GB, INT8에서는 70GB, INT4에서는 35GB가 필요합니다. KV 캐시는 컨텍스트 길이와 활성 요청 수에 따라 증가하며, 추론 성능에 직접적인 영향을 미칩니다. 활성화 및 작업 공간은 프롬프트 처리(Prefill)와 토큰 생성(Decode) 단계에서 다르게 작용하며, 마지막으로 CUDA 컨텍스트와 같은 런타임 오버헤드와 메모리 파편화 문제도 고려해야 합니다. 따라서 전체 추론 가능 여부는 이 네 가지 요소의 합을 계산하여 결정해야 합니다.
AI가 원문을 요약한 내용으로, 부정확할 수 있습니다.
원문 제목 @_avichawla: Loading an LLM does not guarantee inference! The model may load successfully and still run out of GPU memory when the first reques
원문 보기 ↗