피드로 돌아가기
How to Tune llama.cpp --n-gpu-layers: A Practical VRAM Guide (2026)
Dev.toDev.to
AI/ML

VRAM 최적화를 통한 llama.cpp 추론 속도 극대화 및 OOM 방지 전략

How to Tune llama.cpp --n-gpu-layers: A Practical VRAM Guide (2026)

Patrick Hughes2026년 6월 9일4intermediate

Context

LLM 로컬 추론 시 GPU VRAM의 한정된 자원으로 인해 모델 전체 레이어를 오프로드하지 못하는 병목 발생. GPU와 CPU 간 레이어 분배 비율에 따라 추론 속도가 선형적으로 결정되는 구조적 특성 보유.

Technical Solution

  • 모델 파일 크기를 전체 레이어 수로 나누어 레이어당 평균 VRAM 점유량을 산출하는 추정 방식 적용
  • Weights 점유 영역과 Context 길이에 비례하여 증가하는 KV Cache 영역을 분리하여 VRAM 버짓 설계
  • ngl(n-gpu-layers) 값을 최대치(99)에서 시작하여 OOM 발생 시 단계적으로 낮추는 Probe 방식의 튜닝 루프 수행
  • Quantization 레벨 하향 조정을 통해 개별 레이어 크기를 줄여 GPU 오프로드 가능 레이어 수를 확장하는 전략 채택
  • nvidia-smi 모니터링을 통해 시스템 OS 및 기타 앱의 기본 점유분을 제외한 실제 가용 버퍼 확보

- [ ] 모델 파라미터 수 대비 VRAM 용량 확인 후 예상 레이어 오프로드 수 산출 - [ ] 목표 Context Window 크기에 따른 KV Cache 추가 메모리 할당량 계산 - [ ] ngl=99 설정 후 Load-time OOM 여부 확인을 통한 최상단 임계치 탐색 - [ ] 추론 중 OOM 발생 시 KV Cache 부족으로 판단하고 ngl 값을 2~3단계 하향 조정 - [ ] 속도 저하 발생 시 Quantization 수준(예: Q5 -> Q4) 조정을 통한 VRAM 확보 검토

원문 읽기